版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PIC單片機原理及應(yīng)用(第三版)下主編:李榮正1第0章鍵盤和顯示鍵盤和顯示是單片機控制系統(tǒng)非常重要的人機交互界面。
20.1八段數(shù)碼顯示1、八段數(shù)碼顯示器的編碼數(shù)值編碼數(shù)值編碼106H67DH25BH707H34FH87FH466H96FH56DH03FH2、編碼查表程序33、多位數(shù)字動態(tài)顯示多位數(shù)字動態(tài)顯示涉及數(shù)據(jù)的傳送和顯示位的控制。位控制顯示數(shù)據(jù)〔編碼〕停留時間〔確保視覺需要〕44、多位數(shù)字靜態(tài)顯示多位數(shù)字靜態(tài)顯示涉及數(shù)據(jù)顯示位數(shù)據(jù)的鎖存控制,一般采用兩種方案實現(xiàn)。多位74LS164移位存放器采用74LS224和74LS373數(shù)據(jù)鎖存50.2獨立鍵盤和矩陣鍵盤1、獨立鍵盤
62、矩陣鍵盤
7第9章串行通信模塊
串行擴展通信接口是單片機與其它計算機之間進行數(shù)據(jù)交換的重要渠道,F(xiàn)877單片機主要配置有2種形式的串行通信模塊:主控同步串行通信MSSP〔MasterSynchronousSerialPort〕通用同步/異步收發(fā)器USART〔UniversalSynchronous/AsynchronousReceiverTransmitter〕。
8
MSSP模塊主要應(yīng)用于系統(tǒng)內(nèi)部近距離的串行通信擴展,如SPI、I2C模式。USART模塊主要應(yīng)用于系統(tǒng)之間的遠距離串行通信,在外圍接口電路及計算機通信中應(yīng)用相當(dāng)廣泛。
9
9.1SPI串行通信模塊
SPI〔SerialPeripheralInterface〕是一種單片機外設(shè)芯片同步串行擴展接口,由摩托羅拉公司推出。采用SPI接口外圍器件的特點是引腳性價比高等優(yōu)點,因而在市場上得到了廣泛的應(yīng)用。109.1.1SPI模式下相關(guān)存放器在SPI模式下,有關(guān)的存放器共有10個,其中無編址的只有一個SSPSR。這10個存放器中有6個存放器是與其它模塊共用的。另外有4個存放器與MSSP模塊相關(guān),它們是與I2C模式共用的。111.SSPBUF〔收/發(fā)數(shù)據(jù)緩沖器〕122.SSPSTAT〔同步串口狀態(tài)存放器〕13Bit0/BF:緩沖器滿標(biāo)志位,被動參數(shù)。僅僅用于SPI接收狀態(tài)下:0:緩沖器空;1:緩沖器滿。Bit6/CKE:SPI時鐘沿選擇和I2C總線輸入電平選擇位。在CKP=0,靜態(tài)電平為低時:0:SCK的下降沿發(fā)送數(shù)據(jù);1:SCK的上升沿發(fā)送數(shù)據(jù)。在CKP=1,靜態(tài)電平為高時:0:SCK的上升沿發(fā)送數(shù)據(jù);1:SCK的下降沿發(fā)送數(shù)據(jù)。14Bit7/SMP:SPI采樣控制位兼I2C總線轉(zhuǎn)換率控制位。在SPI主控方式下:0:在輸出數(shù)據(jù)的中間采樣輸入數(shù)據(jù);1:在輸出數(shù)據(jù)的末尾采樣輸入數(shù)據(jù)。注意:在SPI從動方式下,SMP位必須置位。153.SSPCON〔同步串口控制存放器〕16同步串行口MSSP方式選擇位
17Bit4/CPK:時鐘極性選擇位。0:表示空閑時時鐘停留在低電平;1:表示空閑時時鐘停留在高電平。Bit5/SSPEN:同步串口MSSP使能位。在SPI模式下時,有關(guān)引腳必須正確的設(shè)定為輸入或輸出狀態(tài)。0:關(guān)閉串行端口功能,且設(shè)定SCK、SOD、SDI和SS為普通數(shù)字I/O腳;1:允許串行端口工作,且設(shè)定SCK、SOD、SDI和SS為SPI接口專用。18Bit6/SSPOV:接收溢出標(biāo)志位,被動參數(shù)。0:未發(fā)生接收溢出;1:發(fā)生接收溢出。注意:所指的接收溢出是緩沖器SSPBUF中數(shù)據(jù)還未取出時,移位存放器SSPSR中又收到新的數(shù)據(jù),原SSPSR中的數(shù)據(jù)喪失。19Bit7/WCOL:寫操作沖突檢測位,被動參數(shù)。在SPI從動方式下:0:未發(fā)生沖突;1:發(fā)生沖突。注意:當(dāng)WCOL=1,正在發(fā)送前一個數(shù)據(jù)時,又有新數(shù)據(jù)寫入SSPBUF,必須用軟件予以清零。
204.SSPSR移位存放器直接從端口引腳接收或發(fā)送數(shù)據(jù),將已經(jīng)成功接收到的數(shù)據(jù)送到緩沖器SSPBUF中,或者從緩沖器SSPBUF讀取將發(fā)送的數(shù)據(jù)。219.1.2SPI模式工作原理
要發(fā)送的數(shù)據(jù)通過數(shù)據(jù)總線送入發(fā)送緩沖器,然后自動傳送到移位存放器中;移位存放器接收到數(shù)據(jù)自動傳送到接收緩沖器,然后由程序讀取收到的數(shù)據(jù);移位存放器有移入和移出兩個端口,分別與收和發(fā)兩條通信線路連接,負責(zé)收發(fā)數(shù)據(jù)。22SPI模式電路的根本結(jié)構(gòu)23SPI工作原理示意圖
24【例題】如圖9-5為8位數(shù)碼顯示和16個鍵盤電路,利用F877的SPI同步串行功能實現(xiàn)數(shù)碼管數(shù)據(jù)串行傳送,并通過8個74LS164組成的移位電路,到達數(shù)碼數(shù)據(jù)的靜態(tài)顯示。而16個鍵盤組成矩陣電路,采用RD口上下四復(fù)合選通。請編寫相應(yīng)的應(yīng)用程序,要求:在系統(tǒng)復(fù)位后8位數(shù)碼管全暗,接著1、2、3…7分別從數(shù)碼管的最高位到最低位依次點亮,最后直接進入系統(tǒng)的監(jiān)控狀態(tài),以在最高位出現(xiàn)“-”為標(biāo)志。
25【例題】在電路原理圖9-5根底上,對其電路結(jié)構(gòu)稍作調(diào)整,以便外擴展一個靜態(tài)128KEPROM數(shù)據(jù)存儲器。利用RC3、RC4、RC5引腳組成一個SPI同步串行方式,通過164移位產(chǎn)生17位尋址功能,實現(xiàn)對HM628128的并行數(shù)據(jù)傳送〔RD端口〕。編程要求:首先將256個數(shù)據(jù)00H-FFH存入EPROM單元0000H-00FFH中,然后再將這些單元中的數(shù)據(jù)逐個取出,送往數(shù)碼顯示區(qū)的最后兩位顯示數(shù)據(jù)內(nèi)容,每個數(shù)顯示停留1秒種。26第7章定時器/計數(shù)器定時器/計數(shù)器模塊是大局部單片機都內(nèi)置的一項重要功能,定時器/計數(shù)器的正常工作一般表現(xiàn)為計數(shù)累計功能,通常是由時鐘脈沖來驅(qū)動。定時器/計數(shù)器模塊一般適用于以下3種不同的應(yīng)用場合:27從單片機I/O引腳上向外部電路輸出一系列符合一定時序標(biāo)準(zhǔn)的方波信號。從單片機I/O引腳上,檢測外部電路輸入的一系列方波信號的脈寬、周期或頻率,以便單片機接收外部電路的輸入信號或通信信號。單片機對其端口引腳上輸入的由外部事件產(chǎn)生的觸發(fā)信號進行準(zhǔn)確地計數(shù),依據(jù)計數(shù)結(jié)果來控制完成相應(yīng)的動作。28
單片機配置3個定時器/計數(shù)器模塊:CCP:輸入捕捉、輸出比較和PWM脈沖寬度調(diào)制功能低頻時基振蕩器:32768Hz29三者的共同點:它們的核心局部都是一個由時鐘信號觸發(fā),按遞增方式累加工作的循環(huán)計數(shù)器;從預(yù)先設(shè)定的某一初始值開始累計,在累計到計數(shù)器產(chǎn)生溢出,并且同時會建立一個相應(yīng)的溢出中斷標(biāo)志。307.2定時器/計數(shù)器TMR1 定時器/計數(shù)器TMR1是一個16位的計數(shù)存放器,帶有一個3位的可編程預(yù)分頻器和一個內(nèi)置的低功耗低頻時基振蕩器。31TMR1的用途:TMR1可作通用的定時器和計數(shù)器;利用內(nèi)置的低頻時基振蕩器,可實現(xiàn)實時時鐘RTC功能TMR1與CCP模塊配合使用,可實現(xiàn)輸入捕捉和輸出比較功能。32定時器/計數(shù)器TMR1的特性:一個16位的由時鐘信號上升沿觸發(fā)的累加計數(shù)寄器對TMR1L:TMR1H;TMR1L和TMR1H是在RAM中統(tǒng)一編址的存放器對,地址為0EH和0FH,可用軟件方式讀/寫TMR1存放器對的內(nèi)容;一個可選用的3位可編程預(yù)分頻器;累加計數(shù)的信號源可選擇內(nèi)部系統(tǒng)時鐘、外部觸發(fā)信號或自帶時基振蕩器信號;33定時器/計數(shù)器TMR1的特性:
既可工作于定時器模式又可工作于計數(shù)器模式,還可用作實時時鐘RTC;在計數(shù)器溢出時,相應(yīng)的溢出中斷標(biāo)志自動置位,并可產(chǎn)生溢出中斷。
34TMR1模塊相關(guān)的存放器中斷控制存放器INTCONTMR1控制存放器T1CON第一外設(shè)中斷屏蔽存放器PIE1高字節(jié)低字節(jié)TMR1H:TMR1L35TMR1控制存放器T1CON36Bit0/TMR1ON:TMR1使能控制位(而TMR0不能被關(guān)閉的),主動參數(shù)。0:關(guān)閉TMR1,使TMR1退出活動狀態(tài),以節(jié)省能耗;1:啟用TMR1,使TMR1進入活動狀態(tài)。Bit1/TMR1CS:時鐘源選擇位,主動參數(shù)。0:選擇內(nèi)部時鐘源(fosc/4=Tcyc指令周期);1:選擇外部時鐘源,即時鐘信號來源于外部引腳或者自帶振蕩器。37Bit2/T1SYNC:TMR1外部輸入時鐘與系統(tǒng)時鐘同步控制位,主動參數(shù)。當(dāng)TMR1工作于計數(shù)器方式(TMR1CS=1時):0:TMR1外部輸入時鐘與系統(tǒng)時鐘保持同步;1:TMR1外部輸入時鐘與系統(tǒng)時鐘不保持同步;當(dāng)TMR1工作于定時器方式(TMR1CS=0時):該位不起作用。Bit3/T1OSCEN:TMR1自帶振蕩器使能位,主動參數(shù)。0:禁上TMR1振蕩器起振,使非門的輸出端呈高阻態(tài);1:允許TMR1振蕩器起振。38分頻器的分頻比選擇位,主動參數(shù)。39定時器/計數(shù)器TMR1模塊的電路結(jié)構(gòu)
40TMR1與系統(tǒng)時鐘的協(xié)調(diào)關(guān)系417.3定時器TMR2
TMR2是一個8位定時器,帶一個可編程預(yù)分頻器和一個可編程后分頻器,一個可編程8位周期存放器PR2。42主要用途
TMR2是存放計數(shù)值的存放器,只能工作于定時器模式;可以為主同步串行端口MSSP模塊(SPI模式),提供波特率時鐘;TMR2還可以與CCP模塊配合使用,提供脈寬調(diào)制PWM功能的時基信號。43
定時器TMR2的特性
TMR2在RAM空間內(nèi)統(tǒng)一編址,地址為011H;可用軟件方式直接讀/寫TMR2的內(nèi)容;可編程的2位預(yù)分頻器,有1:1、1:4、1:16,3種分頻比;可編程的4位后分頻器,有16種分頻比;帶有一個8位周期存放器PR2,這個存放器的值由用戶填入;44
定時器TMR2的特性
只能由內(nèi)部系統(tǒng)時鐘來觸發(fā)定時器的增量,因此只工作于定時器模式;具有溢出次數(shù)經(jīng)過分頻的溢出中斷功能;不管哪種復(fù)位,都會將TMR2清零。注意,TMR0和TMR1存放器的內(nèi)容不受復(fù)位的影響;可以被軟件關(guān)閉。45定時器TMR2模塊相關(guān)的存放器中斷控制存放器INTCON第一外設(shè)中斷屏蔽存放器PIE1第一外設(shè)中斷標(biāo)志存放器PIR1TMR2工作存放器TMR2TMR2控制存放器T2COMTMR2周期存放器PR246控制存放器T2CON47預(yù)分頻器分頻比選擇位,主動參數(shù)
Bit2/TMR20N:TMR2使能控制位,主動參數(shù)。0:關(guān)閉TMR2,可以降低功耗;1:啟用TMR2。48
TMR2后分頻器分頻比選擇位,主參49定時器TMR2模塊的電路結(jié)構(gòu)
50第10章CCP捕捉/比較/脈寬調(diào)制配置了2個捕捉/比較/脈寬調(diào)制模塊CCP1、CCP2(Capture/Compare/PWM)。它們各自都有獨立的16位存放器CCPR1和CCPR2,兩個模塊結(jié)構(gòu)、功能、操作方法根本一樣,它們的區(qū)別僅在于各自有獨立的外部引腳,以及各自的特殊事件觸發(fā)器。它們的功能實現(xiàn),往往與定時器TMR1、TMR2復(fù)合使用。5110.1CCP模塊功能介紹
CCP模塊可工作在3種模式下:捕捉方式、比較方式和脈寬調(diào)制方式。CCP模塊的捕捉功能:可捕捉外部輸入脈沖的上升沿或下降沿,產(chǎn)生相應(yīng)的中斷,適用于測量引腳輸入的周期性方波信號的周期、頻率、占空比等,也適用于測量引腳輸入的非周期性矩形脈沖信號的寬度、到達時刻或消失時刻等參數(shù);52比較功能:用于從引腳上輸出不同寬度的矩形正脈沖、負脈沖、延時啟動信號等;脈寬調(diào)制功能:適合于從引腳上輸出脈沖寬度隨時可調(diào)的PWM信號來實現(xiàn)直流電機的調(diào)速、D/A轉(zhuǎn)換、步進電機的步進控制等。53
CCP模塊與定時器模塊的搭配
54CCP模塊存放器介紹〔CCP1為例〕CCP1控制存放器:CCP1CONCCP1模塊存放器:CCPR1H:CCPR1LPIR1、PIE1、TRISC、TMR1H:TMR1L
55CCP1控制存放器:CCP1CON56Bit3-Bit0/CCP1M3-CCP1M0:CCP1工作方式選擇位,主動參數(shù)。00xx:關(guān)閉捕捉/比較/脈寬調(diào)制模塊〔即CCP1復(fù)位〕;01xx:捕捉工作方式;10xx:比較工作方式;11xx:脈寬調(diào)制PWM工作方式。57Bit5-Bit4/CCP1X-CCP1Y:PWM工作循環(huán)周期的最低2位,數(shù)據(jù)參數(shù)。作為其輸出信號脈寬的低2位,高8位在CCPR1L中。 捕捉方式:未用。比較方式:未用。58
10.2捕捉功能
PIC單片機的輸入捕捉功能,就是對外部從引腳CCP上輸入的脈沖上升沿或下降沿進行捕捉檢測。
59
10.2.1捕捉方式工作原理
6010.2.2捕捉方式相關(guān)的存放器CCP控制存放器CCP1CON專用CCP存放器CCP1H:CCP1L外設(shè)中斷標(biāo)志存放器:PIR1〔CCP1IF〕外設(shè)中斷允許存放器:PIE1〔CCP1IE〕TMR1計數(shù)存放器上下字節(jié)TMR1H:TMR1L專用CCP端口定義:TRISC〔Bit2〕61CCP控制存放器CCP1CONBit3-Bit0/CCP1M3-CCP1M0:01xx:捕捉工作方式設(shè)置,主動參數(shù)。
0100:捕捉每個脈沖下降沿;0101:捕捉每個脈沖上升沿;0110:捕捉每4個脈沖上降沿;0111:捕捉每16個脈沖上降沿。
62
10.2.3CCP1模塊捕捉方式的設(shè)定
CCP1模塊構(gòu)成輸入信號的捕捉功能,需要對相應(yīng)的控制位進行設(shè)置,即所謂CCP1模塊捕捉方式的初始化。
63
CCP1引腳的設(shè)定
CCP1和RC2合用一個引腳RC2/CCP1,在CCP1的捕捉方式下,RC2引腳必須由TRISC的Bit2設(shè)定為輸入方式。但如該引腳設(shè)置為輸出方式時,那么每次對該端口的寫操作都會被作為一次捕捉事件處理。64
TMR1工作方式的設(shè)定
當(dāng)CCP1工作于捕捉模式時,必須和TMR1搭配。同時TMR1必須設(shè)定為定時器工作方式或者同步計數(shù)器方式。計數(shù)初值一般以0開始。但如TMR1設(shè)置為異步計數(shù)器方式時,那么CCP1不能工作在捕捉模式下。65預(yù)分頻器設(shè)定
必須通過CCP1CON的CCP1M3-CCP1M0的設(shè)置,選擇一種觸發(fā)事件。而利用TMR1的預(yù)分頻比例進行設(shè)置。1:1、1:4、1:16、1:16共三種。66中斷及響應(yīng)
每當(dāng)CCP1捕捉到一事件發(fā)生時,將CCP1IF置位,產(chǎn)生一次中斷。在改變CCP捕捉方式時,可能產(chǎn)生一次錯誤的捕捉中斷,所以,在改變捕捉方式之前,必須去除中斷使能位CCP1IE來屏蔽CCP1中斷請求,并且在捕捉模式改變之后,將中斷標(biāo)志位CCP1IF清零,以防止引起CPU的錯誤響應(yīng)。67
應(yīng)用實例
檢測脈沖的寬度簡單頻率計的設(shè)計
6810.3比較功能CCP模塊第2個功能是比較方式輸出,用于從引腳上輸出不同寬度的矩形脈沖信號、不同的周期頻率脈沖以及非周期頻率信號等69比較方式工作原理7010.3.2比較方式相關(guān)存放器CCP控制存放器CCP1CON專用CCP存放器CCP1H:CCP1L外設(shè)中斷標(biāo)志存放器:PIR1〔CCP1IF〕外設(shè)中斷允許存放器:PIE1〔CCP1IE〕TMR1計數(shù)存放器上下字節(jié)TMR1H:TMR1L專用CCP端口定義:TRISC〔Bit2〕71CCP控制存放器CCP1CONBit3-Bit0/CCP1M3-CCP1M0:比較方式下的功能定義。1000:如果CCPR1與TMR1相等,RC2/CCP引腳為高電平,同時CCP1IF置位;1001:如果CCPR1與TMR1相等,RC2/CCP引腳為低電平,同時CCP1IF置位;1010:如果CCPR1與TMR1相等,產(chǎn)生軟中斷〔CCP1IF置位,CCP1引腳不受影響〕;1011:特殊事件觸發(fā)〔CCP1IF置位,CCP1將TMR1復(fù)位,CCP2將TMR1復(fù)位,并且啟動A/D模數(shù)轉(zhuǎn)換電路〕。7210.3.3CCP1比較方式設(shè)定CCP1模塊構(gòu)成輸出比較功能,需要對相應(yīng)的控制位進行設(shè)置,即所謂CCP1模塊比較工作方式的初始化。73
CCP引腳設(shè)定
在比較工作方式下,用戶必須通過把TRISC的bit2位清零,把RC2/CCP1引腳設(shè)置成輸出狀態(tài)。如果對CCP1CON存放器清零,將迫使RC2/CCP1引腳輸出低電平。74
TMR1方式設(shè)定
當(dāng)CCP1工作在比較方式時,TMR1必須設(shè)置在定時方式或同步計數(shù)方式下,TMR1初值一般為0。而當(dāng)TMR1工作在異步計數(shù)方式下時,CCP1無法工作在比較工作方式。75
軟件中斷方式
中選擇軟件中斷方式,即CCP1CON的CCP1M3-CCP1M0為1010時,CCP1引腳上的電平不受影響,只把CCP1IF置位,產(chǎn)生CCP中斷〔當(dāng)該中斷使能時〕。76
特殊事件觸發(fā)方式
在特殊事件觸發(fā)方式下,即CCP1CON的CCP1M3-CCP1M0為1011時,將產(chǎn)生一個內(nèi)部硬件觸發(fā)信號,它可以用于啟動一個特殊操作。CCP1的特殊事件觸發(fā)輸出將對TMR1存放器進行復(fù)位,使得CCPR1存放器可以作為TMR1的16位可編程周期存放器。CCP2的特殊事件觸發(fā)輸出也將對TMR1存放器進行復(fù)位,并且啟動A/D數(shù)模轉(zhuǎn)換。CCP1、CCP2模塊的特殊事件觸發(fā)輸出不會將中斷標(biāo)志位TMR1IF置位。77
應(yīng)用實例
輸出脈沖信號改變信號頻率
7810.4脈寬調(diào)制功能
CCP模塊第3個功能PWM脈寬調(diào)制,它的應(yīng)用非常廣泛,可以從CCP引腳上輸出不同占空比寬度的矩形脈沖信號,并可有效改變信號的輸出頻率。PWM脈寬調(diào)制信號,一般用于特殊器件的啟動觸發(fā)脈沖。
79
脈寬調(diào)制方式工作原理
當(dāng)CCP1工作在脈寬調(diào)制PWM〔PulseWidthModulation〕方式下,RC2/CCP1引腳上可能輸出分辨率高達10位,脈沖寬度隨時可調(diào)的脈寬調(diào)制波形。必須將RC2/CCP1引腳設(shè)置為輸出狀態(tài)。對CCP1CON存放器清0將迫使PWM輸出引腳RC2/CCP1輸出低電平,這并非是正常的PWM輸出的數(shù)據(jù)。80脈寬調(diào)制方式原理圖81脈寬調(diào)制方式原理圖82
PWM輸出信號周期
PWM輸出信號周期可通過向TMR2的周期存放器PR2寫入來設(shè)定,計算公式如下:PWM周期=4Tosc×〔〔PR2〕+1〕×〔TMR2預(yù)分頻值〕其中,Tosc為系統(tǒng)時鐘周期;4×Tosc為指令周期;TMR2預(yù)分頻值可以為1、4或16。PWM信號的頻率定義為PWM周期的倒數(shù)。83
PWM輸出時序圖
PWM周期周期PWM脈寬TMR2=PR2TMR2=PR2TMR2=10bitCCPR1L84PWM輸出信號的脈寬
通過寫入脈寬存放器,即CCPR1L存放器及CCP1CON控制存放器的bit5~bit4位可以得到PWM的高電平時間設(shè)定值,分辨率可達10位。其中,由8位的CPPR1L的值作為10位中的高8位,由控制存放器CCP1CON中的Bit5-Bit4兩位作為10位中的低2位組成。因此,計算PWM高電平〔脈寬〕的公式如下:PWM高電平〔脈寬〕=CCPR1L:CCP1CON〔Bit5-Bit4〕×Tosc×〔TMR2預(yù)分頻值〕CCPR1L:CCP1CON(Bit5-Bit4)為10位脈寬存放器、TMR2預(yù)分頻值,可取1、4或16。8510.4.2脈寬調(diào)制方式相關(guān)存放器CCP控制存放器CCP1CON專用CCP存放器CCP1H:CCP1L外設(shè)中斷標(biāo)志存放器:PIR1〔CCP1IF〕外設(shè)中斷允許存放器:PIE1〔CCP1IE〕計時存放器:TMR2專用CCP端口定義:TRISC〔Bit2〕定時周期存放器:PR2TMR2控制存放器:T2CON86CCP控制存放器CCP1CONBit3-Bit0/CCP1M3-CCP1M0:脈寬調(diào)制功能設(shè)置,主動參數(shù)。11XX:脈寬調(diào)制方式,低2位不起作用。Bit5-Bit4/CCP1X-CCP1Y:CCP1脈寬存放器的低2位,高8位在CCPR1L中,數(shù)據(jù)參數(shù)。87
PWM操作設(shè)置
定PWM周期,向PR2存放器寫入PWM周期值;定PWM高電平〔脈寬〕值,向CCPR1L和控制存放器CCP1CON中的Bit5-Bit4兩位寫入PWM高電平〔脈寬〕值;定CCP1引腳為輸出狀態(tài),通過對TRISC的bit2位清零;設(shè)置TMR2的預(yù)分頻值,并通過向T2CON寫入以使TMR2使能;設(shè)定CCP模塊為PWM操作,向CCP1CON低4位寫入設(shè)定值。889.3USART串行通信模塊
PIC系列芯片中,片內(nèi)除了含有同步串行口SSP〔SPI,I2C〕外,還有一個串行通信接口SCI。這是一個通用同步/異步收發(fā)器,簡稱USART,它是計算機最常用的通信接口之一。USART可工作于如下三種方式:全雙工異步方式;半雙工同步主控方式;半雙工同步從動方式。899.3.1與USART模塊相關(guān)的存放器1.發(fā)送狀態(tài)兼控制存放器:TXSTA2.接收狀態(tài)兼控制存放器:RCSTA3.USART發(fā)送緩沖存放器:TXREG4.USART接收緩沖存放器:RCREG5.PIE存放器6.PIR存放器901.發(fā)送狀態(tài)兼控制存放器TXSTA91Bit0/TX9D:發(fā)送數(shù)據(jù)的第9位〔9位數(shù)據(jù)幀結(jié)構(gòu)〕。0:不發(fā)送9位數(shù)據(jù);1:發(fā)送9位數(shù)據(jù)幀。Bit1/TRMT:發(fā)送移位存放器〔TSR〕“空”標(biāo)志位。0:發(fā)送移位存放器滿;1:發(fā)送移位存放器空。92Bit2/BRGH:高波特率選擇位。異步模式下:0:低速;1:高速。同步方式下,未用。Bit4/SYNC:USART同步/異步模式選擇位。0:選擇異步模式〔USAT〕;1:選擇同步模式〔USRT〕。93Bit5/TXEN:發(fā)送使能位。0:關(guān)閉發(fā)送功能;1:使能發(fā)送功能。Bit6/TX9:發(fā)送數(shù)據(jù)長度選擇位。8位數(shù)據(jù)加1位校驗或標(biāo)識位。0:8位數(shù)據(jù)位發(fā)送;1:9位數(shù)據(jù)發(fā)送。94Bit7/CSRC:時鐘源選擇位。同步模式下:0:選擇被控〔附屬〕模式〔時鐘來自外部輸入信號〕;1:選擇主控模式〔時鐘來自內(nèi)部波特率發(fā)生器〕。異步模式下,未用。952.接收狀態(tài)兼控制存放器RCSTA96Bit0/RX9D:所接收數(shù)據(jù)的第9位,可作校驗位或標(biāo)識位等。Bit1/OERR:溢出標(biāo)志位。0:未發(fā)生溢出錯誤;1:發(fā)生了溢出錯誤。Bit2/FERR:幀格式錯誤標(biāo)志位,被動參數(shù)。0:無幀格式錯誤;1:有幀格式錯誤。97Bit3/ADDEN:地址匹配檢測使能位;接收數(shù)據(jù)選擇9位時,該位才起作用。0:取消地址匹配檢測功能;1:啟用地址匹配檢測功能。Bit4/CREN:連續(xù)接收使能位。異步模式下:0:禁止連續(xù)接收功能;1:使能連續(xù)接收功能。同步模式下:0:關(guān)閉連續(xù)接收;1:使能連續(xù)接收,直到該未被清0為止。優(yōu)于SREN位。
98Bit5/SREN:單字節(jié)接收使能位。同步方式下:0:禁止單字節(jié)接收功能;1:使能單字節(jié)接收功能。異步方式下未用,并且在同步附屬接收方式下該位也無用。接收完成后該位即被清零。Bit6/RX9:接收數(shù)據(jù)長度選擇位。0:選擇接收8位數(shù)據(jù);1:選擇接收9位數(shù)據(jù)。Bit7/SPEN:串行端口使能位。0:禁止串行端口工作;1:允許串行端口工作。此時,RC7和RC6作為USART的接收發(fā)送引腳。993.TXREG,USART發(fā)送緩沖存放器
每次發(fā)送的數(shù)據(jù)都是通過寫入該緩沖器來實現(xiàn)的。
1004.RCREG,USART接收緩沖存放器每次接收到的數(shù)據(jù)都可從該緩沖器讀取出來的。
1015.SPBRG波特率存放器SPBRG存放器的設(shè)定值〔0-255〕與波特率成反比關(guān)系。在同步方式下,波特率僅由該存放器來決定;而在異步方式下,那么由BRGH位〔TXSTA存放器的bit2〕和該存放器共同確定。1029.3.2USART波特率發(fā)生器
USART模塊帶有一個波特率發(fā)生器BRG〔baudrategenerator〕,用以產(chǎn)生串行傳送所需的時鐘,它支持USART的同步方式和異步方式。在異步方式下,BRGH位用來控制波特率。在同步方式下,BRGH位不起作用。103波特率發(fā)生器的邏輯結(jié)構(gòu)如圖9-24。其核心實際是一個遞減的8位二進制計數(shù)器,其計數(shù)初始值是由存放器SPBRG裝入,在每次遞減計數(shù)器到達00H之后的下一個計數(shù)脈沖到來時進行裝入。系統(tǒng)時鐘經(jīng)過6位分頻器后作為傳遞計數(shù)器的計數(shù)脈沖,其分頻比可以由BRGH位和SYNC位設(shè)定為1:4、1:16、或1:64。104波特率時鐘發(fā)生器示意圖
105其波特率計算方式如下:1.同步方式波特率=fosc/[4〔N+1〕]N=fosc/〔4×波特率〕-1注意,N為SPBRG存放器的初始值;BRGH必須設(shè)置為0,BRGH為1無用。2.異步方式BRGH=0時:波特率=fosc/[64〔N+1〕]N=fosc/〔64×波特率〕-1 BRGH=1時:波特率=fosc/[16〔N+1〕]N=fosc/〔16×波特率〕-1106【例題】在某應(yīng)用系統(tǒng)中,采用4800波特進行異步通信。假設(shè)單片機時鐘頻率為fosc=20MHZ,低速方式〔BRGH=0〕。107
9.3.3USART的異步模式
USART在異步模式下采用的數(shù)據(jù)格式為l位起始位、8位或9位數(shù)據(jù)位和1位停止位,無奇偶校驗碼位〔硬件不支持〕,常用的數(shù)據(jù)為8位。片內(nèi)提供的8位波特率發(fā)生器BRG,可以利用系統(tǒng)時鐘信號產(chǎn)生標(biāo)準(zhǔn)的波特率頻率。1081、USART異步發(fā)送模式
USART發(fā)送器主要是由發(fā)送移位存放器(TSR)、發(fā)送緩沖器TXREG構(gòu)成。USART異步發(fā)送過程如下:要發(fā)送的數(shù)據(jù)送入TXREG中,存放器TXREG中的數(shù)據(jù)就被裝入TSR。一旦把TXREG中的數(shù)據(jù)送入TSR,就將中斷標(biāo)志位TXIF置位。TXIF置位后,不能用軟件去除,只有在下一個要發(fā)送的數(shù)據(jù)送入TXREG后TXIF才能復(fù)位。109USART異步發(fā)送其結(jié)構(gòu)示意圖
1102、USART異步接收模式
主要是由接收移位存放器RSR和接收存放器RCREG構(gòu)成,串行信號從RC7/RX/DT引腳接收,送入移位存放器RSR。一旦收到停止位,RSR就將收到的8位數(shù)據(jù)裝載到RCREG中。同時,RCIF置1,表示收到一個數(shù)據(jù),當(dāng)RCREG被讀出時RCIF被清零。111
特別注意以下幾點:
如RSR將數(shù)據(jù)裝載到RCREG時,RCREG內(nèi)已有1個數(shù)據(jù),那么產(chǎn)生數(shù)據(jù)傳送溢出錯誤。OERR置位。RSR中數(shù)據(jù)將不能裝入RCREG;OERR置位后,RSR不會接收新的數(shù)據(jù)。只有將OERR清0后才能接收新數(shù)據(jù)。OERR清零的方法是將CREN清零再置位;如收到停止位為0,那么FERR置位;
1123、帶地址檢測的9位異步接收方式
主要由RSR移位存放器,RCREG存放器即波特率發(fā)生器BRG組成。工作過程如下:從RC7/RX31引腳輸入數(shù)據(jù),在波特率時鐘作用下,一位一位移入RSR存放器,一旦收到停止位,就將收到的第9位數(shù)據(jù)分別裝入RCREG和RX9D中,并置RCIF=1。再讀取RCREG中的數(shù)據(jù)時,自動將RCIF清零。113USART帶地址檢測9位異步接收結(jié)構(gòu)圖
114
9.3.4USART同步模式
USART的同步模式是指進行通信雙方之間,除了有數(shù)據(jù)傳輸線以外,還有一條時鐘專用線。起著同步發(fā)送/接收的作用。在同步方式下,數(shù)據(jù)格式可以使用8位或9位。由于有專用的時鐘線同步,所以在串行字符中不再需要起始位和停止位。在同步方式下只能工作在半雙工方式下。
1151、USART同步主控發(fā)送模式
USART同步主控發(fā)送方式與異步發(fā)送方式根本相同,USART發(fā)送器的結(jié)構(gòu)示意圖如圖9-27。發(fā)送器的核心是串行發(fā)送移位存放器(TSR)和發(fā)送存放器TXREG。用戶將要發(fā)送的數(shù)據(jù)裝入TXREG,一旦TSR中空就會從TXREG中讀出要發(fā)送數(shù)據(jù)裝入TSR。同時,TXIF被置位。一旦TXIF置位后只有當(dāng)有新的數(shù)據(jù)寫入TXREG后,才能使TXIF清零。當(dāng)TSR為空時TRMT置位,所以通過TRMT可查詢TSR是否為空。1162、USART同步主控接收模式
要使用RSART工作在同步主控接收模式時,首先選擇同步方式,然后把SREN位或CREN位置位,即可進入同步主控接收狀態(tài),DT數(shù)據(jù)線上的信號在時鐘的下降沿被采樣。如果SREN=1,僅接收一個字節(jié)。如果CREN=1,那么可連續(xù)地接收數(shù)據(jù),直到CREN被清零為止。如果SREN和CREN都被置位,那么CREN狀態(tài)優(yōu)先于SREN狀態(tài),進行連續(xù)接收。1173、USART同步從動發(fā)送模式
USART的同步從動方式和同步主控方式的區(qū)別就是其時鐘信號CK由外部提供,也就是由對方提供,因此就是本機在睡眠狀態(tài)下仍可進行通信。
1184、USART同步從動接收模式
同步從動接收和同步主控接收的操作根本上是一樣的,只是當(dāng)CPU處于休眠方式下有所區(qū)別。另外,在從動接收方式下,沒有用到SREN位。119第11章A/D轉(zhuǎn)換器
一般單片機在自動控制、自動測量、自動監(jiān)控系統(tǒng)與各種被控制、測量對象發(fā)生關(guān)系時,需設(shè)置模擬接口模塊。模擬接口的作用是將連續(xù)不斷的模擬量轉(zhuǎn)換為一系列不連續(xù)的、離散的數(shù)字量。這種模擬接口稱之為模擬/數(shù)字轉(zhuǎn)換器,簡稱為A/D轉(zhuǎn)換器〔ADC〕。主要討論F877單片機內(nèi)嵌的10位A/D轉(zhuǎn)換器。12011.1A/D轉(zhuǎn)換原理
ADC的種類繁多,工作原理各異,但逐次逼近型ADC是應(yīng)用較多的類型之一,主要原因為轉(zhuǎn)換速度快、精度高。在F877單片機中集成的就是這種ADC。逐次逼近型ADC是由采樣保持電路、電壓比較器、逐次逼近存放器、數(shù)/模轉(zhuǎn)換器DAC和鎖存器等局部組成。121逐次逼近型ADC結(jié)構(gòu)圖
122逐次逼近存放器的最高位D7置“1”,如果ua>ui,說明逼近存放器所生成的數(shù)字量太大,應(yīng)將逼近存放器里的最高位去掉,改置次高位D6為“1”;如果ua<ui,說明所生成的數(shù)字量還不夠大,應(yīng)保存該位為“1”,此外還需把下一次高位D5置“1”,……,依此方法逐位比較下去,直至確定最低位D0是“0”還是“1”。12311.2A/D轉(zhuǎn)換器主要技術(shù)指標(biāo)
A/D轉(zhuǎn)換器有三個主要的技術(shù)指標(biāo):轉(zhuǎn)換時間〔轉(zhuǎn)換速率〕、分辨率和轉(zhuǎn)換精度。1241.轉(zhuǎn)換時間和轉(zhuǎn)換速率
轉(zhuǎn)換時間是A/D完成一次轉(zhuǎn)換所需要的時間,轉(zhuǎn)換時間的倒數(shù)即為轉(zhuǎn)換速率。
2.分辨率3.轉(zhuǎn)換精度
A/D轉(zhuǎn)換器的轉(zhuǎn)換精度定義為一個實際A/D轉(zhuǎn)換器在量化值上的差值。可用絕對誤差或相對誤差表示。
A/D轉(zhuǎn)換器的量化精度稱為分辨率,習(xí)慣上用輸出二進制位數(shù)或BCD碼表示。例如AD574模數(shù)轉(zhuǎn)換器,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 總經(jīng)理年會致辭15篇
- 開學(xué)典禮大會學(xué)生發(fā)言稿(5篇)
- 學(xué)校社團活動總結(jié)(合集15篇)
- 湖南省永州市高三上學(xué)期第一次模擬考試語文試題(含答案)
- 水下自激吸氣式射流裝置沖刷特性研究
- 二零二五年度社會保險停繳合同范本(國有企業(yè))3篇
- 基于FPGA的聲紋識別系統(tǒng)研究與實現(xiàn)
- 二零二五版外專局外籍教師教學(xué)成果推廣與應(yīng)用合同規(guī)范3篇
- 融資租賃合同出租人取回權(quán)制度的法律問題研究
- 建筑與市政工程巡查結(jié)果的評估與總結(jié)
- 【企業(yè)作業(yè)成本在上海汽車集團中的應(yīng)用研究案例7300字(論文)】
- 高中物理答題卡模板
- 《民航服務(wù)溝通技巧》教案第6課巧妙化解沖突
- 化學(xué)用語專項訓(xùn)練
- 芳香植物與芳香療法講解課件
- 不孕癥診斷、治療新進展課件
- 學(xué)校食堂食品質(zhì)量控制方案
- 天津2021公需課量子信息技術(shù)答案
- 切實加強領(lǐng)導(dǎo)干部的作風(fēng)建設(shè)課件
- (完整word版)奧賽起跑線(上)六年級
- 變頻電機使用說明書(完整版)
評論
0/150
提交評論