单片机八个数码管动态显示0~8,为什么刷新太快显示不了?
#include<intrins.h>
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
//延时
void DelayMS(uint x)
{
uchar t,k;
for(k=x;k>0;k--)
for(t=0;t<110;t++);
}
//主程序
void main()
{
uchar i,wei=0xfe;
while(1)
{
for(i=0;i<8;i++)
{
P2=0xff; wei=_cror_(wei,1);
P1=wei; //发送位码
P2=DSY_CODE[i]; //发送段码
DelayMS(10);
}
}
}
把延时delay(1000)中1000改成10后显示不了
那我要让它动态显示0~7,从视觉上8个数码管都亮,怎么弄?
追答依次让每一个数码管点亮4~8ms,逐个地点亮,保持亮4~8ms,再亮下一个......
本回答被提问者和网友采纳单片机八个数码管动态显示0~8,为什么刷新太快显示不了?
显示了,你看不见 每一位字要点亮4~10ms,人眼才能看见
单片机 按键控制8位数码管显示问题
通常可以是把全部数码管位全部显示为空的状态,谈后在开下一个位的显示(有延时),这样在开下一个位的锁存时上一个位的数据就不会跑到该位显示,不然会在下一位显示时会与上一个位的数字出现重影现象。。。
51单片机8个数码管同时显示0
正常。51单片机8个数码管同时显示0是正常现象,因为显示是从0开始显示,往后递增的。单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I\/O口和中断系统等。
八段数码管的显示问题
我看了你的程序,由于你只给出了部分程序我不能说什么,另外估计你使用的是动态显示,低电平有效,用P2作为数码管选择信号。因为引起这个因素很多。我说几中情况,首先看一下你中断时侯有没有保护一些敏感数据,另外就是lcall delay_led 后面加 mov p2,#0ffh 看一下会不会正常 ...
单片机数码管动态扫描显示,时间这样设置才能更好的显示一连串数在屏幕...
另外,全部数码管全部扫描一遍的总时间最好不要超过25mS,否则闪烁会比较严重,通常总的扫描频率要在60Hz以上,才看不到闪烁。比如说你要扫描8位数码管,那么可以让每一位数码管点亮1mS,这样全部显示一遍就大约是8mS或稍微多一点点(算上显示处理的指令执行时间),此时的总扫描频率就是125Hz左右,这样...
...极数码管上显示出稳定的87654321。下面为什么显示不了第一位8._百...
试试看:void main(){ char i;while(1) { P3 = 0xfe;for(i = 0; i < 8; i++) { P2 = m[i]; delay(1); P2 = 0;P3 = P3 << 1; P3 = P3 | 0x01;} } }
为什么单片机数码管的动态显示要有循环次数为8
程序呢,估计是有8个数码管 一次要扫完8个数码管,若对这8 个数码管反复进行数十次上百次扫描,就其可使持续显示数S,若无限循环,则一直维持显示,但实际在扫描的间隔,中间还有大量的闲置时间,可以进行其它工作,例如获得新的计算结果,来更新显示内容 ...
单片机如何控制LED数码管循环显示数字0至9
,显示9,1s后再重新屏示0.如此循环。(2)当按下停止孩钮后,数码管烟灭。7数码营实际上是由7只发光二极管组成,要显示0-9数字,首先确定数字与7只发光管(即PC的输出控制点)的关系。如要易示数字0,则需要a、b、c、d、ef管亮,则对应的PLC的需驱动的输出点为Q0.0,Q0.1,Q0.2,Q0.3,Q0....
单片机中数码管动态显示扫描时间问题
我也遇到过同样的问题,仿真时显示刷新有问题,但下载到单片机系统中确实能正常显示。解决Proteus仿真的办法:用于进行位驱动的三极管不要选择某种实际的三极管,而是用理想三极管,这样数码管显示不正常的问题就解决了。
51单片机如何控制八个数码管,进行动态扫描
动态扫描就是给各个数码管依次显示,任意时间只有一个数码管亮,但闪烁的太快了,人眼分辨不出,给人的感觉就是每个数码管都在亮。一般过程就是赋值,开显示,延时,关显示,这是我以前写过的程序 include <REGX52.H> main(){unsigned int i;while(1){P0=0x3f;\/\/个位赋值 P1_0=0;\/\/开显示 ...