Bootstrap

【51单片机】数码管的静态显示和动态显示

【51单片机】数码管的静态显示和动态显示

数码管显示原理
在这里插入图片描述
此次以点亮共阴数码管为例,a,b,c,d,e,f,g,dp在二进制中按照低位到高位的顺序对应。下表用16进制表达对应的数码管点亮的图案
在这里插入图片描述
静态显示
数码管有静态显示和动态显示两种显示方式,静态显示的每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一个字形码后,会保持这个字形码不变,直到新的字形码送入,才会发生变化。
74HC573锁存器工作原理
在这里插入图片描述
在这里插入图片描述
而了解锁存器的工作原理是理解数码管的动态显示的最佳途径,我们需要学会看图,输出口Q若要输出高低电平,OE口必须接地,LE脚为H时,Q输出端与输入端D的值一致。LE脚为L时,Q输出端数据保持不变,也就是说,输入端D不会改变输出端Q的值,达到一个锁存的效果。
动态显示
动态显示的特点就是将所有位数的数码管的段选线并联在一起,由位选来控制哪一位数码管有效,选亮数码管采用动态扫描,所谓动态扫描就是轮流向各位数码管送去字形码和相应的位选,一个一个的点亮,但是利用发光管的余晖和人眼的视觉暂留效果可以使人感觉好像多位数码管都在同时显示。(实则是一个一个循环轮流点亮,但处理时间短)
静态数码管点亮

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit DU = P2^6;   //段选端口
sbit WE 
;