不明白你想做什么,TMOD =0x30;定時器/計數器1停止工作,此時無效,TMOD =0x20,定時器/計數器1八位自動重載計數,你想兩個定時器同時使用TMOD=0X20;//定時器1工作在8位自動重載,TMOD |=0X01;//定時器0工作在模式1,16位,Modbus RTU應該是你串口接收停止比如超過10ms,認為接收完畢,進行數據處理,可是你定時器1來給計時的話,你設定時間是多少,沒有預設值,
void Timer1Init(void) //10毫秒@11.0592MHz
{
AUXR &= 0xBF; //定時器時鐘12T模式
TMOD &= 0x0F; //設置定時器模式
TL1 = 0x00; //設置定時初始值
TH1 = 0xDC; //設置定時初始值
TF1 = 0; //清除TF1標志
TR1 = 1; //定時器1開始計時
} |