2.2 液晶显示模块
本设计的数据显示选取的器件是1602[2],本次需要显示的数据比较多,1602提供了两行共三十二个字符的显示空间,故运用1602显示比较合适。同时用1602具有一些比较良好的优点。例如:低压、微功耗、低压驱动、平板型结构、长寿命等优点。特别是长寿命对于多功能数字时钟来说至关重要。1602采用标准的16脚接口,其中:引脚1(GND)为接地;引脚2(VCC)接电源正极且为5V;引脚3为液晶显示器对比度调整端口;对比度最低是接正电源时。对比度最高是接地电源(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度);引脚4(RS)为寄存器选择端;高电平1时选择数据存储器、低电平0时选择指令存储器;引脚5(RW)为读写信号线,高电平时进行读操作,低电平时进行写操作;引脚6(E或EN端)为使能(enable)端,高电平时读取信息,负跳变时执行指令;引脚7-14(D0~D7)为8位双向数据端;引脚15-16为空脚或背灯电源。由于1602液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志是否为低电平,若是,则表示不忙,指令有效。否则,则指令失效。要显示字符必须要先输入显示字符的地址,图4是1602的内部显示地址,图5是1602组成的电路图:
1 2 3 3 5 6 7 8 9 10 11 12 13 14 15 16
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 一
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 二
图4 1602的内部显示地址
图5 1602组成的电路图
液晶显示模块选取方案有三种[3]:
方案一:751位数码管动态扫描方式
数码管是显示屏的一类, 通过对其不同的管脚输入相对应的电流,会使其某些部分发亮或熄灭,从而显示出自己需要的数字,即能够显示时间、星期、日期(年月日)、温度等。要想要数码管显示出需要的数字,就要用适当的驱动方式。数码管驱动方式可以分为静态驱动式和动态驱动式两类驱动方式。静态驱动是指数码管的每一个段码是由单片机的I/O端口进行驱动,静态驱动的优点主要是编程简单,显示亮度高,缺点则是占用I/O端口资源过多。动态驱动方式是将全部数码管的8个段码的同名端连在一起,所有数码管的公共极COM增加位选通控制电路,位选通各自独立控制,当单片机输出数据时,需要选择哪个数码管显示出数据,这取决于单片机对位选通COM端电路的控制。我们将需要显示的数码管的选通控制打开,这样该位就可以显示出数据,而没有选通的数码管就不会亮。通过分时轮流控制每个数码管的的COM端,就可以使各个数码管轮流受控显示,这就是动态驱动方式。动态显示能够节省大量的I/O端口,而且这种方式下功耗更低。
数据采集处理后采用751位数码管动态扫描方式,循环依次显示年、月、日、当前时间和温度、星期,数码管用74LS164芯片驱动,硬件电路复杂且显示比较混乱,在软件方面,扫描部分由于要显示太多数据而容易导致不清晰。对于本设计来说,此方案并不是较好的方案。 AT89C51单片机多功能数字时钟的设计+源程序(3):http://www.751com.cn/zidonghua/lunwen_9745.html