void delayms(uint z)
{
uchar i;
while(z--)
for(i=0;i<250;i++)
{
_NOP();_NOP();_NOP();_NOP();
}
}
void write_command(uchar cmd)
{
RS_L;
RW_L;
EN_L;
P4OUT=cmd;
delayms(1);
EN_H;
delayms(1);
EN_L;
}
void write_data(uchar dat)
{
RS_H;
RW_L;
EN_L;
P4OUT=dat;
delayms(1);
EN_H;
delayms(1);
EN_L;
}
void LCD_Init(void)
{
P4DIR=0xff;
P5DIR=0x0f;
PSB_H;
write_command(0x30);delayms(5);
write_command(0x0c);delayms(5);
write_command(0x01);delayms(5);
write_command(0x06);delayms(5);
}
void set_pos(uchar addr,uchar x)
{
x&=0x07;
write_command(addr+x);
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !