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