基于74LS164的单片机与LED显示电路设计


目录

1.硬件电路2.软件编程结束语

  AT89系列单片机是美国ATMEL公司近年来推出的一种新型高性能低价位、低电压低功耗的8位CMOS微型计算机。它的显著优点是:①内含F1ash存储器,这在系统的开发过程中,可随意进行程序修改,既便错误编程之后仍可以重新编程,故不存在废品且大大缩短了程序的开发周期,同时在系统工作过程中能有效地保存数据信息。②采用静态时钟方式,节省电能,这对于降低便携式产品的功耗十分有利。③由于它是以8031核构成的,所以它与MCS一51系列单片机是兼容的。这对于熟悉MCS一51系列的广大用户来说,用AT89系列单片机取代51系列进行系统设计是轻而易举的。

  而AT89C2051又是AT89系列中一种更为廉价的单片机,作为一种小型测控系统或便携式智能仪器仪表的核心器件,其性能价格比忧于MCS一51系列。所不同的是它的引脚只有20根,比标准型的40根少得多,也即并行I/O端口较少。如何利用这较少的几根口线,连接成稳定可靠的LED显示电路,就是以AT89C2051单片机为核心的应用电路所要解决的瓶颈问题。本文采用了74LS164这个串人并出的移位寄存器,很好地解决了2051与LED的显示接口电路。

  1.硬件电路

  2051余下的并行I/O口线不足8根,数据的并行输出已不可能,但可以考虑串行输出方法,图1给出串行口扩展的4位LED显示接口电路。

串行口扩展的4位LED显示电路

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

  该电路只使用2051的3个端口,配接4片串入并出移位寄存器74LS164与1片三端可调稳压器LM317T。其中74LS164的引脚Q0~Q7为8位并行输出端;引脚A、B为串性输入端;引脚CLK为时钟脉冲输入端,在CLK脉冲的上升沿作用下实现移位,在CLK=0、清除端MR=1时,74LS164保持原来数据状态;MR=0时,74LS164输出清零。

  其工作过程如下:2051的串行口设定在方式0移位寄存器状态下,串行数据由P3.0发送,移位时钟由P3.1送出。在移位时钟的作用下,串行口发送缓冲器的数据一位一位地移入74LS164中。4片74LS164串级扩展为4个8位并行输出口,分别连接到4个LED显示器的段选端作静态显示。需要指出的是,由于74LS164无并行输出控制端,因而在串行输入过程中,其输出端的状态会不断变化,造成不应显示的字段仍有较暗的亮度,影响了显示的效果。

  以往的做法是在74LS164的输出端加接4片锁存器或三态门。使移位寄存器串行输入数据时其输出端的变化不反映到LED上,待串行输入结束后再打开锁存器或三态门,将稳定的显示数据送给LED。

  本文电路的独特之处在于仅采用了1片三端可调稳压器LM317T,317T的3、2脚分别是电压输入、输出端,317T的1脚是电压调整端,脚2输出电压随脚1电压而变化。脚1与接地电阻之间并一个NPN三极管。它的基极受P1.7口线控制。串行输入时P1.7口线为高电平,三极管饱和导通使317T的脚1约为0.3V,脚2输出电压随之下降到1.5V不足以使共阳极LED发光,故此时串行输入的影响不会反映到LED上;串行输入结束后,使P1.7口线为低电平。三极管截止,脚2输出电压因脚1电压增高便上升到2.0V使LED正常发光。因此。1片三端可调稳压器LM317T起到了4片锁存器的作用使LED显示不会闪烁本电路的另一优点是通过可调电位器P1可在线调整脚2的输出电压,使LED的显示亮度均匀可调,而且省掉了大量的LED限流电阻。

  2.软件编程

  上述分析表明,移位寄存器74LS164仅有串入并出作用没有译码功能。因此。在编写显示驱动程序之前,首先需要计算列写出与本电路对应的LED段选码,然后由2051的P3.0口送入164的串行输入端,再并行输出到LED的段选端。

  需要指出的是,本电路采用TOS-8106BHK型号的共阳极LED显示器,根据PCB印制线路板的连线方便,其LED的8个段选端与164的并行输出口即8根段选线的连接没有遵照通常的规律,而是如图1所示的段排列为7、6、4、2、1、9、10、5,相应的段选码也要重新计算。如显示字符0的段选码为11H。显示字符1的段选码为D7H等。

  另外,这种稳定的静态显示方式也省去了CPU的动态扫描过程,此为本电路的又一特点。

  电路中设计了4位LED显示器,其功能为:左首位为百位数或标志位,左二位为十位数,左三位为个位数,左四位为小数点后的十分位数。据此,给出如图2所示的显示子程序框图。

显示子程序框图

  图2 显示子程序框图

  显示子程序清单如下:

显示子程序清单

  结束语

  本文总结了基于74LS164的单片机与LED显示电路设计方案,目前该串行口扩展的LED显示接口电路已成功地应用到以AT89C2051单片机为核心的智能仪表中,如单片机湿度测量仪、单片机温度测量仪等。现场运行表明,LED显示清晰稳定不闪烁,特别是在现场环境如光照强弱不同的情况下,可以在线调整LED发光的亮度,获得视觉与功耗的最佳效果。

热门标签