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++;}、、、、、、、、、、、
|P1口接8个发光二极管共阳
#include <AT89X51.H>
unsigned char i
unsigned char temp
unsigned char a,b
void delay(void)
{
unsigned char m,n,s
for(m=20m>0m--)
for(n=20n>0n--)
for(s=248s>0s--)
}
void main(void)
{
while(1)
{
temp=0xfe
P1=temp
delay()
for(i=1i<8i++)
{
a=temp<<i
b=temp>>(8-i)
P1=a|b
delay()
}
for(i=1i<8i++)
{
a=temp>>i
b=temp<<(8-i)
P1=a|b
delay()
}
}
}
扩展资料:
Proteus 自从有了单片机也就有了开发系统,随着单片机的发展开发系统也在不断发展。 keil是一种先进的单片机集成开发系统。它代表着汇编语言单片机开发系统的最新发展,首创多项便利技术,将开发的编程/仿真/调试/写入/加密等所有过程一气呵成,中间不须任何编译或汇编。
参考资料来源:百度百科-51单片机
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)