7段数码管显示电路.doc_第1页
7段数码管显示电路.doc_第2页
7段数码管显示电路.doc_第3页
7段数码管显示电路.doc_第4页
7段数码管显示电路.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.4 显示模块4.4.1 7段数码管的结构与工作原理 7段数码管一般由8个发光二极管组成,其中由7个细长的发光二极管组成数字显示,另外一个圆形的发光二极管显示小数点。当发光二极管导通时,相应的一个点或一个笔画发光。控制相应的二极管导通,就能显示出各种字符,尽管显示的字符形状有些失真,能显示的数符数量也有限,但其控制简单,使有也方便。发光二极管的阳极连在一起的称为共阳极数码管,阴极连在一起的称为共阴极数码管,如图4.9所示。 共阳极共阴极7段数码管内部字段LED和引脚分布 图4.9 7段数码管结构图4.4.2 7段数码管驱动方法发光二极管(LED是一种由磷化镓(GaP)等半导体材料制成的,能直接将电能转变成光能的发光显示器件。当其内部有一一电流通过时,它就会发光。7段数码管每段的驱动电流和其他单个LED发光二极管一样,一般为510mA;正向电压随发光材料不同表现为1.82.5V不等。7段数码管的显示方法可分为静态显示与动态显示,下面分别介绍。(1) 静太显示所谓静态显示,就是当显示某一字符时,相应段的发光二极管恒定地寻能可截止。这种显示方法为每一们都需要有一个8位输出口控制。对于51单片机,可以在并行口上扩展多片锁存74LS573作为静态显示器接口。静态显示器的优点是显示稳定,在发光二极管导通电注一定的情况下显示器的亮度高,控制系统在运行过程中,仅仅在需要更新显示内容时,CPU才执行一次显示更新子程序,这样大大节省了CPU的时间,提高了CPU的工作效率;缺点是位数较多时,所需I/O口太多,硬件开销太大,因此常采用另外一种显示方式动态显示。(2)动态显示所谓动态显示就是一位一位地轮流点亮各位显示器(扫描),对于显示器的每一位而言,每隔一段时间点亮一次。虽然在同一时刻只有一位显示器在工作(点亮),但利用人眼的视觉暂留效应和发光二极管熄 灭时的余辉效应,看到的却是多个字符“同时”显示。显示器亮度既与点亮时的导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参烽,可实现亮度较高较稳定的显示。若显示器的位数不大于8位,则控制显示器公共极电位只需一个8位I/O口(称为扫描口或字位口),控制各位LED显示器所显示的字形也需要一个8位口(称为数据口或字形口)。动态显示器的优点是节省硬件资源,成本较低,但在控制系统运行过程中,要保证显示器正常显示,CPU必须每隔一段时间执行一次显示子程序,这占用了CPU的大量时间,降低了CPU工作效率,同时显示亮度较静态显示器低。综合以上考虑,由于温度显示为精确到小数点后两位,故只需4个数码管,又考虑到CPU工作效率与电源效率,本毕业设计采用静态显示。为共阳极显示。4.4.3 硬件编码 动74LS47是一款BCD码转揣为7段输出的集成电路芯片,利用它可以直接驱动共阳极的7段数码管。它的引脚分部和真值表分别下图。 74LS47管脚定义7段数码管静态显示电路原理图之锁存电路7段数码管静态显示电跩 原理图之锁存译码电路MCS-51单片机7段数码管静态显示电路原理图之CPU电路上述设计中,单片机工作时钟由18.432MHZ的晶振产生;电路中共有4位7段共阳极数码管,用于显示数据;74HC573是8位锁存器,用于锁存各个数码管的显示数据;74HC138是38线译码器,它和6反相器74HC04一起实现地各个数码管的锁存器控制地址的译码。4.4.4 软件设计上述设对于共阳极数码管,控制端置0使数码管点亮,控制端置1使数码管不亮。根据显示数字09需要点亮哪几段发光二极管,可以制定出如下表所示的编码表。字型dpgfedcba编码共阴编码共阳00 01111113FC01000011000CF320111011076893010111105EB25010110115BA46011110117B847000011100E809011111115FA0A010011116F90B011110017986C0011001133CCD011111007C83E01110011738CF01100011639C软件实现过程如下:/*7段数码管静态显示程序*/#include #include #include #include #include #include #include #include #include #include /* 4个7段数码管锁存器地址 */#define LED1ADDR 0x8000#define LED2ADDR 0x8100#define LED3ADDR 0x8200#define LED4ADDR 0x8300/ 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f/* 0-9 a-f 的7段数码管显示编码 */unsigned char ledcode16=0xC0,0xF3,0x89,0xA1,0xB2,0xA4,0x84,0xF1,0x80,0xA0,0x90,0x86,0xCC,0x83,0x8C,0x9C;/* 存放要显示的数字值 */unsigned char val4;/* 写锁存器的子程序 */void wraddr(unsigned int addr,unsigned char d)unsigned char xdata *pa;pa=(unsigned char xdata *)addr;*pa=d;/* 显示子程序 */void display(void)unsigned int addr4=LED1ADDR,LED2ADDR,LED3ADDR,LED4ADDR;int i;for(i=0;i=0)&(vali=15)wraddr(addri,ledcodevali);elsewraddr(addri,0xff);/* 初始化子程序 */void init(void)wraddr(LED1ADDR,0XFF);wraddr(LED2ADDR,0XFF);w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论