小点阵汉显液晶模块及其应用
X1表示第一个返回的拼音字符串(小写);
Xn表示第n个返回的拼音字符串(小写);
(12)取符合输入拼音字符串的汉字串?用于T9拼音输入法?
命令格式:发送:ESC,0X48,N,Xn,N,END;
返回:ESC,Nx,END。
其中,N表示返回汉字的个数;Xn表示返回第几页的汉字n≥1(用于待选汉字翻页);N1表示输入的拼音字符串?≤6个数字?;Nx表示返回的汉字串。
(13)设置是否对命令做返回响应
命令格式:ESC,0X50,H;
其中,H为命令响应属性,H为00表示不返回命令响应,H为01则表示当命令正确执行时返回“OK!”,当命令不正确时返回“error”。
3 具体应用
HZ132-64B30汉显液晶模块可广泛用于人机交互界面友好、显示信息量大的电子产品中,由于控制MCU是通过UART与液晶模块进行通讯的,故该模块几乎可与任何种类的单片机进行接口。对于不具备UART或UART被占用的单片机,可使用通用I/O口线来模拟串口,但模拟串口的波特率将受到指令周期的限制而无法做得很高,一般只能做到4800bps,这时可将汉显模块的晶振更换为11.0592MHz,同时模块的波特率也改为4800 bps, 即可正常通讯了。
图1是以AT89C2051单片机为例,给出的汉显液晶模块与单片机的接口电路。
下面是采用C51语言编写的与图1硬件电路配套的子程序:
#define CR putstring(“\r\n”)? //发送一个回车换行
#define OLEN 8 //串行发送缓冲区长度
idata uchar outbuf[OLEN]; //发送缓冲区
data uchar idata *outlast=outbuf; //最后由中断传输出去的字节位置
data uchar idata *putlast=outbuf; //最后放入发送缓冲区的字节位置
#define ILEN 30 // 串行接收缓冲区长度
idata uchar inbuf[OLEN] ;接收缓冲区
data uchar idata *inlast=inbuf; //最后由中断进入接收缓冲区的字节位置
data uchar idata *getlast=inbuf; //最后取走的字节位置
bit outbufsign0; //最后一个数据发完标志,发完=0
bit outbufsign; //输出缓冲区非空标志,非空=1
bit inbufsign; //接收缓冲区非空标志, 非空=1
bit inbufful; //输入缓冲区满标志,满=1
//放入一个字节到发送缓冲区
putbyte(unsigned char c)
{
ES=0; //暂停串行中断,以免数据比较时出错
while((((outlast-putlast)==2)&&(outlas
《小点阵汉显液晶模块及其应用(第3页)》