1.5 自由運(yùn)行定時(shí)器操作當(dāng)16 位定時(shí)器模式控制寄存器00(TMC00)的第3 位和第2 位(TMC003 與TMC002)為01(自由運(yùn)行定時(shí)器模式)時(shí),16 位定時(shí)器/事件計(jì)數(shù)器00 連續(xù)計(jì)數(shù)并與計(jì)數(shù)時(shí)鐘同步。當(dāng)計(jì)數(shù)值上升到FFFFH 時(shí),在下一個(gè)時(shí)鐘將溢出標(biāo)志(OVF00)設(shè)置為1、將TM00 清零(0000H)并繼續(xù)計(jì)數(shù)。通過軟件執(zhí)行CLR 指令將OVF00 清零(0)。 可以使用以下三種自由運(yùn)行定時(shí)器操作。 CR000 和CR010 都用作比較寄存器。 CR000 與CR010 一個(gè)用作比較寄存器,另一個(gè)用作捕捉寄存器。 CR000 和CR010 都用作捕捉寄存器。 (1) 自由運(yùn)行定時(shí)器模式操作 (CR000: 比較寄存器, CR010: 比較寄存器) 這是一個(gè)應(yīng)用示例:兩個(gè)比較寄存器在自由運(yùn)行定時(shí)器模式下使用。 每當(dāng)TM00 的計(jì)數(shù)值與CR000 或CR010 的值相等時(shí),反轉(zhuǎn)TO00 引腳的輸出電平。當(dāng)計(jì)數(shù)值與寄存器值相等時(shí),產(chǎn)生INTTM000 或INTTM010 信號(hào)。 (2) 自由運(yùn)行定時(shí)器模式操作 (CR000: 比較寄存器, CR010: 捕捉寄存器) 這是一個(gè)應(yīng)用示例:在自由運(yùn)行定時(shí)器模式下同時(shí)使用一個(gè)比較寄存器和一個(gè)捕捉寄存器。 在本例中每當(dāng)TM00 的計(jì)數(shù)值與CR000 的值相等時(shí)反轉(zhuǎn)TO00 引腳的輸出電平,并且產(chǎn)生中斷信號(hào)INTTM000。 此外每當(dāng)檢測(cè)到TI000 引腳的有效沿時(shí),產(chǎn)生INTTM010 信號(hào),并捕捉TM00 的計(jì)數(shù)值存入CR010。 (3) 自由運(yùn)行定時(shí)器模式操作 (CR000: 捕捉寄存器, CR010: 捕捉寄存器) 備注如果在自由運(yùn)行定時(shí)器模式下,CR000 與CR010 用作捕捉寄存器,則不反轉(zhuǎn)TO00 引腳的輸出電平。 但如果16 位定時(shí)器模式控制寄存器00 (TMC00)的第1 位(TMC001)=1,則每次檢測(cè)到TI000 引腳的有效沿時(shí)可以反轉(zhuǎn)。 這是一個(gè)應(yīng)用示例:自由運(yùn)行定時(shí)器模式下,在各自觸發(fā)信號(hào)的有效沿捕捉的計(jì)數(shù)值存入各自的捕捉寄存器中。 當(dāng)檢測(cè)到TI000 引腳輸入的有效沿時(shí),捕捉計(jì)數(shù)值并存入CR010,而當(dāng)檢測(cè)到TI010 引腳輸入的有效沿時(shí),捕捉計(jì)數(shù)值并存入CR000。 這是一個(gè)應(yīng)用示例:自由運(yùn)行定時(shí)器模式下,檢測(cè)TI010 引腳的兩種脈沖沿,計(jì)數(shù)值被捕捉到CR000。 當(dāng)CR000 與CR010 都用作捕捉寄存器并且僅檢測(cè)到TI010 引腳的有效沿時(shí),計(jì)數(shù)值不能被捕捉到CR010。 (e) 16 位定時(shí)器計(jì)數(shù)器00 (TM00) 通過讀取TM00,獲得計(jì)數(shù)值。 (f) 16 位捕捉/比較寄存器000 (CR000) 當(dāng)該寄存器用作比較寄存器并且當(dāng)其值與TM00 的計(jì)數(shù)值相等時(shí),產(chǎn)生中斷信號(hào)(INTTM000)。但不對(duì)TM00計(jì)數(shù)值清零。 若要用作捕捉寄存器,則應(yīng)選擇TI000 或TI010 引腳輸入作為捕捉觸發(fā)。當(dāng)檢測(cè)到捕捉觸發(fā)的有效沿時(shí),將TM00 的計(jì)數(shù)值存入CR000。 (g) 16 位捕捉/比較寄存器010 (CR010) 當(dāng)該寄存器用作比較寄存器并且當(dāng)其值與TM00 的計(jì)數(shù)值相等時(shí),產(chǎn)生中斷信號(hào)(INTTM010)。但不對(duì)TM00計(jì)數(shù)值清零。 當(dāng)該寄存器用作捕捉寄存器時(shí),將TI000 引腳輸入作為捕捉觸發(fā)。當(dāng)檢測(cè)到捕捉觸發(fā)的有效沿時(shí),將TM00 的計(jì)數(shù)值存入CR010。 注 要特別注意TOC00 的設(shè)置。 1.6 PPG 輸出操作 當(dāng)16 位定時(shí)器模式控制寄存器00 (TMC00) 的第3 位和第2 位(TMC003 與TMC002)=11 時(shí)(在TM00 與CR000 相等時(shí)清零&啟動(dòng)),在由CR000 設(shè)置的周期內(nèi)從TO00 引腳輸出方波(具有通過CR010 預(yù)先設(shè)置的一個(gè)脈沖寬度)作為PPG (可編程脈沖發(fā)生器) 信號(hào)。 以下是作為PPG 輸出的脈沖的周期與占空比。 脈沖周期= (CR000 的設(shè)置值+ 1) 計(jì)數(shù)時(shí)鐘周期 占空比= (CR010 的設(shè)置值+ 1) / (CR000 的設(shè)置值+ 1) (e) 16 位定時(shí)器計(jì)數(shù)器00 (TM00) 通過讀取TM00,獲得計(jì)數(shù)值。 (f) 16 位捕捉/比較寄存器000 (CR000) 當(dāng)該寄存器的值與TM00 的計(jì)數(shù)值相等時(shí),產(chǎn)生中斷信號(hào)(INTTM000)。但不對(duì)TM00 的計(jì)數(shù)值清零。 (g) 16 位捕捉/比較寄存器010 (CR010) 當(dāng)該寄存器的值與TM00 的計(jì)數(shù)值相等時(shí),產(chǎn)生中斷信號(hào)(INTTM010)。但不對(duì)TM00 的計(jì)數(shù)值清零。 注意事項(xiàng) 對(duì)CR000 與CR010 進(jìn)行設(shè)置,以滿足條件0000H≤CR010 < CR000≤ FFFFH 。 注 必須特別注意TOC00 的設(shè)置。如需了解詳細(xì)信息,可參見6.3 (3) 16 位定時(shí)器輸出控制寄存器00(TOC00)。 備注 PPG 脈沖周期= (M + 1) x 計(jì)數(shù)時(shí)鐘周期 PPG 占空比= (N + 1)/(M + 1) 文章來源:http://www.originic.hk/Item/Show.asp?m=1&d=1792 |