LED论坛技术区域技术文献(Technical Articles)74LS164 在2051 单片机LED 显示电路中的应用

1  /  1  页   1 跳转 查看:621

标题: 74LS164 在2051 单片机LED 显示电路中的应用

74LS164 在2051 单片机LED 显示电路中的应用

74LS164 2051 单片机LED 显示电路中的应用


74LS164 appl ied in LED displaying circuit of


AT89C2051 single chip computer


  AT89 系列单片机[1 ]是美国ATMEL 公司近


年来推出的一种新型高性能低价位、低电压低功


耗的8 CMOS 微型计算机。它的显著优点是:


①内含Flash 存储器,这在系统的开发过程中,


随意进行程序修改,既便错误编程之后仍可以重


新编程,故不存在废品且大大缩短了程序的开发


周期;同时在系统工作过程中能有效地保存数据


信息。②采用静态时钟方式,节省电能,这对于降


低便携式产品的功耗十分有利。③由于它是以


8031 核构成的,所以它与MCS251 系列单片机是


兼容的,这对于熟悉MCS251 系列的广大用户来


,AT89 系列单片机取代51 系列进行系统设


计是轻而易举的。


AT89C2051 又是AT89 系列中一种更为


廉价的单片机,作为一种小型测控系统或便携式


智能仪器仪表的核心器件,其性能价格比优于


MCS251 系列。所不同的是它的引脚只有20 ,


比标准型的40 根少得多,也即并行I/ O 端口较


少。如何利用这较少的几根口线,连接成稳定可


靠的L ED 显示电路,就是以AT89C2051 单片机


为核心的应用电路所要解决的瓶颈问题。


本文采用了74LS164 这个串入并出的移位


寄存器,很好地解决了2051 L ED 的显示接口


电路。


1  硬件电路


2051 余下的并行I/ O 口线不足8 ,数据的


并行输出已不可能,但可以考虑串行输出方法,


            


1 给出串行口扩展的4 L ED 显示接口电路。


该电路只使用2051 3 个端口,配接4 片串


入并出移位寄存器74LS164 1 片三端可调稳


压器LM317T。其中74LS164 的引脚Q0Q7


8 位并行输出端;引脚AB 为串性输入端;引脚


CL K为时钟脉冲输入端,CL K 脉冲的上升沿


作用下实现移位,在CL K = 0 、清除端MR = 1


时,74LS164 保持原来数据状态; MR = 0 时,


74LS164 输出清零。


图1  串行口扩展的4 位L ED 显示电路


  其工作过程如下:2051 的串行口设定在方式


0 移位寄存器状态下,串行数据由P3. 0 发送,移


位时钟由P3. 1 送出。在移位时钟的作用下,串


行口发送缓冲器的数据一位一位地移入74LS164


中。4 片74LS164 串级扩展为4 个8 位并行输出


口,分别连接到4 个L ED 显示器的段选端作静态


显示。需要指出的是,由于74LS164 无并行输出


控制端,因而在串行输入过程中,其输出端的状态


会不断变化,造成不应显示的字段仍有较暗的亮


度,影响了显示的效果。


以往的做法[2 ] 是在74LS164 的输出端加接


4 片锁存器或三态门,使移位寄存器串行输入数


据时其输出端的变化不反映到L ED 上,待串行输


入结束后再打开锁存器或三态门,将稳定的显示


数据送给L ED。


本文电路的独特之处在于仅采用了1 片三端


可调稳压器LM317T ,317T 的3 、2 脚分别是电压


输入、输出端,317T 的1 脚是电压调整端,脚2 输


出电压随脚1 电压而变化。脚1 与接地电阻之间


并一个NPN 三极管,它的基极受P1. 7 口线控


制,串行输入时P1. 7 口线为高电平,三极管饱和


导通使317T 的脚1 约为0. 3 V ,脚2 输出电压随


之下降到1. 5 V 不足以使共阳极L ED 发光,故此


时串行输入的影响不会反映到L ED 上;串行输入


结束后,使P1. 7 口线为低电平,三极管截止,脚2


输出电压因脚1 电压增高便上升到2. 0 V 使L ED


正常发光。因此,1 片三端可调稳压器LM317T


起到了4 片锁存器的作用使L ED 显示不会闪烁。


本电路的另一优点是通过可调电位器P1 可在线


调整脚2 的输出电压,使L ED 的显示亮度均匀可


调,而且省掉了大量的L ED 限流电阻。


2  软件编程


上述分析表明,移位寄存器74LS164 仅有串入


并出作用没有译码功能。因此,在编写显示驱动程


序之前,首先需要计算列写出与本电路对应的LED


段选码[3 ] ,然后由2051 的P3. 0 口送入164 的串行


输入端,再并行输出到LED 的段选端。


需要指出的是,本电路采用TOS28106BHK


号的共阳极LED 显示器,根据PCB 印制线路板的


连线方便,其LED 的8 个段选端与164 的并行输


出口即8 根段选线的连接没有遵照通常的规律,而


是如图1 所示的段排列为7、6、4、2、1、9、10、5 ,相应


的段选码也要重新计算,如显示字符0 的段选码为


11H ,显示字符1 的段选码为D7H等。


另外,这种稳定的静态显示方式也省去了


CPU 的动态扫描过程,此为本电路的又一特点。


电路中设计了4 位L ED 显示器,其功能为:


左首位为百位数或标志位,左二位为十位数,左三


位为个位数,左四位为小数点后的十分位数。据


此,给出如图2 所示的显示子程序框图。


图2  显示子程序框图


显示子程序清单如下:


DISI :


SETB P1. 7 ;灭显示


MOV R0 , # SBCD


MOV A , @R0 ;取出要显示的数


ADD A , # 2DH ;加上偏移量


MOVC A , @A + PC ;查表取出段选码


MOV SBUF ,A ;送出显示


DL1 : JNB TI ,DL1 ;输出完否?


CLR TI ;,清中断标志


INC R0


MOV A , @R0


ADD A , # 21H


MOVC A , @A + PC


ANL A , # OEFH ;个位加小数点


MOV SBUF ,A


DL2 : JNB TI ,DL2


CLR TI


INC R0


MOV A , @R0


ADD A , # 13H


MOVC A , @A + PC


MOV SBUF ,A


DL3 : JNB TI ,DL3


CLR TI


MOV A , # 0FFH


MOV SBUF ,A


DL4 : JNB TI ,DL4


CLR TI


CLR P1. 7 ;亮显示


RET


SEGTAB : DB 11H ,0D7H ,32H


DB 92H ,0D4H ,98H


DB 18H ,0D3H ,10H ,0D0H


3  结束语


本串行口扩展的L ED 显示接口电路已被笔


者成功地应用到以AT89C2051 单片机为核心的


智能仪表中,如单片机湿度测量仪、单片机温度测


量仪等。现场运行表明,L ED 显示清晰稳定不闪


烁,特别是在现场环境如光照强弱不同的情况下,


可以在线调整L ED 发光的亮度,获得视觉与功耗


的最佳效果。

 

回复:74LS164 在2051 单片机LED 显示电路中的应用

幸马的不错也不贵
02161278009
 
1  /  1  页   1 跳转

版权所有 LED俱乐部   Sitemap

Powered by Discuz!NT 2.0.1123    Copyright © 2001-2008 Comsenz Inc.
Processed in 0.09375 second(s) , 3 queries.
返顶部