1、51系列单片机第第3章章 数码管显示数码管显示1208实验室实验室 曲玉洁曲玉洁1PPT课件数码管数码管2PPT课件共阴极数码管共阴极数码管 仅当段位接高电平,阴极接低电平时,相仅当段位接高电平,阴极接低电平时,相应位的应位的LED才导通发光才导通发光a b c d e f g bp3PPT课件共阳极数码管共阳极数码管 仅当段位接低电平,阳极接高电平时,相仅当段位接低电平,阳极接高电平时,相应位的应位的LED才导通发光才导通发光a b c d e f g bpVcc4PPT课件HOT-51增强型开发板数码管接口增强型开发板数码管接口5PPT课件锁存器锁存器下降沿锁存下降沿锁存P36 锁存器6P
2、PT课件七段数码管的段位控制七段数码管的段位控制agdbcefdpdp g f e d c b a 0 0 1 1 1 1 1 1 7PPT课件七段数码管的段位控制七段数码管的段位控制agdbcefdpdp g f e d c b a 0 0 0 0 0 1 1 0 8PPT课件七段数码管与段位控制代码七段数码管与段位控制代码03FH106H25BH34FH466H56DH67DH707H87FH96FHA77Hb7CHC39Hd5EHE79HF71HabcdefgP60 共阴极数码管编码9PPT课件 LED数码显示方式及电路数码显示方式及电路 静态显示方式静态显示方式LED显示器工作方式有两
3、种:静态显示方式和动态显示显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个方式。静态显示的特点是每个数码管的段选必须接一个8位位数据线来保持显示的字形码。数据线来保持显示的字形码。当送入一次字形码后,显示字当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。形可一直保持,直到送入新字形码为止。这种方法的优点是这种方法的优点是占用占用CPU时间少,显示便于监测和控制。缺点是硬件电路比时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。较复杂,成本较高。10PPT课件数码管的静态显示数码管的静态显示#includesbit dula=
4、P26;/申明申明U1锁存器锁存端锁存器锁存端sbit wela=P27;/申明申明U2锁存器锁存端锁存器锁存端void main()wela=1;/打开打开U2锁存器锁存器P0=0 xc0;/送入位选信号送入位选信号(6个数码管全亮)个数码管全亮)wela=0;/关闭关闭U2锁存器锁存器11PPT课件数码管的静态显示数码管的静态显示 dula=1;P0=0 x3f;/送入段选信号(显示送入段选信号(显示“0”)dula=0;while(1);/程序停止到这里程序停止到这里注:注:1、我们在程序最后加上我们在程序最后加上“while(1););”就可以让程序停止。就可以让程序停止。因为该语句表
5、达式值为因为该语句表达式值为1,内部语句为空,执行时先判断表达式值,内部语句为空,执行时先判断表达式值,因为为真,内部语句为空,所以什么也不执行,再判断表达式,仍然因为为真,内部语句为空,所以什么也不执行,再判断表达式,仍然为真,又不执行,因为只有当表达式值为为真,又不执行,因为只有当表达式值为0时跳出时跳出while循环,所以不循环,所以不停地执行这条语句,也就是说单片机点亮发光管后将永远重复执行这停地执行这条语句,也就是说单片机点亮发光管后将永远重复执行这条语句。条语句。2、单片机把发光二极管点亮后,就让他停止工作,不再执行别、单片机把发光二极管点亮后,就让他停止工作,不再执行别的指令,不
6、是更好?单片机不能停止工作,除非断电,但这样发光二的指令,不是更好?单片机不能停止工作,除非断电,但这样发光二极管就不会亮了极管就不会亮了12PPT课件练习与思考练习与思考 练习:练习:在最右边的数码管上显示数字在最右边的数码管上显示数字“9”思考:思考:在本电路中,按照前一章讲过的延时程序,有在本电路中,按照前一章讲过的延时程序,有没有可能让六个数码管同时点亮,依次显示没有可能让六个数码管同时点亮,依次显示0到到F,时间间隔为,时间间隔为0.5秒,循环下去?秒,循环下去?位选:P0=0 xdf;段选:P0=0 x6f;13PPT课件数码管的静态显示数码管的静态显示#include#defin
7、e uint unsigned int#define uchar unsigned char sbit dula=P26;sbit wela=P27;uchar num;uchar 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;void delay(uint z);定义编码使用code,程序编译后,则将数组table 保存到程序存储器(FLASH),否则就会保存到数据存储器(RAM)RAM是单片机的“紧缺资源”,能省则省14PP
8、T课件数码管的静态显示数码管的静态显示 void main()wela=1;P0=0 xc0;wela=0;while(1)for(num=0;num0;x-)for(y=110;y0;y-);16PPT课件 动态显示动态显示 动态显示的特点是将所有位数码管的段选线动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。选亮数码管采用动态扫描显示。所谓动态扫描显所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使
9、人的利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。时应略小于静态显示电路中的。17PPT课件数码管的动态显示数码管的动态显示 任务:任务:在在6个个LED依次显示依次显示“123456”,时间间隔为,时间间隔为0.50.5秒秒 分析:分析:6个个LED的对应段位是并联在一起的,只能通的对应段位是并联在一起的,只能通过控制阴极电位来选择允许哪个过控制阴极电位来选择允许哪个LED发光发光 开始允许开始允许LE
10、D1显示显示“1”1”0.5秒后允许秒后允许LED2显示显示“2”2”18PPT课件数码管的动态显示(数据准备)数码管的动态显示(数据准备)#include#define uint unsigned int#define uchar unsigned char sbit dula=P26;sbit wela=P27;uchar 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;void delay(uint z);19PPT课件数码
11、管的动态显示(主函数)数码管的动态显示(主函数)void main()while(1)dula=1;P0=table1;dula=0;P0=0 xff;wela=1;P0=0 xfe;wela=0;delay(500);消影:送位选数据前关闭所有显示,防止打开位选锁存时,原来段选数据通过位选锁存器造成混乱20PPT课件数码管的动态显示(数据准备)数码管的动态显示(数据准备)dula=1;P0=table2;dula=0;P0=0 xff;wela=1;P0=0 xfd;wela=0;delay(500);21PPT课件数码管的动态显示(数据准备)数码管的动态显示(数据准备)void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);22PPT课件51系列单片机谢谢观赏谢谢观赏1208实验室实验室 曲玉洁曲玉洁23PPT课件