1 / 22

第 3 章 数码管显示

第 3 章 数码管显示. 3.1 概述. 3.1.1 LED 数码管简介. 对于 0.5 吋(对角线尺寸) LED 数码管,每段对应一个发光管. 3.1.2 数字和字符的数码管显示图样. 3.1.3 共阳和共阴数码管. 共阳极:点亮时加高电平. 共阴极:点亮时加低电平. 段码:高电平驱动. 段码:低电平驱动. 3.2 数码管显示. 3.2.4 静态显示和动态显示. 静态显示 每个数码管有独立的驱动电路,亮度高电路复杂,编程容易。. 3 位共阳极数码管静态显示. 公共极直接接 +5V 电源. 独立的段码驱动电路.

duff
Download Presentation

第 3 章 数码管显示

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第3章 数码管显示 3.1 概述 3.1.1 LED 数码管简介 对于0.5吋(对角线尺寸)LED 数码管,每段对应一个发光管

  2. 3.1.2 数字和字符的数码管显示图样

  3. 3.1.3 共阳和共阴数码管 共阳极:点亮时加高电平 共阴极:点亮时加低电平 段码:高电平驱动 段码:低电平驱动

  4. 3.2 数码管显示 3.2.4 静态显示和动态显示 静态显示每个数码管有独立的驱动电路,亮度高电路复杂,编程容易。 3位共阳极数码管静态显示 公共极直接接+5V电源 独立的段码驱动电路 (在“串口应用”讲解)

  5. 3.2.4 静态显示和动态显示 动态显示 所有数码管的段码共有一套驱动电路采用扫描显示。亮度稍低,电路简单,编程复杂, CPU实时扫描显示占用CPU的时间。 以4位共阳极数码管动态显示为例 ▶视频

  6. 送1的段码 送2的段码 送4的段码 送3的段码 共阳极数码管动态显示“1234”的过程(位扫描) 一个扫描周期 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

  7. 使用公共教室,必须先下课,再上课,有一个“间隙”,否则会怎样?使用公共教室,必须先下课,再上课,有一个“间隙”,否则会怎样? 消隐——扫描切换时,先灭掉“当前显示的数码管”,然后送下一位的段码,再点亮下一位数码管

  8. 依次驱动(扫描)公共极 动态显示电路 8路OC反相器,驱动电流>100mA(267页) 外接感性负载(电动机/继电器)时,接负载电源 3/8在内部是接在一起的,所以可任意接一个就可以了 相对应的段码接在一起 排电阻,作用限流

  9. 为了正确显示段码与位码必须同步! 动态显示 反相 0 1 0 101 P2口送“8的反相”的段码 P0口“位”码 00000001 00000001 00000001 00000001 11111110 同时送“8”段码:00000001,哪一个显示“8”呢? 反相器

  10. 消隐 消隐信号 0 1 0 0 0 0 101 101 111 消隐信号 00000001 00000001 00000001 00000001 11111110 无论段码如何,因为所有阳极都是低电平,所以全灭

  11. 编写程序程 C语言知识:宏(47页) 宏定义的一般格式: #define 宏名 字符串或数字 宏定义就是用宏名代替一个字符串,也就是简单的替换。 不是必须的,但更便于编写、修改、理解程序。 上述宏定义后 P_duan和P2就是等效的,好处是: 读程序时,P_duan的意义更清晰,表示段码驱动端口的意思。 如果想改为其他端口,只需修改宏定义即可,而不必“修改程序”。

  12. C语言知识:一维数组(56页) 为了便于访问将同一类型数据的有序集合——数组。 数组的定义方式为: 类型数组名[常数]; 这两数组均为一组常数定义为code,存储在程序存储器(ROM)中,定义为data,存储在内存中,是不合理的!!

  13. 制 段码表的获取可通过“LED段码查询”实现。

  14. 将x的千/百/十/个位的段码存入nx[]中 动态显示x的千/百/十/个位 “取余”

  15. 填写“显示数组”程序 将x的千/百/十/个位的段码存入nx[]中 “取余” X=1234

  16. 利用循环语句填写“显示数组”程序及框图 i=0 i<4? ☞? 否 是 取出X的最低位 X除以10 i++ 先处理最低位比较方便,特别是使用循环语句时,也节省内存 。处理完个位,就可以”舍掉”个位(除以10)…… X=1234 显示数组:nx[4]={千位,百位,十位,个位}

  17. 动态显示程序 ☞程序框图

  18. i=0 (显示千位) 执行必要的程序 i<4? 否 是 消隐 先送i位的段码 再送i位的位码 (扫描i位) 显示i位延时 i+1(下一位) i=0,1,2,3时,分别显示千/百/十/个位

  19. i=0 (显示千位) 执行必要的程序 i<4? 否 是 消隐 先送i位的段码 再送i位的位码 (扫描i位) 显示i位延时 i+1(下一位) 再次进入for循环——动态显示 i=4时,跳出for循环 执行必要的程序,对于本例,没有任何其他程序,只有动态显示功能

  20. i=0 (显示千位) 执行必要的程序 i<4? 处于消隐状态,所以位的COM无效 否 是 消隐 先送i位的段码 再送i位的位码 (扫描i位) 显示i位延时 i+1(下一位) 动态显示:必须反复执行 虽然送出第i位的段码但位码送出之前,仍处于消隐状态,第i位不亮。 程序执行到这儿,才显示第i位的数字 ☞交换一下会怎样?

  21. 这两个“动作”能否交换次序? 结论:不可以,这就是“序” i=0 (显示千位) 执行必要的程序 i<4? 否 是 消隐 先送i位的位码 (扫描i位) 再送i位的段码 显示i位延时 i+1(下一位) 第i位的COM有效,点亮了第i位,而第i位的段码没有送出,这样就把第(i-1)的数字瞬间显示在了第i位上啦,起不到消隐的目的。 程序执行到这儿,才将第i位的数字显示第i位上 ▶视频

More Related