内容发布更新时间 : 2024/11/15 9:43:23星期一 下面是文章的全部内容请认真阅读。
设计题目:用单片机控制6位数字显示
摘要:单片微型计算机(single
chip microcomputer)简称单片机,它是为各类专用
控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的RAM和ROM以及输入/输出接口,定时器等电路于一块芯片上构成的。 单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示器显示汉字,汉字显示屏也广泛应用到汽车报站器,广告屏等。所以研究LED显示有实用的意义。
关键词:单片机、AT89C51、74HC245、驱动电路、LED数码管 论文提纲:
收集相关资料并仔细研读和思考。
对设计方案进行分析,通过相关数学推导和计算,确定相关元器件的参数和型号。 硬件电路的设计与调试。 整体连调及测试性能。 整理资料,编写设计论文。
ξ1.1设计目的:
1、进一步学习、掌握MCS-51系列单片机指令系统 2、掌握单片机循环程序、子程序的设计方法
3、掌握单片机与数码管的接口电路及显示程序设计 4、了解单片机查表程序的设计方法
ξ1.2设计内容:利用单片机控制七段LED数码管显示“654321”6位数字 ξ1.3设计的组成:
1、(1)晶体振荡器 2、复位电路 3、数码管
数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管
4、控制部分
ξ1.4设计的工作原理
(1):输入/输出口线
P0.0-P0.7 P0口8位双向口线 P1.0-P1.7 P1口8位双向口线 P2.0-P2.7 P2口8位双向口线 P3.0-P3.7 P3口8位双向口 本设计用到的是P0口和P2口
(2):地址锁存控制信号ALE
在系统扩展时,ALE用于控制把P0口输出地低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ALE是以1/6晶振频率的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。 (3):外部程序存储器读选通信号PSEN 在外部ROM时PSEN有效(低电平),以实现外部ROM单元的读操作。 (4):访问程序存储器控制信号EA
当EA信号为低电平时,对ROM的读操作是针对尾部程序存储器的;而当EA信号为高电平时,对ROM的读操作时从内部程序存储器开始,并可延续至外部程序存储器。 (5):复位信号RST
当输入的复位信号延续2个机器周期以上高电平时即为有效,用于完成单片机的复位操作。 (6):外接晶体引线端XTAL1和XTAL2当使用芯片内部时钟时,XTAL1和XTAL2用于外接石英晶体谐振器和微调电容;当使用外部时钟时,用于接入外部时钟脉冲信号 (7):地线Vss (8):+5V电源Vcc
七段LED数码管是一种常用的数字显示原件,将a、b、c、d、e、f、g七只发光二
极管做成条状,按图所示排列而成,除显示数字的七段之外还有一个小数点dp,实为八段显示。通过七段发光段的不同组合,可以显示0~9、A~F灯数字和字符。 根据内部发光二极管的连接方式,可分为共阴极型与共阳极型两种。 (1)、共阳极连接如图所示,把发光二极管的阴极连在一起构成公共端COM,使用时公共端接地,这样阳极端输入高电平的端就导通点亮,而输入低电平的则不点亮。 (2)、共阳极连接如图所示,把二极管的阳极连接在一起构成公共端COM。使用时公共端接+5V。这样阴极端输入低电平的端就导通点亮,而输入高电平的则不点亮。
图一
单片机动作七段LED数码管显示数字,必须提供段选码。段选码又称字形码,是a~g、dp八个电平的取值组合。例如,采用共阴极连接,若要显示数字7,则a、b、c端接高电平,
其余端接低电平。
七段发光二极管,再加上一个小数点位,共计八段,因此可将单片机的一个8位并行口与七段LED数码管的八段对应相连(如P0.7~P0.0分别对应着八个笔画段dp、g~a),8位并行口输出不同的段选码,便可驱动数码管的不同段发光了,从而显示不同的数字。用七段LED数码管显示十六进制数的字形码见表1
表一 字形 0 1 2 3 4 5 6 7 8 9 共阴极代码 3FH 06H 5BH 4FH 66H 6DH 7D 07H 7FH 6FH 共阳极代码 C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H 字形 A B C D E F P _ 灭 共阴极代码 77H 7CH 39H 5EH 79H 71H 73H 40H 00H 共阳极代码 88H 83H C6H A1H 86H 8EH 8CH 0BFH FFH ξ1.5硬件电路设计方案 ξ1.51硬件电路
七段LED数码管要正常显示,需用驱动电路来驱动七段LED数码管的各段码,从而显示我们要的数字。根据七段LED数码管驱动方式的不同,可以分为静态式和动态式两类。 1、 静态显示驱动
静态驱动是指每个七段LED数码管的每一个段码都由一个单片机的I/O端口进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口端口多,如驱动6个七段LED数码管静态显示,则需要6×8=48根I/O端口来驱动,而一个80C51系列单片机可用的I/O端口才32个!实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 2、 动态显示驱动
七段LED数码管动态显示是单片机中应用最为广泛的显示方式之一,动态驱动是将所有七段LED数码管的8个显示笔画a、b、c、d、e、f、g、dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O端口控制,当单片机输出字形码时所有数码管都接收到相同的字形码,但究竟是哪个LED七段数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以只要将需要显示的七段LED数码管的位选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各数码管的COM端,就使各个七段LED数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余晖效应,尽管各位七段LED数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。动态显示能够节省大量的I/O端口,而且功耗更低。
图二为单片机控制6为七段LED数码管的动态显示电路
图二
考虑到所有的段电流居流过位选线,因此位驱动电路的驱动能力应为段驱动能力的8倍。图中74HC245芯片的作用为段驱动,74HC245-1芯片的作用为位驱动。
1.5.2使用的几种芯片的介绍: 74hc245 - 74HC245芯片原理说明
总线收发器(bus transceiver),典型的CMOS型三态缓冲门电路。
由于单片机或CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。
另外,也可以使用74HC244等其他电路,74HC244比74HC245多了锁存器。
74HC245实物图:
74HC245
74hc245 - 引脚定义:
第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。 第2~9脚“A”信号输入输出端,A1=B1、、、、、、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。 第11~18脚“B”信号输入输出端,功能与“A”端一样,不再描述。 第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。 第10脚GND,电源地。 第20脚VCC,电源正极。 TRUTH TABLE真值表 Control Inputs控制输入 Operation 运行