端口 P3.0 P3.1 P3.2 P3.3 第二功能 RXD(串行输入口) TXD(串行输出口) 外部中断0 外部中断1 实际作用 与上位机通信的数据输入口 与上位机通信的数据输出口 做按键中断,控制显示状态 做按键中断,控制运行模式 AT89S51单片机的P1在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,P2口在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。所以P1和P2口留为外部数据存储器和程序存储器的扩展用,以备内部存储器和程序存储器不够用的情况时使用[12]。
3.3 译码电路设计
译码电路的功能是为了解决单片机IO端口不足。行译码所用器件为串并转换
器74LS164和锁存器74LS373。 3.3.1 串并转换器74LS164
列译码采用的是芯片74LS164。如果不采用译码电路完全依靠单片机的端口输出来控制16×16的LED点阵屏显示,需要32个端口。而采用了译码电路后仅仅需要7~9个端口便可实现控制显示。大大减少了IO口的占用数目,为单片机扩展其他功能预留下来了空间。
74LS164为一个8位数据的串并转换器。当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。串行数据输入端(A,B)可控制数据。当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态。
表3-1 74LS164工作参数
参数 高电平输入电压 低电平输入电压 高电平输出电压 低电平输出电压 最小值 2 标准值 最大值 单位 V V V V — — 3.2 0.2 — 0.8 -- 0.4 — 2.4 —
时钟频率 0 — 25 MHZ 这就要求单片机的引脚输出的高低电平要在芯片的识别范围内,由于采用了列选通行传送显示代码的方法所以行译码电路上也加上了74L373锁存芯片。这就要求74LS164芯片的输出要满足锁存芯片的高低电平区分范围和频率要求。 3.3.2 锁存器74L373
由于74LS164芯片不具有锁存功能,所以在74LS164进行八位数据的串并转换时,串行数据的第一位会从QA依次移位到QH,第二位数据会从QA依次移位到QG,依次类推在八位数据转换完成之前74LS164芯片的输出会出现一段时间的乱序输出,这一结果会通过驱动电路表现在显示屏上。结果就是显示屏无序导通闪烁,不能显示所需内容。因此在串并转换完成前就需要74LS164的输出口不与驱动电路导通。所以选择锁存器74LS373来完成这一功能。
74LS373为八D锁存器(3S,锁存允许输入有回环特性)。373为三态输出的八D透明锁存器,共有5474S373和5474LS373两种线路结构形式当三态允许控制端OE为低电平时,O0~O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0~O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。
表3-2 74LS373工作参数表 参数 电源电压 输入高电平电压 输入低电平电压 输出高电平电压 输出低电平电压 最小值 4.75 2 额定值 5 最大值 5.25 单位 V V V mA mA — — — — — 0.8 -2.6 24 — — — 由表与表比较可以看出,74LS164的输出条件与74LS373的输入条件相匹配,理论上可以实现锁存器对译码器的数据锁存。
3.4 驱动电路设计
3.4.1 行驱动电路设计
发光二极管,LED(Light Emitting Diodes),即是在在某些半导体材料的PN结
中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。 行驱动采用PNP三极管8550接法如图3-4示:
LED点阵屏阳极5V译码电路输出1K
图3-4 行驱动器件8550的接法
8550为PNP型三极管,内部结构如图3-5示。发射极e接5V电源,基极接译码信号输出端,集电极接输出驱动LED点阵屏。当译码器端口输出为低电平时,发射极与基极电势差为5V-基极中带负电的电子越过PN结扩散到发射区。发射极产生和电子扩散方向相反的电流,由于基极电子大量扩散到发射极集电极电子扩散到基极中形成了电流。当译码器端口输出高电平时发射极与基极之间的电势差为5V--,由于发射极与基极之间电势差的减少基极电子向发射极扩散的电子数量减少故集电极电流也随之减少。故8550在驱动电路中起到提供驱动电流和选通开关的作用。
5VP空穴N电子P空穴输出驱动LED屏Iev0译码器输出信号v0
图3-5 8550内部结构图
3.4.2 列驱动电路设计
列驱动采用ULN2803。ULN2803是一种高电压大电流达林顿管阵列内部结构如图,该阵列中的八个NPN达林顿连接晶体管是低逻辑电平数字电路(如TTL,CMOS或PMOS)和大电流高电压的灯,继电器,打印机锤和其他类似负载间的接口的理想器件。广泛用于计算机,工业和消费类产品中。所有器件有集电极开
路输出和用于瞬变抑制的续流箝位二极管。集电极输出功率可达50V×600mA[13]。
ULN2803作为列驱动执行的是列选的工作,当选通的列输入高电平时其对应的输输出低电平。相对应的输出取反,并能提供较大的灌电流来吸收行驱动流出进过显示屏后的电流。具体电路如图3-7所示。
图3-7 列驱动原理图
3.5 通信系统硬件设计
AT89S51单片机具有全双工串行UART通道,支持单片机进行数据的串行传输。除了单片机要与PC机制定通信协议,确定发送速率外还需要解决的问题就是信号电平问题。RS-232C标准规定了PC机发送数据总线TXD和接收数据总线RXD采用EIA电平,即传送数字“1”时传输线上的电平在-3~-15V之间;传送数字“0”时,传输线上的电平在+3~+15之间。但单片机串行口采用正逻辑TTL电平,即数字“1”时为+5V数字“0”时为-5V,所以单片机与计算机不能直接相连进行通信必须将RS-232C与TTL电平进行转换[14]。
在通用的电平转换芯片中MAX232系列的芯片以集成度高,单+5V电源工作,只需外接5个小电容即可完成RS-232C与TTL电平之间的转换而成为单片机系统中的常用芯片。在该显示系统中,MAX232为通信系统中最重要的硬件组成部分[15]。电路如图3-8所示:
VCCC1104C2104P3.1 TX11101291513455C1+C1-C2+C2-T1INT2INR1OUTR2OUTGNDVDDVCC216104VCCT1OUTT2OUTR1INR2INVEE147138C461041627384951C31110P3.0 RXMAX232ACPED Connector 9
图3-8 串口通信系统电路图
3.6 电源设计
在系统中MAX232、74LS164、74LS373、AT89S51都需要5V的供电电压,在系统开发过程中可以使用电脑USB供电。在实际的大屏幕LED显示屏设计中,用电脑USB供电明显不切实际。此时需要对民用的220V进行降压整流为5V直流电压为显示系统供电。电路图如图3-9所示。
如图所示,用220V转12V的变压器进行降压后再通过一个桥式整流电路将交流电整流为直流电。最后通过5V三端稳压模块LM7805得出稳定的5V输出。
3.7 级连大屏幕LED显示屏
要实现LED的大屏幕显示主要采用内部译码器级连和多个单片机系统级连的方法。
将第1个74LS164的Q7端接第2个74LS164的A端,将第2个74LS164的Q7端接第3个74LS164的A端,如此炮制当N块74LS164相级连时就变为一个串行输入7×N口输出的串并转换器。这种级连的优点在于一块单片机可以同时控制更多的LED点阵显示屏,且74LS164的价格低廉整体成本得到了降低。但是这种级连方法也存在一定的缺点,51系列的单片机的晶振频率不高74LS164级连过多会增加一次扫描的时间从而导致显示出现闪烁。从端口输出的显示数据的显示也要作出相应的改变。