思路及目標:使用T1定時計數器,設定1毫秒溢出.
在中斷服務函數里,用全局變量delay1ms進行累加計數
初始化及TR1在主函數開啟的
現在調用初始化及打開TR1=1;后.全局變量delay1ms沒有自加.
大家幫忙看看哪里的問題:::
#include "ISR.h"
unsigned int delay1ms=0;
/*--------------------------------------------------------------------------
函數名: Timer1Init()
功 能: 定時/計數器1的初始化
參 數: 無
返回值: 無
--------------------------------------------------------------------------*/
void Timer1Init(void)
{
TMOD=0x50;
TH1=0xfc;
TL1=0x18;
TF1=0;
ET1=1;
EA=1;
}
/*******************************************************************************
* 函數名 :
* 函數功能 :中斷服務函數
* 輸入 :接受數據中斷
* 輸出 :
中斷說明: 1,中斷服務函數一定是一個沒有返回值的函數
2,中斷服務函數一定是沒有參數的函數
3,中斷服務函數函數名后跟關鍵字 interrupt
4,interrupt n (0-4)共5個中斷源
5,中斷服務函數不能被主程序或其他程序所調用
6,n 后面跟 using m (0-3)工作寄存器組
*******************************************************************************/
void Timer1_ISR() interrupt 3
{
TF1=0;
delay1ms++;
TH1=0xfc;
TL1=0x18;
}
|