d865841995 发表于 2014-9-27 11:03
能具体说说怎么用么?四个数据口,传进来数据后屏内可以自动移位么?要这么用还需要设置什么吗? ...
数据送过去后1602内部自动处理,4线制速度稍微慢一点而已,其它都一样...
void write_1602(uchar cd,dat) //cd=0 写命令 cd=1 写数据
{
uchar i;
rs=cd;
for(i=0;i<2;i++) //循环两次 写完一个数据/命令
{
en=1;
P1=(P1&0xf0)|((dat>>4)&0x0f); //P1高四位数据不改动
delay(3); //先送高四位数据 再送低四位数据
en=0;
dat<<=4; //低四位左移到高四位
}
}
void init()
{
write_1602(0,2); //设置4位数据接口
write_1602(0,0x28); //显示方式设置
write_1602(0,0x0e); //设置开显示,不显示光标
write_1602(0,0x06); //默认(0x06)写入新数据后光标右移 屏幕不移动
write_1602(0,0x01); //显示清0,数据指针清0
}
|