51单片机8段数码管显示,51单片机的共阴数码管怎么显示数字(c语言)

2021-02-26 07:10:54 字数 1333 阅读 2965

1楼:做而论道

很明显,各个位复,亮的时间,不相制等。

每当显示完一位,转到下一位之前,应该先关闭当前显示。

参考:http://zhidao.baidu.***/question/245326966.html

2楼:匿名用户

限流电阻用排阻不要用单个的电阻

就是没个数码管都单独接个限流电阻

3楼:曾宪阳单片机

数码管动态扫描显示的话,最好用定时器中断来产生扫描脉冲,不要采用延时,否则会出现每个数码管显示时间不等,导致个别数码管很亮或者很暗

51单片机的共阴数码管怎么显示数字(c语言)

4楼:匿名用户

要让51单片机共阴数码管显示数字,只需要将单片机的p2端口输出数字对应的段码即可。

以显示数字“0”为例,c语言程序如下:

#include

#define uchar unsigned char#define uint unsigned int//数码管的段码编码

uchar table[10] =;

void main()

5楼:匿名用户

共阴极数码管也就是说,当控制信号为1时该段led点亮,8段数码管的数字0~9定义为:

3fh,06h,5bh,4fh,66h ;012346dh,7dh,07h,7fh,6fh ;56789以下为简易8路抢答器的例程:

#include

#define uchar unsigned charuchar table=;

sbit rstkey=p2^2;

sbit speaker=p2^0;

void delay()//延时约400毫秒main()

switch(key)

p1=table[i];//显示按下抢答器的号p0=key;//显示按下键号的led

while(1)}}

6楼:匿名用户

不涉及动态显示,未用锁存器

#include

#define _x10 (0xfe)

#define _x1 (0xfd)

unsigned char code tab=;

void main()

}void show(unsigned char duan,unsigned char wei)

else}

7楼:走在时间的前头

你的l1/l2/l3都是什么啊?还有latchduan??我有做过类似的设计,需要可以互相交流一下!

为什么单片机数码管的动态显示要有循环次数为

1楼 匿名用户 程序呢,估计是有8个数码管 一次要扫完8个数码管,若对这8 个数码管反复进行数十次上百次扫描,就其可使持续显示数s,若无限循环,则一直维持显示,但实际在扫描的间隔,中间还有大量的闲置时间,可以进行其它工作,例如获得新的计算结果,来更新显示内容 2楼 匿名用户 为什么单片机数码管的动态...

为什么我单片机数码管段码是共阴极的而位码是共阳极的

1楼 位码的数字和电路是有直接关系的。 位码没有共阴极和共阳极之分,而只是数码管的内部结构的不同。 0x3f 这些是共阴极的数码管的段码表。 0xc0 是共阳极数码管的段码表。 2楼 匿名用户 位码是0xfe 0xfd 0xfb 0xf7 0xef 0xdf 0xbf 0x7f,这 应该是共阴呀, ...

89C52单片机怎么连接让P3口控制数码管

1楼 匿名用户 只想用p3口的话,必须另加控制元件。 1一种方法是用两个锁存器来锁存数码管的段码和位码,进行动态扫描显示。 2另一方法是,用p3口的4位接一个bcd译码器控制数码管的段码,再p3口的3位接一个3 8译码器来控制数码管的位进行动态扫描。 3再就是可以用p3口的两根串行线接串并转换ic,...