您的位置:首页 > 其它

LED灯的任意操纵

2016-04-01 00:27 183 查看
掌握好单片机LED灯的随意操纵。此程序目的,令Led灯由中间向两边分开,

此处疑问:为何单片机闪烁到中间二个或者边上两个延迟时间大概是其他灯亮的二倍。而若设置当中间二个或者边上的延迟时间稍短时(如下程序),则会出现正常的延迟时间。

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar temp1,temp2,temp;
void delay(uint n);
void main()
{
temp1=0xef;
temp2=0xf7;
temp=temp1&temp2;
P1=temp;
delay(1000);
while(1)
{

temp1=_cror_(temp1,1);
temp2=_crol_(temp2,1);
temp=temp1&temp2;
P1=temp;
if(temp1==0xfe||temp2==0x7f)
delay(500);
else if(temp1==0xef||temp2==0xf7)
delay(500);
else
delay(1000);
}
}
void delay(uint n)
{
uint i,j;
for(i=0; i<n; i++)
for(j=0; j<110; j++)
;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  单片机