2.2 汉字点阵显示原理
当行上的选通信号为正信号时,列选通端的八位数据为0的LED就会被导通点亮。这样只需要把图形或文字的显示数据的编码作为列信号与相应的行信号进行扫描,就可以一行一行地点亮点阵[8]。当扫描频率大于24Hz的时候,由于扫描时间很快,人眼视觉会有视觉暂留效应,这样就可以看到完整的图形或文字的显示。8*8LED点阵结构如图2.1所示。
图2.1 8*8LED点阵结构图
2.3 系统结构
本设计使用AT89C51单片机设计点阵电子显示屏,并使用一些辅助电路,主要实现16*16LED显示屏对文字及简单图像的显示,扩展功能有实时时钟及实时温度采集,并通过LCD1602及LED点阵屏静态及滚动显示。另外,本设计还增加了复位电路,可以进行复位操作。
总体结构框图如图2.2所示。
图2.2 总体框架图
2.4 系统硬件电路
2.4.1时钟脉冲电路
AT89C51单片机的最高时钟脉冲频率是24 MHz,它内部已经具备了振荡电路,只要在AT89C51的18、19两个引脚连接到简单的石英振荡晶体的2个管脚即可,同时石英晶体的2个管脚需要用33pF的电容耦合到地,时钟脉冲电路如图2.3所示。
图2.3 时钟脉冲电路
2.4.2 复位电路设计
AT89C51的复位引脚(RESET)是第9脚,当此引脚连接高电平超过2个机器周期时,即可产生复位的动作。因为时钟脉冲为24MHz,每个时钟脉冲为0.5μs,两个机器周期为1μs[9],因此,在第9脚上连接1个2μs的高电平脉冲,即可产生复位动作。电路如图2.4所示。
图2.4 复位电路
2.4.3 LED点阵行控制模块电路
当两个选通输入E1 和E2 为低时, 它可将4个二进制编码(D,C,B,A)的输入译成互相独立的输出。实现解调功能的办法是:用4个输入线(D,C,B,A)写出输出线的地址,使得在选通输入为低时数据通过另一个选通输入[10,11]。如图2.5所示,当任何一个选通输入是高时,所有输出都为高。由此可以控制LED点阵的行的电位高低。
图2.5 行控制模块
2.4.4 LED点阵列控制电路
74HC595主要实现的功能是串入并出,实现列控制,电路图如图2.6所示。
Q0—Q7: 八位并行输出端,直接通过控制LED点阵的8个引脚来进行对LED点阵屏的列控制。
Q7': 级联输出端。接下一个74HC595的DS端。
DS: 串行数据输入端。接上一个74HC595的Q7'端。
图2.6 列控制模块
74HC595的控制端说明:
MR(10脚):接Vcc,低电平时将移位寄存器的数据清零。
SH_CP(11脚):上升沿时数据寄存器的数据从Q0到Q7移位。下降沿数据不变。
ST_CP(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。当移位结束后,在ST_CP端产生一个正脉冲,更新显示数据。
OE(13脚):接地,高电平时禁止输出(高阻态)。
2.5 遇到问题及解决方案
器件连接过程中主要遇到两大难题。一是线路的连接比较麻烦,尤其是LED点阵屏,四块点阵屏就有64个连接端,比较耗费时间。如74HC154和74HC595等与LED点阵相连的外围电路,都需要和它完全的匹配,否则就出现不了预期的效果。二是硬件的选择比较复杂,比如LED点阵屏,与实物器件有很大差别,选择LED点阵屏之后,要保证不要把它弄颠倒,因为在Protues中LED点阵屏可以自由旋转,所以在选择仿真器件和连接线路之时一定要认真并且要有耐心。
3. 软件设计
3.1 设计思路
本设计主要实现LED点阵屏对文字或图形的显示,附加功能有LED显示屏对时间及温度的实时显示,另外还要配合LCD1602显示屏,以便硬件搭建时利于测试和调整。编程时需要通盘考虑,本设计中用到的时钟芯片DS1302,温度传感器DS18B20及LCD1602显示屏都需要驱动才能正常工作。如何实现对行对列的控制也是一个关键。 AT89C51单片机的汉字点阵显示系统设计+源程序+硬件电路图(3):http://www.751com.cn/zidonghua/lunwen_969.html