************************************************/
#include<reg51.h>
sbit P14=P1^4;
sbit P07=P0^7;
sbit P26=P2^6;
volatile int i; //聲明一個變量為可能意外變化的量(相對于const而言)用語中斷程序
void main()
{
P26=1; //防止數碼管干擾
P0=0x00;
P26=0;
P0=0xff;
P14=0; //開led使能
P07=0; //先將P20位的LED點亮
TMOD=0x01; //設置定時器T0工作在模式1
TH0=0xb1; TL0=0xe0; //裝T0的計數初值,12MHz,20ms計時
EA=1; //開啟總中斷允許位
ET0=1; //開啟T0定時器
TR0=1; //開啟T0定時器中斷允許位
while(1); //循環等待中斷發生
}
void time0(void) interrupt 1 //中斷程序寫法
{ TH0=0xb1; TL0=0xe0; //重裝T0的計數初值
i++; if(i==25) //計數到25次(即0.5秒)
{
i=0; //i清零
P07=~P07; //取反LED端口,
}
} |