第3章 数码管显示输出
嵌入式技术与应用开发项项目三数码管显示设计与实现

共阴极和共阳极数码管的字型编码是不同的,对于同一个字符, 共阴极和共阳极的字型编码是反相的。
认识数码管
数码管的显示方法:有静态显示和动态显示两种方法。
1. 静态显示
静态显示是指数码管显示某一字符时,相应的LED恒定导通或恒定截 止。
PC13_RTC
PC14-OSC32_IN
PB0
PC15-OSC32_OUT
PB1
PB2
PB3
OSCIN_PD0
PB4
OSCOUT_PD1
PB5
PD2
PB6
PB7
PB8
PB9
PB10
PB11
VBAT
PB12
PB13
PB14
PB15
BOOT0
7
8 9 10 11 24 25 37 38 39 40 51 52 53 2 3 4
① 代码区(0x0000_0000~0x1FFF_FFFF) 程序可以在代码区、内部SRAM区以及外部RAM区中执行,通常是把程序放
到代码区,从而使取指和数据访问各自使用自己的总线(指令总线与数据总 线是分开的)。 ② SRAM区(0x2000_0000~0x3FFF_FFFF) 这个区域用于片内SRAM,是用于让芯片制造商连接片上的SRAM,这个区通 过系统总线来访问。 在SRAM区的底部,还有一个 1MB的位带区,这个位带区还有一个对应的 32MB的“位带别名(alias)区”。也就是说,位带别名区里面的每个字对应 位带区的一个bit位,每个位变量是32位(既1个字4个字节)。 位带操作只适用于数据访问,不适用于取指。通过位带的功能,我们访问一 个bit位,可以从位带别名区中,像访问普通内存一样操作。
数码管显示电路的原理

数码管显示电路的原理
数码管显示电路通过控制电压信号的高低来驱动数码管的不同段进行显示。
数码管是由多个发光二极管组成的,每个发光二极管对应显示一个数字或符号。
数码管显示电路主要由以下几个部分组成:
1. 数字信号发生器:用来产生需要显示的数字或符号的电信号。
该信号可以通过逻辑门、计数器、微控制器等方式产生。
2. 译码器:将数字信号转换为控制数码管显示的信号。
译码器一般采用BCD码(二进制编码十进制)或者7段码来表示数字。
3. 驱动电路:将译码器输出的信号转换为适合驱动数码管的电压和电流。
驱动电路一般使用三极管、开关电路等来完成。
4. 数码管:由多个发光二极管(LED)组成,每个发光二极管对应一个数字或符号的显示段。
数码管的引脚连接到驱动电路上。
5. 电源电路:为整个数码管显示电路提供工作电压。
一般使用稳压电源或者适配器来提供稳定的直流电压。
工作原理如下:
当数字信号发生器产生需要显示的数字或符号的电信号时,该
信号经过译码器转换为对应的亮灭控制信号,然后通过驱动电路产生适合数码管的控制电压和电流。
驱动电路按照控制信号的要求,通过对应的引脚将控制信号传递给数码管。
这样,数码管的不同段就会根据控制信号的高低来亮灭,从而显示出对应的数字或符号。
整个数码管显示电路在工作时,可以通过改变数字信号的输入来实现不同数字或符号的动态显示。
经过适当的控制和调节,数码管显示电路可以显示出各种数字、字母、符号等。
PLC控制三路抢答器

摘要近年来随着科技的飞速发展, PLC的应用不断地走向深入,同时带动传统的控制检测技术的不断更新,可编程控制器由于其优良的控制性能,极高的可靠性,在各行各业中的应用日益广泛普及。
本次设计是利用PLC(Programmable Logic Controller)对PLC控制智力抢答器进行控制。
首先,选择这个题目之后,我对本次设计进行了全面的思考。
使自己对本次设计有一个大致的总体思路,然后仔细分析PLC控制的三路智力抢答器的工作原理,以及它的一些工作过程,分析后得出它主要需要完成主持人的控制、选手的抢答、计时及计分输出显示功能等。
关键词:智力控制,三路抢答器, PLC,计分。
设计任务书(1)三路抢答器应用背景和概述抢答器广泛用于电视台、商业机构及学校,为竞赛增添了刺激性、娱乐性,在一定程度上丰富了人们的业余生活。
本文介绍一种抢答器,能使三个人同时参加抢答,赛场中设有1个裁判台,三个参赛台.总体设计选用三菱PLC控制,抢答操作方便,在很多的场所都可以使用,并且给人的视觉效果非常好。
抢答器,顾名思义就是用于比赛时,跟对手比反应时间,思维运转快慢的新型电器。
随着社会科技技术的不断发展,他的应用场合也随之增加;技术含量大大提升;更加方便可靠。
用PLC进行知识竞赛抢答器设计,其控制方便,灵活,只要改变输入PLC的控制程序,便可改变竞赛抢答器的抢答方案。
此任务的抢答器可根据应答者抢答情况自动设定答题时间,并根据情况用灯光和声音现实其回答正确和错误,在工作人员操作下对答题者所显示的分数进行加分和减分。
三路智力抢答器有三个抢答按钮最先按下按钮有效,在此之后按下按钮无效,伴有灯光和声音指示,并开始计时答题时间。
计时时间到声音提示停止答题。
如果抢答者答题正确和错误主持人按下加分键或减分键,将对所显示的分数进行加分和减分。
(2)设计任务和要求三路智力抢答器应达到以下要求。
(1)按下启动按钮(开始抢答)后,若10内无人抢答,则抢答器自动撤销抢答信号(有声音提示),说明该题无人抢答自动作废。
实验03静态数码管显示

实验三 静态数码管显示一.实验目的 1.了解数码管内部电路结构; 2.学习7段数码管显示译码器的设计; 3. 学习LPM 兆功能模块的调用。
二. 准备知识为了对数字电路进行控制、直观观察数字电路的设计结果,CPLD/FPGA 器件往往要和一些外部接口电路相连,前面实验中实验的二极管、DIP 开关、脉冲信号源等都属于外部接口电路。
在编译前我们进行的锁定管脚,就是把设计电路(元件)的数字信号输入、输出连到相应的CPLD/FPGA 器件管脚;而CPLD/FPGA 器件的一些管脚在硬件上和外部的接口电路相连;这样就把设计的输入、输出管脚和外部的接口电路相通,以便对电路进行控制(输入)、观察结果(输出)。
通常的外部接口电路有:二极管、7VGA 接口、鼠标接口、键盘、时钟信号接口、A/D 接口、D/A 接口、UART 接口、I 2C 控制器接口等其它数字信号接口。
数码管LED 显示是工程项目中使用广泛的一种输出显示器件。
从数码管的个数上数码管分为单联和多联,单联数码管的封装结构如图3.1所示;从电路连接上数码管分为共阳极和共阴极2种,共阴极数码管是将8个发光二极管的阴极连接在一起作为公共端,如图3.2所示;而共阳极数码管是将8个发光二极管的阳极连接在一起作为公共端,如图3.3所示。
公共端通常称为位码或选通位,而将其它8位称为段码。
底部管脚 上部结构图数码管的e 、d 、c 、b 、a 。
我们以图3.3所A11脚为低电平,这样发光二极1”,就需要位码为高电平,BC 段码为低电平,正向导通而发光,而其他的段码为高电平,无电流通过不发光。
故8位段码的需要赋二进制值为“00000011”,位码赋值为高电平,这就是所谓的“译码”。
位码使用了三极管。
从硬件电路原理图上可知,FPGA 器件的IO 管脚为低电平时,数码管的位码管脚为高电平,导通。
本实验通过分频器得到1Hz 的时钟信号,加载于4位计数器的时钟输入端。
计数器循环输出0~9、A~F 共16个数。
数码管显示

一、数码管的结构 1、常用的数码管
2、数码管的内部结构
3、数码管的引脚图 数码管的引脚判断可用万用表的二极管测量档位进行判断。 数码管的引脚判断可用万用表的二极管测量档位进行判断。 可以判断出每个引脚及共阴还是共阳
二、数码管的显示原理 1、共阴极数码管 共阴极数码管 公共端接低电平, 公共端接低电平,a~h八个输入根据要显示的字符确定是 八个输入根据要显示的字符确定是 高电平“ 或低电平 或低电平“ , 高电平“1”或低电平“0”,从而得到每个数字或字符的显 示段码。 示段码。 显示数字 h 0 0 g 0 0 f 1 0 e 1 0 d 1 0 c 1 1 b 1 1 a 段码值 1 0 3FH 06H
四、设计举例 设计一共阳极6位动态扫描显示电路,显示 设计一共阳极 位动态扫描显示电路,显示012345六个 位动态扫描显示电路 六个 数字。 数字。 DIS1 EQU 30H
DIS2 EQU 31H DIS3 EQU 32H ORG 0000H LJMP START ORG 0030H START: MOV SP,#60H MOV DIS1,01HH MOV DIS2,#23H MOV DIS3,#45H MOV P1,#0FFH WAIT: LCALL DISPLAY SJMP WAIT SJMP $
DISPLAY: PUSH ACC PUSH PSW MOV DPTR,#TABLE MOV A,DIS1 MOV B,A ANL A,#0F0H SWAP A MOVC A,@A+DPTR MOV P0,A MOV P2,#01111111B LCALL DELAY MOV A,B ANL A,#0FH MOVC A,@A+DPTR MOV P0,A
数字电子技术(第四版)(孙津平)章 (4)

图 3.22 例8的连接图
3. 例9
试用八选一数据选择器74LS151产生逻辑函数
解 把逻辑函数变换成最小项表达式:
八选一数据选择器的输出逻辑函数表达式为
若将式中A2、A1、A0用A、B、C来代替, D0=D1=D3= D6=1, D2=D4=D5=D7=0,画出该逻辑函数的逻辑图, 如图 3.23所示。
1. 74LS151是一种典型的集成电路数据选择器。 如图3.21所示 是74LS151的管脚排列图。 它有三个地址端A2A1A0。 可选择
D0~D7八个数据, 具有两个互补输出端W和W。 其功能如表3.12
所示。
图 3.21 74LS151 (a) 符号图; (b) 管脚图
2. 例 8 用两片74LS151连接成一个十六选一的数据选择器。 解 十六选一的数据选择器的地址输入端有四位, 最高
止工作。
图3.18 例7的连接图
3.4 数据选择器和数据分配器
3.4.1 数据选择器
数据选择器按要求从多路输入选择一路输出, 根据输入端 的个数分为四选一、 八选一等等。 其功能相当于如图3.19所示 的单刀多掷开关。
图3.19 数据选择器示意图
如图3.20所示是四选一选择器的逻辑图和符号图。 其
2. 非二进制编码器(以二-十进制编码器为例) 二-十进制编码器是指用四位二进制代码表示一位十进制数 的编码电路, 也称10线-4线编码器。四位二进制代码共有16 种组合状态, 而0~9共10个数字只用其中 10 个状态, 所以二-十进制编码方案很多。 最常见是8421 BCD码编码器,
如图3.7所示。 其中,输入信号I0~I9代表0~9共10个十进制信号, 输出信号Y0~Y3为相应二进制代码。
话铃响用1表示, 铃没响用0表示。 当优先级别高 的信号有效时, 低级别的则不起作用, 这时用×表示; 用
单片机3数码管显示1234PPT课件

精选PPT课件
5
程序流程图
开始
N 条件?
Y 位显示
显示数字
延时
结束
精选PPT课件
6
编程与调试
• 建项目、选芯片 • 建C文件 • 编译、连接、生成HEX文件 • 调试
精选PPT课件
7
任务(2)分析
• 判断是否有按键按下 • 加入按防抖和放手防抖 • 判断按下键 • 将最右侧显示数值移位 • 将按键值送入显示存储器
z=P3;
if (z!=0xff)
{ a=0x7f;
for (i=1;i<=6;i++)
{if (z==a)
{
table1[0]=table1[1]; //将低位移出
table1[1]=table1[2];
table1[2]=table1[3]; table1[3]=i; delay(200);
while (P3!=0xff); delay(200);
精选PPT课件
8
程序(2)
• 参考程序
• //头文件: 显示输入
• #include "reg51.h"
• #include "intrins.h"
• #define uchar unsigned char
• //变量定义:
• unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x8 0,0x90};
• 2、计算机、KEIL uVISION软件、 STC-ISP-V3.1软件和等 。
精选PPT课件
4
分析
• 分析控制方法: • (1)、选择4个位控制端口置个十百千万
基于PLC的数码管显示控制

《装备维修技术》2019年第4期(总第172期)doi:10.16648/ki.1005-2917.2019.04.123基于PLC的数码管显示控制吕桃(南京浦口中等专业学校,江苏南京 210000)摘要:本文针对工程中三菱FX系列PLC的数码管显示方法的探讨,结合典型电子时钟的数码显示案例,介绍了四种数码管连接与控制方法,结合性价比分析以期探讨最优化PLC工程数码控制方案。
关键词:PLC;SEGL;BCD;晶体管输出;七段数码管;显示译码器;选通信号;锁存控制;输出刷新引言数据信息的采集、状态数据的显示是现代设备控制中两个非常重要的功能,前者反映设备控制的数字化功能,后者常用于反映设备运行状态数据如生产工件数、机械位移、环境参数、电流、电压等核心因素的直观反映,为设备操控和设备维护提供必要的指示信息。
工作环境下的数码管因显示具有醒目、直观的功效,应对PLC 占据主导的现代电气设备的开发与维护,迫切需要我们掌握数码管的PLC驱动显示技术。
以下结合常见的数码管数字时钟显示来研究三菱FX系列PLC 的驱动方法。
一个PLC控制数字时钟的时、分、秒数据信息分别由计数器C002、C001、C000对应提供,并采用两位数码管对应显示时、分、秒数据。
数字时钟显示效果如图1示。
图1最常见的PLC七段数码管的驱动方法:一是对照数码管显示真值表直接将七个控制信号通过限流电阻加载于数码管脚上;二是输出BCD码通过显示译码器驱动数码管的控制方式。
如果仅是单纯地采用上述两种方法均会导致占用较多的PLC输出资源,实用性仅能用于一、二位数码的显示。
如何解决占用较少的有限输出资源以实现数字时钟六位及更多位数码的显示方法是本文所要解决的。
1. 数码管的直接驱动控制所谓直接驱动就是将数码管的a~g七段管脚通过限流电阻联接至PLC的对应的七个输出端。
如常见继电器输出PLC、共阴极数码管采用直接驱动方式,将用于输出七段码的Y0~Y6分别通过300欧限流电阻对应接a~g端,公共端接5V电源正极。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章数码管显示输出3.1 概述3.1.1 数码管简介数码管是一种广泛应用在仪表、时钟、车站、家电等场合的半导体发光器件,它由多个发光二极管封装在一起,组成“8”字型的器件,颜色有红、绿、蓝、黄等。
图3-1是1位、2位、3位和4位数码管的实物图。
可以看到,每1位数码管都由7个线段型和1个小数点型发光二极管组成,这8个发光二极管在数码管中称之为“段”,平常所说的7段或8段(小数点也算1段)数码管,就指这个意思。
图3-2是从正面观察(数码管正面面对读者,小数点位于右下角)1位数码管时,数码管8个段的名称及引脚图,其中,引脚3和引脚8是公共端com。
图3-1 数码管实物图图3-2 1位数码管各段名及引脚图3.1.2 数字和字符的数码管显示图样从数码管的结构可知,只要有序地组织,让数码管的7段(或者8段)中部分或全部点亮,就可以显示数字或者字符等信息。
图3-3是数字0~9和字母A~F在数码管上显示时对应的图样,其中的字母b和d是小写字母。
图3-3 数字0~9、字母A 、b 、C 、d 、E 、F 在数码管上显示的图样3.1.3 共阳和共阴数码管数码管按照极性可分为共阳数码管和共阴数码管两类。
所谓共阳数码管,从字面理解,就是数码管8个发光二极管的阳极并联在一起,是公共的,称为公共端com ,而各个阴极彼此独立,如图3-4所示;相反,共阴数码管的8个发光二极管的阴极并联在一起,是公共端com ,而各个阳极彼此独立;如图3-5所示。
实际工作中,怎样判别拿在手里的这个数码管是共阳还是共阴呢?一个简便方法就是使用万用表的二极管档去测量。
选择万用表的二极管档,用万用表的红表笔搭接数码管的公共端com(引脚3或引脚8),而黑表笔依次搭接其它引脚,如果此时数码管各段发光,说明该数码管是共阳的;如果数码管的各段都不发光,则交换红黑表笔,用黑表笔搭接公共端com ,用红表笔依次搭接其它引脚,若数码管各段发光,说明该数码管就是共阴的。
图3-4 共阳数码管原理图 图3-5 共阴数码管原理图3.2 数码管显示输出如何有效地控制数码管各个引脚的电平,使其按照我们的预想显示输出呢?以下就共阳和共阴数码管分别给予说明。
①共阳数码管显示数字或字符在理论层面,给共阳数码管的公共端(com端)接高电平,将需要点亮的段对应的阴极引脚接低电平,将不需要点亮的段对应的阴极引脚接高电平,就可使数码管显示我们希望看到的数字或字符。
表3-1列出了共阳数码管显示数字和字符时各引脚所加电平的情况,俗称共阳段码表,其中,小数点段dp不点亮且排在8位二进制数据的最高位(位7),后面依次是段g、f、e、d、c、b和a,段a排在8位二进制数据的最低位(位0)。
表3-1 共阳数码管段码表如果要让共阳数码管全部熄灭不显示,可以在公共端接高电平的条件下,各段对应的所有阴极引脚都接高电平,即段码为0xFF(二进制11111111)。
此段码一般被用作共阳消隐处理(消隐的原理及意义后叙)。
3.2.2共阴数码管显示输出原理①共阴数码管显示数字或字符给共阴数码管的公共端(com端)接低电平,将需要点亮的段对应的阳极引脚接高电平,将不需要点亮的段对应的阳极引脚接低电平,就可使数码管显示我们希望看到的数字或字符。
表3-2列出了共阴数码管显示数字和字符时各引脚所加电平的情况,俗称共阴段码表,其中,小数点段dp不点亮且排在8位二进制数据的最高位(位7),后面依次是段g、f、e、d、c、b和a,段a排在8位二进制数据的最低位(位0)。
表3-2 共阴数码管段码表②共阴数码管全部熄灭不显示如果要让共阴数码管全部熄灭不显示,可以在公共端接低电平的条件下,所有阳极引脚都接低电平,即段码为0x00(二进制00000000)。
此段码一般被用作共阴消隐处理。
在数码管的实际应用中,除按以上段码数据加载引脚的电平外,还需考虑数码管的驱动问题,数码管的驱动电流大小一般在5mA左右,使用74LS573类锁存器驱动电路或使用8550类晶体管驱动均可。
3.2.4 静态显示和动态显示静态显示和动态显示,是在多位数码管同时显示信息的前提下分类的,1位数码管的显示不存在静态和动态显示之分。
在了解和掌握静态显示和动态显示原理之前,需先掌握位码的概念。
当多位数码管同时显示时,自然要关注每个数码管显示的内容是什么,但同时也要区分是哪一个或者是哪几个数码管在显示。
这时,除控制数码管显示内容的段码数据外,还要有用于区分数码管位置的数据,即位置码,简称位码。
如图3-6所示,8个数码管同时显示时,名称相同的段的引脚彼此相连,即8个数码管中,8个名称为a的段的引脚连接在一起,形成公共“A”段的引脚;8个名称为b的段的引脚连接在一起,形成公共“B”段的引脚,……,8个名称为dp的段的引脚连接在一起,形成公共“DP”段的引脚。
这样,送到公共段引脚A,B,C,D,E,F,G,DP的段码数据,自然会送到每个数码管,并用来控制数码管显示的内容。
而每个数码管的公共端(引脚3和引脚8并联后的引脚)各自独立,在图3-6中,从左至右,8个数码管的公共端暂且命名为W1,W2,……,W8,这些独立的公共端可以用来区分每一个数码管,而送到这些独立的公共端上的电平数据就是数码管的位码,使用这些位码数据可以区分每一个数码管。
假设图3-6中8个数码管是共阳的,则公共端W1,W2,……,W8是各个数码管的阳极。
根据共阳数码管显示的原理,只有在阳极是高电平的前提下,送到段引脚的段码数据(低电平有效)才可以显示出来,如果阳极是低电平,则无论段引脚是高电平还是低电平,数码管都不会显示。
所以,8个数码管中,如果希望哪个数码管显示,就将其公共端置成高电平。
例如,如果仅仅希望数码管LED1这一个数码管显示,则送数据0x01(二进制00000001) 到公共端W8~W1,此处假定W8~W1引脚连接到一个8位的数据I/O口,而W8是一个字节数据的最高位,W1是一个字节数据的最低位。
送到段引脚的数据将在第一个数码管LED1上显示出来,其余七个数码管尽管得到了段数据,但其公共端是低电平,是不显示的。
此时,送到公共端引脚的数据0x01就是位码。
如果希望8个数码管全部显示,则送到公共端引脚的位码数据就是0xFF。
如果图3-6中的8个数码管是共阴的,则送到段引脚的数据应是共阴数码管的段码(如表3-2所示),送到公共引脚com的数据就是位码,因为是共阴数码管,所以位码中低电平0对应的数码管将显示信息。
例如,如果计划让数码管LED1和LED3显示,则位码为0xFA (二进制11111010,依旧假定W8是字节数据中的最高位,W1是字节数据中的最低位)图3-6 8个数码管同时显示在学习和掌握位码的概念之后,下面来说明静态显示和动态显示。
所谓静态显示,就是多个数码管同时显示时,相同的段码数据,能使位码数据选中的多个数码管,同时显示相同的内容,如同一个数码管一样。
相反,动态显示可以使同时显示的各个数码管显示出不同的内容。
数码管动态显示的本质是动态扫描显示,即分时显示的过程。
动态显示的原理可以这样描述:让多个数码管一个接一个地依次点亮,这样,送到每个数码管用于显示的段码数据就可以不同,每个数码管显示的内容自然不同,但每个数码管被点亮时间必须要短,并且依次点亮的过程要不断地快速重复。
尽管某一时刻只有一个数码管在显示,但在数码管的余辉效应和人眼的视觉暂留效应共同作用之下,人眼看到的是多个数码管“同时”被点亮的效果。
3.2.5数码管静态显示实例功能要求:使用数码管静态显示数字或字符。
硬件说明:如图3-7所示共阳数码管显示输出电路,单片机P0口输出位码数据,P1口输出段码数据。
8位位码数据经驱动晶体管8550后,分别连接到8个数码管的公共端(阳极)。
8个数码管的同名段引脚彼此连接,100Ω电阻起限流作用。
软件说明:1、P1口依据表3-1所示共阳数码管段码表,送出段码数据;2、在PNP驱动晶体管8550的作用下,共阳数码管的位码数据是低电平有效,即P0口送出的位码数据中,低电平数据位经晶体管8550之后会变为高电平数据位,恰好选中对应的数码管;例如,选中数码管LED1的位码数据是0xFE,8个数码管全部选中用于显示的位码是0x00。
3、本例P1口送出的段码数据是0xF8,即数组元素duan[7],则显示数字“7”;P0口送出的位码数据是0x00,即8个数码管全部显示。
最终显示效果是8个数码管同时静态显示数字“7”。
4、通过改变本例主函数中送到P0口的位码数据和送到P1口的段码数据,可以显示其它数字或字符。
图3-7 共阳数码管显示输出程序清单如下:#include <reg52.h>#define uchar unsigned charunsigned char duan[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};main(){P0=0x00;P1=duan[7];}3.2.6数码管动态显示实例1功能要求:使用数码管动态显示数字或字符。
硬件说明:动态显示与静态显示使用同一电路,如图3-7所示共阳数码管显示输出电路。
具体细节请参照静态显示硬件说明。
软件说明:1、P0口输出位码,低电平有效。
因为采用动态扫描方式,每次只能有一个数码管被点亮,所以P0口输出位码依次是0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;2、P1口输出段码,共阳数码管段码如表3-2所示;3、主程序中的for延时语句for(j=0;j<=200;j++);是动态扫描的时间间隔,读者可通过调节延时时间的长短,观察现象,深入理解动态扫描的原理。
首先设置较长的延时时间,则各个数码管如同流水灯一样被逐个点亮;将延时时间逐渐减小,各个数码管类似流水灯一样“跑”得会更快;进一步将延时时间减小,可以看到数码管全部点亮,但数码管闪烁现象较严重;继续减小延时时间,数码管闪烁效果会减弱,直至肉眼感觉不到闪烁为止。
4、主函数中P1=0xff;语句用于消影。
动态扫描可以实现动态显示,即多个数码管同时显示,而每一个数码管的显示内容可以不同,为了使本次扫描的显示结果不影响下次扫描的显示结果,在每次扫描显示之后,将数码管各段全部熄灭,即共阳数码管送段码0xFF,共阴数码管送段码0x00,这就是消影。
消影可使显示稳定、清晰。
5、本例程序清单的显示效果是8个数码管依次显示数字0~7。
改变主函数中P1=duan[i];语句为P1=duan[i+1];可使显示结果变为8个数码管依次显示数字1~8;若改为P1=duan[i+8]; 显示结果变为8个数码管依次显示89AbCdEF。