void writecode(uchar ins) //向液晶控制模块写命令
{
uchar xdata t;
uint xdata j;
for(j=0;j<500;j++);
virt_port|=ins&0xf0; //取高字节向1602写数据
writelcd(virt_port); //先写高4位后再写低4位 这是在选择四个数据线的时候
virt_port|=0x08;
writelcd(virt_port); //使能E脚为高电平
virt_port&=~0x08;
writelcd(virt_port); //使能E脚为低电平
t=ins<<4;
virt_port|=t&0xf0; //取低字节向1602写数据
writelcd(virt_port);
virt_port|=0x08; //使能E脚为高电平
writelcd(virt_port);
virt_port&=~0x08; //使能E脚为低电平
writelcd(virt_port);
virt_port=0;
writelcd(virt_port);
}
void lcdchar (void)
{
uint i,j,k;
writedata(tab1[i]);
for(j=0;j<1000;j++);
for(k=0;k<1000;k++);
for(k=0;k<5000;k++);
for(k=0;k<1000;k++);
writecode(0xb0); // 换行
for(j=0;j<5000;j++);
for(k=0;k<5000;k++);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>