PIC16C64單片機外部功能特點
此時RC2/CCP1腳應置為輸出態(tài),在PWM模式下,用戶將8位頻寬比(Duty Cycle)置人CCPR1的低8位字節(jié)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頻率和分辨率關系表
二、同步串行口(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狀態(tài)寄存器SSPSTAT則記錄了SSP的各種工作狀態(tài)。??
通過設置SSPCON(5:0)位,就可使SPI 工作在下列方式。
(1)主控方式(SCK作時鐘輸出)
(2)從屬方式(SCK作時鐘輸入)
(3)時鐘極性(SCK上升/下降沿傳輸數據) 圖3給出兩個微處理器相連的典型例子.
主控器(微處理器1)通過SCK信號來開始傳輸數據。數據通過移位寄存器在各自的時鐘邊沿傳送,并在下個邊沿被鎖存。兩個處理器以相同的時鐘極性進 行串行通訊,兩個處理器即可同時發(fā)送與接收數據。(二)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寄存器指出數據傳輸的狀態(tài),包括STABT和STOP位的檢測,區(qū)別地址和數據,判別下一字節(jié)是否10位的地址及數據傳送的方向。??
評論