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