51单片机数码管怎样才能同时在两个数码管上面显示不同的数字??
#define uchar unsigned char
#define uint unsigned int
void main()
{
P0=0xfe; //我直接把单片机P0口接到位端
P1=0x3f; //把P1口接到数码管段处理端
P0=0xfd;
P1=0x66;
}
这个程序为什么只显示0x66这个数字。
但是我稍微改动下
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void main()
{
P0=0xfe; //我直接把单片机P0口接到位端
P1=0x3f; //把P1口接到数码管段处理端
delayms(5);//插入一个延时语句为什么就可以同时显示两个不同的数字呢??
P0=0xfd;
P1=0x66;
} 展开
是因为人眼的视觉暂留效应,实际上两个数码管是交替显示的,但是因为交替的速度十分快,所以会有因为视觉暂留效应而看到两个数码管都是同时现实的。
视觉暂留现象即视觉暂停现象(Persistence of vision,Visual staying phenomenon,duration of vision)又称“余晖效应”,1824年由英国伦敦大学教授皮特.马克.罗葛特在他的研究报告《移动物体的视觉暂留现象》中最先提出。
人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。
扩展资料:
led数显管分类:
1、按控制方式分:分为内控方式(内部有单片机,通电自动变色)和外控方式(需要外接控制器才能变色)。
2、按变化方式分:分为固定色彩的和七彩、全彩的;固定色彩的是用来勾轮廓的,全彩的可以勾轮廓,也可以组成管屏显示文字、视频等。
3、按尺寸分:有D50的、D30的,这是直径;长度基本上1米的(可以定制);这个需要根据实际需要进行选择就行了。
4、按内部可控性分:有1米6段的,有1米8段的和1米12段、1米16段、1米32段的。也就是1米的管子内有几段可以独立受控。 1米段数越多,做视频的效果越好。如果密度低,或者做些追逐效果,做1米6段也就可以了。
人能方便的频率是50HZ,你只要保证单个现实的时间在20ms一下就可以了。
你要现实2个数码管,线点亮第一个数码管,然后点亮第二个数码管。