八路温度采集显示系统设计 联系客服

发布时间 : 星期五 文章八路温度采集显示系统设计更新完毕开始阅读b622d156ad02de80d4d8406b

八路温度采集与显示系统设计

}

send_str(\delay(100);

表4.3 Flash存储器编程真值表

方式 RST 错误!ALE/错误!未找 未找到引用到引源。 用源。/VPP L L L L L L L H H P2.6 P2.7 P3.6 P3.7 写代码数据 读代码数据 H H H H H H H H/12V H H/12V H/12V H/12V H/12V H L L H H H H L H L H H L L L H H H L H L L H H H L L L L Bit-1 写加密位 Bit-2 Bit-3 片擦除 读签名字节 34

八路温度采集与显示系统设计

+5VADDR0000H/OFFFFHA0-A7P1VCCP2.0-P2.3A8-A11P2.6P0P2.7P3.6P3.7XTAL2ALEPGM DATA(USE 10K PULLUPS)AT89C51SEE FLASHPROGRAMMINGMODES TABLEVIHEA3-24 MHzRSTXTAL1GNDPSENVIH

图4.5 校验电路

4.3 显示模块软件设计

4.3.1 LM041L的软件应用

LCD字符型显示器模块有两种寄存器:指令寄存器和数据寄存器。单片机等主

控制系统对LCM(LCD显示器模块)的指令寄存器写操作,可以将“清屏”等控制指令发送给LCM。对指令寄存器读操作,可得到的数据的最高位是LCM的状态(空闲状态或忙状态)标志位,低7位是地址计数器的信息。对LCM的数据存储器写操作,可以修改当前地址中显示字符。读操作可以得到当前显示地址中的现实数据。

LCD字符型显示器模块的详细指令如表4.4所示[3]。

表4.4 LCD字符型显示器模块的指令集

指令功能 R/错误!RS 未DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 找到引35

八路温度采集与显示系统设计

用源。 清屏(并且光标回原点) 0 光标回原点 进入模式设定 显示开关控制 光标或字符移位 功能设定 设置CGRAM地址 设置显示地址 读忙标志和地址计数器 向CGRAM/DDRAM 写数据 从CGRAM/DDRAM 读数据 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 BF 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 DL 0 0 0 1 S/C N 0 0 1 D R/L F 0 1 I/D C X X 1 X S B X X 0 0 0 0 0 0 0 0 1 1 6位CGAM地址码 7位DDRAM地址码 7位当前显示地址码 8位数据 8位数据 表中X:任意二进制数。

I/D:显示地址计数器模式选择。I/D=1,选择加1模式;I/D=0,选择减1模式。 D:显示器开关控制位。D=1,显示器ON;D=0,显示器OFF。 C:光标开关控制位。C=1,光标ON;C=0,光标OFF。

B:光标闪烁开关控制位。B=1,光标闪烁ON;B=0,光标闪烁OFF。

S/C:显示器或光标移位选择。S/C=1,选择显示器移位;S/C=0,选择光标移位。 R/L:移位方向选择。R/L=1,向右移动;R/L=0,向左移动。

DL:传输数据的有效位长度选择。DL=1,有效位为8位;DL=0,有效位为4位。 N:显示器行数选择位。N=1,选择使用4行显示器;N=0,选择使用两行显示器。 F:字符显示块的点阵选择。F=1,选择5×10点阵;F=0,选择5×7点阵。 BF:忙标志位。BF=1,LCM处于忙状态;BF=0,LCM处于空闲状态。 CGRAM:字符发生器RAM。用户自编成的字符或图形存储器。 CDRAM:显示数据RAM。

4.3.2 LM041L的程序流程图及主要程序

液晶显示器在本系统担任显示的任务,本系统采用的LM041L液晶显示器可同时显示八路温度,可直观的看到八路温度实时的温度情况,便于及时控制处理。

LM041L为四行显示,可分别定义每路温度的显示地址,每行显示两路。其程序流

36

八路温度采集与显示系统设计

程图如图4.6所示。

开始LM041L写命令LM041L初始化LM041L测忙N定义LM041L显示位置YLM041L写数据匹配第一、二行温度值匹配第三、四行温度值返回

图4.6 LM041L的程序流程图

LM041L显示程序如下。

void init_lcd1602() //初始化LM041L {

write_command(0x3f); delay(10);

write_command(0x3f); delay(10);

write_command(0x3f); //功能设定(8位,4行,5*7点阵式) delay(10);

write_command(0x0c); //显示器ON,光标OFF,闪烁OFF delay(10);

write_command(0x06); //地址加1 delay(10);

37