原创 51单片机与74LS164静态显示接口(转)学习

2006-12-6 21:35 7989 10 11 分类: MCU/ 嵌入式

21:32:52 UTC+0800Wed Dec 6 2006


   在单片机应用系统中,显示器显示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。可以提供单独锁存的I/O接口电路很多,这里以常用的串并转换电路74LS164为例,介绍一种常用静态显示电路,以使大家对静态显示有一定的了解。


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

      

MCS-51单片机串行口方式0为移位寄存器方式,外接674LS164作为6LED显示器的静态显示接口,把8031RXD作为数据输出线,TXD作为移位时钟脉冲74LS164TTL单向8位移位寄存器,可实现串行输入,并行输出其中AB(第12脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接。T(第8脚)为时钟输入端,可连接到串行口的TXD。每一个时钟信号的上升沿加到T端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲才起作用。Q1Q8(第3-610-13引脚)并行输出端分别接LED显示器的hg···a各段对应的引脚上。在给出了8个脉冲后,最先进入74LS164的第一个数据到达了最高位,然后再来一个脉冲会有什么发生呢?再来一个脉冲,第一个脉冲就会从最高位移出,搞清了这一点,下面让我们来看电路,67LS164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74LS164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74LS164,而新的数据则进入了第一片74LS164,这样,当第六个8个脉冲完成后,首次送出的数据被送到了最左面的164中,其他数据依次出现在第一、二、三、四、五片74LS164中。

     关于74LS164还可以作如下的介绍:所谓时钟脉冲端,其实就是需要高、低、高、低的脉冲,不管这个脉冲是怎么来的,比如,我们用根电线,一端接T,一端用手拿着,分别接高电平、低电平,那也是给出时钟脉冲,在74LS164获得时钟脉冲的瞬间(再讲清楚点,是在脉冲的沿),如果数据输入端(第12引脚)是高电平,则就会有一个1进入到74LS164的内部,如果数据输入端是低电平,则就会有一个0进入其内部。在给出了8个脉冲后,最先进入74LS164的第一个数据到达了最高位,然后再来一个脉冲会有什么发生呢?再来一个脉冲,第一个脉冲就会从最高位移出,就象车站排队买票,栏杆就那么长,要从后面进去一个人,前面必须要从前面走出去一个人才行。


        添一个例子         

AD574构成高精度数字电压表 


                        (转自http://www.ourchip.com/NZILIAO/Other/adc/



AD574A是美国模拟数字公司(Analog)推出的单片高速12位逐次比较型A/D转换器,内置双极性电路构成的混合集成转换显片,具有外接元件少,功耗低,精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件即可构成一个完整的A/D转换器,其主要功能特性如下:



AD574A



分辨率:12
位非线性误差:小于±1/2LBS或±1LBS
转换速率:25us
模拟电压输入范围:0—10V和0—20V,0—±5V和0—±10V两档四种
电源电压:±15V和5V
数据输出格式:12位/8位
芯片工作模式:全速工作模式和单一工作模式

    我们利用AD574与ATMEL公司的低价高性能单片机AT89C2051组成一个高精度的数字电压表,电原理图如图1,AD574是12位逐次比较型A/D转换器,共有12根数据线,AT89C2051的P1与AD574的高8位数据线直接相接,AD574的低4位数据线与单片机的高半4位P1.4——P1.7直接相接,数据的读取是依靠单片机的控制线进行分时选通进行。P3.5接AD574的字节短周期控制线(A0),P3.4接读转换数据控制脚(rc.gif),P3.7直接与工作状态指示端(STS)相连,这样的结构决定只能是8位输出形式,故12_8.gif数据模式选择端直接接地即可。AT89C2051只有15根I/O口线,上述用了11根,只余下4根口线,我们将输出的数据通过单片机的串行口输出,外接一片74LS164(串入并出)译码器进行扩展,同时显示的数据为4位,剩下的2根口线仍不能满足要求,还需要一片74LS138三——八译码器对显示LED进行地址选通。
    这里我们采用10V量程的输入模式,故AD574的Pin13为被测电压的输入端,因为只使用了一片AD574转换芯片,所以CS端直接接地即可。转换器使用±12V电源电压供电,工作电压为+5V。

   74LS164为串入并出译码器,AT89C2051通过串行口输出的BCD串行码经74LS164译码输出为七段BCD码,直接与LED的a——g相连,同时四位LED的数据线都一一对应连接在一起。LED数码管选用共阳型,74LS138输出的地址码经一个三极管2SA1015(PNP)接LED的公共端,四位LED的显示是通过地址线进行分时选通的,这就是我们常用的动态扫描显示方式。

    值得一提的是,动态扫描显示方式中,动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取10ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。在C51指令中,延时子程序是相当简单的,并且延时时间也很容易更改。

点击看大图



数字电压表显示电路


再转一个例子


                                         74LS164与单片机的通讯端口的基本应用


                   (http://www.blogboy.net/user1/3605/archives/2005/19703.html)


           最近做一个很简单的应用单片机与74LS164结合的串如并出的应用8051串行口外接74LS164扩展8位并行输出口,如图所示,8位并行口的各位都接一个发光二极管,要求发光管呈流水灯状态。 串行口方式0的数据传送可采用中断方式,也可采用查询方式,无论哪种方式,都要借助于TIRI标志。串行发送时,可以靠TI置位(发完一帧数据后)引起中断申请,在中断服务程序中发送下一帧数据,或者通过查询TI的状态,只要TI0就继续查询,TI1就结束查询,发送下一帧数据。在串行接收时,则由RI引起中断或对RI查询来确定何时接收下一帧数据。无论采用什么方式,在开始通讯之前,都要先对控制寄存器SCON进行初始化。在方式0中将,将00HSCON就可以了。


ORG 2000H


START: MOV SCON,#00H ;置串行口工作方式0


MOV A,#80H ;最高位灯先亮


CLR P1.0 ;关闭并行输出(避象传输过程中,各LED"暗红"现象)


OUT0: MOV SBUF,A ;开始串行输出


OUT1: JNB TI,OUT1 ;输出完否


CLR TI ;完了,清TI标志,以备下次发送


SETB P1.0 ;打开并行口输出


ACALL DELAY ;延时一段时间


RR A ;循环右移


CLR P1.0 ;关闭并行输出


JMP OUT0 ;循环


;****************延时间200MS***************     
DELAY: MOV R7,#4
  DEL1: MOV R6,#200
  DEL2: MOV R5,#125
  DEL3: DJNZ R5,DEL3
        DJNZ R6,DEL2
        DJNZ R7,DEL1
        RET     

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户24118 2007-9-7 10:44

谢谢:)

真的很有帮助!

相关推荐阅读
hongqi1029_800556847 2013-12-24 14:13
类似CR2032这样的型号的含义
类似CR2032这样的型号,其含义如下:LR——碱性锂-锰一次性纽扣电池,电压1.5V;CR——锂-二氧化锰一次性纽扣电池,电压3.0V,年平均容量降低不大于2%,储存寿命长;SR——锌-氧化银一...
hongqi1029_800556847 2013-06-14 09:25
4~20ma的压控电流源电路
4~20ma的压控电流源电路   利用输入电压Vi(0~5v)控制输出电流Io(4~2Oma),且当输入电压固定时,输出电流不随负载RL的变化而变化。        输出电流的最...
hongqi1029_800556847 2012-08-30 20:30
智慧之花---名言(自省二)
不要评价别人的家庭,因为那和你无关。   不要评价别人的学问,因为世上最不缺的就是学问。   总之,不要评价任何人,哪怕是你的家人。   不要乱花钱,因为明天你就可能失业。    不要趾高...
hongqi1029_800556847 2012-08-13 17:51
浅谈单片机应用程序架构(本文转载自我心永恒)
浅谈单片机应用程序架构(一) 本文转载自我心永恒《浅谈单片机应用程序架构(原创)》 对于单片机程序来说,大家都不陌生,但是真正使用架构,考虑架构的恐怕并不多,随着程序开发的不断增多,本人觉得架构...
hongqi1029_800556847 2012-07-21 11:37
我得生活提醒
1.与人交谈处事,注意表达和表情,好意别给人相反得理解!!! 2.与人相处不高兴时,先反着想,比如我对人家是否尊重,我是否态度好,因为别人的反映可能是我的反映的镜像  3.任何你今日的任性,疏忽,或者...
hongqi1029_800556847 2012-07-21 10:59
自省
        1.为什么和人相处久了,一产生矛盾,就总可能把他得缺点老想来想去呢?为什么不去记人家得好呢?和陌生人反而不会这样呢?朋友,你有什么方法,对付这种情绪呢,毕竟人都不是完人啊!说说你的...
EE直播间
更多
我要评论
1
10
关闭 站长推荐上一条 /3 下一条