1.1、什么是动态数码管
(1)数码管还是原来的数码管(共阳极或共阴极均可);动态数码管有两端:COM端和段码端
(2)段码一侧还是接一个单片机端口
(3)COM(共极)接单片机一个IO口,多个联排数码管的COM共同接一个IO端口
分析对比静态和动态数码管,发现本质区别是:静态数码管中只要给了段码数码管就一定工作(显示只取决于段码端),动态数码管中段码端给了段码值后还需要COM端配合才能点亮数码管。
1.2、动态数码管如何工作
(1)在某一特定时间段中,联排数码管中只有一个数码管在工作,其他均在休息(不工作)
(2)COM端选择哪个数码管工作,段码端输出这个数码管要显式的数字的段码;延时;COM端选择下一个数码管工作,同时段码端改输出这个数码管要显示的数字的段码;延时;COM端选择下一个数码管工作······
(3)快速切换工作的数码管,则人看到的是所有的数码管都在亮(其实亮度是比静态驱动低的)。
(4)动态数码管利用了人眼的视觉暂留
第一,宏观上所有的数码管都是同时亮的,所以人以为所有数码管同时工作,所以多个数码管可以合在一起来显示(譬如显示12345678)
第二,微观上数码管是依次亮的,我们可以给不同的数码管送不同的段码,所以不同的数码管可以显示不同的数字。所以相当于8个数码管的显示是独立的。
1.3、8个联排数码管一起显示520.1314
#include
void delay(void)
{
unsigned char i, j;
for(i = 0; i < 20; i++)
for(j = 0; j < 10; j++);
}
void main(void)
{
unsigned char shumaguan[8] = {0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd,0xfe}; //依次选择数码管1-8
unsigned char duanxuan[8] = {0x6d, 0x5b, 0x3f, 0x80, 0x06, 0x4f, 0x06, 0x66}; //依次显示520.1314
while(1)
{
unsigned char i = 0;
for(i = 0; i<8; i++)
{
P2 = shumaguan[i];
P0 = duanxuan[i];
delay();
P0 = 0x0;
}
}
}
关键字:动态数码管 段码端
引用地址:
51---动态数码管
推荐阅读最新更新时间:2024-11-13 03:38
C51和MDK的ROM大小及变量绝对地址初始化
#1. C51的ROM大小 Keil编译完之后,显示的Program Size: data=9.0 xdata=8 const=15 code=180,则 The Total ROM(const + code + code-gap + const-gap) is 199BYTE 实际生成的bin文件大小: 在.MAP中的C O D E M E M O R Y 中 code-gap为0,cosnt-gap为4,则const + code + const-gap=15 + 180 + 4 = 199,刚好和实际生成的bin文件大小一致。 #2. C51的ROM大小优化 如果实际编译显示的const + code远小于实际的Bi
[单片机]
单片机解码万能红外遥控器的C51程序
使用方法:打开串口调试助手,设置为9600 bps 单片机 这边用11.0592M Hz 的 晶振 ,使用sm0038或者其他型号的红外接收头按下面的 电路 连接好,其中out直接与单片机的p3.2脚相连.按下 遥控器 ,串口调试助手便会出现 解码 值. /******************************************************************/ /* 本程序的蓝本从网上搜集,经修改并注释,万能遥控器解码成功 */ /* 晶振:11.0592MHz */ /************************* 说 明 ***********************
[单片机]
8051微控制器架构的简要说明
此前已经介绍了关于8051微控制器基础知识和引脚图说明等相关知识,而在本文中,将重点介绍8051微控制器的硬件方面内容,如 I/O 端口、RAM、ROM、定时器和串行端口等。 微控制器的基本组件 微处理器和微控制器之间的区别在于片上外围设备的可用性,如内存(RAM 和 ROM)、I/O 端口、定时器/计数器、通信接口(如串行端口)等。 下图显示了微控制器的基本组件。由于所有组件(以及一些其他组件)都集成在单个芯片(集成电路IC)上,因此可以将微控制器视为微型计算机(或单片机)。 1、CPU(中央处理器);它是微控制器的大脑,主要由算术逻辑单元(ALU)和控制单元(CU)等重要部件组成。CPU是与内存、输入和输出等外围设
[单片机]
51单片机学习笔记1 -- 单片机最小系统仿真电路绘制
1.Protues新建工程 打开Protues,首页打开ISIS图标,绘制电路图 进入到以下绘制界面 像电路中的芯片、电阻电容等,都可以在器件区找到,直接点击器件区的Pick Device,会弹出来一个器件选择框 可以看到器件选择框中有很多类别的元器件,对于行业单词不熟悉的我们可以在搜索框键入我们想找的元器件,比如51芯片,在搜索框键入89C52,可以看到器件明细区出来两个AT89C52芯片待选 选中需要的芯片,右侧会出现选中的元器件对应预览图和PCB封装图,可以从预览图中看到我们选中的芯片是不是我们想要的,引脚数是否一样等,右下角有个下拉菜单可以选择不同的PCB封装,但PCB不是我们电路图所需要考虑的,所以选中芯
[单片机]
C51单片机之keil编程入门(一)
51单片机组成 CPU:由运算和逻辑控制组成,同时还包括中断系统和部分外部特殊功能寄存器; RAM:用以存放可以读写的数据。如运算的中间结果、最终结果以及欲显示的结果; ROM:用以存放程序,一些原始数据及表格; I/O口:四个8位并行I/O口,即可用作输入,也可用作输出; T/C:两个定时/记数器,既可以工作在定时模式,也可工作在记数模式; 1.点亮一个发光管 //通过位操作点亮发光管 include reg52.h sbit D1=P1^0;//sbit位定义,P1^0表示P1口的第一位(从0开始计数) int main() { D1=0;//单片机的P1.0端口输出低电平时发光管亮,51单片机默认上电后所有I/O
[单片机]
AT89C51制作的自动计数剪线系统
ORG 0000H AJMP PLAY ORG 001BH AJMP JONG PLAY: MOV P1, #0FFH: 程序初始化 MOV P2, #00H MOV 70H, #00H MOV 71H, #00H MOV 72H, #00H MOV 73H, #00H MOV 74H, #00H MOV 75H, #00H MOV 76H, #00H MOV 77H, #00H MOV R1, #00H MOV R2, #00H MOV TMOD, #50H MOV TL1, #0FFH MOV TH1, #0FFH SETB TR1 SETB ET1 SETB EA ;//////////////////////////
[单片机]
(笔记总结)80C51的定时/计数器
实现定时功能,比较简便的方法是利用单片机内部的定时/计数器。也可以用以下三种方法: 1.软件定时:软件定时不占用硬件资源,但是占用CPU时间,降低了CPU的利用率。 2.采用时基电路定时:例如采用555电路,外接必要的元器件(电阻、电容),即可构成硬件定时电路。但是硬件连接好之后,定时值和定时范围不能有软件进行修改,即不可编程。 3.采用可编程芯片定时:这种定时芯片的定时值和定时范围很容易用软件修改和控制,这种芯片定时功能强,使用灵活。在单片机定时/计数器不够用时,可以考虑进行扩展。 定时计数器的结构和工作原理 结构:定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时/计数
[单片机]
51键盘显示程序
主程序: start: call disp lcall keyscan cjne a,#0ffh,nex sjmp start nex: mov 20h,a sjmp start ;显示函数,显示从20h开始的3个单元的内容 disp: mov r0,#20h mov r1,#1 mov r2,#01 lop: mov a,@r0 lcall displ mov a,@r0 lcall disph inc r0 djnz r1,lop ret disph: swap a displ: anl a,#0fh mov d
[单片机]