if(ledi==8)
{
ledi=0//到了最后一个灯就换到第一个
//每跑一圈灯就根据预定设置的表格来决定下一圈信尺的跑马滑历高速度
speed=speedcode[i]
i++if(i==2)i=0?你的速度设置不仅仅就2个呀(10个预定义的烂慎速度)
}
有两种解决办法:
一个就是将预定的速度加2倍
speedcode[30]={3,3,3,1,1,1,5,5,5,12,12,12,、、、、、、}
二是增加一全局变量uchar z=0在i++前加上如下,前后不改:
、、、、、if(++z==3){z=0i++;}、、、、、、、、、、、
#include<reg52.h>
void
delay(int
a)
//延迟程序
{
while(a--)
}
main(){
P1=0x01
/纳梁宏/P1口初始0000
0001
while(1){
while(P1!=0x80){
//当p1口不是
1000
0000时
P1口左移一位,本来起初是0000
0001,500毫
秒后变成
0000
0010,然后0000
0100,直到变成1000
0000
P1=P1<<1
delay(5000)
}
while(P1!=0x01){
//同理
1000
0000
右移渣带
变成0100
0000,因为P1口接led,高电位时洞册点亮
P1=P1>>1
delay(5000)
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)