?? celiang.c
字號:
//實例54-2:測量負脈沖寬度
#include<reg51.h> //包含51單片機寄存器定義的頭文件
sbit u=P3^2; //將u位定義為P3.2
/*******************************************
函數功能:主函數
******************************************/
void main(void)
{
TMOD=0x02; //TMOD=0000 0010B,使用定時器T0的模式2
EA=1; //開放總中斷
EX0=1; //允許使用外中斷
IT0=1; //選擇負跳變來觸發外中斷
ET0=1; //允許定時器T0中斷
TH0=0; //定時器T0賦初值0
TL0=0; //定時器T0賦初值0
TR0=0; //先關閉T0
while(1)
; //無限循環, 不停檢測輸入負脈沖寬度
}
/**************************************************************
函數功能:外中斷0的中斷服務程序
**************************************************************/
void int0(void) interrupt 0 using 0 //外中斷0的中斷編號為0
{
TR0=1; //外中斷一到來,即啟動T0計時
TL0=0; //從0開始計時
while(u==0) //低電平時,等待T0計時
;
P1=TL0; //將結果送P1口顯示
TR0=0; //關閉T0
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -