#include<reg51.h>
#define uint unsigned int
uint i,j;
void main()
{
{ while(0)
P2=0X80;
for(i=1000;i>0;i--)
for(j=100;j>0;j--);
P2=0X40;
for(i=1000;i>0;i--)
for(j=100;j>0;j--);
P2=0X20;
for(i=1000;i>0;i--)
P2=0X10;
for(i=1000;i>0;i--)
for(j=100;j>0;j--);
P2=0X08;
for(i=1000;i>0;i--)
for(j=100;j>0;j--);
P2=0X04;
for(i=1000;i>0;i--)
for(j=100;j>0;j--);
P2=0X02;
for(i=1000;i>0;i--)
for(j=100;j>0;j--);
P2=0X01;
}
}
为啥我的第七盏灯不亮啊,流水灯,还有就是为什么第二个for语句嵌套的时候都要最后有分号,而第一个没有,是因为第二个是作为第一个的命令吗,那要回有第三个是不是也要加呢
为啥我改了只有第八个灯亮呢,难道是我的单片机有问题
追答您的代码看着有点难受,您看看改成这样是否好些?
void main()
{
unsigned char led;
while(1)
{
led=led?led>>1:0x80; // 跑马, 可修改0x80为其它值看看效果?例如0xc0以及0xa0
P2=led;
for(i=1000;i>0;i--) for(j=100;j>0;j--); // 延时
}
}
单片机的流水灯一个不亮,程序有问题吗?
第二个for语句嵌套的时候都要最后有分号,而第一个没有,是因为第二个是作为第一个的循环体。程序小改一下就好了:void main(){ while(1) { \/\/ { while(0) 改这行 P2=0X80;for(i=1000;i>0;i--)for(j=100;j>0;j--);P2=0X40;for(i=1000;i>0;i--)for(j=100;j>0;...
单片机问题 流水灯为啥不亮
1. 从程序看基本没什么问题;2. 要注意电路图,是不是P2接了LED,没接就不亮;3. 流水灯或花样灯一般都用数组,用自带移位函数还是挺少的。
关于单片机流水灯 为什么我的灯都不亮啊??与proteus联调时还说代码没...
这个函数=_crol_在哪里 很明显你的HEX文件没有生成,而且你的二极管负端全部都接的高电平,按照你这种接法 必须让你二极管的正端的电压高于VCC,那是不可能的。所以你重新看哈hex文件是否生成,再把二极管换过来
请问单片机 程序出错 流水灯不动了?
这是必然的,display里面有一个死循环,调用后就退步出来了。所以你的流水灯执行不了。
单片机流水灯故障
那单片机就必须可靠插入IC座中,怎么还分全部安装和后半部分插入呢?这是完全错误的做法。灯水灯不亮,要查找程序问题,或电路连接的有无错误,不能靠拨单片机来解决,你这明明是牙疼却去看脚。你说这些都是错误的做法,别人怎么知道是什么故障。
这个单片机c编程有问题吗(流水灯)
问题倒是没有,我估计就是 LZ 看到 的现象不符合他的想法,流水灯太快,甚至是 全亮了。假设 LZ 晶振是 12MHz的,那么机械周期(T)就为1us;由于不同编译器对 for 循环的汇编转换不尽相同,导致执行周期也不同,那么我们设想其中的一种,先进行一个初始化赋值,耗时 2T;再进行 n次判断(DJNZ...
一个单片机流水灯程序,但用Proteus仿真时所有灯都不亮,程序如下
没有任何问题 如果你是第一次用proteus,那么我有理由怀疑你是LED用错了 那个带箭头的发光LED是不会发光的,要用RGB那三种LED 如图:用你的程序仿真的,能跑
谁帮我看下51单片机流水灯怎么不能正常流水闪亮
你程序最后的运行结果是不是所有LED都亮了,如果是这样的话,就是可能你P0口没有加上拉电阻,单片机P0不加上拉电阻的话,是输出不了高电平的。还有,楼主以后问程序问题的同时,最好也把硬件电路图给出,这样大家也才好回答。。。希望可以帮到你。。。
单片机流水灯双灯点亮程序
AT89S52也是51系列的单片机,程序完全兼容,用51的程序就行了,包括外围电路也一样,直接用就行了。单灯亮就是在IO口输出一个二进制数中只有一位不同的数,比如说“00000001”,就只有最后一位是“1”,其余的都是“0”,要双灯亮就使其中的两位与其他的不同就行了,还是那上面的例子来说,现在...
用51单片机写了一个流水灯程序,有一点问题,请高手解惑
单片机的流水灯程序,因为程序就这么写的,决定了流水灯左移7次,再右移7次,结束两个循环后,才能执行下面的while(!key),按键才有效,而在循环过程中,不执行while(!key),所以按键无效。下图画红框内的两个循环。要想按键随时有效,应该把两个移位函数_cror_,_crol_ 放在主程中,检测key也放在...