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
- }
|