UPD78F0411 16 位定時器/事件計數器00 TM00 的特殊用途 UPD78F0411 16 位定時器/事件計數器00 TM00 的特殊用途 1.1 TM00 操作期間重寫CR010 原則上,在TM00 操作時(TMC003 與TMC002 不等于00)禁止重寫78K0/ LC3 的CR000 與CR010(當它們用作比較寄存器時)的值。 但如果CR010 用于PPG 輸出且占空比已被修改(在CR010 的值與TM00 的值相等后修改CR010 的值,如果CR010 的值與TM00 的值相等前立即修改CR010,則可以會產生異常操作),可以按下列過程修改CR010,即使TM00正在操作。 修改CR010 值的過程 <1> 禁止中斷INTTM010 (TMMK010 = 1). <2> 當TM00 的值與CR010 的值相等時(TOC004 = 0)禁止反轉定時器輸出。 <3> 修改CR010 的值 <4> 等待一個TM00 計數時鐘周期 <5> 允許TM00 和CR010(TOC004 = 1)相等時進行定時器輸出反轉操作。 <6> 將INTTM010 的中斷標志清零(TMIF010 = 0)。 <7> 允許中斷INTTM010 (TMMK010 = 0). 備注 如需了解TMIF010 和TMMK010,可參見第十七章中斷功能。 1.2 設置LVS00 和LVR00 (1) LVS00 和LVR00 的使用 LVS00 與LVR00 用于設置TO00 引腳輸出的默認值并可以在不需要定時器操作時(TMC003 與TMC002 = 00)對定時器輸出進行反轉。當不需要軟件控制時將LVS00 與LVR00 清零(00) (默認值: 低電平輸出) 。 (2) LVS00 和LVR00 的設置 可按以下步驟設置LVS00 和LVR00。 <1> 當LVS00 與LVR00 = 10 時將TO00 引腳輸出變為高電平。 <2> 當LVS00 與LVR00 = 01 時將TO00 引腳輸出變為低電平(即使LVS00 與LVR00 被清零(00)則引腳輸出恒為高電平)。 <3> 當TMC003 與TMC002=01、10 或11 時定時器開始操作。由于在開始操作前LVS00 與LVR00 被設置為10,所以TO00 引腳輸出從高電平開始。定時器開始操作后,禁止對LVS00 與LVR00 進行設置,直至TMC003 與TMC002 = 00 (禁止定時器操作)。 <4> 每當產生中斷信號(INTTM000)時,反轉TO00 引腳的輸出電平。 文章來源:http://www.originic.hk/Item/Show.asp?m=1&d=1794 |