数码管显示控制

上传人:mg****85 文档编号:55460381 上传时间:2018-09-30 格式:PPT 页数:35 大小:779.50KB
返回 下载 相关 举报
数码管显示控制_第1页
第1页 / 共35页
数码管显示控制_第2页
第2页 / 共35页
数码管显示控制_第3页
第3页 / 共35页
数码管显示控制_第4页
第4页 / 共35页
数码管显示控制_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《数码管显示控制》由会员分享,可在线阅读,更多相关《数码管显示控制(35页珍藏版)》请在金锄头文库上搜索。

1、目录,数码管循环显示09,C语言语句结构,多个数码管动态扫描显示,099计数器显示(静态显示),七段字形译码器74LS47应用,数码管循环显示09,目 录,利用AT89S52单片机的P1口的P2.0P2.6七个引脚 ,使其依次连接到一个共阴极LED数码管的ah七个位段控制引脚上,数码管的公共端接地,编写程序使数码管上循环显示 09 十个数字。,工作任务,预备知识:,单片机系统中人机交流的显示部分主要有以下三种构成方式:1、LED发光二极管显示(已学);2、LED数码管显示(本章学习);3、LCD液晶显示;,1LED数码管LED数码管是将8个发光二极管封装而成的,每段为一发光二极管,其字形结构如

2、图(a)所示。选择不同字段发光,可显示出不同的字形,例如,当a、b、c、d、e、f、g字段亮时,显示出字符“8”;当a、f、g、c、d字段亮时,显示出字符“5”。图(b)所示为单个LED数码管的引脚排列图,图中com引脚是单个LED数码管的公共端。,(a)字型结构图,返回本节,共阳极数码管 内部8个LED的阳极连接在一起作为公共引出端; 只有在公共端接高电平时,该数码管才会亮。 共阴极数码管 内部8个LED的阴极连接在一起作为公共引出端; 只有在公共端接低电平时,该数码管才会亮。,LED数码管引脚及内部结构,返回本节,2. 数码管的字型编码,D7 D6 D5 D4 D3 D2 D1 D0,数码

3、管编码规则,LED数码管字型编码表,返回本节,3. 数码管的显示方法 (1)动态显示。一位一位地轮流点亮各位数码管的显示方式。即在某一时段,只选中一位数码管的“位选端”,并送出相应的字型编码,在下一时段按顺序选通另外一位数码管,并送出相应的字型编码。依此规律循环下去,即可使各位数码管分别间断地显示出相应的字符。这一过程称为动态扫描显示。 (2)静态显示。指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。各位数码管相互独立,公共端恒定接地(共阴极)或+5V(共阳极)。每个数码管的八个位段分别与一个八位I/O端口相连。I/O端口只要有字型码输出,数码管就显示给定字符,并保持不变,直到I/

4、O口输出新的段码。,返回本节,(1) 74LS24574LS245是8路同相三态双向数据总线驱动芯片,具有双向三态功能,既可以输出,也可以输入数据。结构如图所示。 A、B : 总线端,: ( )三态允许端(低电平有效) DIR : ( ) 方向控制端(DIR=“1”,信号由 A 向 B 传输;反之,信号由B传向A),4。电路设计,返回本节,(2). 数码管显示电路设计按照工作任务要求,数码管显示电路是由单片机最小应用系统、一片1位的共阴极LED数码管、一片74LS245驱动芯片外加限流电阻RN1(RX8关键词)构成,如图所示。,返回本节,5.程序设计,1.数码管显示功能实现分析由于显示的数字

5、09 的字型码没有规律可循,只能采用查表的方式来完成我们所需的要求了。这样我们按着数字09 的顺序,把每个数字的字型码按顺序排好!建立表格(用数组来实现)如下所示:,unsigned char code table= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;,2. 数码管显示程序如下: #include /包含AT89X52.H头文件 unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; unsigned char dispcount;

6、void delay (void) unsigned char i,j,k; for(i=40;i0;i-) for(j=40;j0;j-) for(k=248;k0;k-); ,返回本节,void main(void) while(1) for(dispcount=0;dispcount两个值作一个比较,判断其比较的结果是否符合 给定的条件。关系运算的结果只有2种可能,即“真”和“假”。,二、逻辑运算符和逻辑表达式,关系运算符 描述的是单个条件。,1. 逻辑运算符 (1)“&”(逻辑与)是二元运算符,当且仅当两个运算量的值都为“真” 时,运算结果是“真”,否则为假; (2)“|”(逻辑或)是

7、二元运算符,当且仅当两个运算量的值都为“假”时 ,运算结果是“假”,否则为真; (3)“!”(逻辑非)是一元运算符,当运算量的值为“真”时,运算结果是 “假”,当运算量的值为“假”时,运算结果是“真”。,2. 逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来的式子,称为逻辑表 达式。一般逻辑表达式用于描述多个条件的组合。,注意:对于参与运算的量,只要是非零,就被当作是“真”。,四、switch 语句,在多分支程序中,当分支较多时,使用 if 嵌套程序冗长而且可读性 降低。此时可使用 C 语言提供的 switch 语句。,switch(表达式) case 常量表达式1:语句1case 常量表达

8、式2:语句2 case 常量表达式n:语句ndefault: 语句n+1 ,注意事项: (1)各个case的常量表达式的值必须不同; (2)注意break语句的使用; (3)default子句可以省略不写(除非有必要)。,五、循环结构控制语句,1.while语句 其特点是:先判断表达式,后执行语句。,2. do-while语句 do-while语句特点是先执行循环体,然后判断循环条件是否成立。,其一般形式如下: do循环体语句 while(表达式); 注意“ ;”不可少。,while和do-while 区别:前者若条件不成立,则不执行循环 体;而后者即使条件不成立,也要 执行循环体语句1次。,

9、3. for语句 for(表达式1;表达式2;表达式3)语句 两无限循环:for(;) ;while(1);,for 语句求解步骤: (1)先求解表达式1; (2)求解表达式2,其值为真,则执行for语句中指定的内嵌语句 (循环体),然后执行第(3)步如果为假,则结束循环; (3)求解表达式3; (4)转回第2步继续执行。,break语句: break语句结束整个循环过程,不再判断循环条件是否成立。 break语句只能用于循环语句和switch语句中。,continue语句: continue语句只结束本次循环,而不是终止整个循环的执行。 continue语句只能用于循环语句中;,多个数码管动

10、态扫描显示,目 录,显示器由 6 个共阴极 LED 数码管构成,使用 AT89S52 单片机,P0 口输出显示段码,经由一片 74LS245 驱动输出给 LED 数码管,P1 口输出位码(片选)给 LED 数码管。通过动态扫描程序使 6 个数码管显示 “123456”。,工作任务:,一、多个数码管动态显示电路设计,1.电路构成 (1)单片机最小应用系统 (2)一片74LS245驱动芯片构成 (3)限流排阻(RX8) (4)6位数码管,2.管脚分配 (1)P0口输出显示段码P0.0P0.6通过一片74LS245依次接段码口ag,P0口I/O输出一定要外接上拉电阻; (2)P1口输出位码P1.0P

11、1.5依次接位码口16, 如下图所示。,电路图改进措施,二、多个数码管动态显示程序设计,1多个数码管动态显示功能实现分析,动态扫描 逐个控制各个数码管的COM端使各个数码管轮流点亮。在轮流点亮数码管的扫描过程中,每位数码管的点亮时间极为短暂(约1ms)。但由于人的视觉暂留现象及发光二极管的余辉,给人的印象就是一组稳定的显示数据。,(1)优点 可以节省I/O端口资源; 硬件电路也较简单。 (2)缺点 显示稳定度不如静态显示方式; 占用了更多的CPU时间。,2. 动态扫描优缺点,3. 动态扫描程序如下示,#include /包含AT89X52.H头文件 unsigned char code Tab

12、=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; unsigned char code Col=0xfe,0xfd,0xfb,0xf7,0xef,0xdf; /位码 void Delay() unsigned char i;for(i=0;i250;i+); void main() /同时显示123456 unsigned char j;while(1)for(j=1;j指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。,2. 静态显示的优缺点 (1)优点 较小的电流就可以获得较高的亮度; 占用CPU时间较少; 编程简单; 显示便于检测和控制。(2)缺点 占用较多的I/O口线; 硬件电路复杂,成本高; 只适合显示位数较少的场合。,3. 计数显示实现分析 (1)单片机对按键的识别的过程处理; (2)单片机对正确识别的按键进行计数,计数满时,又从0开始计数; (3)单片机对计数值要进行数码显示,计数值是16进制数,我们要把其拆开成十位和个位数字分别送出显示。计数值对10求余,可得个位数字;计数值对10整除,可得十位数字; (4)通过查表方式,分别显示出个位和十位数字。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号