51单片机,数码管显示

这是单片机开发板的数码管电路图,我想让这八个数码管全部都同时显示数字,我该怎么设计程序呢?用C语言写。

573和138芯片都会使用吧?首先你要注意,电路图中很明显数码管的同一个段选都连在573同一跟线上了,然后跟你分析一下程序的思路,很简单:假如你要显示数字1,首先那P0口输出0x06(数码管应该是共阴的吧)即让b、c亮,然后你程序上让138的15脚输出低电平而7、9、10、11、12、13、14脚输出低电平,这样岂不是第一个数码管亮了,然后再接着是14脚输出高电平而15、7、9、10、11、12、13脚输出低电平,这样就点亮第二个数码管,依次下去直到点亮最后一个数码管。但注意!我们人眼的分辨率是分不清的,换句话说,虽然这是一个个把数码管点亮,但程序执行的很快,而人眼分不清,在我们眼中就是全部数码管被同时点亮了,这就是我们经常所说的“数码管动态扫描”(扫描太快,人眼分不清,以至于人眼的错觉让我们感到数码管同时被点亮)

楼下的说法也不能这么说吧,毕竟51系列高电平输出能力很弱,低电平也仅能点亮LED,所以常见输出低电平才灯亮的接法,而AVR芯片的高低驱动能力都很强,甚至能推动8字数码管的公共极,怎么接都没问题。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-02-20
正常扫描动态显示就可以了,注意的是总的一帧扫描时间 不要超过40毫秒,但扫描间隔时间也不能低于3毫秒。
第2个回答  2013-02-19
我可以很直接的告诉你,用这种方法显数码管的人是SB。
直接把段选连P1,位选连P2,直接动态显就行。看到这个在实用中根本不会采用,还加两个芯片。
第3个回答  2013-02-20
你的数码管是共阳的吧,此硬件图不管你怎编程序,都不可能实现。

51单片机学习笔记6 数码管显示
代码实现每秒在数码管上显示当前数值,通过gsmg_code定义,以0x3f为例,换算为二进制并进行赋值,最终显示数值0。代码开源地址:gitee.com\/xundh\/learn51。

51单片机数码管静态显示和动态显示原理及实验
静态显示方式中,每个数码管的段选和位选都是独立控制的。通常情况下,每个数码管对应一组位选线和一组段选线,分别由单片机的I\/O口控制。这种方式的优点是显示稳定,不受刷新频率的影响,但需要较多的I\/O口资源,且成本较高。动态显示方式则通过轮流切换显示状态,使得每个数码管的显示信息能够在短时...

51单片机中断控制数码管显示
51单片机中断控制数码管显示,是一种通过单片机的中断系统控制数码管显示内容的技术。51单片机是一种常用的微控制器,广泛应用于各种嵌入式系统中。中断控制是单片机的一种重要功能,它允许单片机在执行主程序时,响应外部或内部的中断请求,转而执行中断服务程序。这种机制使得单片机能够处理多任务,提高系统的...

基于51单片机简易时钟闹钟八位数码管显示Proteus仿真
设计目的 本设计旨在实现一个基于51单片机的多功能数字时钟闹钟,其主要功能包括显示时、分、秒,并能设置时间和闹钟。该设计采用单片机内部定时器实现计时功能,通过八位数码管显示当前时间。用户可以对时、分、秒进行独立设置,设置时数码管将闪烁。此外,闹钟功能可让用户设置特定时间,当时间到达,蜂鸣器...

51单片机4位数码管显示数字
1、静态显示:对于静态显示,可以直接利用IO口将对应的数字编码发送到数码管的段选引脚上。将P0口设置为0x3f,可以显示数字0。2、动态显示:对于动态显示,有两种常见的方法。一种是提高刷新频率,使得人眼无法分辨,产生显示的效果。另一种是利用锁存器件,先显示一个数字,锁定到一个数码管上,再显示...

51单片机数码管第二位显示2
题主是否想询问“51单片机数码管第二位显示2是什么意思”?动态扫描。在51单片机系统中,数码管第二位显示2是因为系统正在进行动态扫描显示,即轮流向各位数码管送出字型码和相应的位选,利用发光管的余晖和人眼视觉暂留作用,使人感觉各位数码管同时都在显示,而实际上多位数码管是一位一位轮流显示的...

51单片机数码管显示几秒就熄灭了
题主是否想询问“51单片机数码管显示几秒就熄灭了的原因”?po口数据残留。51单片机数码管不能正常显示,是因为上一次P0口的数据有所残留,与这次输出的数据发生了冲突,导致了数码管的异常显示。P0口输出数据后,延时不正确,过长或是过短都会导致函数的一个异常显示。

51单片机数码管显示的程序是什么?
(num1=0;num1<48;num1++)\/\/6个数循环显示\\x0d\\x0a {\\x0d\\x0a wela=1;\/\/打开u2锁存端\\x0d\\x0a P0=aable[num1%6];\/\/送入位选信号\\x0d\\x0a wela=0;\/\/关闭u2锁存端\\x0d\\x0a \/\/delays(1);\\x0d\\x0a dula=1;\/\/打开

用51单片机控制4位一体数码管实现1234轮流显示的程序代码是什么,求!pro...
下面是使用AT89S51单片机控制4位一体数码管轮流显示1234的程序代码:```c include <reg51.h> \/\/ 数码管显示字型码表 unsigned char code LEDDisplay[] = { 0x3F, \/\/ 0 0x06, \/\/ 1 0x5B, \/\/ 2 0x4F \/\/ 3 };sbit DIO = P1^0; \/\/ 串行数据输入 sbit RCLK = P1^1; \/...

51单片机的共阴数码管怎么显示数字(c语言)
要让51单片机共阴数码管显示数字,只需要将单片机的P2端口输出数字对应的段码即可。以显示数字“0”为例,c语言程序如下:include<reg52.h> define uchar unsigned char define uint unsigned int \/\/数码管的段码编码 Uchar table[10] ={0x3f,0x06,...

相似回答