单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,LED数码管显示,LED数码管显示,1,数码管在仪器仪表中有着广泛的用途,如万用表、转速表等。,显示单片机的输出数据、状态等。,具备数字接口,可以很方便地和单片机系统连接。,体积小、重量轻、功耗低,是一种理想的显示单片机数据输出内容的器件。,数码管在仪器仪表中有着广泛的用途,如万用表、转速表等。,2,使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。,LED数码管显示课件,3,共阴数码管码表,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,无显示,共阴数码管码表0 x3f ,0 x06,0 x5b,0,4,共阳极数码管码表,0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 1 2 3 4 5,0 x82,0 xf8,0 x80 ,0 x90,0 x88,0 x83,6 7 8 9 A B,0 xc6,0 xa1,0 x86,0 x8e,0 xff,C D E F,无显示,共阳极数码管码表0 xc0 ,0 xf9,0 xa4,5,静态显示方式,LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。,静态显示方式 LED显示器工作方式有两种:静态显示方式和,6,Unsigned char,code,table=,0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;,Unsigned char code table=,7,我们做一个小实验,4个数码管依次连续输出0、1、2、3,即第一个显示0,然后第二个显示1,我们做一个小实验4个数码管依次连续输出0、1、2、3,8,动态显示,动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。,动态显示 动态显示的特点是将所有位数码管的段选线并联在,9,静态显示、动态显示各有利弊,静态:数据显示稳定、占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多;,动态:需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多,但使用硬件少,能节省线路板空间。,简单系统中,为降低成本,选用动态显示,静态显示、动态显示各有利弊静态:数据显示稳定、占用很少的CP,10,动态显示举例:显示5678,动态显示举例:显示5678,11,#include,#define uchar unsigned char,unsigned char code table1=,0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e;,unsigned char code table2=,0 x7f,0 xbf,0 xdf,0 xef;,unsigned int num;,uchar count;,delay(uchar x),uchar a,b;,for(a=x;a0;a-),for(b=255;b0;b-);,#include,12,display(uchar qian,uchar bai,uchar shi,uchar ge),P0=table1qian;,P1=table20;,delay(1);,P0=table1bai;,P1=table21;,delay(1);,P0=table1shi;,P1=table22;,delay(1);,P0=table1ge;,P1=table23;,delay(1);,display(uchar qian,uchar bai,u,13,void main(),num=5678;,while(1),display(num/1000,num/100%10,num/10%10,num%10);,void main(),14,作业,设计一个,00,59,秒计时器,要求:,1、使用定时/计数器,2、使用两位数码管显示,作业设计一个0059 秒计时器,15,