数码管显示数字
数码管的显示的实验报告

数码管的显示的实验报告数码管的显示的实验报告引言:数码管是一种常见的数字显示装置,广泛应用于各种电子设备中。
本实验旨在通过实际操作,了解数码管的原理和工作方式,并通过一系列实验验证其显示效果和功能。
实验一:数码管的基本原理数码管是由多个发光二极管(LED)组成的,每个发光二极管代表一个数字或符号。
通过对不同的发光二极管进行点亮或熄灭,可以显示出不同的数字或符号。
本实验使用的是共阳数码管,即共阳极连接在一起,而阴极分别连接到控制芯片的输出引脚。
实验二:数码管的驱动电路为了控制数码管的显示,需要使用驱动电路。
常见的驱动电路有共阴极驱动和共阳极驱动两种。
本实验使用的是共阳极驱动电路。
驱动电路由控制芯片、电阻和电容组成。
控制芯片通过控制输出引脚的高低电平来控制数码管的点亮和熄灭。
实验三:数码管的显示效果通过控制芯片的输出引脚,可以实现数码管的显示效果。
本实验使用的是四位数码管,可以显示0-9的数字。
通过改变控制芯片输出引脚的电平,可以控制数码管显示不同的数字。
实验中通过编写程序,使数码管显示从0到9的数字循环显示,并通过按键控制数字的增加和减少。
实验四:数码管的多位显示除了显示单个数字外,数码管还可以实现多位显示。
通过控制不同位数的数码管,可以显示更多的数字或符号。
本实验使用的是四位数码管,可以同时显示四个数字。
通过编写程序,可以实现四位数码管的多位显示,例如显示当前时间、温度等信息。
实验五:数码管的亮度调节数码管的亮度可以通过改变驱动电路中的电阻值来实现。
本实验通过改变电阻值,调节数码管的亮度。
实验中通过编写程序,通过按键控制数码管的亮度增加和减少,从而实现亮度的调节。
结论:通过本次实验,我们深入了解了数码管的原理和工作方式。
数码管可以通过驱动电路的控制,实现数字和符号的显示。
同时,数码管还可以实现多位显示和亮度调节。
数码管作为一种常见的数字显示装置,具有广泛的应用前景,可以应用于各种电子设备中。
通过进一步的研究和实践,我们可以更好地利用数码管的功能,满足不同应用场景的需求。
数码管循环显示0~9程序说明

数码管循环显示0~9程序说明功能说明:用一位数码管循环显示数字0~9,数字间隔时间为0.2秒。
一、电路图数码管循环显示0~9电路图二、所用电子元器件AT89C51:单片机;7SEG—COM—AN—GRN:带公共端共阳七段绿色数码管;CAP、CAP—ELEC:电容、电解电容;CRYSTAL:晶振。
三、程序汇编语言编写的数码管循环显示0~9源程序代码如下:START:MOV DPTR,#TABLEMOV R0,#00HLOOP: MOV A,R0MOVC A,@A+DPTRMOV P0,AACALL DL Y1SINC R0CJNE R0,#10,LOOPJMP STARTDL Y1S:MOV R5,#10HD1: MOV R6,#100HD2: MOV R7,#100HDJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETTABLE:DB 0C0H,0F9H,0A4H,0B0HDB 99H, 92H, 82H, 0F8HDB 80H, 90H, 88H, 83HDB 0C6H,0A1H,86H, 8EHENDProtetus 安装说明使用说明1.先安装Setup71.exe,提示选择Setup Type时默认选择即可;若提示No LICENCE 选择安装文件中"crack"-->MAXIM_LICENCE.lxk,打开安装。
2.安装完成后将crack-->文件夹BIN 和文件夹MODELS 下的文件复制到安装目录相应的文件夹内覆盖。
3.安装proteus.7.x-patch,选择patch,提示can not find the file. search the file,选择yes即可;然后选择bin文件中的ares.exe ;在选择models 中的avr.dll安装完毕退出即可。
注:***"Keil驱动"中的程序为Proteus与Keil联调的驱动。
数码管在电路中的作用

数码管在电路中的作用
数码管是一种数字显示器件,由8个LED光电二极管组成,其主要作用是在电路中进行数字显示。
下文将从以下几个方面详细介绍数码管在电路中的作用。
一、显示数字
数码管的主要作用是显示数字,可以显示0~9的数字,通过多个数码管组合可以显示更加复杂的数字。
在电子计算器、计时器、温度计等电路中,数码管扮演着重要的角色。
二、计时和计数
数码管可用于计时和计数。
在计时器中,数码管可以显示时、分、秒等计时信息;在计数器中,数码管可以显示计数信息。
通过数码管的数字显示,电路可以方便地进行时间和数量的测量。
三、数字控制
数码管可以被数字控制,通过控制数码管输入数字的高低电平,实现数字的切换和显示。
在微控制器等电子电路中,数码管被广泛应用于LED显示屏、计数器、时钟等。
四、警报
数码管可以用于警报功能。
例如,当电路监测到温度超过一定值时,数码管可以显示警报信息。
同时可以在数码管上显示温度值,方便用户及时掌握信息。
五、节约空间
相对于传统的七段数码管,八段数码管可以显示更加丰富的数字和字母,同时在占用空间方面更加省略。
在PCB布局和电路板设计中,使
用数码管可以大大节约空间,提高电路的整体性能。
综上所述,数码管在电路中的作用非常重要,不仅可以用于实现数字
的显示、计时和计数,还可以控制数字、警报和节约空间。
在物联网、智慧城市等领域中,数码管也将扮演着更加重要的角色。
一位数码管的动态数字显示(实验报告)

实验名称一位数码管显示变化数字一、实验目的1.通过AT89C52单片机控制数码管显示数字0到9。
2.用Protues设计、仿真以AT89C52为核心的数码管变化数字显示电路。
3.理解led七位数码管的显示控制原理。
二、实验任务让一位数码管能够从0不断显示到9。
三、实验设备微机1台、Proteus软件1套、GL10型51单片机学习开发板1台。
四、实验电路绘制五、汇编语言程序设计1.设计原理该led数码管为8段显示,每一段对应一个发光二极管,根据查询发现GL10给力者单片机是共阴数码管,当某个发光二极管的阳极为高电平时,发光二极管点亮相应的段被显示。
2.程序框图3.汇编程序$NOMOD51$INCLUDE (8051.MCU)ORG 0000HAJMP MAINORG 0030HMAIN:MOV R4, #00H ;记录码表的值MOV DPTR, #TABLE ;把地址送DPTRSTRAT:MOV A, R4MOVC A, @A+DPTR ;取码MOV P2, A ;显示INC R4 ;自增,取下个值做准备CALL DELAY ;调用CJNE R4, #16, STRAT ;判断是否显示完16个数值AJMP MAINDELAY: MOV R6, #1DELAY4:MOV R1, #10DELAY3:MOV R2, #100DEALY1:MOV R3, #250DEALY2:NOPNOPDJNZ R3,DEALY2DJNZ R2, DEALY1DJNZ R1, DELAY3DJNZ R6, DELAY4RET;码表TABLE:DB<span style="white-space:pre"></span>0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6FEND六、Proteus软件模拟仿真七、GL10单片机仿真系统1.实验板连线2.实验操作步骤先用杜邦线连接一位数码管模块和89c51芯片的p2口,然后用usb连接线将整个单片机与电脑相连,打开烧录软件,选中数码管动态显示变化数字的hex 文件,点击下载,按下单片机的电源开关,程序将烧录到单片机中,数码管就会从0显示到9,并循环。
数码管显示数字

在第6课里,我们讲到数码管的静态显示,利用静态显示法,通过控制位选和段选,可以让数任意几位数码管显示任意字符,但由于所有位数码管的相同的段选全部接在一起,所以只能同时显示相同的数字,例如8位同时显示8字,1、3、5位同时显示3字。
但大家想一下,如果我们要让数码管同一时刻显示不同的数字,如图1所示的现象,用静态显示的方法就不能够实现,这里就只能用到动态显示的方法,今天这一节我们主要讲解数码管动态显示的原理的程序实现的方法。
图1 数码管同时显示123456在讲解动态显示方法之前,我们先介绍在种数码管及单片机程序开发过程常用的方法-数组编码法。
1、数组编码在跟数码管相关的程序中,可以对位进行编码,也可对段进行编码,这里我们以段编码进行讲解。
通过第8课的程序我们知道,在位选确定后,要显示数字8时,P0=0x80,显示数字3时P0=0xb0,也就是0xb0,0x80分别可以表示数字3和8,按此方法,我们把在数码管上显示0-f,16个数字全部用16制度表示出来,这16个16进制数就称为数码管可显示0-f的相应的编码,如图2所示(注意共阳和共阴极数码管相应的编码有所不同,这里以实验板上共阳极的为例)。
图2 共阳极数码管编码在编程中,编码的表示方法如下:unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e };这里编码表示的方法与C语言中数组定义的方法基本一样。
table是数组名,后面需加[],中括号中需加上数组中元素的个数,也可以不写。
等号的右边用一个大括号将所有元素包含起来,里面的元素之间用“,”隔开,在大括号外用“;”结束。
等号左边的unsigned char 是数据元素的数据类型,这里定义为无符号字符型,也就是元素的值范围只能是0-255之间。
数码管功能

数码管功能数码管是一种常见的显示元件,由许多发光二极管(LED)组成,常用于显示数字和字符等信息。
在我们的日常生活中,数码管被广泛应用于各种设备中,如电子钟、电子秤、温度计、计时器等。
数码管的功能主要体现在以下几个方面:1. 数字显示:数码管最基本的功能就是显示数字。
它由七个发光二极管组成,用来表示不同的数字。
每个发光二极管代表一个数字,通过控制电流的通断来显示特定的数字。
数码管可以显示0-9的数字,通过不同的组合方式还能显示英文字母和特殊字符。
2. 字符显示:除了显示数字,数码管还可以显示一些英文字母和特殊字符。
通过特定的电流通断组合,数码管可以显示A-F的英文字母,以及一些特殊字符如"-"、"."等。
这样就可以在数码管上显示更多的信息,方便用户获取更多的信息。
3. 多位显示:常见的数码管有单位数码管和多位数码管。
单位数码管只能显示一个数字或字符,而多位数码管可以同时显示多个数字或字符。
多位数码管通常由4位或6位单元组成,每个单元可以显示一个数字或字符。
通过控制不同单元的电流通断,多位数码管可以显示更多的数字或字符,提供更多的信息。
4. 时钟显示:数码管可以用于显示时间。
通过在数码管上显示不同的数字,就可以构成一个时钟。
通常使用4位数码管,前两位显示小时,后两位显示分钟。
通过不断刷新数码管上的数字,就可以实现实时的时钟显示。
5. 其他应用:除了上述常见的功能,数码管还可以用于其他许多应用。
比如在电子秤上,数码管可以显示重量;在温度计上,数码管可以显示温度;在计时器上,数码管可以显示计时的时间等等。
这些应用都将数码管的显示功能发挥到了极致,提供了更多的信息和便利。
总之,数码管作为一种常见的显示元件,具有多种功能。
它可以显示数字、字符和一些特殊字符,可以单独显示一个数字或字符,也可以通过多位数码管同时显示多个数字或字符。
数码管还可以用于显示时间、重量、温度等信息,满足不同设备的需求。
数码管动态显示数字
7段数码管动态显示数字一、实验原理图共阳极的LED数码管,共阳就是7段的显示字码共用一个电源的正。
原理示意图:数码管显示数字的两个条件为:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。
这样才能显示的。
例:如要显示“0”,则要 a,b,c,d,e,f六个字段亮就显示“0”了,而g和dp字段程序使用时,只需将显示数字所对应的编码送P0口,然后打开相应的数码管显示位的电源控制即可显示相应的字符。
两位数码管显示控制程序及说明START: MOV R0,#0 ;清零MOV DPTR,#TABLE ;指定查表起始地址LOOP: ACALL DISPLAY ;调用子程序DISPLAY INC R0 ;R0加1CJNE R0,#100,LOOP ;R0未到100则转换JMP START ;跳转DISPLAY: MOV A,R0 ;把R0里的数据送入A MOV B,#10 ;把10送入BDIV AB ;a b相除MOV 20H,A ;十位送入20HMOV 21H,B ;个位送入21HMOV R3,#50 ;把50送入R3LOOP1: MOV A,21H ;取个位数ACALL CHANG ;调用子程序CHANG CLR P2.4 ;开个位显示ACALL DLY ;调用子程序DLYSETB P2.4 ;关闭个位显示MOV A,20H ;取十位数ACALL CHANG ;调用子程序CHANG CLR P2.5 ;开十位显示ACALL DLY ;调用子程序DLYSETB p2.5 ;关闭十位显示DJNZ R3,LOOP1 ;循环50次RET ;子程序返回CHANG: MOVC A,@A+DPTR ;查表MOV P0,A ;查表结果送入P0RET ;子程序返回DLY: MOV R6,#20 ;典型延时子程序延时D1: MOV R7,#248 ;10msDJNZ R7,$DJNZ R6,D1RETTABLE: DB 0C0H,0F9H,0A4H ;表数据共阳极数码管显示代码 DB 0B0H,99H,92H,82HDB 0F8H,80H,90HEND。
数码管显示数字
数码管显示数字 1�数码管显示项目:在数码管的第1 位(最右边)显示数字1最终效果图:此项目练习的目的:(1)认识移位寄存器芯片74HC595 及其作用。
(2)认识贴片芯片封装(贴片、直插)(3)认识数码管(4)学会静态显示的步骤完整代码:#include <reg52.h>#include <intrins.h> // 因为此文件中用到了延时函数_nop_(),所以要包含_nop_()的头文件sbit DIG_DA TA = P0^2; // 74HC595 的数据输入引脚sbit DIG_SHCP = P0^4; // 74HC595 的移位脉冲引脚sbit DIG_STCP = P2^3; // 74HC595 的锁存脉冲引脚/*主函数,数码管第 1 位(最右侧)显示数字1*/void main(void){unsigned char i,SegmentByte,SelectByte;SegmentByte = 0xf9; // 段码字节赋值SelectByte = 0x01; // 位选字节赋值DIG_SHCP = 0; // 74HC595 的移位脉冲引脚输出低电平DIG_STCP = 0; // 74HC595 的锁存脉冲引脚输出低电平/* 将段码字节(共8 位,高位在前)移入74HC595 芯片*/for(i=0; i<8; i++){/* 判断数据的最高位,如果最高位是1,数据引脚输出高电平;如果是0,输出低电平*/if(SegmentByte&0x80){DIG_DA TA = 1;}else{DIG_DA TA = 0;}_nop_();/* 输出74HC595 芯片的数据移位脉冲,每输出一个移位脉冲,74HC595 内部的数据移动一位*/DIG_SHCP = 1;_nop_();DIG_SHCP = 0;_nop_();/* 要输出的数据左移一位,即为下一位数据的输出作准备*/ SegmentByte <<= 1;}/* 将位选字节(共8 位,高位在前)移入74HC595 芯片*/for(i=0; i<8; i++){if(SelectByte&0x80){DIG_DA TA = 1;}else{DIG_DA TA = 0;}_nop_();DIG_SHCP = 1;_nop_();DIG_SHCP = 0;_nop_();SelectByte <<= 1;}/* 输出74HC595 芯片的数据锁存脉冲,即将74HC595 芯片接收到的最新数据输出到芯片的所有数据引脚*/DIG_STCP = 1;_nop_();DIG_STCP = 0;_nop_();while(1){}}长见识:(1)74HC595 芯片上图为74HC595 芯片的贴片封装图,共2*8=16 个引脚,左下角凹点所对应的引脚为 1 脚。
按键调节数码管的显示数字(百、十、个可单独调节)
{ init();
nuቤተ መጻሕፍቲ ባይዱ=521;
while(1)
{ keyscan();
if(i>=20)
{ i=0;
num--;
}
display(num);
}
}
void init() //定时器初始化
{ TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
bai=num/100;
shi=num%100/10;
ge=num%10;
dula=1;
P0=table[bai];
dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delay(2);
dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0xfd;
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(uchar x);
void init();
void keyscan();
void display(uint num);
void delay(uchar x);
/
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6; //数码管段选
sbit wela=P2^7; //数码管位选
八位数码管显示原理
八位数码管显示原理
八位数码管是一种常见的数字显示器件,广泛应用于电子设备中。
它由七段数
码管和一个小数点组成,可以显示0-9的数字和一些字母。
在本文中,我们将介绍
八位数码管的显示原理及其工作方式。
八位数码管由七段数码管和一个小数点组成,每个数码管由7个发光二极管组成,分别对应显示数字的每一段。
通过控制这些发光二极管的通断,就可以显示出不同的数字和字母。
而小数点则是用来显示小数部分的。
八位数码管的显示原理基于这些发光二极管的组合和控制。
八位数码管的工作方式是通过控制每个发光二极管的通断来显示不同的数字和
字母。
具体来说,当需要显示某个数字或字母时,通过控制相应的发光二极管通断,使其显示出所需的图案。
这种控制可以通过数字电路或者微控制器来实现,其中数字电路一般采用BCD码或者二进制码来控制,而微控制器则可以通过编程来实现。
在实际应用中,八位数码管可以用于显示各种数字信息,比如温度、时间、计
数等。
通过合理的控制,可以实现不同数字的显示,满足各种需求。
而且由于其结构简单、成本低廉,因此在电子设备中得到了广泛的应用。
总的来说,八位数码管的显示原理基于七段数码管和小数点的组合控制,通过
控制发光二极管的通断来显示不同的数字和字母。
它的工作方式可以通过数字电路或者微控制器来实现,广泛应用于电子设备中。
希望本文能够帮助读者更好地理解八位数码管的显示原理和工作方式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在第6课里,我们讲到数码管的静态显示,利用静态显示法,通过控制位选和段选,可以让数任意几位数码管显示任意字符,但由于所有位数码管的相同的段选全部接在一起,所以只能同时显示相同的数字,例如8位同时显示8字,1、3、5位同时显示3字。
但大家想一下,如果我们要让数码管同一时刻显示不同的数字,如图1所示的现象,用静态显示的方法就不能够实现,这里就只能用到动态显示的方法,今天这一节我们主要讲解数码管动态显示的原理的程序实现的方法。
图1 数码管同时显示123456
在讲解动态显示方法之前,我们先介绍在种数码管及单片机程序开发过程常用的方法-数组编码法。
1、数组编码
在跟数码管相关的程序中,可以对位进行编码,也可对段进行编码,这里我们以段编码进行讲解。
通过第8课的程序我们知道,在位选确定后,要显示数字8时,P0=0x80,显示数字3时P0=0xb0,也就是0xb0,0x80分别可以表示数字3和8,按此方法,我们把在数码管上显示0-f,16个数字全部用16制度表示出来,这16个16进制数就称为数码管可显示0-f的相应的编码,如图2所示(注意共阳和共阴极数码管相应的编码有所不同,这里以实验板上共阳极的为例)。
图2 共阳极数码管编码
在编程中,编码的表示方法如下:
unsigned char code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e };
这里编码表示的方法与C语言中数组定义的方法基本一样。
table是数组名,后面需加[],中括号中需加上数组中元素的个数,也可以不写。
等号的右边用一个大括号将所有元素包含起来,里面的元素之间用“,”隔开,在大括号外用“;”结束。
等号左边的unsigned char 是数据元素的数据类型,这里定义为无符号字符型,也就是元素的值范围只能是0-255之间。
Code表示把这个数组定义为编码,这样定义的好处是其元素转化成二进文件后可能直接存储到程序存储器中,当然这里也可以不加code,但是这样编译后会将其直接存储到数据存储器中,要知道单片机中数据存储器的容量是非常有限的,定义为code后可节约单片机数据存储器的空间。
调用程序的方法如下,
P0=table[1];
这里表示将数组中的第2个元素(注意第一个是table[0])0xf9赋给P1口,
即P0=0xf9;也就是此时位被选通的数码管会显示数字2.
下面利用编码的方法让6个数码管以间隔1秒的时间循环显示0-f。
相应程序如例1.
例1:6个数码管循环显示0-f
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit duan=P2^6;
sbit wei=P2^7;
uchar num;
unsigned char code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e };
void delay(uint);
void main()
{
wei=1;
P0=0xfe;
wei=0;
for(num=0;num<16;num++)
{
duan=1;
P0=table[num];
delay(150);
duan=0;
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=500;y>0;y--); }
下载到实验板后实验现象如图3所示。
图3 6个数码管依次从0-f变化
2、数码管的动态显示
明白了数组编码后,现在我们正式介绍数码管的动态显示,为了更利于大家理解,我们先用前面介绍过的静态显示法写一个程序,功能为:让6个数码管间隔一秒依次显示1、2、
3、4、5、6。
程序如例2.
例2数码管依次显示1、2、3、4、5、6
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit duan=P2^6;
sbit wei=P2^7;
uchar num;
uchar code table[]=
{0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(uint);
void main()
{
while(1)
{
for(num=1;num<7;num++)
{
if(num==1)
{
wei=1;
P0=0xfe;
wei=0;
duan=1;
P0=table[num];
delay(1000);
duan=0;
}
else if(num==2)
{
wei=1;
P0=0xfd;
wei=0;
duan=1;
P0=table[num];
delay(1000);
duan=0;
}
else if(num==3)
{
wei=1;
P0=0xfb;
wei=0;
duan=1;
P0=table[num];
delay(1000);
duan=0;
}
else if(num==4)
{
wei=1;
P0=0xf7;
wei=0;
duan=1;
P0=table[num];
delay(1000);
duan=0;
}
else if(num==5)
{
wei=1;
P0=0xef;
wei=0;
duan=1;
P0=table[num];
delay(1000);
duan=0;
}
else if(num==6)
{
wei=1;
P0=0xdf;
wei=0;
duan=1;
P0=table[num];
delay(1000);
duan=0;
}
}
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
main函数内的意思num从1开始,一直加到6,然后不断的循环 (程序为
for(num=1;num<7;num++),当num=1时,先打开第一位数码管,再让第一位数码管显示1(程序P0=table[num],即P0=table[1]),然后进行1s的延时(程序为delay(1000);)。
紧接着当num=2时,打开第二位数码管,并让其显示2,延时1s……,一直到num=6时,打开第六位数码管,并让其显示6,延时1s,再重复前的的程序。
这个我们就可以在实验板上看到数码管从第一位开始依次以1s的时间间隔依次显示123456.
下面的程序下载到实验板现象如图4所示。
图4数码管依次显示123456
现在我们把延时程序缩短(注意上面是延时1s,依次100ms 10ms 1ms ….一直到10us,然后把每次改后的程序下载到实验板,.当短到10us时,可看到如下现象:
也就是此时我们看到的现象是6个数码管在同一时刻按位依次显示123456,可能大家马上要提出疑问了,在上面不是说过利用静态的写法不是实现不了这种效果吗?这里就是数码管的动态显示。
所谓动态显示,就是依次向每位位数码管同时送出字形码和相应的位选,位与位之间利用延时程序进行延时,当延时程序非常短时,由于发光管的余辉和人眼视觉暂留作用,此时
我们的人眼就分辨不出位与位之间有延时存在,此时就感觉各位数码管同时都在显示,这样我们实现在静态不能实现的功能。