//實例7:通過對P0口地址的操作流水點亮8位LED
#include
//sfr x=0x80; //P0口在存儲器中的地址是80H, 通過sfr可定義8051內(nèi)核單片機
//的所有內(nèi)部8位特殊功能寄存器,對地址x的操作也就是對P0口的操作
sfr x=0x90; //P1口在存儲器中的地址是90H, 通過sfr可定義8051內(nèi)核單片機
//的所有內(nèi)部8位特殊功能寄存器,對地址x的操作也就是對P1口的操作
/****************************************
函數(shù)功能:延時一段時間
*****************************************/
void delay(void)
{
unsigned char i,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++)
; //利用循環(huán)等待若干機器周期,從而延時一段時間
}
/*****************************************
函數(shù)功能:主函數(shù)
******************************************/
void main(void)
{
while(1)
{
x=0xfe; //第一個燈亮
delay(); //調(diào)用延時函數(shù)
x=0xfd; //第二個燈亮
delay(); //調(diào)用延時函數(shù)
x=0xfb; //第三個燈亮
delay(); //調(diào)用延時函數(shù)
x=0xf7; //第四個燈亮
delay(); //調(diào)用延時函數(shù)
x=0xef; //第五個燈亮
delay(); //調(diào)用延時函數(shù)
x=0xdf; //第六個燈亮
delay(); //調(diào)用延時函數(shù)
x=0xbf; //第七個燈亮
delay(); //調(diào)用延時函數(shù)
x=0x7f; //第八個燈亮
delay(); //調(diào)用延時函數(shù)
}
}