版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1關(guān)關(guān) 新新單單 片片 機機 原原 理理2l8.1串行通信的基本概念串行通信的基本概念l8.2串行通信接口串行通信接口l8.3串行通信串行通信寄存器寄存器l8.4串行通信串行通信第第8 章介紹的主要內(nèi)容章介紹的主要內(nèi)容3 單片機應(yīng)用與數(shù)據(jù)采集或工業(yè)控制時,往往作為前端機安裝在工業(yè)現(xiàn)場,遠離主機,現(xiàn)場數(shù)據(jù)采用串行通信方式發(fā)往主機進行處理,以降低通信成本,提高通信可靠性。如下圖所示。 8.1串行通信的基本概念串行通信的基本概念4 數(shù)據(jù)通信方式有兩種:并行通信與串行通信數(shù)據(jù)通信方式有兩種:并行通信與串行通信并行通信:并行通信: 所傳送數(shù)據(jù)的各位同時發(fā)送或接收,所傳送數(shù)據(jù)的各位同時發(fā)送或接收, 數(shù)據(jù)有
2、多少位就需要多少根數(shù)據(jù)線。數(shù)據(jù)有多少位就需要多少根數(shù)據(jù)線。 特點:特點: 速度快,成本高,適合近距離傳輸速度快,成本高,適合近距離傳輸 如計算機并口,打印機,如計算機并口,打印機,8255 。 串行通信:所傳送數(shù)據(jù)的各位按順序一位一位串行通信:所傳送數(shù)據(jù)的各位按順序一位一位 地發(fā)送或接收。地發(fā)送或接收。 只需一根數(shù)據(jù),一根地線,共只需一根數(shù)據(jù),一根地線,共2 根根 (如雙向通信發(fā)送和接收各需(如雙向通信發(fā)送和接收各需1根數(shù)據(jù)線。)根數(shù)據(jù)線。) 特點:成本低,硬件方便,適合遠距離通信,特點:成本低,硬件方便,適合遠距離通信, 傳輸速度低。傳輸速度低。 56串行通信的分類:同步串行通信和異步串行通
3、信串行通信的分類:同步串行通信和異步串行通信 一、異步通信:一、異步通信: 通信的雙方應(yīng)該有一個約定,什么時候開始發(fā)送,什通信的雙方應(yīng)該有一個約定,什么時候開始發(fā)送,什么時候發(fā)送完畢;接收方收到的信息是否正確等,這就是么時候發(fā)送完畢;接收方收到的信息是否正確等,這就是通信協(xié)議通信協(xié)議。 異步串行通信一幀數(shù)據(jù)格式:異步串行通信一幀數(shù)據(jù)格式:l 一個起始位一個起始位 “0”,表示字符的開始,然后是表示字符的開始,然后是58位數(shù)位數(shù)據(jù)即該字符的代碼,規(guī)定低位在前,高位在后,接據(jù)即該字符的代碼,規(guī)定低位在前,高位在后,接 下來是下來是奇偶校驗位奇偶校驗位(可省略可省略),最后以停止位,最后以停止位“1
4、”表示字符的結(jié)束。表示字符的結(jié)束。7l優(yōu)點:硬件結(jié)構(gòu)簡單。優(yōu)點:硬件結(jié)構(gòu)簡單。l缺點:傳輸速度慢。缺點:傳輸速度慢。P1D0 D1 D2 D3 D4 D5 D6 D7P10第第n個字符(一幀)個字符(一幀)n-1n+10D0起起始始位位數(shù)據(jù)位(數(shù)據(jù)位(58位)位)校校驗驗位位停停止止位位8二、同步通信二、同步通信 在同步通信中,發(fā)送方在數(shù)據(jù)或字符開始處就用同步在同步通信中,發(fā)送方在數(shù)據(jù)或字符開始處就用同步字符字符(常約定常約定12個字節(jié)個字節(jié))指示一幀的開始指示一幀的開始 ,由時鐘來實現(xiàn),由時鐘來實現(xiàn)發(fā)送端和接收端同步,接收方一旦檢測到與規(guī)定的同步字發(fā)送端和接收端同步,接收方一旦檢測到與規(guī)定的
5、同步字符符合,下面符符合,下面 就連續(xù)按順序傳送若干個數(shù)據(jù)就連續(xù)按順序傳送若干個數(shù)據(jù) ,最后發(fā)校驗,最后發(fā)校驗字節(jié)。見下圖:字節(jié)。見下圖:SYN字符字符1SYN字符字符2數(shù)據(jù)數(shù)據(jù)1數(shù)據(jù)數(shù)據(jù)2.數(shù)據(jù)數(shù)據(jù)n連續(xù)傳送連續(xù)傳送n 個數(shù)據(jù)個數(shù)據(jù)校驗校驗9三、單工、半雙工、全雙工通信方式三、單工、半雙工、全雙工通信方式 按通信方向分類:單工、半雙工、全雙工通信方式按通信方向分類:單工、半雙工、全雙工通信方式 1 單工方式單工方式: 一端是發(fā)送端,另外一端是接收端:一端是發(fā)送端,另外一端是接收端: 每端口有一個發(fā)送器和一個接收器,通過開關(guān)連接在每端口有一個發(fā)送器和一個接收器,通過開關(guān)連接在線路上,數(shù)據(jù)可以雙
6、向傳送,但不能同時發(fā)送和接收線路上,數(shù)據(jù)可以雙向傳送,但不能同時發(fā)送和接收. 要要通過換向器轉(zhuǎn)換方向。通過換向器轉(zhuǎn)換方向。10 通信雙方用兩個獨立的收發(fā)器單獨連接通信雙方用兩個獨立的收發(fā)器單獨連接,可以同時可以同時發(fā)送和接收數(shù)據(jù)發(fā)送和接收數(shù)據(jù),因而提高了速度。因而提高了速度。 111.1.實現(xiàn)數(shù)據(jù)格式化實現(xiàn)數(shù)據(jù)格式化 因為因為CPUCPU發(fā)出的數(shù)據(jù)是并行數(shù)據(jù),接口電路應(yīng)實現(xiàn)發(fā)出的數(shù)據(jù)是并行數(shù)據(jù),接口電路應(yīng)實現(xiàn)不同串行通信方式下的數(shù)據(jù)格式化任務(wù),不同串行通信方式下的數(shù)據(jù)格式化任務(wù), 如自動生成如自動生成起止方式的幀數(shù)據(jù)格式起止方式的幀數(shù)據(jù)格式( (異步方式異步方式) )或在待傳送的數(shù)據(jù)或在待傳送
7、的數(shù)據(jù)塊前加上同步字符等。塊前加上同步字符等。122.進行串、并轉(zhuǎn)換進行串、并轉(zhuǎn)換 在發(fā)送端,接口將在發(fā)送端,接口將CPU送來的并行信號轉(zhuǎn)換成串行數(shù)據(jù)送來的并行信號轉(zhuǎn)換成串行數(shù)據(jù)進行傳送;而在接收端,接口要將接進行傳送;而在接收端,接口要將接 收到串行數(shù)據(jù)變成并收到串行數(shù)據(jù)變成并行數(shù)據(jù)送往行數(shù)據(jù)送往CPU,由,由CPU進行處理。進行處理。3.控制數(shù)據(jù)的傳輸速率控制數(shù)據(jù)的傳輸速率 接口應(yīng)具備對數(shù)據(jù)傳輸率接口應(yīng)具備對數(shù)據(jù)傳輸率波特率的控制選擇能力,即波特率的控制選擇能力,即具有波特率發(fā)生器。具有波特率發(fā)生器。4.進行傳送錯誤檢測進行傳送錯誤檢測 在發(fā)送時,對傳送的數(shù)據(jù)自動生成校驗位或校驗碼,在在發(fā)
8、送時,對傳送的數(shù)據(jù)自動生成校驗位或校驗碼,在接收端能檢查校驗位或校驗接收端能檢查校驗位或校驗 碼,以確定傳送中是否有誤碼。碼,以確定傳送中是否有誤碼。 13 51 51系列單片機內(nèi)有一個全雙工的異步通信接口,通過對系列單片機內(nèi)有一個全雙工的異步通信接口,通過對串行接口寫控制字可以選擇其數(shù)據(jù)格串行接口寫控制字可以選擇其數(shù)據(jù)格 式,同時內(nèi)部有波特率式,同時內(nèi)部有波特率發(fā)生器,提供可選的波特率,可完成雙機通信或多機通信。發(fā)生器,提供可選的波特率,可完成雙機通信或多機通信。四、波特率四、波特率 單位時間內(nèi)傳送的信息量。在計算機中,以每秒傳單位時間內(nèi)傳送的信息量。在計算機中,以每秒傳送的二進制位數(shù)為單位
9、。送的二進制位數(shù)為單位。例如:例如:100字符字符/秒,秒,1個字符個字符11位,位, 波特率為:波特率為:10011=1100(波特)(波特) 平均每位傳送占用時間平均每位傳送占用時間 Td = 1/1100=0.909ms14(一)通信線的連接 通信速率和通信距離這兩個方面是相互制約的,降低通信速率,可以提高通信距離. 不同的通信距離,串行通信電路有不同的連接方法15 RXD TXD GNDRXDTXDGNDRXDTXDGND電電平平轉(zhuǎn)轉(zhuǎn)換換RXDTXDGNDRXDTXDGND電電平平轉(zhuǎn)轉(zhuǎn)換換RXDTXDGND微機微機微機其他微機其他設(shè)備設(shè)備較遠距離傳送電路較遠距離傳送電路近距離傳送電路近
10、距離傳送電路16微機接口調(diào)制解調(diào)器調(diào)制解調(diào)器接口微機電話分機電話分機遠距離傳送電路遠距離傳送電路 數(shù)字信號通過調(diào)制器變成模擬信號通過電話線傳送到對方,數(shù)字信號通過調(diào)制器變成模擬信號通過電話線傳送到對方,接收方通過解調(diào)器將模擬信號轉(zhuǎn)換成數(shù)字信號接收。接收方通過解調(diào)器將模擬信號轉(zhuǎn)換成數(shù)字信號接收。17(二)串行通信接口總線標(biāo)準(zhǔn) 測控系統(tǒng)中,計算機通信主要采用異步串行通信方式,測控系統(tǒng)中,計算機通信主要采用異步串行通信方式,常用的異步總線標(biāo)準(zhǔn)有三種:常用的異步總線標(biāo)準(zhǔn)有三種:RS-232(RS-232A RS-232B RS-232C)RS-449 (RS422 RS423 RS485)20mA電流
11、環(huán)電流環(huán) 這里重點介紹這里重點介紹RS-232 RS-232C:速率:速率:20Kbit/S, 最大通信距離最大通信距離 : 15m RS422: 10Mbit/s, : 300m 90Kbit/s, :1200m181 2. 抗干擾能力抗干擾能力 采用標(biāo)準(zhǔn)的通信接口,本身具有一定的抗干擾采用標(biāo)準(zhǔn)的通信接口,本身具有一定的抗干擾能力,但是工業(yè)現(xiàn)場的情況往往很惡劣,因能力,但是工業(yè)現(xiàn)場的情況往往很惡劣,因而要根據(jù)具體情況進行選擇。而要根據(jù)具體情況進行選擇。 RS232C:一般場合:一般場合 RS422: 共模信號比較強共模信號比較強 光纖:光纖: 電磁干擾較強電磁干擾較強19二、RS232C 美
12、國電子工業(yè)協(xié)會(美國電子工業(yè)協(xié)會(EIA)公布的一種異步通信標(biāo)準(zhǔn)。)公布的一種異步通信標(biāo)準(zhǔn)。 RS232C標(biāo)準(zhǔn)是:標(biāo)準(zhǔn)是:設(shè)備之間通信的距離不大于設(shè)備之間通信的距離不大于15米米最大傳輸速率最大傳輸速率20KB/S采用負邏輯:采用負邏輯:“1” 5V 15V “0” +5V + 15V不帶負載時輸出電平:不帶負載時輸出電平:25V +25V輸出短路電流:輸出短路電流: 0.5A最大負載電容最大負載電容: 2500pF 當(dāng)計算機采用當(dāng)計算機采用RS232標(biāo)準(zhǔn)時必須通過電平,標(biāo)準(zhǔn)時必須通過電平,MAX232 是是EIA和和TTL電平轉(zhuǎn)換芯片。內(nèi)部具有電壓提升電路,并有電平轉(zhuǎn)換芯片。內(nèi)部具有電壓提升
13、電路,并有兩路接收器和發(fā)送器。其連線和引腳如圖兩路接收器和發(fā)送器。其連線和引腳如圖20C1C1C C2 2C C2 2T1INT2INR1OUTR2OUTV+V-T1OUTT2OUTR1INR2IN+5V1.0FFFFF1.01.0 1.01.0+10V-10VTTL/CMOSTTL/CMOSRS-232RS-232VCCC1V+C1C2C2V-T2OUTT1OUTR2INVCCR1INR1OUTT1INT2INR2OUTGNDMAX232MAX232 連線圖連線圖MAX232 引腳圖引腳圖21 TTL電平可以由專用集成電路轉(zhuǎn)換成電平可以由專用集成電路轉(zhuǎn)換成RS232C標(biāo)準(zhǔn)標(biāo)準(zhǔn); 如如: MC
14、1488 或或 75188 TTL RS232C 從從MC1489 或或 75189 RS232C TTL 由于由于MC1488需要采用需要采用12V電源,一般在單片機通信中大量使用的電源,一般在單片機通信中大量使用的是只需要是只需要+5V電源、具有發(fā)送和接收的一體化芯片,如:電源、具有發(fā)送和接收的一體化芯片,如:MAX232、ICL232、ADM202等。等。 22 MCS51之間的雙機通信 RXD TXD GNDTXDGND8xx518xx51RXD238.2 MCS-51的串行口結(jié)構(gòu) 51單片機有一個可編程的全雙工異串單片機有一個可編程的全雙工異串行通信接口,它可作行通信接口,它可作UA
15、RT用,也可作同用,也可作同步移位寄存器,其幀格式可有步移位寄存器,其幀格式可有8位、位、10位位或或l l位,并能設(shè)置各種波特率,給使用者位,并能設(shè)置各種波特率,給使用者帶來很大的靈活性。帶來很大的靈活性。 24發(fā)送發(fā)送SBUF(99H)門門88 圖圖8.7 串行口結(jié)構(gòu)框圖串行口結(jié)構(gòu)框圖 RXD(P3.0)TXD(P3.1)中斷中斷接收接收SBUF(99H)定定時時器器T1fosc2分頻器分頻器發(fā)送控制器發(fā)送控制器接收控制器接收控制器串寄串寄行存行存控器控器制制 SCON (98H)輸入移位寄存器輸入移位寄存器TIRI內(nèi)內(nèi) 部部 總總 線線25 5 l 單片機通過引腳單片機通過引腳RXD(P
16、3.0)串行數(shù)串行數(shù)據(jù)接收端據(jù)接收端)和引腳和引腳TXD(P3.l)串行數(shù)據(jù)發(fā)送串行數(shù)據(jù)發(fā)送端端)與外界進行通信。與外界進行通信。 圖中有兩個物理上獨立的接收、發(fā)送圖中有兩個物理上獨立的接收、發(fā)送緩沖器緩沖器SBUF,它們占用同一地址,它們占用同一地址99H,可,可同時發(fā)送、接收數(shù)據(jù)。同時發(fā)送、接收數(shù)據(jù)。 發(fā)送緩沖器只能寫入,不能讀出,發(fā)送緩沖器只能寫入,不能讀出,CPU寫寫SBUF,一方面修改發(fā)送寄存器,同時啟動數(shù)據(jù)串行發(fā)送;一方面修改發(fā)送寄存器,同時啟動數(shù)據(jù)串行發(fā)送; 接收緩沖器只能讀出、不能寫入。讀接收緩沖器只能讀出、不能寫入。讀SBUF,就,就是讀接收寄存器。是讀接收寄存器。26串行控
17、制寄存器串行控制寄存器SCON 用以存用以存 放串行口的控制和狀態(tài)信息。放串行口的控制和狀態(tài)信息。8XX51串行口正是通過對上述專用寄存器的設(shè)置、檢測串行口正是通過對上述專用寄存器的設(shè)置、檢測與讀取與讀取 來管理串行通信的。來管理串行通信的。特特 殊功能寄存器殊功能寄存器PCON的最高位的最高位SMOD為串行口為串行口波特率的倍增控制位。波特率的倍增控制位。波特率發(fā)生器波特率發(fā)生器 可以有兩種選擇:可以有兩種選擇:1. 定時器定時器T1作波特率發(fā)生器,改變計數(shù)初值就可以作波特率發(fā)生器,改變計數(shù)初值就可以改變串行通信的速率,稱為可變波特率。改變串行通信的速率,稱為可變波特率。2. 以內(nèi)部時鐘的分
18、頻器作波特率發(fā)生器,因內(nèi)部時以內(nèi)部時鐘的分頻器作波特率發(fā)生器,因內(nèi)部時鐘頻率一定,稱為固定波特率鐘頻率一定,稱為固定波特率27shiftMOV A , SBUF串行數(shù)據(jù)串行數(shù)據(jù)CPUCPU SBUF SBUFshiftMOV SBUF , A并行數(shù)據(jù)并行數(shù)據(jù)甲方(發(fā)送)甲方(發(fā)送)乙方乙方 (接收)(接收) 甲方發(fā)送時,甲方發(fā)送時,CPU執(zhí)行執(zhí)行指令指令 MOV SBUF , A 啟動了發(fā)送啟動了發(fā)送過程,數(shù)據(jù)并行送入過程,數(shù)據(jù)并行送入SBUF ,在發(fā)送時鐘,在發(fā)送時鐘 shift的控制下由低的控制下由低位到高位一位一位發(fā)送,乙方在接收時鐘位到高位一位一位發(fā)送,乙方在接收時鐘 shift 的控
19、制下由低的控制下由低位到高位位到高位 順序進入移位寄存器順序進入移位寄存器SBUF ,甲方一幀數(shù)據(jù)發(fā)送完,甲方一幀數(shù)據(jù)發(fā)送完畢,置位發(fā)送中斷標(biāo)志畢,置位發(fā)送中斷標(biāo)志二、串行通信的傳送過程用下面簡圖說明二、串行通信的傳送過程用下面簡圖說明28TI,該位可作為查詢標(biāo)志(或引起中斷),該位可作為查詢標(biāo)志(或引起中斷),CPU可再發(fā)送下一幀數(shù)據(jù)可再發(fā)送下一幀數(shù)據(jù) 。乙方一幀數(shù)據(jù)到齊。乙方一幀數(shù)據(jù)到齊即接收緩沖器滿,置位接收中斷標(biāo)志即接收緩沖器滿,置位接收中斷標(biāo)志RI,該位,該位可作為查詢標(biāo)志(或引起接收中斷),通過可作為查詢標(biāo)志(或引起接收中斷),通過MOV A ,SBUF CPU將這幀數(shù)據(jù)并行讀入。
20、將這幀數(shù)據(jù)并行讀入。由上述可知:由上述可知:甲、乙方的移位時鐘頻率應(yīng)相同,即應(yīng)具有相同的波甲、乙方的移位時鐘頻率應(yīng)相同,即應(yīng)具有相同的波特率,否則會造成數(shù)據(jù)丟失。特率,否則會造成數(shù)據(jù)丟失。1. 發(fā)送方是先發(fā)數(shù)據(jù)再查標(biāo)志,接收方是先查標(biāo)志再收發(fā)送方是先發(fā)數(shù)據(jù)再查標(biāo)志,接收方是先查標(biāo)志再收數(shù)據(jù)。數(shù)據(jù)。29 51單片機串行口是一個可編程接口,對單片機串行口是一個可編程接口,對它的編程只用兩個控制字分別寫入特殊功它的編程只用兩個控制字分別寫入特殊功能寄存器:能寄存器: 串行口控制寄存器串行口控制寄存器SCON(98H) 電源控制寄存器電源控制寄存器PCON(97H) 3.CPU通過指令和通過指令和SB
21、UF并行交換數(shù)據(jù),并不能控制并行交換數(shù)據(jù),并不能控制數(shù)據(jù)的串行移位,它只能查詢標(biāo)志位來確定數(shù)據(jù)數(shù)據(jù)的串行移位,它只能查詢標(biāo)志位來確定數(shù)據(jù)的移位是否完成。的移位是否完成。30 8.3.1 串行口的空制寄存器串行口的空制寄存器SCON 8XX51串行通信的方式選擇串行通信的方式選擇 ,接受和發(fā)送控制及串接受和發(fā)送控制及串行口的標(biāo)志均由專用寄存器行口的標(biāo)志均由專用寄存器SCON控制和指示控制和指示,其格式其格式如下如下:SM0SM1 SM2RENTB8RB8TIRI方式選擇方式選擇多機多機控制控制串行接收串行接收允許允許/ 禁止禁止欲發(fā)的欲發(fā)的第九位第九位收到的收到的第九位第九位發(fā)送中發(fā)送中斷有斷有
22、/無無接收中接收中斷有斷有/無無8.3 串行口的控制寄存器串行口的控制寄存器31SM0.SM1:串行口工作方式控制位。串行口工作方式控制位。 0 0-方式方式0, 0 1-方式方式1 1 0-方式方式2, 1 1-方式方式3REN:串行接收允許位。:串行接收允許位。 0-禁止接收禁止接收, 1-允許接收允許接收TB8: 在方式在方式2,3中中,TB8是發(fā)送機要發(fā)送的第是發(fā)送機要發(fā)送的第9位數(shù)據(jù)。位數(shù)據(jù)。RB8:在方式在方式2,3中中,RB8是接受機收到的第是接受機收到的第9位數(shù)據(jù)位數(shù)據(jù), 該數(shù)據(jù)來自發(fā)送機的該數(shù)據(jù)來自發(fā)送機的TB8。TI: 發(fā)送中斷標(biāo)志位。發(fā)送前必須用軟件清零,發(fā)發(fā)送中斷標(biāo)志位
23、。發(fā)送前必須用軟件清零,發(fā) 送過程中送過程中TI保持零電平保持零電平,發(fā)送完一幀數(shù)據(jù)后,由發(fā)送完一幀數(shù)據(jù)后,由 硬件置硬件置 “1”,如果再發(fā)送,如果再發(fā)送,必須用軟件再清零。必須用軟件再清零。32RI: 接收中斷標(biāo)志位。接收前接收中斷標(biāo)志位。接收前,必須用軟件清零必須用軟件清零,接接 收過程中收過程中RI保持零電平,接收完一幀數(shù)據(jù)后由保持零電平,接收完一幀數(shù)據(jù)后由 片內(nèi)硬件自動置片內(nèi)硬件自動置“1”。如果再接收必須用軟件清。如果再接收必須用軟件清 零。零。SM2:多機通信控制位,僅用于方式多機通信控制位,僅用于方式2和方式和方式3。 當(dāng)選擇方式當(dāng)選擇方式2或方式或方式3時時,發(fā)送機設(shè)置發(fā)送機
24、設(shè)置SM2=1, 以發(fā)送第九位以發(fā)送第九位TB8為為1作為地址幀尋找從機作為地址幀尋找從機,以以 TB8為為0作為數(shù)據(jù)幀進行通信,從機初始化時設(shè)作為數(shù)據(jù)幀進行通信,從機初始化時設(shè) 置置SM2=1,若接收到的第九位數(shù)據(jù)若接收到的第九位數(shù)據(jù)RB8=0,不置位不置位 RI,即不引起接收中斷即不引起接收中斷,亦既不接收數(shù)據(jù)幀亦既不接收數(shù)據(jù)幀,繼續(xù)繼續(xù) 監(jiān)聽監(jiān)聽,如接收到的如接收到的RB8=1,置位置位RI,引起接收中斷引起接收中斷, 中斷程序中判斷所接收的地址幀和本機的地址中斷程序中判斷所接收的地址幀和本機的地址33是否符合是否符合,若不符合若不符合,維持維持SM2=1,繼續(xù)監(jiān)聽繼續(xù)監(jiān)聽,若符合若符合
25、,則則 清清SM2,接收對放發(fā)來的后續(xù)信息接收對放發(fā)來的后續(xù)信息. 綜上所述綜上所述,SM2的作用為的作用為:在方式在方式2,3中,發(fā)送機中,發(fā)送機SM2=1(程序設(shè)置程序設(shè)置). 接收機接收機SM2=1,若若RB8=1,激活激活RI,引起接收中斷引起接收中斷. RB8=0,不激活不激活RI,不引起接斷不引起接斷. SM2=0,無論無論RB8=1還是還是RB8=0均激活均激活RI引起引起 接收中斷。接收中斷。在方式在方式1中中, 當(dāng)接收時當(dāng)接收時SM2=1, 則只有收到有效停止位才則只有收到有效停止位才 激活激活RI,在方式,在方式 0 中中, SM2應(yīng)置為應(yīng)置為0。34 PCON:的字節(jié)地址
26、為:的字節(jié)地址為87H,無位地址無位地址, 只能字節(jié)只能字節(jié)尋址尋址.,初始化時初始化時SMOD=0.SMODXXXXXXXPCON87H8 .3. 2 電源控制寄存器電源控制寄存器PCON PCON的格式如下圖所示的格式如下圖所示,串行通信只用其中的最高串行通信只用其中的最高位位SMODSMOD : 波特率加倍位。在計算串行方式波特率加倍位。在計算串行方式 1、 2、 3 的波特率時,的波特率時, SMOD 0不加倍不加倍; SMOD 1 加倍加倍 35 根據(jù)串行通信數(shù)據(jù)格式和波特率的不同根據(jù)串行通信數(shù)據(jù)格式和波特率的不同, 51系列單片系列單片機的串行通信有四種工作方式機的串行通信有四種工
27、作方式,通過編程進行選擇通過編程進行選擇,各工作各工作方式的特點如下方式的特點如下:1.方式方式0 RXD為串行數(shù)據(jù)的發(fā)送端或接收端為串行數(shù)據(jù)的發(fā)送端或接收端, TXD輸出頻率為輸出頻率為fosc/12的時鐘脈沖。的時鐘脈沖。波特率固定為波特率固定為fosc/12 (fosc為單片機晶振頻率為單片機晶振頻率)方式方式0的數(shù)據(jù)格式為的數(shù)據(jù)格式為8位位,低位在前低位在前,高位在后高位在后36 移位寄位器方式多用于接口的擴展移位寄位器方式多用于接口的擴展,當(dāng)用單當(dāng)用單片機構(gòu)成系統(tǒng)時片機構(gòu)成系統(tǒng)時,往往感到并行口不夠用往往感到并行口不夠用,此時此時可通過外接串入并出移位寄存器擴展輸出接口;可通過外接串
28、入并出移位寄存器擴展輸出接口;通過外接并入串出移位寄存器擴展輸入接口,通過外接并入串出移位寄存器擴展輸入接口,方式方式 0 也可應(yīng)用于短距離的單片機之間的通信。也可應(yīng)用于短距離的單片機之間的通信。2.方式方式1 為為10位異步通信方式位異步通信方式,幾每幀數(shù)據(jù)由幾每幀數(shù)據(jù)由1個起始位個起始位 “0”.八個數(shù)據(jù)位八個數(shù)據(jù)位 和和1個停止位個停止位“1”共共10位構(gòu)成位構(gòu)成.其其 中起始位和停止位在發(fā)送時是自動插入的中起始位和停止位在發(fā)送時是自動插入的. 以以TXD為串行數(shù)據(jù)的發(fā)送端為串行數(shù)據(jù)的發(fā)送端,T1提供位時鐘提供位時鐘,RXD 為數(shù)據(jù)的接收端為數(shù)據(jù)的接收端,由由T1提供移位時鐘提供移位時鐘
29、,是波特率可是波特率可 變方式變方式37波特率波特率=(2SMOD/32)(TI的溢出率的溢出率) =(2SMOD/32)(fosc/12(256-x) )根據(jù)給定的波特率根據(jù)給定的波特率,可以計算可以計算T1的計數(shù)初值的計數(shù)初值X。 11位異步發(fā)送位異步發(fā)送/接收方式接收方式,即每幀數(shù)據(jù)由有一個起即每幀數(shù)據(jù)由有一個起 始位始位“0”,9個數(shù)據(jù)位和個數(shù)據(jù)位和1個停止位個停止位“1”組成組成.發(fā)送發(fā)送時時 九個數(shù)據(jù)位九個數(shù)據(jù)位,由由SCON寄存器的寄存器的TB8位位 提供提供,接收接收 到的第九位數(shù)據(jù)存放在到的第九位數(shù)據(jù)存放在SCON寄存器的寄存器的RB8位位. 第九位數(shù)據(jù)可作為檢驗位第九位數(shù)據(jù)
30、可作為檢驗位,也可用于多機通信中也可用于多機通信中 識別傳送的是地址還是數(shù)據(jù)的特征位。識別傳送的是地址還是數(shù)據(jù)的特征位。3. 方式方式2384. 方式方式3 數(shù)據(jù)格式同方式數(shù)據(jù)格式同方式 3,所不同的是,所不同的是算算方式同方式方式同方式 1。波特率固定為波特率固定為(2SMOD/64)fosc.398.5 串行口的應(yīng)用編程l串行口的波特率有兩種方式:串行口的波特率有兩種方式:固定波特率固定波特率可變波特率可變波特率注意:使用可變波特率時,先確定注意:使用可變波特率時,先確定TI的計數(shù)初值,的計數(shù)初值,并對并對TI進行初始化。進行初始化。l串行通信的編程方式:串行通信的編程方式:查詢方式查詢方
31、式:查查C 是否為是否為“1”。中斷方式:如果預(yù)先開了中斷,當(dāng)中斷方式:如果預(yù)先開了中斷,當(dāng)TI、RI 為為“1”,會,會自動產(chǎn)生中斷。自動產(chǎn)生中斷。注意:兩種方式中當(dāng)發(fā)送或接受數(shù)據(jù)后都要注意注意:兩種方式中當(dāng)發(fā)送或接受數(shù)據(jù)后都要注意 清清TI 或或RI 。408.5.1 查詢方式l查詢方式發(fā)送流程圖和接收流程圖見下頁查詢方式發(fā)送流程圖和接收流程圖見下頁41T1初始化、啟動初始化、啟動T1工作工作設(shè)定串行通信方式設(shè)定串行通信方式置發(fā)送數(shù)據(jù)塊首址置發(fā)送數(shù)據(jù)塊首址數(shù)據(jù)塊長度計數(shù)器數(shù)據(jù)塊長度計數(shù)器清清TI發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)TI1?修改地址指針修改地址指針和塊長度計數(shù)器和塊長度計數(shù)器全部數(shù)據(jù)發(fā)送完?全部
32、數(shù)據(jù)發(fā)送完?開始開始結(jié)束結(jié)束YNNY查詢方式發(fā)送流程圖查詢方式發(fā)送流程圖YNYN42T1初始化、啟動初始化、啟動T1工作工作設(shè)定串行通信方式設(shè)定串行通信方式,允許接收允許接收置接收緩沖區(qū)首址置接收緩沖區(qū)首址接收數(shù)據(jù)塊長度接收數(shù)據(jù)塊長度清清RIRI1?修改地址指針修改地址指針和塊長度計數(shù)器和塊長度計數(shù)器全部數(shù)據(jù)接收完?全部數(shù)據(jù)接收完?開始開始結(jié)束結(jié)束接收數(shù)據(jù)接收數(shù)據(jù)NYYN查詢方式接收流程圖查詢方式接收流程圖YNYN438.5.2 中斷方式 中斷方式的初始化編程同查詢方式,不中斷方式的初始化編程同查詢方式,不同的是要開中斷,即置位同的是要開中斷,即置位EA和和ES,編寫中,編寫中斷服務(wù)程序。斷服
33、務(wù)程序。初始化初始化初始化初始化中斷方式串行通信的程序流程見下圖:中斷方式串行通信的程序流程見下圖:44中斷方式發(fā)送流程圖中斷方式發(fā)送流程圖T1初始化、啟動初始化、啟動T1工作工作設(shè)定串行通信方式設(shè)定串行通信方式置發(fā)送數(shù)據(jù)塊首址置發(fā)送數(shù)據(jù)塊首址數(shù)據(jù)塊長度計數(shù)器數(shù)據(jù)塊長度計數(shù)器發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)全部數(shù)據(jù)發(fā)送完?全部數(shù)據(jù)發(fā)送完?YN等待中斷等待中斷1 EA, 1ES發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)中斷返回中斷返回0 EA, 0ES中斷服務(wù)程序中斷服務(wù)程序主程序主程序修改地址指針修改地址指針和塊長度計數(shù)器和塊長度計數(shù)器清清TIYN45中斷方式接收流程圖中斷方式接收流程圖T1初始化、啟動初始化、啟動T1工作工作設(shè)定串行
34、通信方式設(shè)定串行通信方式置接收數(shù)據(jù)塊首址置接收數(shù)據(jù)塊首址數(shù)據(jù)塊長度計數(shù)器數(shù)據(jù)塊長度計數(shù)器全部數(shù)據(jù)接收完?全部數(shù)據(jù)接收完?YN等待中斷等待中斷1 EA, 1ES中斷返回中斷返回0 EA, 0ES中斷服務(wù)程序中斷服務(wù)程序主程序主程序修改地址指針修改地址指針和塊長度計數(shù)器和塊長度計數(shù)器清清RI接收數(shù)據(jù)接收數(shù)據(jù)YN46RXD89C51TXDP1.0例例8-1 8-1 接線如圖,編一個自發(fā)自收程序,檢查單接線如圖,編一個自發(fā)自收程序,檢查單片機的串行口是否完好,片機的串行口是否完好,f=12MHzf=12MHz,波特率,波特率600600,取取SMODSMOD0 0。解:依據(jù)公式解:依據(jù)公式波特率波特率
35、 求得求得 )256(12321xo os sc cf fCCHx 20447例例8-1匯編語言編程匯編語言編程 MOV TMOD MOV TH1, #0CCH MOV TL1, #0CCH ; 設(shè)定波特率設(shè)定波特率 SETB TR1 MOV SCON, #50HABC: CLR TI MOV P1, #0FEH ; LED滅滅 ACALL DAY ; 延時延時 MOV A, #OFFH MOV SBUF, A ; 發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)FFH JNB RI, $ ;RI = 1等待等待 48 CLR RI MOV A, SBUF ; 接收數(shù)據(jù),接收數(shù)據(jù),A=FFH MOV P1, A ; 燈亮燈亮
36、 JNB TI, $ ;TI = 1等待等待 ACALL DAY ; 延時延時 SJMP ABCDAY: MOV R0, #0DAL: MOV R1, #0 DJNZ R1, $ DJNZ R0, DAL RET 如果發(fā)送接收正確,可觀察到如果發(fā)送接收正確,可觀察到P1.0P1.0接的發(fā)光二極管閃亮。接的發(fā)光二極管閃亮。 49例例8-1 C語言編程語言編程include Main()unsigned int I;TMOD=0 x20;TH1=0 xcc;TL1=0 xcc; / 初始化初始化T1TR1=1; / 無限循環(huán)執(zhí)行一下發(fā)送和接收語句無限循環(huán)執(zhí)行一下發(fā)送和接收語句SCON=0 x50;While(1)50TI=0;P1=0 xfe; / LED滅滅for(I=0;I10000;I+); / 延時延時SBUF0 xff; / 發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)FFHwhile(RI=0); / RI=0等待等待RI=0; / RI=1清清RIP1=SBUF;/ 接收數(shù)據(jù)并送接收數(shù)據(jù)并送P1口,燈亮口
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)大一(計算機應(yīng)用技術(shù))數(shù)據(jù)庫開發(fā)技術(shù)實務(wù)階段測試題
- 2025年高職(野生動植物資源保護與利用)珍稀動物保護試題及答案
- 2026年面包制作(全麥面包烘焙)試題及答案
- 2025年中職灌溉與排水技術(shù)(灌溉排水操作)試題及答案
- 2025年中職旅游服務(wù)(導(dǎo)游實訓(xùn)實操)試題及答案
- 2025年高職汽車電子技術(shù)(汽車電器維修)試題及答案
- 2026年環(huán)境工程(污水處理技術(shù))試題及答案
- 2025年大學(xué)醫(yī)學(xué)信息學(xué)(醫(yī)學(xué)信息)試題及答案
- 2025年高職哲學(xué)(西方哲學(xué)概論)試題及答案
- 2025年高職(烹飪工藝與營養(yǎng))烹飪原料學(xué)階段測試題及答案
- DB11∕T 637-2024 房屋結(jié)構(gòu)綜合安全性鑒定標(biāo)準(zhǔn)
- 2025年新疆中考數(shù)學(xué)真題試卷及答案
- 2025屆新疆烏魯木齊市高三下學(xué)期三模英語試題(解析版)
- DB3210T1036-2019 補充耕地快速培肥技術(shù)規(guī)程
- 混動能量管理與電池?zé)峁芾淼膮f(xié)同優(yōu)化-洞察闡釋
- T-CPI 11029-2024 核桃殼濾料標(biāo)準(zhǔn)規(guī)范
- 統(tǒng)編版語文三年級下冊整本書閱讀《中國古代寓言》推進課公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 《顧客感知價值對綠色酒店消費意愿的影響實證研究-以三亞S酒店為例(附問卷)15000字(論文)》
- 勞動仲裁申請書電子版模板
- 趙然尊:胸痛中心時鐘統(tǒng)一、時間節(jié)點定義與時間管理
- 家用燃氣灶結(jié)構(gòu)、工作原理、配件介紹、常見故障處理
評論
0/150
提交評論