pca[可程式計數器陣列]

PCA(可程式計數器陣列Programmable Counter Array)有 5 個 16 位的捕獲/比較模組與之相連,由高位元組(PCA0H)和低位元組(PCA0L)組成。在讀PCA0L 的同時自動鎖存PCA0H 的值,先讀PCA0L 暫存器將使PCA0H 的值得到保持(在讀PCA0L 的同時),直到用戶讀PCA0H 暫存器為止。讀PCA0H 或PCA0L 不影響計數器工作。PCA0MD 暫存器中的CPS2-CPS0 位用於選擇PCA 計數器/定時器的時基信號。

可程式計數器陣列

P.S.[C8051F4XX系列單片機所帶有的PCA介紹]

PCA(可程式計數器陣列Programmable Counter Array)有 5 個 16 位的捕獲/比較模組與之相連,由高位元組(PCA0H)和低位元組(PCA0L)組成。在讀PCA0L 的同時自動鎖存PCA0H 的值,先讀PCA0L 暫存器將使PCA0H 的值得到保持(在讀PCA0L 的同時),直到用戶讀PCA0H 暫存器為止。讀PCA0H 或PCA0L 不影響計數器工作。PCA0MD 暫存器中的CPS2-CPS0 位用於選擇PCA 計數器/定時器的時基信號。

CPS2 CPS1 CPS0時間基準

0 0 0系統時鐘的12 分頻

0 0 1 系統時鐘的4 分頻

0 1 0 定時器0 溢出

0 1 1 ECI 負跳變(最大速率 = 系統時鐘頻率/4)

1 0 0 系統時鐘

1 0 1 外部振盪源8 分頻(與系統時鐘同步)

1.工作原理:當計數/定時器溢出時,PCA0MD中的計數器溢出標誌(CF)被置為1,並產生中斷請求(如果CF 中斷被允許)。將PCA0MD 中ECF 位設定為邏輯1 即可允許CF 標誌產生中斷請求。當CPU 轉向中斷服務程式時,CF 位不能被硬體自動清除,必須用軟體清0。(注意:要使CF 中斷得到回響,必須先總體允許PCA0 中斷。通過將EA 位(IE.7 )和EPCA0 (EIE1.3 )設定為邏輯1 來總體允許PCA0 中斷。清除PCA0MD暫存器中的CIDL 位將允許PCA 在微控制器核心處於等待方式時繼續正常工作。

位7: CF: PCA 計數器/定時器溢出標誌

當PCA0 計數器/定時器從0xFFFF 到0x0000 溢出時由硬體置位。在計數器/

定時器溢出(CF) 中斷被允許時,該位置1 將導致CPU 轉向CF 中斷服務

程式。該位不能由硬體自動清0, 必須用軟體清0

位6: CR: PCA0 計數器/定時器運行控制

該位允許禁止PCA0 計數器定時器

0: 禁止PCA0 計數器定時器

1: 允許PCA0 計數器定時器

位5: 未用讀=0b 寫=忽略

位4: CCF4 PCA0 模組4 捕捉/比較標誌

在發生一次匹配或捕捉時該位由硬體置位。當CCF 中斷被允許時,該位置1

將導致CPU 轉向CCF 中斷服務程式。該位不能由硬體自動清0 必須用軟體

清0

位3: CCF3: PCA0 模組3 捕捉/比較標誌

在發生一次匹配或捕捉時該位由硬體置位。當CCF 中斷被允許時該位置1

將導致CPU 轉向CCF 中斷服務程式。該位不能由硬體自動清0 ,必須用軟體

清0

位2: CCF2: PCA0 模組2 捕捉/比較標誌

在發生一次匹配或捕捉時該位由硬體置位。當CCF 中斷被允許時該位置1

將導致CPU 轉向CCF 中斷服務程式。該位不能由硬體自動清0 ,必須用軟體

清0

位1: CCF1: PCA0 模組1 捕捉/比較標誌

在發生一次匹配或捕捉時該位由硬體置位。當CCF 中斷被允許時該位置1

將導致CPU 轉向CCF 中斷服務程式。該位不能由硬體自動清0 ,必須用軟體

清0

位0: CCF0: PCA0 模組0 捕捉/比較標誌

在發生一次匹配或捕捉時該位由硬體置位。當CCF 中斷被允許時該位置1

將導致CPU 轉向CCF 中斷服務程式。該位不能由硬體自動清0 ,必須用軟體

清0

PCA0MD:PCA發生選擇暫存器

CIDL - - - CPS2 CPS1 CPS0 ECF 00000000

位7 位6 位5 位4 位3 位2 位1 位0 SFR地址

0xD9

位7: CIDL: PCA0 計數器/定時器等待控制

規定CPU 等待方式下的PCA0 工作方式

0: 當系統控制器處於等待方式時,PCA0 繼續正常工作

1: 當系統控制器處於等待方式時,PCA0 停止工作

位6-4 :未用讀=000b 寫=忽略

位3-1: CPS2-CPS0 PCA0 計數器/定時器脈衝選擇

位0: ECF: PCA 計數器/定時器溢出中斷允許

該位是PCA0 計數器/定時器溢出CF 中斷的禁止位

0: 禁止CF 中斷

1: 當CF(PCA0CN.7) 置位時允許PCA0 計數器/定時器溢出中斷請求

PCA0CPMn 地址 PCA0CPM0 0xDA(n=0)

PCA0CPM1 0xDB(n=1)

PCA0CPM2 0xDC(n=2)

PCA0CPM3 0xDD(n=3)

PCA0CPM4 0xDE(n=4)

位7: PWM16n: 16 位脈衝寬度調製允許

當脈衝寬度調製方式被允許時(PWMn = 1), 該位選擇16 位方式

0: 選擇8 位PWM

1: 選擇16 位PWM

位6: ECOMn: 比較器功能允許

該位允許禁止PCA0 模組n 的比較器功能

0: 禁止 1: 允許

位5: CAPPn: 正沿捕捉功能允許

該位允許禁止PCA0 模組n 的正邊沿捕捉

0: 禁止 1: 允許

位4: CAPNn 負沿捕捉功能允許

該位允許禁止PCA0 模組n 的負邊沿捕捉

0: 禁止 1: 允許

位3: MATn 匹配功能允許

該位允許/禁止PCA0 模組n 的匹配功能.如果被允許,當PCA0 計數器與一

個模組的捕捉比較暫存器匹配時,PCA0MD 暫存器中的CCFn 位置位

0 :禁止

1: 允許

位2: TOGn 電平切換功能允許

該位允許/禁止PCA0 模組n 的電平切換功能.如果被允許,當PCA0 計數器

與一個模組的捕捉/比較暫存器匹配時,CEXn 引腳的邏輯電平切換.如果

PWMn 位也被置為邏輯1, 則模組工作在頻率輸出方式

0: 禁止

1: 允許

位1: PWMn 脈寬調製方式允許

該位允許/禁止PCA0 模組的PWM 功能.如果被允許,CEXn 引腳輸出脈衝

寬度調製信號.如果PWM16n 為邏輯0, 使用8 位PWM 方式;如果PWM16n

為邏輯1, 使用16 位方式;如果TOGn 位也被置為邏輯1 ,則模組工作

在頻率輸出方式

0: 禁止

1: 允許

位0: ECCFn 捕捉比較標誌中斷允許

該位設定捕捉比較標誌CCFn 的中斷禁止

0: 禁止CCFn 中斷

1: 當CCFn 位被置1 時允許捕捉比較標誌的中斷請求

3.捕捉/比較模組的工作方式:

邊沿觸發捕捉、軟體定時器、高速輸出、頻率輸出、8位脈寬調製器以及16位脈寬調製器

相關詞條

熱門詞條

聯絡我們