#include <reg52.h> //頭文件
#define uint unsigned int //宏定義
sbit LED=P0^7; //LED接在P0口第7腳
sbit DUAL=P2^6; //數碼段鎖存器
sbit WEAL=P2^7; //數碼位鎖存器
sbit LEDON=P1^4; //LED上接電阻PNP三極管基極
uint num; //定義num為無符號整型變量
void main() //主函數
{
LEDON=0; //LED上拉電阻上三極管打開
DUAL=0; //數碼段鎖存器鎖存
WEAL=0; //數碼位鎖存器鎖存
LED=0; //LED點亮
num=0; //num賦初值
TMOD=0x02; //設置定時器0工作方式2——自動重裝8位定時器
TH0=0x38; //定時器0高8位賦值56
TL0=0x38; //定時器0低8位賦值56,256-56=200,1/11.0592*12*200=0.217ms
EA=1; //打開中斷允許
ET0=1; //定時器0中斷有效
TR0=1; //定時器0啟動
while(1) //進入循環
{
if(num==5000) //中斷5000次,0.217*5000=1.085s
{
num=0; //num復零
LED=~LED; //LED取反
}
}
}
void T0_time() interrupt 1 //定時器0中斷函數
{
num++; //每次定時時間到num變量自加1
}
|