線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2898
推到 Plurk!
推到 Facebook!

8051 TIMER2設定問題

答題得分者是:src
ageorge92
一般會員


發表:1
回覆:0
積分:0
註冊:2009-04-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-04-09 00:03:42 IP:140.113.xxx.xxx 訂閱
小弟目前使用了TIMER2中的中斷功能,目前遇到了如何設定TMR2LTMR2H的問題,

是否有大大能解釋一下裡面的機制,如果我要1ms後中斷要怎樣設定. 我的MCU CLOCK為24.5MHZ.

THX!
src
高階會員


發表:1
回覆:94
積分:154
註冊:2005-08-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-04-09 22:26:58 IP:59.121.xxx.xxx 訂閱

[code c#]
//首先要算出1個clk的時間=1/(24.5/12)US
//再算出1ms需要多少個clk,X=1000/(12/24.5)
//然後把X換成暫存器RCAP2H及RCAP2L所需設定值
//RCAP2H=(65536-X)/256
//RCAP2L=(65536-X)%6
#include "reg52.h"
main(void)
{
int X;
X=1000/(12/24.5);
RCAP2H=TH2=(65536-X)>>8;
RCAP2L=TL2=65536-X;
TR2 = 1; //啟動TIMER2
IE=0XA0; //中斷致能
while (1);
}
void T2_int(void) interrupt 5
{
TF2=0; //清除溢位旗標
}
[/code]

===================引 用 ageorge92 文 章===================
小弟目前使用了TIMER2中的中斷功能,目前遇到了如何設定TMR2LTMR2H的問題,

是否有大大能解釋一下裡面的機制,如果我要1ms後中斷要怎樣設定. 我的MCU CLOCK為24.5MHZ.

THX!
編輯記錄
src 重新編輯於 2009-04-09 22:31:32, 註解 無‧
系統時間:2024-03-28 16:08:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!