一、捕抓/比較/脈寬調(diào)制模塊 PICI6C64的RC2/C CPI腳具有捕抓/比較/PWM輸出的功能,對應(yīng)于內(nèi)部的捕抓/比較/PWM模塊,簡稱CCPI模塊。該模塊內(nèi)有一16位寄存器。(CCPR1)可由軟件設(shè)置而作為捕抓寄存器,比較寄存器或PWM輸出寄存器。由圖工中的CCP1控制寄存器(CCP1CON)來選擇模式。 (一)捕抓功能 RC2/CCP 1腳作為捕抓功能時,應(yīng)置為輸入態(tài)。當(dāng)有脈沖事件在CCP1腳上發(fā)生時,CCPR1即捕抓記錄下此時TMR1(計數(shù)器1)的值,井產(chǎn)生捕抓發(fā)生中斷請求. 例程1. BSF TRISC,2 ;CCP1腳置為輸入 MOVLW,XXXX0101;選CCP1為捕抓模式, 每個上升沿有效 MOVWF CCP1CON ;設(shè)置CCPP1控制寄存器
捕抓功能可用以計算外部脈沖寬度(頻率)等。
0000:CCP1模式功能關(guān)閉(復(fù)位). 0100:捕抓模式,CCP1腳每個下降沿捕抓. 0101:捕抓模式,CCP1腳每個上升沿捕抓。 0110:捕抓模式,CCP1腳每4個上升沿捕抓。 0111:捕抓模式,CCP1腳每16個上升沿捕抓。 1000:比較模式,符合時CCP1腳置1。 1001:比較模式,符合時CCP1腳清0。 1010:比較模式,符合時CCCP1腳不變, 產(chǎn)生中斷請求。 1011:比較模式:觸發(fā)特殊事件發(fā)生。 11XX:PWM輸出模式 (二)比較功能 RC2/CCP1腳此時應(yīng)置為輸出態(tài)。在比較模式下,CCPR1寄存器不停地和TMR1寄存器比較,當(dāng)兩者的值相等(匹配)時,可使RC2/CCP1腳出現(xiàn)下列情況。 (1)拉為高電平 (2)拉為低電平 (3)保持不變。 同時還會產(chǎn)生比較中斷請求。 例程2. BCF TRISC,2 ;CCP1腳置為輸出 MOVLW XXXX1000;選CCP1為比較模式 匹配時CCP1腳置高電平 MOVWF CCP1CON ;設(shè)置OCPI控制寄存器 比較功能常用來定時驅(qū)動某種部件。
|
(三)PWM 功能 此時RC2/CCP1腳應(yīng)置為輸出態(tài),在PWM模式下,用戶 將8位頻寬比(Duty Cycle)置人CCPR1的低8位字節(jié)CCPR1L,而高8位CCPR1H作為PWM寄存器。PWM產(chǎn)生的過 程如圖之所示: PWM周期=[(PR2)十1」×4Tosc ×(TMR2預(yù)分頻值) PWM Dwty Cycle=DC1×Tosc×(TMR2預(yù)分頻值) 其中DC1=CCPR1L和CCPR1CON(5:4)組成的10位值,所以PWM輸出分辨率最高可達(dá)10位。 PWM頻率和分辨率的關(guān)系(20 MHz振蕩下、見表1. 表1 PWM頻率和分辨率關(guān)系表
最高分辨率 |
頻 率 |
|
TMB2 預(yù)分頻=1 |
TMB2 預(yù)分頻=1 |
TMB2 預(yù)分頻=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、移位寄存器、顯示驅(qū)動器,A/D轉(zhuǎn)換器等。SSP模塊可以由用戶選擇兩種工作方式 (1)串行外部接口(SPI) (2)I2C接口 (一)串行外部按口(SPI)方式 SPI方式可讓8位數(shù)據(jù)同步傳輸和接收,用3個腳完成其通訊功能: (1)串行數(shù)據(jù)出(SDO) (2)串行數(shù)據(jù)人(SDI) (3)串行時鐘(SCK) PICI6C64有一個SSP拉制寄存器SSP CON,用戶可用軟件對其進(jìn)行設(shè)置,選擇自己需要的工作方式。另一個SSP狀態(tài)寄存器SSPSTAT則記錄了SSP的各種工作狀態(tài)。 通過設(shè)置SSPCON(5:0)位,就可使SPI 工作在下列方式。 (1)主控方式(SCK作時鐘輸出) (2)從屬方式(SCK作時鐘輸入) (3)時鐘極性(SCK上升/下降沿傳輸數(shù)據(jù)) 圖3給出兩個微處理器相連的典型例子.
主控器(微處理器1)通過SCK信號來開始傳輸數(shù)據(jù)。數(shù)據(jù)通過移位寄存器在各自的時鐘邊沿傳送,并 在下個邊沿被鎖存。兩個處理器以相同的時鐘極性進(jìn) 行串行通訊,兩個處理器即可同時發(fā)送與接收數(shù)據(jù)。 (二)I2C方式 SSP在I2C模式下可完成所有從控器(Slave)的功能,并提供硬件支持主控制(Master)的軟件實現(xiàn)。兩個腳用于數(shù)據(jù)傳輸:RC3/SCK/SCL(時鐘)和RC4/ SD1/SDA(數(shù)據(jù)),PICI6C64的I2C串行通訊支持7位和10位尋址,可完成標(biāo)準(zhǔn)和快速方式的數(shù)據(jù)傳輸。 用戶通過設(shè)置SSPCON(3:O)可使I2C操作工作在如下幾種方式: (1)I2C從控器模式(7位地址)。 (2)I2C從控器模式(10位地址)。 (3)I2C從控器模式(7位地址)并支持主控模式, (4)I2C從控器模式(10位地址)并支持主控模式。 (5)I2C主控器模式,從控方式不用。 SSPSTAT寄存器指出數(shù)據(jù)傳輸?shù)臓顟B(tài),包括STABT和STOP位的檢測,區(qū)別地址和數(shù)據(jù),判別下一字節(jié)是否10位的地址及數(shù)據(jù)傳送的方向。 關(guān)于I2C技術(shù)詳述,讀者可參閱PHILIPS公司的 有關(guān)資料。
|