标题:
用普中科技单片机学习板的流水灯控制问题?
[打印本页]
作者:
stc11985
时间:
2018-12-8 16:04
标题:
用普中科技单片机学习板的流水灯控制问题?
为什么前面的左移函数就执行了一次?后面就一直执行最后的语句了 ?
#include "reg52.h"
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint i)
{
while(i--);
}
uchar i;
void main()
{
while(1)
{
P2=0xfe;
delay(50000);
for(i=0;i<7;i++)
{
P2=_crol_(P2,2);
delay(50000);
}
P2=0x7f;
delay(50000);
for(i=0;i<7;i++)
{
P2=_cror_(P2,1);
delay(50000);
}
}
}
作者:
HC6800-ES-V2.0
时间:
2018-12-8 20:42
你的程序打错了啊啊啊啊
uchar i;
void main()
看看看看,你的程序
应该这样吧——————
void main()
{
uchar i;
作者:
stc11985
时间:
2018-12-29 21:21
HC6800-ES-V2.0 发表于 2018-12-8 20:42
你的程序打错了啊啊啊啊
uchar i;
void main()
运行没问题啊
作者:
shuisheng
时间:
2018-12-29 22:05
你这个程式有点意思,我用你的代码仿真试了一下,前面是跳格向下移7次,后面是紧跟上移7次,如此循环下去..........不过是写的不够严谨!uchar i;不放在任何函数中时是全局变量,就是说你delay中局部变量 i 与main中全局变量 i 发生了中突,仿真可能看不出来,但实际的51单片机可能就会出错。一要么同上面说的将
uchar i;放入main中,使其成局部变量,要么将两个变量不用同一个 i .void delay(uint i)中的 i 改成 t 也行啊!只要变量不中突,单片机是能正常运行的
作者:
哇哈哈964
时间:
2018-12-30 10:41
你把I定义到主函数外面去了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1