|
思路及目標(biāo):使用T1定時(shí)計(jì)數(shù)器,設(shè)定1毫秒溢出.
在中斷服務(wù)函數(shù)里,用全局變量delay1ms進(jìn)行累加計(jì)數(shù)
初始化及TR1在主函數(shù)開(kāi)啟的
現(xiàn)在調(diào)用初始化及打開(kāi)TR1=1;后.全局變量delay1ms沒(méi)有自加.
大家?guī)兔纯茨睦锏膯?wèn)題:::
#include "ISR.h"
unsigned int delay1ms=0;
/*--------------------------------------------------------------------------
函數(shù)名: Timer1Init()
功 能: 定時(shí)/計(jì)數(shù)器1的初始化
參 數(shù): 無(wú)
返回值: 無(wú)
--------------------------------------------------------------------------*/
void Timer1Init(void)
{
TMOD=0x50;
TH1=0xfc;
TL1=0x18;
TF1=0;
ET1=1;
EA=1;
}
/*******************************************************************************
* 函數(shù)名 :
* 函數(shù)功能 :中斷服務(wù)函數(shù)
* 輸入 :接受數(shù)據(jù)中斷
* 輸出 :
中斷說(shuō)明: 1,中斷服務(wù)函數(shù)一定是一個(gè)沒(méi)有返回值的函數(shù)
2,中斷服務(wù)函數(shù)一定是沒(méi)有參數(shù)的函數(shù)
3,中斷服務(wù)函數(shù)函數(shù)名后跟關(guān)鍵字 interrupt
4,interrupt n (0-4)共5個(gè)中斷源
5,中斷服務(wù)函數(shù)不能被主程序或其他程序所調(diào)用
6,n 后面跟 using m (0-3)工作寄存器組
*******************************************************************************/
void Timer1_ISR() interrupt 3
{
TF1=0;
delay1ms++;
TH1=0xfc;
TL1=0x18;
}
|
|