如何使用HT66F40 ETM PWM 功能

如何使用HT66F40 ETM PWM 功能
如何使用 HT66F40 ETM Input Capture 功能
如何使用 HT66F40 ETM PWM 功能
文件編碼:HA0242T
簡介
HT66Fx0 系列 MCU 提供了一個新的功能單元 TM,即 Timer Modules,整合了 Timer 和 PWM
的功能,提供包括普通 Timer 定時、外部計數、可程式 Duty/Period PWM 輸出或單脈衝輸出、
輸入捕捉等豐富的功能。TM 依據功能可分爲簡單型 TM (CTM)、普通型 TM (STM) 和增強
型 TM (ETM)。
本文即以 HT66F40 為母體,通過具體範例說明 ETM 中如何產生 PWM。
工作原理
ETM 的核心是一個既可以向上計數,又可以向下計數的 10 位的計數器和三個比較器,具體
結構如下圖示:
C C R P
C o m p a ra to r P M a tc h
3 - b it C o m p a r a to r P
fS
Y S
/4
fS
Y S
fH /1 6
fH /6 4
fT B C
R e s e rv e d
T C K n
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
b 7 ~ b 9
1 0 - b it U p /D o w n C o u n te r
T n O N
T n P A U
T n C K 2 ~ T n C K 0
b 0 ~ b 9
T n A O C
C o u n te r
C le a r
0
1
T n C C L R
C o m p a ra to r A
1 0 - b it
C o m p a ra to r A
T n P F In te rru p t
O u tp u t
C o n tro l
P o la r ity
C o n tro l
T n A M 1 , T n A M 0
T n A IO 1 , T n A IO 0
T n A P O L
T P n A P in
In p u t/O u tp u t
T P n A
T P n B P in
In p u t/O u tp u t
T P n B -0
T P n B -1
T P n B -2
T n A F
In te rru p t
M a tc h
T n A IO 1 , T n A IO 0
C C R A
E d g e
D e te c to r
T n B O C
C o m p a ra to r B
1 0 - b it
C o m p a ra to r B
M a tc h
T n B F
In te rru p t
C C R B
E d g e
D e te c to r
T n IO 1 , T n IO 0
Enhanced Type TM Block Diagram
1
O u tp u t
C o n tro l
P o la r ity
C o n tro l
T n B M 1 , T n B M 0
T n B IO 1 , T n B IO 0
T n B P O L
如何使用 HT66F40 ETM Input Capture 功能
計數器的時鐘源可以通過設定 T1CK0~T1CK2 選擇為 fSYS/4、fSYS、fH/16、fH/64、fTBC 或者為 TCK1
輸入。三個內部比較器:CCRP、CCRA 和 CCRB,用於設定比較基準值,CCRP 有 3 位元寬,
只對計數器的高 3 位元進行比較,而 CCRA 和 CCRB 的位數和計數器一樣,可以跟計數器
比較所有的位元。當設定好相關的暫存器 TM 開始運行後計數器即向上或向下計數,系統
會將預先寫入 CCRA 和 CCRB 的值與計數器中的值進行比較。計數器在計數溢出或者與設
定 CCRA 和 CCRB 的值相等時,可以自動清除為零並產生一個中斷信號,同時系統會根據
程式設定產生相應的輸出信號。計數器中 TM1DH/TM1DL 的值無法改變,但是可以讀出,
只能通過設定 T1ON 位元由 0→1 才能清除為零計數器。T1APOL/T1BPOL 可以對 TP1A 和
TP1B 輸出邏輯進行控制,當被設定為 1,可以強制對 TP1A 和 TP1B 輸出邏輯翻轉。
HT66F40 輸出管腳介紹:
管腳
功能描述
TMPC0
PRM2
TP1A
CCRA 匹配輸出管腳或者輸入捕
捉模式輸入管腳,外部脈衝輸出
管腳,PWM 輸出管腳
T1ACP0 :
1 : 使能 TP1A 功能
0 : I/O 功能或者其他功能
TP1APS :
0 : 設定 TP1A 為 PA1
1 : 設定 TP1A 為 PC7
TP1B_0
CCRB 匹配輸出管腳或者輸入捕
捉模式輸入管腳,外部脈衝輸出
管腳,PWM 輸出管腳
T1BCP0 :
1 : 使能 TP1B_0 功能
0 : I/O 功能或者其他功能
默認 TB1B_0 為 PC0
TP1B_1
CCRB 匹配輸出管腳或者輸入捕
捉模式輸入管腳,外部脈衝輸出
管腳,PWM 輸出管腳
T1BCP1 :
1 : 使能 TP1B_1 功能
0 : I/O 功能或者其他功能
默認 TB1B_1 為 PC1
TP1B_2
CCRB 匹配輸出管腳或者輸入捕
捉模式輸入管腳,外部脈衝輸出
管腳,PWM 輸出管腳
T1BCP2 :
1 : 使能 TP1B_2 功能
0 : I/O 功能或者其他功能
TP1B2PS :
0 : 設定 TP1B_2 為 PC5
1 : 設定 TP1B_2 為 PE4
當 ETM 工作在 PWM 模式時,有四種模式。
Mode(1):PWM 邊緣對齊模式,當 T1CCLR 為 0 時,CCRP 為 PWM 的周期控制,CCRA
及 CCRB 做為 TP1A 及 TP1B 通道的 PWM 的 Duty 控制。當 T1CCLR 為 1 時,CCRA 為 PWM
的周期控制,CCRB 做為 TP1B 通道的 PWM 的 Duty 控制,此時 TP1A 無法使用。
PWM 邊緣對齊模式時序圖 (T1CCLR = 1):
2
如何使用 HT66F40 ETM Input Capture 功能
當 T1CCLR=1,T1PWM[1,0]=00,ETM 工作在 Mode(1)。CCRB 賦一個大於 0 而小於 CCRA
的數值,當 T1ON 設定 1,TP1B 根據 T1BOC 翻轉,同時計數器開始向上計數直到與 CCRB
匹配,中斷旗標 T1BF 設定 1,TP1B 再次翻轉;計數器向上計數到與 CCRA 匹配清除為零。
中斷旗標 T1AF 設定 1,TP1B 再次翻轉。即產生 PWM 波形,其周期由 CCRA 控制,Duty
由 CCRB 控制。
注意:該模式下,將 TP1A 設定為 PWM 模式,不會產生 PFD,若想在 TP1B 產生 PWM 的
同時 TP1A 輸出 PFD,可將 TP1A 的模式設定為匹配輸出模式。TP1A 產生的 PFD 的周期為
兩倍的 CCRA 設定值。
Mode(2):邊緣對齊模式,CCRP 做為 PWM 的週期控制。CCRA 作為 TP1A 通道的 PWM 的
Duty 控制。CCRB 作為 TP1B 通道的 PWM 的 Duty 控制。
Mode(2) 時序圖如下:
當 T1CCLR=0,T1PWM[1,0]=00,ETM 工作在 Mode(2)。
對於 TP1A 通道,當 T1ON 設定 1,TP1A 根據 T1AOC 翻轉,同時計數器開始向上計數直到
與 CCRA 匹配,中斷旗標 T1AF 設定 1,TP1A 再次翻轉;計數器向上計數到與 CCRP 匹配
清除為零。中斷旗標 T1PF 設定 1,TP1A 再次翻轉。一個 PWM 波形即產生,其週期由 CCRP
控制,Duty 由 CCRA 控制。
對於 TP1B 通道,當 T1ON 設定 1,TP1B 根據 T1BOC 翻轉,同時計數器開始向上計數直到
與 CCRB 匹配,中斷旗標 T1BF 設定 1,TP1B 再次翻轉;計數器向上計數到與 CCRP 匹配
清除為零。中斷旗標 T1PF 設定 1,TP1B 再次翻轉。一個 PWM 波形即產生,其週期由 CCRP
控制,Duty 由 CCRB 控制。
3
如何使用 HT66F40 ETM Input Capture 功能
Mode(3):中心對齊模式,CCRA 做為 PWM 的周期控制,CCRB 做為 TP1B 通道的 PWM 的
Duty 控制。
Mode(3)時序圖如下:
當 T1CCLR=1,T1PWM[1,0]=01/10/11,ETM 工作在 Mode(3)。
T1PWM[1,0]=01 時,只有 T1AF 在計數器向上計數與 CCRA 匹配時會被設定 1。T1PWM[1,0]=10
時,只有 T1PF 在計數器向下計數與 CCRP 匹配時會被設定 1。T1PWM[1,0]=11 時,兩個中
斷旗標在計數器向上或者向下計數時發生匹配時都會被設定 1。
對於 TP1B 通道,CCRB 需給一個大於 0 而小於 CCRA 的數值。當 T1ON 設定 1 時,計數器
開始向上計數;當計數器與 CCRB 匹配時,TP1B 翻轉;計數器計數到與 CCRA 匹配後,開
始向下計數,當計數器與 CCRB 匹配時,TP1B 再次翻轉;當計數器向下計數為 0 後,又開
始向上計數,當計數器與 CCRB 匹配時,TP1B 再次翻轉。從而形成一個 PWM 的波形,其
週期為兩倍的 CCRA 設定值。PWM 有效準位寬度為兩倍的 CCRB 設定值。PWM 的有效準
位由 T1BOC 控制,當 T1BOC 為 1 時,PWM 高準位有效。當 T1BOC 為 0 時,PWM 低準位
有效。
注意,對於 TP1A 通道,工作在 PWM 模式,不會產生 PFD。
4
如何使用 HT66F40 ETM Input Capture 功能
Mode(4):中心對齊模式,CCRP 做為 PWM 的週期控制。CCRA 作為 TP1A 通道的 PWM 的
Duty 控制。CCRB 作為 TP1B 通道的 PWM 的 Duty 控制。
Mode(4)時序圖如下:
當 T1CCLR=0,T1PWM[1,0]=01/10/11,ETM 工作在 Mode(4)。
T1PWM[1,0]=01 時,只有中斷旗標 T1AF 在計數器向上計數與 CCRA 匹配時會被設定 1。
T1PWM[1,0]=10 時,只有中斷旗標 T1PF 在計數器向下計數與 CCRP 匹配時會被設定 1。
T1PWM[1,0]=11 時,兩個中斷旗標在計數器向上或者向下計數時發生匹配時都會被設定 1。
對於 TP1A 通道,當 T1ON 設定 1 時,計數器開始向上計數;當計數器與 CCRA 匹配時,TP1A
翻轉;計數器計數到與 CCRP 匹配後,開始向下計數,當計數器與 CCRA 匹配時,TP1A 再
次翻轉;當計數器向下計數為 0 後,又開始向上計數,當計數器與 CCRA 匹配時,TP1A 再
次翻轉。從而 TP1A 通道上形成一個 PWM 的波形,其週期為兩倍的 CCRP 設定值。PWM
有效準位寬度為兩倍的 CCRA 設定值。PWM 的有效準位由 T1AOC 控制,當 T1AOC 為 1 時,
PWM 高準位有效。當 T1AOC 為 0 時,PWM 低準位有效。
對於 TP1B 通道,當 T1ON 設定 1 時,計數器開始向上計數;當計數器與 CCRB 匹配時,TP1B
翻轉;計數器計數到與 CCRP 匹配後,開始向下計數,當計數器與 CCRB 匹配時,TP1B 再
次翻轉;當計數器向下計數為 0 後,又開始向上計數,當計數器與 CCRB 匹配時,TP1B 再
次翻轉。從而在 TP1B 通道上形成一個 PWM 的波形,其週期為兩倍的 CCRP 設定值。PWM
有效準位寬度為兩倍的 CCRB 設定值。PWM 的有效準位由 T1BOC 控制,當 T1BOC 為 1 時,
PWM 高準位有效。當 T1BOC 為 0 時,PWM 低準位有效。
總之,在設定 PWM 模式前,可對 PRM2 暫存器設定相對應的位元,將 TP1A 和 TP1B 管腳
設定在不同的 I/O 管腳。再對 TMPC0 暫存器進行設定,使能 I/O 相對應的 TP1A 和 TP1B 功
能。TP1A 和 TP1B 相對應的 I/O 埠需輸出 Low,否則輸出的 PWM 有效準位相反。
5
如何使用 HT66F40 ETM Input Capture 功能
PWM 輸出的快速使用步驟:
步驟
操作內容
暫存器
設定位元
功能描述
1
設定時鐘源
TM1C0
T1CK0~T1CK2
選擇 ETM 的時鐘源
T1CCLR :
2
設定 PWM 的 Duty 和周期
0 : 對於 TP1A
CCRP→周期
CCRA→占空比
對於 TP1B
CCRP→周期
CCRB→占空比
TM1C1
選擇 CCRP 或是 CCRA 作為 PWM 的
週期控制暫存器
1 : 對於 TP1B
CCRA→周期
CCRB→占空比
3
設定 CCRP、CCRA、CCRB
暫存器值
4
設定對齊模式
5
設定 ETM 工作模式
6
7
8
9
選擇 ETM 的輸出管腳
T1RP2~T1RP0
TM1AH/TM1AL
TM1BH/TM1BL
低 10 位元的位數
TM1C2
T1PWM1、T1PWM0 :
00 : 邊沿對齊模式
01 : 中心對齊模式 0
10 : 中心對齊模式 1
11 : 中心對齊模式 2
設定計數器計數模式
TM1C1
T1AM1、T1AM0=10
10 為 TP1A 通道輸出 PWM 模式
TM1C2
T1BM1、T1BM0=10
10 為 TP1B 通道輸出 PWM 模式
TMPC0
T1ACP0 :
T1BCP0、T1BCP1、T1BCP2
使能 ETM 的相對應管腳功能
TM1C1
T1AOC :
0 : 輸出低準位
1 : 輸出高準位
設定 PWM 的週期和 Duty
設定 TP1A、TP1B 輸出的
初始準位
設定 TP1A、TP1B 的
輸出功能
TM1C2
T1BOC :
0 : 輸出低準位
1 : 輸出高準位
TM1C1
T1AIO1/T1AIO0 :
10 : 輸出 PWM
TM1C2
T1BIO1/T1BIO0 :
10 : 輸出 PWM
TM1C1
T1APOL :
1 : 輸出翻轉
0 : 輸出不翻轉
TM1C2
T1BPOL :
1 : 輸出翻轉
0 : 輸出不翻轉
設定 TP1A、TP1B 的
輸出極性
設定第一次匹配之前 TP1A,TP1B 的
輸出準位
10 為輸出 PWM
TP1A、TP1B 的輸出翻轉控制
INTC1
MF1E
MFI1
T1PE , T1AE, T1BE
開啟 ETM
TM1C0
T1ON 0→1
重置計數器,並 ETM 開始工作
ETM 停止功能
TM1C0
T1PAU 0→1
ETM 暫停工作,計數器值保持不變
T1ON 1→0
ETM 停止工作,計數器內容不變
10
設定中斷允許位元
11
12
13
TM1C0
TM1C1
T1AIO1/T1AIO0 :
00 : 强制 TP1A 輸出無效準位
01 : 强制 TP1A 輸出有效準位
TM1C2
T1BIO1/T1BIO0 :
00 : 强制 TP1B 輸出無效準位
01 : 强制 TP1B 輸出有效準位
設定輸出功能
6
使能 ETM 和多個功能的中斷
TP1A/TP1B 被强制輸出固定準位,但是
ETM 進行在工作。有效準位是 1,還是
0,由 T1AOC/T1BOC 控制
如何使用 HT66F40 ETM Input Capture 功能
Application Circuit
説明:
對 ETM 而言在 PWM 或單脈衝模式,可提供兩個通道 (TP1A/TP1B) PWM 或單脈衝模式輸
出。
第一通道輸出在 TP1A (Pin 24) 輸出。
第二通道輸出可以從 TP1B_0 (Pin 10) 輸出,或者從 TP1B_1 (Pin 9) 輸出,或者從 TP1B_2 (Pin
13)輸出。選中任意一個 Pin,則第二通道可從任意一個 Pin 輸出,若選中任意兩個 Pin,則
第二通道可從任意兩個 Pin 輸出,若三個 Pin 全選中,則三個 Pin 均有 PWM 輸出。
7
如何使用 HT66F40 ETM Input Capture 功能
S/W Flowchart (Mode 1)
程式説明 (Mode 1)
本範例是介紹如何使用 ETM 產生 PWM (Mode1)。
主程式流程介紹:程式首先所使用到的資料儲存器清除為零初始化。對 CP0C、CP1C 賦值
08H,關閉比較器功能。對 ACERL 和 SOMEN 清除為零,關閉模擬量輸入功能和 LCD 功能。
TMPC0 設定為 0F0H,即相應使能了 TP1A、TP1B_0、TP1B_1、TP1B_2 功能。
TM1C0 設定為 00000000B,即 T1PAU=0,取消了計數器暫停功能。T1CK[2:0]=000B,選擇
了 ETM 的時鐘源為系統頻率的 4 除頻。T1ON=0,關閉了 ETM。
TM1C1 設定為 00111001B,即 T1AM[1:0]=00,選擇了 ETM 的 TP1A 工作在匹配輸出模式。
T1AIO[1:0]=11,TP1A 輸出翻轉。T1CCLR=1,選擇 TP1CCRA 匹配清除為零計數器。
TM1C2 設定為 10100000B,即 T1BM[1:0]=10,選擇了 ETM 的 TP1B 工作在 PWM 模式。
T1BIO[1:0]=10,TP1B 輸出 PWM。T1BOC=0,設定了 TP1B 所產生的 PWM 有效準位為低準
位。T1PWM[1:0]=00,選擇邊緣對齊模式。
設定 TM1AH/TM1AL=01H/00H,設定 TM1BH/TM1BL=00H/40H。故 TP1A 產生的 PFD 的週期
為 512 Clock,TP1B 產生的 PWM 的週期為 256Clock。有效準位為低準位,寬度為 64Clock。
啟動 ETM,關掉中斷,等待。
8
如何使用 HT66F40 ETM Input Capture 功能
程式範例 (範例 1)
configuration option:
High Freq.OSC:
XTAL
Low Freq.OSC:
LIRC
Fsub clock source:
LIRC
WDT clock source fs:
fsub
HIRC frequency selection: 4MHz
PTC clock source fptc:
LIRC
WDT:
Disable
I/O or RESB Function:
IO
;other option select by user.
程式代碼及說明:見附件。
實際輸出波形圖及說明。
TP1A Compare
output Duty is 1:1
256us
TP1B Duty : 64us
TP1B Period : 256us
T1PWM=00;T1CCLR=1;T1AOC=1;T1BOC=0;
上圖中,上面部分爲 PFD 輸出,下面部分爲 PWM 輸出。
9
如何使用 HT66F40 ETM Input Capture 功能
S/W Flowchart (Mode 2)
程序説明 (Mode 2)
本範例是介紹如何使用 ETM 產生 PWM (Mode2)。
主程式流程介紹:程式首先所使用到的資料儲存器清除為零初始化。對 CP0C、CP1C 賦值
08H,關閉比較器功能。對 ACERL 和 SCOMEN 清除為零,關閉模擬量輸入功能和 LCD 功
能。TMPC0 設定為 0F0H,即相應使能了 TP1A、TP1B_0、TP1B_1、TP1B_2 功能。
TM1C0 設定為 00000110B,即 T1PAU=0,取消了計數器暫停功能。T1CK[2:0]=000B,選擇
了 ETM 的時鐘源為系統頻率的 4 除頻。T1ON=0,關閉了 ETM。T1RP 為 768 Clock。
TM1C1 設定為 10100000B,即 T1AM[1:0]=10,選擇了 ETM 的 TP1A 工作在 PWM 模式。
T1AIO[1:0]=10,TP1A 輸出 PWM。T1AOC=0,設定了 TP1A 所產生的 PWM 有效準位為低準
位。T1CCLR=0,選擇 CCRP 匹配清除為零計數器。
TM1C2 設定為 10101000B,即 T1BM[1:0]=10,選擇了 ETM 的 TP1B 工作在 PWM 模式。
T1BIO[1:0]=10,TP1B 輸出 PWM。T1BOC=1,設定了 TP1B 所產生的 PWM 有效準位為高準
位。T1PWM[1:0]=00,選擇邊緣對齊模式。
設定 TM1AH/TM1AL=01H/00H,設定 TM1BH/TM1BL=00H/40H。故 TP1A 產生的 PWM 的週
期為 768 Clock,有效準位為低準位,寬度為 256Clock。TP1B 產生的 PWM 的週期為 768Clock。
有效準位為高準位,寬度為 64Clock。啟動 ETM、關掉中斷、等待。
10
如何使用 HT66F40 ETM Input Capture 功能
程序範例(Mode 2)
configuration option :
High Freq.OSC:
XTAL
Low Freq.OSC:
LIRC
Fsub clock source:
LIRC
WDT clock source fs:
fsub
HIRC frequency selection: 4MHz
PTC clock source fptc:
LIRC
WDT:
Disable
I/O or RESB Function:
IO
;other option select by user.
程式代碼及說明:見附件
實際輸出波形圖及說明。
TP1A Duty : 256us
TP1A Period : 768us
TP1B Duty : 64us
TP1B Period : 768us
上圖中,上面部分爲 CCRA 通道 PWM 輸出波形。
下面部分爲 CCRB 通道 PWM 輸出波形。
T1PWM=00;T1CCLR=0;T1AOC=0;T1BOC=1。
11
如何使用 HT66F40 ETM Input Capture 功能
S/W Flowchart(Mode 3)
程序説明 (Mode 3)
本範例是介紹如何使用 ETM 產生 PWM(Mode3)。
主程式流程介紹:程式首先所使用到的資料儲存器清除為零初始化。對 CP0C、CP1C 賦值
08H,關閉比較器功能。對 ACERL 和 SCOMEN 清除為零,關閉模擬量輸入功能和 LCD 功
能。TMPC0 設定為 0F0H,即相應使能了 TP1A、TP1B_0、TP1B_1、TP1B_2 功能。
TM1C0 設定為 00000000B,即 T1PAU=0,取消了計數器暫停功能。T1CK[2:0]=000B,選擇
了 ETM 的時鐘源為系統頻率的 4 除頻。T1ON=0,關閉了 ETM。
TM1C1 設定為 10100001B,即 T1AM[1:0]=10,選擇了 ETM 的 TP1A 工作在 PWM 模式。
T1AIO[1:0]=10,TP1A 輸出 PWM。T1AOC=0,設定了 TP1A 所產生的 PWM 有效準位為低準
位。T1CCLR=1,選擇 CCRA 匹配清除為零計數器。
TM1C2 設定為 10101011B,即 T1BM[1:0]=10,選擇了 ETM 的 TP1B 工作在 PWM 模式。
T1BIO[1:0]=10,TP1B 輸出 PWM。T1BOC=1,設定了 TP1B 所產生的 PWM 有效準位為高準
位。T1PWM[1:0]=11,選擇中心對齊模式。
設定 TM1AH/TM1AL=01H/00H,設定 TM1BH/TM1BL=00H/40H。TP1A 不產生 PFD,無波形
輸出。TP1B 產生的 PWM 的週期為 512Clock。有效準位為高準位,寬度為 128Clock。關掉
中斷、等待。
12
如何使用 HT66F40 ETM Input Capture 功能
程序範例(Mode 3)
configuration option :
High Freq.OSC:
XTAL
Low Freq.OSC:
LIRC
Fsub clock source:
LIRC
WDT clock source fs:
fsub
HIRC frequency selection: 4MHz
PTC clock source fptc:
LIRC
WDT:
Disable
I/O or RESB Function:
IO
;other option select by user.
程式代碼及說明:見附件
實際輸出波形圖及說明。
Duty : 128us
Period: 512us
T1PWM=11;T1CCLR=1;T1BOC=1。
13
如何使用 HT66F40 ETM Input Capture 功能
S/W Flowchart (Mode 4)
程序説明 (Mode4)
本範例是介紹如何使用 ETM 產生 PWM (Mode4)。
主程式流程介紹:程式首先所使用到的資料儲存器清除為零初始化。對 CP0C、CP1C 賦值
08H,關閉比較器功能。對 ACERL 和 SCOMEN 清除為零,關閉模擬量輸入功能和 LCD 功
能。TMPC0 設定為 0F0H,即相對應使能了 TP1A、TP1B_0、TP1B_1、TP1B_2 功能。
TM1C0 設定為 00000110B,即 T1PAU=0,取消了計數器暫停功能。T1CK[2:0]=000B,選擇
了 ETM 的時鐘源為系統頻率的 4 除頻。T1ON=0,關閉了 ETM。T1RP=110B,即 768 Clock。
TM1C1 設定為 10100000B,即 T1AM[1:0]=10,選擇了 ETM 的 TP1A 工作在 PWM 模式。
T1AIO[1:0]=10,TP1A 輸出 PWM。T1AOC=0,設定了 TP1A 所產生的 PWM 有效準位為低準
位。T1CCLR=0,選擇 CCRP 匹配清除為零計數器。
TM1C2 設定為 10101011B,即 T1BM[1:0]=10,選擇了 ETM 的 TP1B 工作在 PWM 模式。
T1BIO[1:0]=10,TP1B 輸出 PWM。T1BOC=1,設定了 TP1B 所產生的 PWM 有效準位為高準
位。T1PWM[1:0]=11,選擇中心對齊模式。
設定 TM1AH/TM1AL=01H/00H,設定 TM1BH/TM1BL=00H/40H。TP1B 產生的 PWM 的週期
為 1536Clock。有效準位為低準位,寬度為 512Clock。TP1B 產生的 PWM 的週期為 1536Clock。
有效準位為高準位,寬度為 128Clock。開啟 ETM、關掉中斷、等待。
14
如何使用 HT66F40 ETM Input Capture 功能
程序範例(Mode 4)
configuration option :
High Freq.OSC:
XTAL
Low Freq.OSC:
LIRC
Fsub clock source:
LIRC
WDT clock source fs:
fsub
HIRC frequency selection: 4MHz
PTC clock source fptc:
LIRC
WDT:
Disable
I/O or RESB Function:
IO
;other option select by user.
程式代碼及說明:見附件。
實際輸出波形圖及說明。
TP1A Duty:512us
TP1A Period:1536us
TP1B Duty:128us
TP1B Period : 1536us
T1PWM=11;T1CCLR=0;T1AOC=0;T1BOC=1。
結論
本文通過四個 ETM PWM 的應用實例,對 ETM PWM 的靈活運用進行了闡述,使用者可根
據具體情況來使用 ETM PWM 的強大功能。
15
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising