此程序控制P2.0~P2.7口8個LED(P2.0~P2.7)燈逐個依次點這,又從(P2.7~P2.0)這樣的順序一直到全部被點亮。
#include <reg52.h>//頭文件
void delay(unsigned int x)//延時函數
{
while(x--);
}
void main(void)
{
unsigned char i;//定義一個無符號字型局部變量i取值范圍0~255
delay(50000);
P2=0xfe;
for(i=0;i<8;i++)//加入for循環,表明for循環大括號中程序循環執行8次
{
delay(50000);//調用延時函數,更改延時的x變量的值可以更改延時長短,用于改變閃爍頻率
P2<<=1;
}
}
知識要點:
1、<<符號。這個是左移符號,P2<<=1;等效于P2=P2<<1;
例如:temp=15;
temp<<=1;
15二進制為00001111,左移1位后,右端自動補0,變成00011110,此時temp=30;數值左移一位相當于乘以2,反之右移一位相當于除以2.