|
一、捕抓/比較/脈寬調制模塊 PICI6C64的RC2/C CPI腳具有捕抓/比較/PWM輸出的功能,對應于內部的捕抓/比較/PWM模塊,簡稱CCPI模塊。該模塊內有一16位寄存器。(CCPR1)可由軟件設置而作為捕抓寄存器,比較寄存器或PWM輸出寄存器。由圖工中的CCP1控制寄存器(CCP1CON)來選擇模式。 (一)捕抓功能 RC2/CCP 1腳作為捕抓功能時,應置為輸入態。當有脈沖事件在CCP1腳上發生時,CCPR1即捕抓記錄下此時TMR1(計數器1)的值,井產生捕抓發生中斷請求. 例程1. BSF TRISC,2 ;CCP1腳置為輸入 MOVLW,XXXX0101;選CCP1為捕抓模式, 每個上升沿有效 MOVWF CCP1CON ;設置CCPP1控制寄存器
捕抓功能可用以計算外部脈沖寬度(頻率)等。

0000:CCP1模式功能關閉(復位). 0100:捕抓模式,CCP1腳每個下降沿捕抓. 0101:捕抓模式,CCP1腳每個上升沿捕抓。 0110:捕抓模式,CCP1腳每4個上升沿捕抓。 0111:捕抓模式,CCP1腳每16個上升沿捕抓。 1000:比較模式,符合時CCP1腳置1。 1001:比較模式,符合時CCP1腳清0。 1010:比較模式,符合時CCCP1腳不變, 產生中斷請求。 1011:比較模式:觸發特殊事件發生。 11XX:PWM輸出模式 (二)比較功能 RC2/CCP1腳此時應置為輸出態。在比較模式下,CCPR1寄存器不停地和TMR1寄存器比較,當兩者的值相等(匹配)時,可使RC2/CCP1腳出現下列情況。 (1)拉為高電平 (2)拉為低電平 (3)保持不變。 同時還會產生比較中斷請求。 例程2. BCF TRISC,2 ;CCP1腳置為輸出 MOVLW XXXX1000;選CCP1為比較模式 匹配時CCP1腳置高電平 MOVWF CCP1CON ;設置OCPI控制寄存器 比較功能常用來定時驅動某種部件。
 |
(三)PWM 功能 此時RC2/CCP1腳應置為輸出態,在PWM模式下,用戶 將8位頻寬比(Duty Cycle)置人CCPR1的低8位字節CCPR1L,而高8位CCPR1H作為PWM寄存器。PWM產生的過 程如圖之所示: PWM周期=[(PR2)十1」×4Tosc ×(TMR2預分頻值) PWM Dwty Cycle=DC1×Tosc×(TMR2預分頻值) 其中DC1=CCPR1L和CCPR1CON(5:4)組成的10位值,所以PWM輸出分辨率最高可達10位。 PWM頻率和分辨率的關系(20 MHz振蕩下、見表1. 表1 PWM頻率和分辨率關系表
| 最高分辨率 |
頻 率 |
| |
TMB2 預分頻=1 |
TMB2 預分頻=1 |
TMB2 預分頻=1 |
| 10位 |
19.53kH |
4.88kH |
1.22kH |
| 9位 |
39.06kH |
9.77kH |
2.44kH |
| 8位 |
78.13kh |
19.53kh |
4.88kH |
二、同步串行口(SSP) PICI6C64具有同步串行口簡稱SSP,可用于與其他外圍裝置或微控制器通訊。外圍裝置可以是EEPROM、移位寄存器、顯示驅動器,A/D轉換器等。SSP模塊可以由用戶選擇兩種工作方式 (1)串行外部接口(SPI) (2)I2C接口 (一)串行外部按口(SPI)方式 SPI方式可讓8位數據同步傳輸和接收,用3個腳完成其通訊功能: (1)串行數據出(SDO) (2)串行數據人(SDI) (3)串行時鐘(SCK) PICI6C64有一個SSP拉制寄存器SSP CON,用戶可用軟件對其進行設置,選擇自己需要的工作方式。另一個SSP狀態寄存器SSPSTAT則記錄了SSP的各種工作狀態。 通過設置SSPCON(5:0)位,就可使SPI 工作在下列方式。 (1)主控方式(SCK作時鐘輸出) (2)從屬方式(SCK作時鐘輸入) (3)時鐘極性(SCK上升/下降沿傳輸數據) 圖3給出兩個微處理器相連的典型例子.

主控器(微處理器1)通過SCK信號來開始傳輸數據。數據通過移位寄存器在各自的時鐘邊沿傳送,并 在下個邊沿被鎖存。兩個處理器以相同的時鐘極性進 行串行通訊,兩個處理器即可同時發送與接收數據。 (二)I2C方式 SSP在I2C模式下可完成所有從控器(Slave)的功能,并提供硬件支持主控制(Master)的軟件實現。兩個腳用于數據傳輸:RC3/SCK/SCL(時鐘)和RC4/ SD1/SDA(數據),PICI6C64的I2C串行通訊支持7位和10位尋址,可完成標準和快速方式的數據傳輸。 用戶通過設置SSPCON(3:O)可使I2C操作工作在如下幾種方式: (1)I2C從控器模式(7位地址)。 (2)I2C從控器模式(10位地址)。 (3)I2C從控器模式(7位地址)并支持主控模式, (4)I2C從控器模式(10位地址)并支持主控模式。 (5)I2C主控器模式,從控方式不用。 SSPSTAT寄存器指出數據傳輸的狀態,包括STABT和STOP位的檢測,區別地址和數據,判別下一字節是否10位的地址及數據傳送的方向。 關于I2C技術詳述,讀者可參閱PHILIPS公司的 有關資料。
|