要求实现不相邻的俩支LED灯同时循环左移。
C51源代码如下所示。注意是P1不是p1。
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define led P1
#define uchar unsigned char
void delay(uchar n);
void main()
{
uchar s_data=0x05;
while(1)
{led=~s_data;
s_data=_crol_(s_data,1);
delay(40);
}
}
void delay(uchar n)
{uchar a,b,c;
for(c=0;c<n;c++)
for(a=0;a<n;a++)
for(b=0;b<n;b++);
}
Proteus仿真电路图如下所示。