补充第4讲数码管编程.ppt

上传人:李司机 文档编号:6615756 上传时间:2023-11-18 格式:PPT 页数:47 大小:675KB
返回 下载 相关 举报
补充第4讲数码管编程.ppt_第1页
第1页 / 共47页
补充第4讲数码管编程.ppt_第2页
第2页 / 共47页
补充第4讲数码管编程.ppt_第3页
第3页 / 共47页
补充第4讲数码管编程.ppt_第4页
第4页 / 共47页
补充第4讲数码管编程.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《补充第4讲数码管编程.ppt》由会员分享,可在线阅读,更多相关《补充第4讲数码管编程.ppt(47页珍藏版)》请在三一办公上搜索。

1、补充第4讲 LED数码管显示,数码管是如何显示出字符的数码管静态显示原理数码管动态显示原理应用案例,显示器及其接口,单片机系统中常用的显示器有:发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、CRT显示器等。LED、LCD显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(58、88点阵等)。,LED数码显示方式及电路,静态显示方式LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送

2、入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。,动态显示,动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。,LED数码显示方式及电路,共阴极数码管,仅当段位接高电平,阴极接低电平时,相应位的LED才导通发光,a b c d e f g bp,共阳极数码管,仅当段位接低

3、电平,阳极接高电平时,相应位的LED才导通发光,a b c d e f g bp,Vcc,使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。,共阴极,共阳极,共阴数码管码表,0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 1 2 3 4 5 0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,6 7 8 9 A B 0 x39,0 x5e,0 x79,0 x71,0 x00 C D E F 无显示,七段数码管的段位控制,a,

4、g,d,b,c,e,f,dp,dp g f e d c b a 0 0 1 1 1 1 1 1,七段数码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 0 0 0 0 1 1 0,七段数码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 1 0 1 1 0 1 1,七段数码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 0 1 1 1 1 1 1,七段数码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 1 1 0 0 1 1 0,七段数码管的段位

5、控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 1 1 0 1 1 0 1,七段数码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 1 1 1 1 1 0 1,七段数码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 0 0 0 0 1 1 1,七段数码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 1 1 1 1 1 1 1,七段数码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 1 1 0 0 1 1 1,七段数

6、码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 1 1 1 0 1 1 1,七段数码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 1 1 1 1 1 0 0,七段数码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 0 1 1 1 0 0 1,七段数码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 1 0 1 1 1 1 0,七段数码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 1 1 1 1 0 0

7、1,七段数码管的段位控制,a,g,d,b,c,e,f,dp,dp g f e d c b a 0 1 1 1 0 0 0 1,七段数码管与段位控制代码,锁存器:就是把单片机的输出的数先存起来,可以让单片机继续做其它事.比如74LS373,74HC573就是一种锁存器它的LE为高的时候,数据就可以通过它.当为低时,它的输出端就会被锁定,即为刚才通过的数据,这样,就可以保持这个状态.,锁存器,只有在有锁存信号时输入的状态被保存到输出,直到下一个锁存信号。通常只有0和1两个值。典型的逻辑电路是D触发器。由若干个钟控D触发器构成的一次能存储多位二进制代码的时序逻辑电路,叫锁存器件。逻辑结构与功能表8位

8、锁存器74LS373的逻辑图见图所示。其中使能端G加入CP信号,D为数据信号。输出控制信号为0时,锁存器的数据通过三态门进行输出。,锁存器,上升沿写入,段位控制码,锁存器,下降沿锁存,段位控制码,38线译码器选择数码管,选择数码管,接数码管阴极,74HC138是38线译码器,任何时候Y7Y0只能有一个输出为“0”,数码管的静态显示,#includevoid Main(void)P2=0;/选择最左边的数码管P0=0 x6d;/显示数字“5”,P2端口只有低三位可以用来选择数码管,练习与思考,练习:在最右边的数码管上显示数字“9”思考:在本电路中,按照静态显示方法,有没有可能让两个数码管同时显示

9、相同的数字?,74HC138是38线译码器,任何时候Y7Y0只能有一个输出为“0”,练习,在8个LED数码管上,按从左到右的顺序,循环滚动显示数字“5”,每次滚动延时500ms,数码管的滚动显示,#includeunsigned char LED;void Delay(unsigned int milisec)/延时1msunsigned int i,j;for(i=milisec;i0;i-)/双重for循环实现延时1msfor(j=110;j0;j-);void Main(void)P0=0 x6d;/显示数字“5”while(1)for(LED=0;LED=7;LED+)P2=LED;/

10、选择LED,实现滚动显示Delay(500);/延时500ms,观察,对于上一个练习,逐步减少每次滚动的延时,直到减为2ms,观察到什么现象?,数码管的动态显示,任务:在8个LED上稳定地显示“01234567”分析:8个LED的对应段位是并联在一起的,只能通过控制阴极电位来选择允许哪个LED发光t1时刻允许LED0显示“0”t2时刻允许LED1显示“1”8个LED轮流显示,只要切换速度足够快,看上去就是8个LED都在稳定地显示,数码管的动态显示(数据准备),#includeunsigned char code table10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x

11、6d,0 x7d,0 x07,0 x7f,0 x6f;unsigned char code LED8=0,1,2,3,4,5,6,7;void Delay(unsigned int milisec)/延时1msunsigned int i,j;for(i=milisec;i0;i-)for(j=110;j0;j-);,数码管的动态显示(主函数),void Main(void)unsigned char i=0;while(1)P0=tablei;/取一个数的段位码P2=LEDi;/点亮一个数码管Delay(2);/延时2msi+;/移位if(i=8)i=0;/重新开始,定义数组,unsigne

12、d char code table10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;使用code,程序编译后,则将数组table保存到程序存储器(FLASH),否则就会保存到数据存储器(RAM)RAM是单片机的“紧缺资源”,能省则省,练习,在8个LED当中,选择靠右边的4个LED显示数字“3210”,void Main(void)unsigned char i=7;while(1)P0=table7-i;P2=LEDi;Delay(2);i-;if(i=3)i=7;,练习,在8个LED上显示某教研室的电话号码“6875

13、2219”,显示某教研室的电话号码,#includeunsigned char code table10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;unsigned char code Number8=6,8,7,5,2,2,1,9;void Delay(unsigned int milisec)/延时1msunsigned int i,j;for(i=milisec;i0;i-)for(j=110;j0;j-);,void Main(void)unsigned char i=0,j;while(1)j=Number

14、i;/取一个待显示的数P0=tablej;/取一个数的段位码P2=i;/点亮一个数码管Delay(2);/延时2msi+;/移位if(i=8)i=0;/重新开始,显示某教研室的电话号码,显示“HELLO”或“PASS”,#include/unsigned char code table8=/0 x00,0 x00,0 x00,0 x76,0 x79,0 x38,0 x38,0 x3f;/HELLOunsigned char code table8=0 x00,0 x00,0 x00,0 x00,0 x73,0 x77,0 x6d,0 x6d;/PASSvoid Delay(unsigned int milisec)/延时1msunsigned int i,j;for(i=milisec;i0;i-)for(j=110;j0;j-);void Main(void)unsigned char i=0;while(1)P0=tablei;/取一个数的段位码P2=i;/点亮一个数码管Delay(2);/延时2msi+;/移位if(i=8)i=0;/重新开始,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号