*******大学电子信息工程学院毕业设计(论文)
1602控制命令
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)
指令1:清显示,指令码01H,光标复位到地址00H位置。 指令2:光标复位,光标返回到地址00H。
指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。
指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。
指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。
指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:写数据。 指令11:读数据。
与HD44780相兼容的芯片时序表如下:
表2.4 1602芯片时序表
读状态 写指令 输入 RS=L,R/W=H,E=H 输出 D0—D7=状态字 输入 RS=L,R/W=L,D0—D7=指令码,E=高脉冲 输出 无 - 21 -
*******大学电子信息工程学院毕业设计(论文)
读数据 写数据 输入 RS=H,R/W=H,E=H 输入 RS=H,R/W=L,D0—D7=数据,E=高脉冲 输出 D0—D7=数据 输出 无 读写操作时序如图2.12和2.13所示:
图2.12 读操作时序
图2.13 写操作时序
1602LCD的RAM地址映射及标准字库表
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图2.14是1602的内部显示地址。
- 22 -
*******大学电子信息工程学院毕业设计(论文)
图2.14 1602LCD内部显示地址
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”,对应关系如表2.5所示。
表2.5字符码与字符字模之间的对应关系表
2.2.6系统功耗
由于要求TPMS系统整体静态电流小于20 μA,所以保证选用的器件必须是低功耗或超低功耗的芯片。PIC16F628A的静态电流为0.1 μA,传感器SP12的静态电流为0.6 μA,射频NRF401的待机电流为8 μA。
经过实测,静态功耗Ist =Ist_mcu+Ist_sensor+Ist_rf+Ist_cap=15 μA。Ist_cap为钽电容的泄露电流。动态功耗在射频处于连续发射的情况下,经实测
- 23 -
*******大学电子信息工程学院毕业设计(论文)
为25 mA(最大值)。
- 24 -
*******大学电子信息工程学院毕业设计(论文)
第3章 汽车轮胎压力监测系统的软件设计
本系统软件设计采用模块化结构。整个程序分为采样端的数据采集发送程序和接收端的数据接收程序两大部分。两部分程序均采用C语言编写。
3. 1 采样端的软件设计
3.1.1需要注意的问题
考虑到在采样端中的传感器模块只使用一节电池供电,并且由于整个采样端是植入轮胎内部的,电池的更换非常麻烦甚至是不可能的,在这种前提下,就对传感器的能量消耗提出了严格的要求,因此采样端软件设计是否能很好的做到这一点也就成为TPMS系统成败的关键。
考虑到传感器SPl2和射频发射芯片nrf401睡眠时的电流消耗最低,而发射数据时的电流消耗最大。当汽车停止运行的时候可以使系统处于睡眠状态,那么电能消耗也会降低。实际上在选择传感器的时候,我们已经考虑到这一点,SPl2具有加速度检测功能,我们可以在汽车从静止到运动的过程中唤醒传感器模块.
综合以上考虑,采样端软件设计需要特别注意以下三点: (1)传感器在没有安装的时候让系统处于完全的睡眠模式; (2)在汽车停止运行的时候使整个系统处于睡眠模式; (3)在汽车行驶过程中,尽量延长数据采集并发送的次数。
但是从系统可靠性上考虑,应该在每次发生异常情况如低压时,就应该及时地做出反应并报警,提示司机停车处理,真正发挥TPMS系统的预警作用。
一般的解决方案为系统设景定时唤醒,系统异常则立刻发送数据,但是一段时间后会停止发送该异常数据,若特定时间之后该异常情况还是没有解除则继续发送,如此循环反复报警。如果系统正常,则还是按照规定时间发送数据,更新控制器显示屏数据,降低电能消耗。
在本论文的设计中,我们采用的是正常情况下定时发送与异常情况下实时
- 25 -