unsigned char P1BUF=0XFE;
unsigned int YSJS=0;
bit led;
void main(void)
{
TMOD |= 0X10; //定時器1工作於方式1,16位定時器
TH1 = 0XFF; //定時器1定時時間=500uS
TL1 = 0X06; //
ET1 = 1; //使能定時器1中斷
TR1 = 1; //開啟定時器1
EA =1;
while(1)
{
}
}
void TIMER1(void) interrupt 3 //定時器1中斷函數使用默認寄存器組
{
TH1 = 0XFF; //定時器1定時時間=500uS
TL1 = 0X06;
P3^5=!P3^5; //輸出方波
YSJS++;
if(YSJS==1000)
{
P1 = P1BUF;
led = P1BUF & 0X80;
P1BUF <<= 1; //預備下壹位
if(led)P1BUF = P1BUF | 1;
}
}