基于AT89C2051串口的LED数码管显示电路

发布者:Aningmeng最新更新时间:2011-08-26 关键字:AT89C2051  LED数码管显示 手机看文章 扫描二维码
随时随地手机看文章

  AT89C2051单片机内有一个串行I/O端口,通过引脚RXD[P3.0]和TXD[P3.1]可与外部电路进行全双工的串行异步通信,发送数据时由TXD端送出,接收时数据由RXD端输入。串口有四种工作方式,通过编程设置,可以使其工作在任一方式以满足不同的场合。其中,方式0是8位移位寄存器输入/输出方式,多用与外接移位寄存器以扩展I/O端口。串口的工作方式可以参看相关的书籍,此处不做详细介绍。方式 0的输出是8位串行数据,通过移位寄存器可将8位串行数据变成8位并行数据输出,也可以将外部的8位并行数据变成8位串行数据输入。因此外接一个移位寄存器就可扩展一个8位的并行输入/输出接口,如果想多扩展几个并口就需要在外部级连几个移位寄存器。但是这种扩展也不是无限的,因为串口的数据是一位一位串行输入/输出的。如果外接的移位寄存器比较多的话那么是必影响数据输入/输出的速度。

  

串行输入/并行输出移位寄存器74LS164的管脚排列图 www.elecfans.com

  串口外接的移位寄存器有两种,一种是“串行输入/并行输出移位寄存器”(如:741一S164),另一种是“并行输入/串行输出”移位寄存器(如: 74LS165)。通过寄存器的名称就可以看出“串行输入/并行输出移位寄存器”是用于串口扩展并行输出接口,“并行输入/串行输出”是用于串口扩展并行输入接口。

  图1(a)是串行输入/并行输出移位寄存器74LS164的管脚排列图。其功能表见表1所示。74LS164有两个串行数据A、B输入端,使用时一般把它们连在一起;丽为清零输入端,低电平有效,当该端加入低电平时,寄存器输出Q0~Q7全为低电平。在正常情况下,清零输入端接高电平,当CP信号上升沿到来时,数据从A、B端输入并右移一位; Q0~Q7为并行数据输出端,同时Q7端也是串行数据输出端,对于串行输入的数据,最先输入的从Q7输出,最后进入的从Q0输出。CP为移位脉冲。

  图1(b)是另一种常用的“并行(串行)输入/串行输出”移位寄存器74LS165的管脚排列图。该器件的功能表见表2。该器件能在一个信号的控制下并行置入一个8位数据,然后在时钟脉冲的作用下逐位移出,也能使数据从另外一个引脚串行输入。在图1(b)中,DO~D7是并行数据输入端。S/L端是控制信号输入端,当为高电平时,具有移位功能;当为低电平时,将DO~D7端的数据置入到内部的移位寄存器保存。CP端为时钟(即移位脉冲)输入端,当S/L= 1时,CP端的每一次正跳变,都会使已存入内部的数据DO~D7从Q7端移出一位,移位的顺序是D7最先从Q7端移出,Q0最后从Q7端移出。CI端为时钟脉冲禁止端,当该端为低电平时,时钟信号(移位脉冲)不能进入,正常工作时必须接高电平。S1为串行数据输入端,在S/L=1时,SI端的数据在CP脉冲上升沿作用下置入Q0,因此,当CP脉冲上升沿到来时内部的数据DO~D7从Q7端移出一位同时外部数据通过SI移入一位,当经过8次CP上升沿后 DO~D7这8个数据就全部通过Q7输出,而内部的DO~D7全部更新为通过SI的输入的信号。例如:如果SI外接电源电压,那么当CP上升沿到来时,Q7会移出一位数据,而S1会移入一个“1”,当经过8个上升沿后,原先置入的DO~D7全被移出,内部的Q0~Q7全被更新为 “1”。如果CP上升沿再次到来时,输出的就是“1”。因此当8个输入数据都通过Q7输出后,如果还想输入就再次必须置入新的数据

  

  通过对两种移位寄存器的分析可以得出。通过串口扩展单片机的I/O口的具体电路如图2所示:

  图2(a)是通过串口扩展的并行输出接口。RXD作为数据输出线,TXD作为移位时钟脉冲。每一个时钟信号的上升沿加到74LS164的CP端时,移位寄存器将串口输出的数据移入一位,8个时钟脉冲过后串口输出的8位二进制数全部移入74LS164,通过Q0-Q7并行输出。

  图2(b)是通过串口扩展的并行输入接口。同样RXD作为数据输入线,TXD作为移位时钟脉冲。每一个时钟信号的上升沿加到74LS165的CP端时,移位寄存器就将内部的数据向外移一位,通过Q7输出。8个时钟脉冲过后,并行输入的8位二进制数全部移出,通过Q7串行输入。

  基于串口的LED数码管静态显示电路

  在串口扩展中最常用的就是基于串口的LED数码管显示电路。在单片机应用系统中,LED数码管的显示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。可以提供单独锁存的I/O接口电路很多,常用的就是通过串口外接串并转换器74LS164,扩展并行的I/O口。需要几个数码管就扩展几个并行接口,数码管直接接在74LS164的输出脚上,单片机通过串口将要显示数据的字形码逐一的串行移出至74LS164的输出脚上数码管就可以显示相应的数字。

  如图3所示:

  1. 硬件设计

  单片机AT89C2051的串口外接1片74LS164作为LED显示器的静态显示接口,把AT89C2051的RXD作为数据输出线,TXD作为移位时钟脉冲。Q0-Q7(第3—6和10—13引脚)并行输出端分别接LED显示器的DP---A各段对应的引脚上。图中采用的是共阴极数码管,因而各数码管的公共极接电源GND,要显示某字段则相应的移位寄存器74LS164的输出线必须是高电平。P1口接8个按键,分别编号为KEY1--KEY8。当某个按键按下时。某个数就显示在数码管上。

  2. 软件设计

  软件设计流程图如图4所示。图(a)为主程序流程图,图(b)为显示子程序流程图。

  开机时,初始化数码管,通过串口将“0”的字形码输出使数码管显示“O”。然后判断P1口是否有键按下,如果没键按下继续判断。

  当确认有键按下后单片机将P1口的值赋给累加器A,由于按键没被按下时是低电平,被按下后为高电平因此判断A中哪一位为高电平就能得出哪个按键被按下。将此按键的编号读入显示缓冲区65H中,然后调用显示子程序将按键编码显示在数码管上。这样程序就完成了一次的执行过程。

  

  

  显示子程序首先初始化串口,使串口工作在方式0,再读取显示缓冲区内的数据(显示缓冲区主要是用来存放即将要显示的数据),然后通过查表的方式找到对应的字形码,最后把字形码写入串口寄存器SBUF通过串口方式0发送出去。当8个时钟脉冲后,字形码都移至74Ls164的Q0-Q7,数码管就显示相应按键的编码。

  显示子程序是怎么将显示缓冲区中的数据变成相应的字形码呢?具体的方法是将每个数字的字形码以16进制数从小到大的次序依次存放在存储器中的固定区域中,构成显示代码表。当要显示某字符时,把表格的起始地址送入数据指针寄存器DPTR中作为基址,将显示缓冲区内的数据作为偏移量送入变址寄存器A,执行查表指令“MOVCA,@A+DPTR”,则累加器A中得到的结果即表格中取出的对应数字的字形码。

  注意:MOVC指令是将程序存储器内相应地址的值赋给累加器A。MOVC指令只有两种,一种是:MOVCA,@A+DPTR,将程序存储器中地址为A+ DPTR内的数据赋给A,例如:累加器A内的数据为01H,而DPTR内的数据为2000H,程序存储器中地址2001H内的数据为50H,那么执行 MOVCA,@A+DPTR指令后,累加器A内的数据变为50H。另一种是MOVCA,@A+PC。将程序存储器中地址为A+PC内的数据赋给A。两种指令的功能基本是一样。只是第一种中的地址是存放在DPTR中,而第二种是直接使用PC指针的地址。

  对于电路中的74LS164共阴极数码管数据位和字形的对应关系如下表。

  

  由于单片机在以方式0串行发送数据的时候数据从RXD引脚从低位到高位依次输出,而最先输出的数据经过74LS164串转并后到达Q7,也就是说单片机内的DO通过串口发送并经过74LS164后到达74LS164的Q7脚即数码管的A脚,因此在单片机内字型码与74LS164所对应的字型码正好相反,所以在单片机内O-8所对应的字型码分别是:

  3FH,06H,5BH,4FH,66H,6DH,7DH,07H.7FH。

关键字:AT89C2051  LED数码管显示 引用地址:基于AT89C2051串口的LED数码管显示电路

上一篇:单片机在超声控制系统中的应用研究
下一篇:基于C8051F020和Atmegal6的无线测温系统设计

推荐阅读最新更新时间:2024-03-16 12:40

基于AT89C2051的数字温度计设计
单片机控制已成为今天电子设计追-求的目标之一,本文将这种控制技术应用于温度测量中。AT89C2051是美国Atmel公司生产的低电压、高性能CMOS8位单片机,片内含有2 KB的反复擦写的只读程序存储器和128 B的随机存取数据存储器(RAM)。美国DALLAS半导体公司生产的DSl-8B20型单线智能温度传感器,属于新一代适配微处理器的智能传感器。数字温度计是以DS18B20为检测元件,由AT89C2051作为主控制器的温度计,具有功耗低、结构简单、读数方便、测温范围广、测温准确的特点。 1 电路构成及工作原理 1.1 硬件设计 由AT89C2051构成的温度计主要由三部分组成:DSl8B20温度传感器、单片机A
[单片机]
利用AT89C2051制作的6位电子钟
采用AT89C2051的6位电子钟原理如下图所示,只要硬件连接无误,保证成功。另外图中的SET按纽用于校准时间。按住2秒以上进入校准时间状态及换档和退出,快速点触用于调节时间数值。三极管采用9015即可。数码管最好采用红色的共阳型LED数码管,亮度高些,因为是扫描的显示方式,所以各个数码管的abcdefg各脚采用了总线并联,改动510欧姆的电阻可以改变显示亮度。 电子钟源程序 MCS51单片机汇编程序 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; AT89C2051时钟程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;
[单片机]
利用<font color='red'>AT89C2051</font>制作的6位电子钟
扩展键盘电路及其编程
1. 扩展键盘电路   AT89C2051是美国ATMEL公司采用CMOS工艺生产的20脚八位单片机。它带有2k字节flash ROM和128字节的片内RAM,15根I/O线,2个16位定时/计数器,5个两级中断源,一个全双工串行口。另外还带有精确的模拟比较器、片内振荡器和时钟电路。其指令集和输出管脚与工业标准的MCS-51系列器件兼容,是当前性/价比较高的一种八位单片机。   虽然采用8279/8155 等芯片扩展键盘较为方便,但在某些场合,特别是电路要求较为紧凑、印刷电路板较小的情况下,AT89C2051扩展键盘较为合适。其优点是体积小、成本低,同时在合理安排15根I/O口线的情况下,可以获得与8279/8155相
[单片机]
扩展键盘电路及其编程
AT89C2051控制LMX2332的频率合成器
摘要:LMX2332是美国国家半导体公司生产的集成数字锁相环(PLL)电路。文章介绍了利用单片机AT89C2051控制数字锁相环LMX2332及压控振荡器JTOS-150实现低噪声频率源的方法,该方法可通过改变AT89C2051的程序得到不同频率的信号。 关键词:AT89C2051;单片机;锁相环;LMX2332;频率合成器 1 引言 数字式频率合成器能提供长期频率稳定度与短期频率稳定度都比较高且杂波少的信号输出,而且,波道数目多、体积小、易于数字化和集成化。数字锁相环构成的数字式频率合成器是目前通信、仪表、雷达等电子技术中广泛应用的一种频率合成技术,它的基本组成如图1所示。 该环路的输入端有一个数字参考分频器%26;#2
[应用]
用单片机实现数字相位变换器的设计方法
数字相位变换器又称脉冲调相器,是鉴相型位置伺服系统中的主要控制线路。它的作用是将脉冲信号转换为相位变化信号。在传统的系统设计中,脉冲调相器是通过纯硬件线路实现的,线路复杂、设计难度大、调试难度也较大。作者在旋转变压器鉴相型位置检测系统中设计脉冲调相器时,改变传统的纯硬件设计方法,采用单片机实现脉冲调相,使硬件设计工作大大简化,易于实现,且电路调试简便。 1 脉冲调相器的工作原理 用一个频率为fcp的时钟脉冲去触发一个容量为M的计数器时,如用四位二进制计数器,其容量为16,那么在计数器的最后一级输出端可获得一个频率为 1/16fcp的方信号。如果在时钟脉冲触发计数器的过程中,向计数器加入一个额外的脉冲,则由于计数器提前完成1
[单片机]
用单片机实现数字相位变换器的设计方法
基于AT89C2051的触摸屏控制器设计
  随着信息技术的飞速发展,人们对电子产品智能化、便捷化、人性化要求也不断提高,触摸屏作为一种人性化的输入输出设备,在我国的应用范围非常广阔,是极富吸引力的多媒体交互没备。目前,触摸屏的需求动力主要来自于消费电子产品,如手机、PDA、便携导航设备等。随着触摸屏技术的不断发展,它在其他电子产品中的应用也会得到不断延伸。现在市面上已有的触摸屏控制器普遍价格比较高且性能相对比较固定,一些场合下无法满足用户的实际需求。本文基于上述考虑,根据电阻式触摸屏的工作原理,选用51系列单片机作为控制核心,设计一种实用且低成本的触摸屏控制系统。   1 触摸屏的工作原理   触摸屏由触摸检测部件和触摸屏控制器件组成(如图1所示);触摸检测部件用于
[单片机]
基于<font color='red'>AT89C2051</font>的触摸屏控制器设计
基于AT89C2051单片机的超声波理疗仪设计
摘要:给出了一种基于AT89C2051单片机控制的超声波理疗仪的设计方案。该方案采用高频和低频信号双通道输入电路,能产生波形峰值低、穿透力强的特定超声波能量,因而可以更加深层地作用于肌肉骨骼上,起到加速愈合的作用。实践证明,此方法经济适用,且实现简单。 关键词:AT89C2051;MAX038;超声波;理疗仪 0 引言 目前国内外的多数超声治疗仪(理疗型)普遍都是以连续正弦波(1~3 MHz)或脉冲正弦波(低频调制100 kHz左右)的方式进行工作,其输出声强≤3.0 W/cm2,所存在的问题是超声波主要作用于皮肤、肌肉和结缔组织,发射波形峰值高、穿透力差等,对较深病灶点的治疗效果不明显。因此,治疗和促进肌肉恢复和骨骼愈合需要
[单片机]
基于<font color='red'>AT89C2051</font>单片机的超声波理疗仪设计
线阵CCD微米级圆钢光电测径仪的设计方案
  引言   在钢铁工业生产中传统的圆钢测径方法有很多,如利用尺寸工具抽样检测、电磁式接触测量等。用尺寸工具测量,精度不够且速度很慢;用电磁式测量是接触式测量,测量比较麻烦且精度和速度也难以得到保证。CCD电荷耦合器件广泛应用于图像扫描、非接触式尺寸检测、位移测定条形码读出等光电探测和光电成像领域,具有自扫描、精度高、灵敏度高、光谱响应量宽等优点 。CCD 微米级非接触式圆钢光电测径仪是一种基于CCD光电检测技术的非接触式圆钢专用光电测径装置。它具有非接触、速度快、精度高、小型化、结构简单等优点,可以在光线暗、高温、高速等恶劣条件下,在生产线上动态无损地随时监控圆钢直径的微小变化,具有较高的实用价值。   1 系统总体设计
[单片机]
线阵CCD微米级圆钢光电测径仪的设计方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved