本文最后更新于 264 天前,如过您尝试失败,不出意外应该是出意外了。
由于手上没有实物,所以本文全是通过网上收集的资料加以本人的加工形成的.
引脚定义
自定义字符
1602能存储8个自定义字符,存储的地址为0X40,0X48,0X50,0X58,0X60,0X68,0X70,0X78.
如果使用5×7字符的話,最左3位和最后一行的数据实际上是沒用的,通常置0。
对应的码为:{0x10,0x10,0x10,0x1F,0x10,0x10,0x1F,0x00}
使用時先把這些編碼填充到CGRAM
部分代码
sbit en=P2^2; //E脈衝控制信號端口
sbit rs=P2^0; //命令控制端口
sbit rw=P2^1; //讀寫控制口
//讀忙信號
uint j=1000;//超時變量
Data=0x80;
rs=0; //rs=0 rw=1 E=1 讀狀態
rw=1;
en=1;
while((Data&0x80)&&j--)_nop_();//忙則等待一個nop大概1us配合上面的j=1000 做1ms超時判斷
en=0; //en拉低
rs=0; //写命令rs=0 写數據rs=1
rw=0; //写rw都为0
Data=0x40; //把要写的数据放到数据口,0x40,0x48......
en=0; //E一個正脉冲写一個数据 所謂一個正脉冲就是指E從0-》1-》0的一個低高低的变换 所以这里先拉低en=0
en=1;
en=0;