51 系列单片机51 系列单片机C 单片机数码管数码管共阴极数码管•仅当段位接高电平,阴极接低电平时,相应位的 LED 才导通发光a b c d e f g bp共阳极数码管•仅当段位接低电平,阳极接高电平时,相应位的 LED 才导通发光a b c d e f g bpVccHOT-51 增强型开发板数码管接口锁存器下降沿锁存P36 锁存器七段数码管的段位控制agdbcefdpdp g f e d c b a 0 0 1 1 1 1 1 1 七段数码管的段位控制agdbcefdpdp g f e d c b a 0 0 0 0 0 1 1 0 七段数码管与段位控制代码03FH106H25BH34FH466H56DH67DH707H87FH96FHA77Hb7CHC39Hd5EHE79HF71HabcdefgP60 共阴极数码管编码 LED 数码显示方式及电路 静态显示方式LED 显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个 8 位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用 CPU 时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。数码管的静态显示#includesbit dula=P2^6; // 申明 U1 锁存器锁存端sbit wela=P2^7;// 申明 U2 锁存器锁存端void main(){wela=1;// 打开 U2 锁存器P0=0xc0;// 送入位选信号( 6 个数码管全亮)wela=0;// 关闭 U2 锁存器数码管的静态显示1 、我们在程序最后加上“ while ( 1 );”就可以让程序停止。因为该语句表达式值为 1 ,内部语句为空,执行时先判断表达式值,因为为真,内部语句为空,所以什么也不执行,再判断表达式,仍然为真,又不执行,因为只有当表达式值为 0 时跳出 while 循环,所以不停地执行这条语句,也就是说单片机点亮发光管后将永远重复执行这条语句。 2、单片机把发光二极管点亮后,就让他停止工作,不再执行别的指令,不是更好?单片机不能停止工作,除非断电,但这样发光二极管就不会亮了练习与思考•练习:在最右边的数码管上显示数字“ 9”•思考:在本电路中,按照前一章讲过的延时程序,有没有可能让六个数码管同时点亮,依次显示 0 到 F ,时间间隔为 0.5 秒,循环下去?位选: P0=0xdf;段选: P0=0x6f;数码管的静态显示 #include#define uint unsigned int #define uchar unsigned char sbit dula=P2^6;sbit wela=P2^7;uchar num;uchar code table[ ]={0x3f,0x06,0x5b,0x4f,0x66...