1.数码管显示(4位7段数码管)
数码管显示分为静态显示和动态显示
静态显示
可直接利用IO口例:P0口P0=0x3f显示数字0;
动态显示
两种方法:一种是将刷新频率提高,人的肉眼分辨不开,即看到同时显示。
另一种是利用锁存器件,先显示一个数字,利用锁存器件锁到一个数码管上,在显示第二个数字,以此类推。
动态扫描原理
所有数码管段选都连接在一起的时候,怎么让数码管显示不一样的数字呢?动态显示是多个数码管,交替显示,利用人的视觉暂停作用使人看到多个数码管同时显示的效果。就像我们看的电影是有一帧一帧的画面显示的,当速度够快的时候我们看到它就是动态的。当我们显示数码管的速度够快的时候,也就可以看到它们是同时显示了。
数码管的动态显示原理
动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差些,所以在选择限流电阻时应略小于静态显示电路中的。
动态显示编程原理。
先编写一个程序,在4位一体数码管左数第4位显示4,过1秒,在左数第3位显示3,过1秒,在左数第2位显示2,过1秒,在左数第1位显示1,上述过程不断循环。将中间的延时时间不断改短,我们发现了什么?刷新频率>50HZ,我们就感觉不到闪烁了。所谓动态扫描显示是指轮流向各位数码管送出段选(字形码)和位选,由于人眼的视觉残留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要低,所以在选择限流电阻时应小于静态显示电路中的。
注意事项
普通LED数码管公共端,正常静态工作电流最大能达到70-80mA,一般单片机IO口不足以提供这么大的电流,加三极管可扩展IO口的驱动能力。
另外,加三极管可以起到缓冲和隔离作用,使单片机工作更加稳定可靠。常用电路图如下图所示:
2.数码管分类
数码管一般分为共阴数码管和共阳数码管
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。
共阴数码管字符显示表
字符 | 显示数字 |
---|---|
0 | 0x3f |
1 | 0x06 |
2 | 0x5b |
3 | 0x4f |
4 | 0x66 |
5 | 0x6d |
6 | 0x7d |
7 | 0x07 |
8 | 0x7f |
9 | 0x6f |
A | 0x77 |
B | 0x7c |
C | 0x39 |
D | 0x5e |
E | 0x79 |