




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、本章介紹的主要內(nèi)容本章介紹的主要內(nèi)容串行通信的基本概念串行通信的基本概念串行通信接口串行通信接口串行通信串行通信寄存器寄存器串行通信串行通信 8 1 概概 述述 單片機應用與數(shù)據(jù)采集或工業(yè)控制時,往往作為前端機安裝單片機應用與數(shù)據(jù)采集或工業(yè)控制時,往往作為前端機安裝在工業(yè)現(xiàn)場,遠離主機,現(xiàn)場數(shù)據(jù)采用串行通信方式發(fā)往主機進在工業(yè)現(xiàn)場,遠離主機,現(xiàn)場數(shù)據(jù)采用串行通信方式發(fā)往主機進行處理,以降低通信成本,提高通信可靠性。如下圖所示行處理,以降低通信成本,提高通信可靠性。如下圖所示。 數(shù)據(jù)通信方式有兩種:并行通信與串行通信數(shù)據(jù)通信方式有兩種:并行通信與串行通信并行通信:并行通信: 所傳送數(shù)據(jù)的各位同時
2、發(fā)送或接收,所傳送數(shù)據(jù)的各位同時發(fā)送或接收, 數(shù)據(jù)有多少位就需要多少根數(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ù)線。) 特點:成本低,硬件方便,適合遠距離通信,特點:成本低,硬件方便,適合遠距離通信, 傳輸速度低。傳輸速
3、度低。 串行通信的分類:同步串行通信和異步串行通信串行通信的分類:同步串行通信和異步串行通信 一、異步通信:一、異步通信: 通信的雙方應該有一個約定,什么時候開始發(fā)通信的雙方應該有一個約定,什么時候開始發(fā)送,什么時候發(fā)送完畢;接收方收到的信息是否正送,什么時候發(fā)送完畢;接收方收到的信息是否正確等,這就是確等,這就是通信協(xié)議通信協(xié)議。 異步串行通信一幀數(shù)據(jù)格式:異步串行通信一幀數(shù)據(jù)格式:n 一個起始位一個起始位 “0”,表示字符的開始,然后是表示字符的開始,然后是58位數(shù)據(jù)即該字符的代碼,規(guī)定低位在前,高位在位數(shù)據(jù)即該字符的代碼,規(guī)定低位在前,高位在后,接后,接 下來是奇偶校驗位下來是奇偶校驗位
4、(可省略可省略),最后以停止位,最后以停止位“1”表示字符的結束。表示字符的結束。n優(yōu)點:硬件結構簡單。優(yōu)點:硬件結構簡單。n缺點:傳輸速度慢。缺點:傳輸速度慢。P1D0 D1D2 D3 D4 D5 D6 D7P10第第n個字符(一幀)個字符(一幀)n-1n+10D0起起始始位位數(shù)據(jù)位(數(shù)據(jù)位(58位)位)校校驗驗位位停停止止位位二、同步通信二、同步通信 在同步通信中,發(fā)送方在數(shù)據(jù)或字符開始處就在同步通信中,發(fā)送方在數(shù)據(jù)或字符開始處就用同步字符用同步字符(常約定常約定12個字節(jié)個字節(jié))指示一幀的開始指示一幀的開始 ,由時鐘來實現(xiàn)發(fā)送端和接收端同步,接收方一旦由時鐘來實現(xiàn)發(fā)送端和接收端同步,接收
5、方一旦檢測到與規(guī)定的同步字符符合,下面檢測到與規(guī)定的同步字符符合,下面 就連續(xù)按順就連續(xù)按順序傳送若干個數(shù)據(jù)序傳送若干個數(shù)據(jù) ,最后發(fā)校驗字節(jié)。見下圖:,最后發(fā)校驗字節(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ù)校驗校驗三、單工、半雙工、全雙工通信方式三、單工、半雙工、全雙工通信方式 按通信方向分類:單工、半雙工、全雙工通信方式按通信方向分類:單工、半雙工、全雙工通信方式 1 單工方式單工方式: 一端是發(fā)送端,另外一端是接收端:一端是發(fā)送端,另外一端是接收端: 每端口有一個發(fā)送器和一個接收器,通過開每端口有一個發(fā)送器和一個接收器,通
6、過開關連接在線路上,數(shù)據(jù)可以雙向傳送,但不能同關連接在線路上,數(shù)據(jù)可以雙向傳送,但不能同時發(fā)送和接收時發(fā)送和接收. 要通過換向器轉換方向。要通過換向器轉換方向。 通信雙方用兩個獨立的收發(fā)器單獨連接通信雙方用兩個獨立的收發(fā)器單獨連接,可以可以同時發(fā)送和接收數(shù)據(jù)同時發(fā)送和接收數(shù)據(jù),因而提高了速度。因而提高了速度。 1.實現(xiàn)數(shù)據(jù)格式化實現(xiàn)數(shù)據(jù)格式化 因為因為CPU發(fā)出的數(shù)據(jù)是并行數(shù)據(jù),接口電路應實現(xiàn)不發(fā)出的數(shù)據(jù)是并行數(shù)據(jù),接口電路應實現(xiàn)不同串行通信方式下的數(shù)據(jù)格式化任務,同串行通信方式下的數(shù)據(jù)格式化任務, 如自動生成起止方如自動生成起止方式的幀數(shù)據(jù)格式式的幀數(shù)據(jù)格式(異步方式異步方式)或在待傳送的數(shù)
7、據(jù)塊前加上同或在待傳送的數(shù)據(jù)塊前加上同步字符等。步字符等。2.進行串、并轉換進行串、并轉換 在發(fā)送端,接口將在發(fā)送端,接口將CPU送來的并行信號轉換成串行數(shù)據(jù)送來的并行信號轉換成串行數(shù)據(jù)進行傳送;而在接收端,接口要將接進行傳送;而在接收端,接口要將接 收到串行數(shù)據(jù)變成并收到串行數(shù)據(jù)變成并行數(shù)據(jù)送往行數(shù)據(jù)送往CPU,由,由CPU進行處理。進行處理。3.控制數(shù)據(jù)的傳輸速率控制數(shù)據(jù)的傳輸速率 接口應具備對數(shù)據(jù)傳輸率接口應具備對數(shù)據(jù)傳輸率波特率的控制選擇能力,即波特率的控制選擇能力,即具有波特率發(fā)生器。具有波特率發(fā)生器。4.進行傳送錯誤檢測進行傳送錯誤檢測 在發(fā)送時,對傳送的數(shù)據(jù)自動生成校驗位或校驗碼
8、,在在發(fā)送時,對傳送的數(shù)據(jù)自動生成校驗位或校驗碼,在接收端能檢查校驗位或校驗接收端能檢查校驗位或校驗 碼,以確定傳送中是否有誤碼。碼,以確定傳送中是否有誤碼。 51系列單片機內(nèi)有一個全雙工的異步通信接口,通過對串系列單片機內(nèi)有一個全雙工的異步通信接口,通過對串行接口寫控制字可以選擇其數(shù)據(jù)格行接口寫控制字可以選擇其數(shù)據(jù)格 式,同時內(nèi)部有波特率發(fā)式,同時內(nèi)部有波特率發(fā)生器,提供可選的波特率,可完成雙機通信或多機通信。生器,提供可選的波特率,可完成雙機通信或多機通信。四、四、 波特率波特率 單位時間內(nèi)傳送的信息量。在計算機中,以每秒單位時間內(nèi)傳送的信息量。在計算機中,以每秒傳送的二進制位數(shù)為單位。傳
9、送的二進制位數(shù)為單位。例如:例如:100字符字符/秒,秒,1個字符個字符11位,位, 波特率為:波特率為:10011=1100(波特)(波特) 平均每位傳送占用時間平均每位傳送占用時間 Td = 1/1100=0.909ms(一)通信線的連接(一)通信線的連接 通信速率和通信距離這兩個方面是相互通信速率和通信距離這兩個方面是相互制約的,降低通信速率,可以提高通信距離制約的,降低通信速率,可以提高通信距離. 不同的通信距離,不同的通信距離,串行通信電路有不同的串行通信電路有不同的連接方法連接方法 RXD TXD GNDRXDTXDGNDRXDTXDGND電電平平轉轉換換RXDTXDGNDRXDT
10、XDGND電電平平轉轉換換RXDTXDGND微機微機微機其微機其他設備他設備較遠距離傳送電路較遠距離傳送電路近距離傳送電路近距離傳送電路微機接口調(diào)制解調(diào)器調(diào)制解調(diào)器接口微機電話分機電話分機遠距離傳送電路遠距離傳送電路 數(shù)字信號通過調(diào)制器變成模擬信號通過電話線傳數(shù)字信號通過調(diào)制器變成模擬信號通過電話線傳送到對方,接收方通過解調(diào)器將模擬信號轉換成數(shù)字送到對方,接收方通過解調(diào)器將模擬信號轉換成數(shù)字信號接收。信號接收。(二)(二)串行通信接口總線標準串行通信接口總線標準 測控系統(tǒng)中,計算機通信主要采用異步串行通信方測控系統(tǒng)中,計算機通信主要采用異步串行通信方式,常用的異步總線標準有三種:式,常用的異步
11、總線標準有三種:RS-232(RS-232A RS-232B RS-232C)RS-449 (RS422 RS423 RS485)20mA電流環(huán)電流環(huán) 這里重點介紹這里重點介紹RS-232 RS-232C:速率:速率:20Kbit/S, 最大通信距離最大通信距離 : 15m RS422: 10Mbit/s, : 300m 90Kbit/s, :1200m1 2. 抗干擾能力抗干擾能力 采用標準的通信接口,本身具有一定的抗干擾采用標準的通信接口,本身具有一定的抗干擾能力,但是工業(yè)現(xiàn)場的情況往往很惡劣,因能力,但是工業(yè)現(xiàn)場的情況往往很惡劣,因而要根據(jù)具體情況進行選擇。而要根據(jù)具體情況進行選擇。 R
12、S232C:一般場合:一般場合 RS422: 共模信號比較強共模信號比較強 光纖:光纖: 電磁干擾較強電磁干擾較強二、二、RS232C 美國電子工業(yè)協(xié)會(美國電子工業(yè)協(xié)會(EIA)公布的一種異步通信標準。)公布的一種異步通信標準。 RS232C標準是:標準是:設備之間通信的距離不大于設備之間通信的距離不大于15米米最大傳輸速率最大傳輸速率20KB/S采用負邏輯:采用負邏輯:“1” 5V 15V “0” +5V + 15V不帶負載時輸出電平:不帶負載時輸出電平:25V +25V輸出短路電流:輸出短路電流: 0.5A最大負載電容最大負載電容: 2500pF 當計算機采用當計算機采用RS232標準時
13、必須通過電平,標準時必須通過電平,MAX232 是是EIA和和TTL電平轉換芯片。內(nèi)部具有電壓提升電路,并有電平轉換芯片。內(nèi)部具有電壓提升電路,并有兩路接收器和發(fā)送器。其連線和引腳如圖兩路接收器和發(fā)送器。其連線和引腳如圖 TTL電平可以由專用集成電路轉換成電平可以由專用集成電路轉換成RS232C標準標準; 如如: MC1488 或或 75188 TTL RS232C 從從MC1489 或或 75189 RS232C TTL 由于由于MC1488需要采用需要采用12V電源,一般在單片機通信中大量電源,一般在單片機通信中大量使用的是只需要使用的是只需要+5V電源、具有發(fā)送和接收的一體化芯片,如:電
14、源、具有發(fā)送和接收的一體化芯片,如:MAX232、ICL232、ADM202等。等。 MCS51之間的之間的雙機通信雙機通信 RXD TXD GNDTXDGND8xx518xx51RXD8.2 MCS-51的的串行口串行口結構結構 51單片機有一個可編程的全雙工異串單片機有一個可編程的全雙工異串行通信接口,它可作行通信接口,它可作UART用,也可作同用,也可作同步移位寄存器,其幀格式可有步移位寄存器,其幀格式可有8位、位、10位位或或11位,并能設置各種波特率,給使用者位,并能設置各種波特率,給使用者帶來很大的靈活性。帶來很大的靈活性。 發(fā)送發(fā)送SBUF(99H)門門88 圖圖8.7 串行口結
15、構框圖串行口結構框圖 RXD(P3.0)TXD(P3.1)中斷中斷接收接收SBUF(99H)定定時時器器T1fosc2分頻器分頻器發(fā)送控制器發(fā)送控制器接收控制器接收控制器串寄串寄行存行存控器控器制制 SCON (98H)輸入移位寄存器輸入移位寄存器TIRI內(nèi)內(nèi) 部部 總總 線線 5 l 單片機通過引腳單片機通過引腳RXD(P3.0)串行數(shù)串行數(shù)據(jù)接收端據(jù)接收端)和引腳和引腳TXD(P3.l)串行數(shù)據(jù)發(fā)送串行數(shù)據(jù)發(fā)送端端)與外界進行通信。與外界進行通信。 圖中有兩個物理上獨立的接收、發(fā)送圖中有兩個物理上獨立的接收、發(fā)送緩沖器緩沖器SBUF,它們占用同一地址,它們占用同一地址99H,可,可同時發(fā)送
16、、接收數(shù)據(jù)。同時發(fā)送、接收數(shù)據(jù)。 發(fā)送緩沖器只能寫入,不能讀出,發(fā)送緩沖器只能寫入,不能讀出,CPU寫寫SBUF,一方面修改發(fā)送寄存器,同時啟動數(shù)據(jù),一方面修改發(fā)送寄存器,同時啟動數(shù)據(jù)串行發(fā)送;串行發(fā)送; 接收緩沖器只能讀出、不能寫入。讀接收緩沖器只能讀出、不能寫入。讀SBUF,就,就是讀接收寄存器。是讀接收寄存器。串行控制寄存器串行控制寄存器SCON 用以存用以存 放串行口的控制和狀態(tài)信息。放串行口的控制和狀態(tài)信息。8XX51串行口正是通過對上述專用寄存器的設置、檢測串行口正是通過對上述專用寄存器的設置、檢測與讀取與讀取 來管理串行通信的。來管理串行通信的。特特 殊功能寄存器殊功能寄存器PC
17、ON的最高位的最高位SMOD為串行口為串行口波特率的倍增控制位。波特率的倍增控制位。波特率發(fā)生器波特率發(fā)生器 可以有兩種選擇:可以有兩種選擇:1. 定時器定時器T1作波特率發(fā)生器,改變計數(shù)初值就可以作波特率發(fā)生器,改變計數(shù)初值就可以改變串行通信的速率,稱為可變波特率。改變串行通信的速率,稱為可變波特率。2. 以內(nèi)部時鐘的分頻器作波特率發(fā)生器,因內(nèi)部時以內(nèi)部時鐘的分頻器作波特率發(fā)生器,因內(nèi)部時鐘頻率一定,稱為固定波特率鐘頻率一定,稱為固定波特率shiftMOV A , SBUF串行數(shù)據(jù)串行數(shù)據(jù)CPUCPU SBUF SBUFshiftMOV SBUF , A并行數(shù)據(jù)并行數(shù)據(jù)甲方(發(fā)送)甲方(發(fā)送
18、)乙方(接收)乙方(接收) 甲方發(fā)送時,甲方發(fā)送時,CPU執(zhí)行執(zhí)行指令指令 MOV SBUF , A 啟動啟動了發(fā)送過程,數(shù)據(jù)并行送入了發(fā)送過程,數(shù)據(jù)并行送入SBUF ,在發(fā)送時鐘,在發(fā)送時鐘 shift的控制下由低位到高位一位一位發(fā)送,乙方在接收時的控制下由低位到高位一位一位發(fā)送,乙方在接收時鐘鐘 shift 的控制下由低位到高位的控制下由低位到高位 順序進入移位寄存器順序進入移位寄存器SBUF ,甲方一幀數(shù)據(jù)發(fā)送完畢,置位發(fā)送中斷標志,甲方一幀數(shù)據(jù)發(fā)送完畢,置位發(fā)送中斷標志二、串行通信的傳送過程用下面簡圖說明二、串行通信的傳送過程用下面簡圖說明TIRITI,該位可作為查詢標志(或引起中斷)
19、,該位可作為查詢標志(或引起中斷),CPU可再發(fā)送下一幀數(shù)據(jù)可再發(fā)送下一幀數(shù)據(jù) 。乙方一幀數(shù)據(jù)到齊。乙方一幀數(shù)據(jù)到齊即接收緩沖器滿,置位接收中斷標志即接收緩沖器滿,置位接收中斷標志RI,該位,該位可作為查詢標志(或引起接收中斷),通過可作為查詢標志(或引起接收中斷),通過MOV A ,SBUF CPU將這幀數(shù)據(jù)并行讀入。將這幀數(shù)據(jù)并行讀入。由上述可知:由上述可知: 甲、乙方的移位時鐘頻率應相同,即應具有甲、乙方的移位時鐘頻率應相同,即應具有相同的波特率,否則會造成數(shù)據(jù)丟失。相同的波特率,否則會造成數(shù)據(jù)丟失。1. 發(fā)送方是先發(fā)數(shù)據(jù)再查標志,接收方是先查發(fā)送方是先發(fā)數(shù)據(jù)再查標志,接收方是先查標志再
20、收數(shù)據(jù)。標志再收數(shù)據(jù)。 51單片機串行口是一個可編程接口,對單片機串行口是一個可編程接口,對它的編程只用兩個控制字分別寫入特殊功能它的編程只用兩個控制字分別寫入特殊功能寄存器:寄存器: 串行口控制寄存器串行口控制寄存器SCON(98H) 電源控制寄存器電源控制寄存器PCON(97H) 3.CPU通過指令和通過指令和SBUF并行交換數(shù)據(jù),并不并行交換數(shù)據(jù),并不能控制數(shù)據(jù)的串行移位,它只能查詢標志能控制數(shù)據(jù)的串行移位,它只能查詢標志位來確定數(shù)據(jù)的移位是否完成。位來確定數(shù)據(jù)的移位是否完成。8.3 串行口的控制寄存器串行口的控制寄存器 8.3.1 串行口的控制寄存器串行口的控制寄存器SCON 8XX5
21、1串行通信的方式選擇串行通信的方式選擇 ,接受和發(fā)送控制及串接受和發(fā)送控制及串行口的標志均由專用寄存器行口的標志均由專用寄存器SCON控制和指示控制和指示,其格式其格式如下如下:SM0SM1 SM2RENTB8RB8TIRI方式選擇方式選擇多機多機控制控制串行接收串行接收允許允許/ 禁止禁止欲發(fā)的欲發(fā)的第九位第九位收到的收到的第九位第九位發(fā)送中發(fā)送中斷有斷有/無無接收中接收中斷有斷有/無無SM0.SM1:串行口工作方式控制位。串行口工作方式控制位。 0 0-方式方式0, 0 1-方式方式1 1 0-方式方式2, 1 1-方式方式3REN:串行接收允許位。:串行接收允許位。 0-禁止接收禁止接收
22、, 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ā)送中斷標志位。發(fā)送前必須用軟件清零,發(fā)發(fā)送中斷標志位。發(fā)送前必須用軟件清零,發(fā) 送過程中送過程中TI保持零電平保持零電平,發(fā)送完一幀數(shù)據(jù)后,由發(fā)送完一幀數(shù)據(jù)后,由 硬件置硬件置 “1”,如果再發(fā)送,如果再發(fā)送,必須用軟件再清零。必須用軟件再清零。RI: 接收中斷標志位。接收前接收中斷標志位。接收前,必須用軟件清零必須用軟件清零,接接 收過
23、程中收過程中RI保持零電平,接收完一幀數(shù)據(jù)后由保持零電平,接收完一幀數(shù)據(jù)后由 片內(nèi)硬件自動置片內(nèi)硬件自動置“1”。如果再接收必須用軟件清。如果再接收必須用軟件清 零。零。SM2:多機通信控制位,僅用于方式多機通信控制位,僅用于方式2和方式和方式3。 當選擇方式當選擇方式2或方式或方式3時時,發(fā)送機設置發(fā)送機設置SM2=1, 以發(fā)送第九位以發(fā)送第九位TB8為為1作為地址幀尋找從機作為地址幀尋找從機,以以 TB8為為0作為數(shù)據(jù)幀進行通信,從機初始化時設作為數(shù)據(jù)幀進行通信,從機初始化時設 置置SM2=1,若接收到的第九位數(shù)據(jù)若接收到的第九位數(shù)據(jù)RB8=0,不置位不置位 RI,即不引起接收中斷即不引起
24、接收中斷,亦既不接收數(shù)據(jù)幀亦既不接收數(shù)據(jù)幀,繼續(xù)繼續(xù) 監(jiān)聽監(jiān)聽,如接收到的如接收到的RB8=1,置位置位RI,引起接收中斷引起接收中斷, 中斷程序中判斷所接收的地址幀和本機的地址中斷程序中判斷所接收的地址幀和本機的地址是否符合是否符合,若不符合若不符合,維持維持SM2=1,繼續(xù)監(jiān)聽繼續(xù)監(jiān)聽,若符合若符合,則則 清清SM2,接收對放發(fā)來的后續(xù)信息接收對放發(fā)來的后續(xù)信息. 綜上所述綜上所述,SM2的作用為的作用為:在方式在方式2,3中,發(fā)送機中,發(fā)送機SM2=1(程序設置程序設置). 接收機接收機SM2=1,若若RB8=1,激活激活RI,引起接收中斷引起接收中斷. RB8=0,不激活不激活RI,不
25、引起接斷不引起接斷. SM2=0,無論無論RB8=1還是還是RB8=0均激活均激活RI引起引起 接收中斷。接收中斷。在方式在方式1中中, 當接收時當接收時SM2=1, 則只有收到有效停止位才則只有收到有效停止位才 激活激活RI,在方式,在方式 0 中中, SM2應置為應置為0。 PCON的字節(jié)地址為的字節(jié)地址為87H,無位地址無位地址, 只能字節(jié)只能字節(jié)尋址尋址.,初始化時初始化時SMOD=0.SMODXXXXXXXPCON87H8 .3. 2 電源控制寄存器電源控制寄存器PCON PCON的格式如下圖所示的格式如下圖所示,串行通信只用其中串行通信只用其中的最高位的最高位SMODSMOD :
26、波特率加倍位。在計算串行方式波特率加倍位。在計算串行方式 1、 2、 3 的波特率時,的波特率時, SMOD 0不加倍不加倍; SMOD 1 加倍加倍 根據(jù)串行通信數(shù)據(jù)格式和波特率的不同根據(jù)串行通信數(shù)據(jù)格式和波特率的不同, 51系列單片機的串行通信有四種工作方式系列單片機的串行通信有四種工作方式,通通過編程進行選擇過編程進行選擇,各工作方式的特點如下各工作方式的特點如下:1.方式方式0 RXD為串行數(shù)據(jù)的發(fā)送端或接收端為串行數(shù)據(jù)的發(fā)送端或接收端, TXD輸出頻率為輸出頻率為fosc/12的時鐘脈沖。的時鐘脈沖。波特率固定為波特率固定為fosc/12 (fosc為單片機晶振頻率為單片機晶振頻率)
27、方式方式0的數(shù)據(jù)格式為的數(shù)據(jù)格式為8位位,低位在前低位在前,高位在后高位在后 移位寄位器方式多用于接口的擴展移位寄位器方式多用于接口的擴展,當用單片當用單片機構成系統(tǒng)時機構成系統(tǒng)時,往往感到并行口不夠用往往感到并行口不夠用,此時可通過此時可通過外接串入并出移位寄存器擴展輸出接口;通過外外接串入并出移位寄存器擴展輸出接口;通過外接并入串出移位寄存器擴展輸入接口,方式接并入串出移位寄存器擴展輸入接口,方式 0 也也可應用于短距離的單片機之間的通信??蓱糜诙叹嚯x的單片機之間的通信。2.方式方式1 為為10位異步通信方式位異步通信方式,幾每幀數(shù)據(jù)由幾每幀數(shù)據(jù)由1個起始位個起始位 “0”.八個數(shù)據(jù)位八
28、個數(shù)據(jù)位 和和1個停止位個停止位“1”共共10位構成位構成.其其 中起始位和停止位在發(fā)送時是自動插入的中起始位和停止位在發(fā)送時是自動插入的. 以以TXD為串行數(shù)據(jù)的發(fā)送端為串行數(shù)據(jù)的發(fā)送端,T1提供位時鐘提供位時鐘,RXD 為數(shù)據(jù)的接收端為數(shù)據(jù)的接收端,由由T1提供移位時鐘提供移位時鐘,是波特率可是波特率可 變方式變方式波特率波特率=(2SMOD/32)(TI的溢出率的溢出率) =(2SMOD/32)(fosc/12(256-x) )根據(jù)給定的波特率根據(jù)給定的波特率,可以計算可以計算T1的計數(shù)初值的計數(shù)初值X。 11位異步發(fā)送位異步發(fā)送/接收方式接收方式,即每幀數(shù)據(jù)由有一個起即每幀數(shù)據(jù)由有一個
29、起 始位始位“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ù)可作為檢驗位,也可用于多機通信中也可用于多機通信中 識別傳送的是地址還是數(shù)據(jù)的特征位。識別傳送的是地址還是數(shù)據(jù)的特征位。波特率固定為波特率固定為(2SMOD/64)fosc.3. 方式方式24. 方式方式3 數(shù)據(jù)格式同方式數(shù)據(jù)格式同方式 2,所不同的是,所不同的是算算方式同方式方式同方式 1。 設定工作方式、接收設定
30、工作方式、接收/發(fā)送控制以及設置狀態(tài)標志發(fā)送控制以及設置狀態(tài)標志 80C51串行口的控制寄存器 SM0 SM1 SM2 REN TB8 RB8 TI RISCON SCON (98H)(98H)SM0、SM1:工作方式設置位:工作方式設置位 0 0:移位寄存器:移位寄存器 ,fosc/12 0 1:10位異步收發(fā)器(位異步收發(fā)器(8位數(shù)據(jù)),位數(shù)據(jù)),波特率可變波特率可變 1 0:11位異步收發(fā)器(位異步收發(fā)器(9位數(shù)據(jù)),位數(shù)據(jù)),fosc/64或或fosc/32 1 1:11位異步收發(fā)器(位異步收發(fā)器(9位數(shù)據(jù)),位數(shù)據(jù)),波特率可變波特率可變 nSM2,多機通信控制位。,多機通信控制位。
31、n主要用于方式主要用于方式2和方式和方式3。對于接收機。對于接收機 SM2=0,收到,收到RB8(0或或1)既可使收到的數(shù)據(jù)進入)既可使收到的數(shù)據(jù)進入SBUF,并激活,并激活RI。 SM2=1,收到的,收到的RB80時,收到的信息丟棄,不激活時,收到的信息丟棄,不激活RI ;若收到的;若收到的RB81時,收到的數(shù)據(jù)進入時,收到的數(shù)據(jù)進入SBUF,并激活,并激活RI,進而在中斷服務中將數(shù),進而在中斷服務中將數(shù)據(jù)從據(jù)從SBUF讀走。讀走。n方式方式0時,時,SM2必須是必須是0。n方式方式1時,時,SM2=1時,只有接收到有效停止位時,時,只有接收到有效停止位時,RI才激活。才激活。nREN,允許
32、串行接收位。,允許串行接收位。n置置REN=1,啟動串口接收過程,啟動串口接收過程n置置REN=0,則禁止串口接收,則禁止串口接收n TB8,在方式在方式2、3中,是發(fā)送數(shù)據(jù)的第中,是發(fā)送數(shù)據(jù)的第9位位n 數(shù)據(jù)的奇偶校驗位數(shù)據(jù)的奇偶校驗位n 地址幀地址幀/數(shù)據(jù)幀的標志位數(shù)據(jù)幀的標志位n RB8,在方式在方式2、3中,是接收到數(shù)據(jù)的第中,是接收到數(shù)據(jù)的第9位位n奇偶校驗位奇偶校驗位n地址幀地址幀/數(shù)據(jù)幀的標志位。數(shù)據(jù)幀的標志位。n方式方式1時,若時,若SM2=0,則,則RB8是接收到的停止位。是接收到的停止位。n TI,發(fā)送中斷標志位。,發(fā)送中斷標志位。n方式方式0時,串行發(fā)送第時,串行發(fā)送第8
33、位數(shù)據(jù)結束時位數(shù)據(jù)結束時n其它方式,串行發(fā)送停止位的開始時其它方式,串行發(fā)送停止位的開始時n硬件使硬件使TI置置1,發(fā)中斷申請。必須在中斷服務程序中用軟,發(fā)中斷申請。必須在中斷服務程序中用軟件將其清件將其清0。nRI,接收中斷標志位。,接收中斷標志位。n方式方式0時,串行接收第時,串行接收第8位數(shù)據(jù)結束時位數(shù)據(jù)結束時n其它方式,串行接收停止位的中間時其它方式,串行接收停止位的中間時n硬件使硬件使RI置置1,發(fā)中斷申請。必須在中斷服務程序中用,發(fā)中斷申請。必須在中斷服務程序中用軟件將其清軟件將其清0。PCON : n SMOD, 波特率倍增位。波特率倍增位。n在方式在方式1、2、3時,波特率與時
34、,波特率與SMOD有關:有關:nSMOD=1時,波特率提高一倍。時,波特率提高一倍。復位時,復位時,SMOD=0。SMOD PCON PCON (97H)(97H) 6.2.3 6.2.3 80C51串行口的工作方式串行口的工作方式 n 方式方式0 同步移位寄存器的輸入輸出方式。用于擴展并行輸入或輸出口。同步移位寄存器的輸入輸出方式。用于擴展并行輸入或輸出口。數(shù)據(jù)由數(shù)據(jù)由RXD引腳輸入或輸出,移位脈沖由引腳輸入或輸出,移位脈沖由TXD引腳輸出。引腳輸出。8位數(shù)據(jù)。位數(shù)據(jù)。波特率為波特率為fosc/12。 n 方式方式0輸出輸出 n 方式方式0輸入輸入 方式方式0接收和發(fā)送電路接收和發(fā)送電路 n
35、 方式方式1 10位數(shù)據(jù)的異步通信。幀格式如圖所示。位數(shù)據(jù)的異步通信。幀格式如圖所示。n 方式方式1輸出輸出 n 方式方式1輸入輸入n 置置REN為為1時,接收器檢測到時,接收器檢測到RXD引腳輸入電平發(fā)生負引腳輸入電平發(fā)生負跳變時,則說明起始位有效,將其移入輸入移位寄存器,跳變時,則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。并開始接收這一幀信息的其余位。n 當當RI=0,且,且SM2=0(或接收到的停止位為(或接收到的停止位為1)時,將收)時,將收到的到的9位數(shù)據(jù)的前位數(shù)據(jù)的前8位裝入位裝入SBUF,第,第9位(停止位)進入位(停止位)進入RB8,并置,并置RI=
36、1,向,向CPU請求中斷。請求中斷。 n 方式方式2和方式和方式3 11位數(shù)據(jù)的異步通信。位數(shù)據(jù)的異步通信。起始位起始位1位,數(shù)據(jù)位,數(shù)據(jù)9位,停止位位,停止位1位位方式方式2的波特率固定為晶振頻率的的波特率固定為晶振頻率的1/64或或1/32方式方式3的波特率由定時器的波特率由定時器T1的溢出率決定的溢出率決定 n 方式方式2和方式和方式3輸出輸出 先把起始位先把起始位0輸出到輸出到TXD,然后發(fā)送移位寄存器的輸,然后發(fā)送移位寄存器的輸出位(出位(D0)。每一移位脈沖都使輸出移位寄存器的各位)。每一移位脈沖都使輸出移位寄存器的各位移動一位,并由移動一位,并由TXD引腳輸出。引腳輸出。 最后一
37、次移位后,置最后一次移位后,置TI=1,請求中斷。,請求中斷。 n 方式方式2和方式和方式3輸入輸入n數(shù)據(jù)從右邊移入輸入移位寄存器,最后一次移位后,若數(shù)據(jù)從右邊移入輸入移位寄存器,最后一次移位后,若RI=0,且,且SM2=0(或接收到的第(或接收到的第9位數(shù)據(jù)為位數(shù)據(jù)為1)時,接收)時,接收到的數(shù)據(jù)裝入接收緩沖器到的數(shù)據(jù)裝入接收緩沖器SBUF和和RB8(接收數(shù)據(jù)的第(接收數(shù)據(jù)的第9位),置位),置RI=1,向,向CPU請求中斷。請求中斷。n如果條件不滿足,則數(shù)據(jù)丟失,且不置位如果條件不滿足,則數(shù)據(jù)丟失,且不置位RIn 波特率的計算波特率的計算 方式方式0、2的波特率是固定的,而方式的波特率是固
38、定的,而方式1、3的波特率的波特率是可變的,由定時器是可變的,由定時器T1的溢出率來決定。的溢出率來決定。 方式方式0波特率波特率 = fosc/12方式方式2波特率波特率 =(2SMOD/64) fosc 方式方式1波特率波特率 =(2SMOD/32)(T1溢出率)溢出率)方式方式3波特率波特率 =(2SMOD/32)(T1溢出率)溢出率)T1 溢出率溢出率 = fosc /12256 (TH1)T1方式方式2,TR1=1(以啟動定時器)(以啟動定時器) 串行口初始化具體步驟:串行口初始化具體步驟:n確定確定T1的工作方式(編程的工作方式(編程TMOD寄存器);寄存器);n計算計算T1的初值
39、,裝載的初值,裝載TH1、TL1;n啟動啟動T1(編程(編程TCON中的中的TR1位);位);確定串行口控制(編程確定串行口控制(編程SCON寄存器);寄存器); 串行口在中斷方式工作時,還要進行中斷設串行口在中斷方式工作時,還要進行中斷設置(編程置(編程IE、IP寄存器)。寄存器)。8.5 串行口的應用編程串行口的應用編程n串行口的波特率有兩種方式:串行口的波特率有兩種方式:q固定波特率固定波特率q可變波特率可變波特率注意:使用可變波特率時,先確定注意:使用可變波特率時,先確定TI 的計數(shù)初值,的計數(shù)初值,并對并對TI 進行初始化。進行初始化。n串行通信的編程方式:串行通信的編程方式:q查詢
40、方式查詢方式: 查查TI或或RI 是否為是否為“1”。q中斷方式:如果預先開了中斷,當中斷方式:如果預先開了中斷,當TI、RI 為為“1”,會自動產(chǎn),會自動產(chǎn)生中斷。生中斷。注意:兩種方式中當發(fā)送或接受數(shù)據(jù)后都要注意注意:兩種方式中當發(fā)送或接受數(shù)據(jù)后都要注意 清清TI 或或RI 。n查詢方式發(fā)送程序:查詢方式發(fā)送程序: (先發(fā)后查)先發(fā)后查) 發(fā)送一個數(shù)據(jù)發(fā)送一個數(shù)據(jù)查詢查詢TI 發(fā)送下一個數(shù)據(jù)發(fā)送下一個數(shù)據(jù)n查詢方式接收程序:(先查后收)查詢方式接收程序:(先查后收) 查詢查詢RI讀入一個數(shù)據(jù)讀入一個數(shù)據(jù)查詢查詢RI讀下一個數(shù)據(jù)讀下一個數(shù)據(jù)n中斷方式發(fā)送程序:中斷方式發(fā)送程序: 發(fā)送一個數(shù)據(jù)
41、發(fā)送一個數(shù)據(jù)等待中斷,在中斷中再發(fā)送下一個等待中斷,在中斷中再發(fā)送下一個數(shù)據(jù)。數(shù)據(jù)。n中斷方式接收程序:中斷方式接收程序: 等待中斷,在中斷中再接收一個數(shù)據(jù)。等待中斷,在中斷中再接收一個數(shù)據(jù)。8.5.1 查詢方式查詢方式n查詢方式發(fā)送流程圖和接收流程圖見下頁查詢方式發(fā)送流程圖和接收流程圖見下頁T1初始化、啟動初始化、啟動T1工作工作設定串行通信方式設定串行通信方式置發(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ā)送完?全部數(shù)據(jù)發(fā)送完?開始開始結束結束查詢方式發(fā)送流程圖查詢方式發(fā)送流程圖Y
42、NYNT1初始化、啟動初始化、啟動T1工作工作設定串行通信方式設定串行通信方式,允許接收允許接收置接收緩沖區(qū)首址置接收緩沖區(qū)首址接收數(shù)據(jù)塊長度接收數(shù)據(jù)塊長度清清RIRI1?修改地址指針修改地址指針和塊長度計數(shù)器和塊長度計數(shù)器全部數(shù)據(jù)接收完?全部數(shù)據(jù)接收完?開始開始結束結束接收數(shù)據(jù)接收數(shù)據(jù)Y查詢方式接收流程圖查詢方式接收流程圖YNYN8.5.2 中斷方式中斷方式 中斷方式的初始化編程同查詢方式,不中斷方式的初始化編程同查詢方式,不同的是要開中斷,即置位同的是要開中斷,即置位EA和和ES,編寫中,編寫中斷服務程序。斷服務程序。中斷方式串行通信的程序流程見下圖:中斷方式串行通信的程序流程見下圖:T1
43、初始化、啟動初始化、啟動T1工作工作設定串行通信方式設定串行通信方式置發(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中斷方式發(fā)送流程圖中斷方式發(fā)送流程圖等待中斷等待中斷1 EA, 1ES發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)中斷返回中斷返回0 EA, 0ES中斷服務程序中斷服務程序主程序主程序修改地址指針修改地址指針和塊長度計數(shù)器和塊長度計數(shù)器清清TIYNT1初始化、啟動初始化、啟動T1工作工作設定串行通信方式設定串行通信方式置接收數(shù)據(jù)塊首址置接收數(shù)據(jù)塊首址數(shù)據(jù)塊長度計數(shù)器數(shù)據(jù)塊長度計數(shù)器全部數(shù)據(jù)接收完?全部數(shù)據(jù)接收完?YN中斷方式接收流程圖中斷方
44、式接收流程圖等待中斷等待中斷1 EA, 1ES中斷返回中斷返回0 EA, 0ES中斷服務程序中斷服務程序主程序主程序修改地址指針修改地址指針和塊長度計數(shù)器和塊長度計數(shù)器清清RI接收數(shù)據(jù)接收數(shù)據(jù)YN例例8-1. 在內(nèi)部數(shù)據(jù)存貯器在內(nèi)部數(shù)據(jù)存貯器20H3FH單元中共有單元中共有32個數(shù)據(jù),要求采用方式個數(shù)據(jù),要求采用方式 1 串行發(fā)送出去,串行發(fā)送出去, 傳送速傳送速率為率為1200波特,設波特,設fosc12MHZ。方法:方法:T1工作于方式工作于方式 2 作波特率發(fā)生器,取作波特率發(fā)生器,取SMOD0,T1的時間常數(shù)計算如下:的時間常數(shù)計算如下: 波特率波特率 1200(1/32)1210 /
45、12(256-x) x230E6H 2 2SMODSMOD fosc fosc12(256-x)12(256-x)326發(fā)送程序:發(fā)送程序: ORG 0000H MOV TMOD, #20H ;T1方式方式2 MOV TH1, #0E6H MOV TL1, #0E6H ;T1時間常數(shù)時間常數(shù) SETB TR1 ;啟動;啟動T1 MOV SCON, #40H ;串行口工作于方式;串行口工作于方式1 MOV R0, #20H ;R0指發(fā)送緩沖區(qū)首指發(fā)送緩沖區(qū)首 MOV R7, #32 ;R7作發(fā)送數(shù)據(jù)計數(shù)作發(fā)送數(shù)據(jù)計數(shù)LO: MOV SBUF,R0 ;發(fā)送數(shù)據(jù);發(fā)送數(shù)據(jù) JNB TI, ;一幀未發(fā)
46、完繼續(xù)查詢;一幀未發(fā)完繼續(xù)查詢 CLR TI ;一幀發(fā)完清;一幀發(fā)完清TI INC R0 DJNZ R7, LO ;數(shù)據(jù)塊未發(fā)完繼續(xù);數(shù)據(jù)塊未發(fā)完繼續(xù) SJMP 接收程序:接收程序: ORG 0000H MOV TMOD, #20H MOV TH1, #0E6H MOV TL1, #0E6H SETB TR1 ;初始化;初始化T1, 并啟動并啟動T1 MOV SCON, #50H ;設定串行方式;設定串行方式1,并允許接收,并允許接收 MOV R0, #20H MOV R7, #32 LOOP:JNB RI, ;一幀收完;一幀收完? CLR RI ;收完清;收完清RI MOV R0, SBUF
47、 ;將數(shù)據(jù)讀入;將數(shù)據(jù)讀入 INC R0 DJNZ R7, LOOP SJMP RXD89C51TXDP1.0例例8-2 8-2 接線如圖,編一個自發(fā)自收程序,接線如圖,編一個自發(fā)自收程序,檢查單片機的串行口是否完好,檢查單片機的串行口是否完好,f=12MHzf=12MHz,波特率,波特率600600,取,取SMODSMOD0 0。解:依據(jù)公式解:依據(jù)公式波特率波特率 求得求得 )256(12321xo os sc cf fCCHx 204匯編語言編程匯編語言編程 MOV TMOD,#20H MOV TH1, #0CCH MOV TL1, #0CCH ; 設定波特率設定波特率 SETB TR1
48、 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 = 0等待等待 CLR RI MOV A, SBUF ; 接收數(shù)據(jù),接收數(shù)據(jù),A=FFH MOV P1, A ; 燈亮燈亮 JNB TI, $ ;TI = 0 等待等待 ACALL DAY ; 延時延時 SJMP ABCDAY: MOV R0, #0DAL: MOV R1, #0 DJNZ R1, $ DJNZ R0, DAL RET 如果發(fā)送接收正確,可觀察
49、到如果發(fā)送接收正確,可觀察到P1.0P1.0接的發(fā)光二極管閃亮。接的發(fā)光二極管閃亮。 例例8-4 例如串行通信方式例如串行通信方式0 0,擴展,擴展I/OI/O接接口,接八個數(shù)碼管,使內(nèi)部數(shù)據(jù)存儲器口,接八個數(shù)碼管,使內(nèi)部數(shù)據(jù)存儲器58H58H-5FH-5FH單元的內(nèi)容為單元的內(nèi)容為0XH0XH。 分析分析 由于由于TXD,RXD運行在工作方式運行在工作方式0時,時,可方便的連接串入并出移位寄存器可方便的連接串入并出移位寄存器74LS164,TXD發(fā)送移位脈沖,發(fā)送移位脈沖,RXD發(fā)送數(shù)據(jù),發(fā)送數(shù)據(jù),P3.3用用于顯示器的輸入控制,通過于顯示器的輸入控制,通過74LS164接八個接八個數(shù)碼管,
50、電路如下圖所示。數(shù)碼管,電路如下圖所示。dp g f e d c b a+5V+5VP3.3TXDRXD8XX51ABCLKCLRCLKCLRCLKCLR74LS16474LS16474LS164Q7Q0200LA5011(共陽)88圖8.11& 例例8-4程序如下:程序如下: ORG 0050H SETB P3.3 ; 允許移位寄存器工作允許移位寄存器工作 MOV SCON, #0 ; 選串行通信方式選串行通信方式0 MOV R7, #08H ; 顯示八個字符顯示八個字符 MOV R0, #5FH ; 先送最后一個顯示字符先送最后一個顯示字符 MOV DPTR, #TBA ; DPTR指向字
51、形表首址指向字形表首址DLO: MOV A, R0 ; 取待顯示數(shù)碼取待顯示數(shù)碼 MOVC A,A+DPTR ; 查字形表查字形表 MOV SBUF, A ; 送出顯示送出顯示 JNB TI, $ ; 一幀輸出完?一幀輸出完? CLR TI ; 已完,清中斷標志已完,清中斷標志 DEC R0 ; 修改顯示數(shù)據(jù)地址修改顯示數(shù)據(jù)地址 DJZN R7, DLO CLR P3.3 ; 8位送完,關發(fā)送脈沖位送完,關發(fā)送脈沖 SJMP $TBA: DB 0C0H,0F9H,0A4H,B0H,99H,92H DB 82H,0F8H,80H,90H,83H,83H,0C6H DB 0A1H,86H,84H,
52、0FFH,0BFHn點對點的通信點對點的通信 n硬件連接硬件連接 6.3 單片機串行口應用舉例單片機串行口應用舉例 n 應用程序應用程序 設設1號機是發(fā)送方,號機是發(fā)送方,2號機是接收方。當號機是接收方。當1號機發(fā)送時,先發(fā)送一個號機發(fā)送時,先發(fā)送一個“E1”聯(lián)絡信號,聯(lián)絡信號,2號機收到后回答一個號機收到后回答一個“E2”應答信號,表示同意接收。應答信號,表示同意接收。當當1號機收到應答信號號機收到應答信號“E2”后,開始發(fā)送數(shù)據(jù),每發(fā)送一個數(shù)據(jù)字節(jié)后,開始發(fā)送數(shù)據(jù),每發(fā)送一個數(shù)據(jù)字節(jié)都要計算都要計算“校驗和校驗和”,假定數(shù)據(jù)塊長度為,假定數(shù)據(jù)塊長度為16個字節(jié),起始地址為個字節(jié),起始地址為
53、40H,一個數(shù)據(jù)塊發(fā)送完畢后立即發(fā)送一個數(shù)據(jù)塊發(fā)送完畢后立即發(fā)送“校驗和校驗和”。2號機接收數(shù)據(jù)并轉存到號機接收數(shù)據(jù)并轉存到數(shù)據(jù)緩沖區(qū),起始地址也為數(shù)據(jù)緩沖區(qū),起始地址也為40H,每接收到一個數(shù)據(jù)字節(jié)便計算一次,每接收到一個數(shù)據(jù)字節(jié)便計算一次“校驗和校驗和”,當收到一個數(shù)據(jù)塊后,再接收,當收到一個數(shù)據(jù)塊后,再接收1號機發(fā)來的號機發(fā)來的“校驗和校驗和”,并將它與并將它與2號機求出的校驗和進行比較。若兩者相等,說明接收正確,號機求出的校驗和進行比較。若兩者相等,說明接收正確,2號機回答號機回答00H;若兩者不相等,說明接收不正確,;若兩者不相等,說明接收不正確,2號機回答號機回答0FFH,請求重發(fā)
54、。請求重發(fā)。1號機接到號機接到00H后結束發(fā)送。若收到的答復非零,則重新發(fā)后結束發(fā)送。若收到的答復非零,則重新發(fā)送數(shù)據(jù)一次。雙方約定采用串行口方式送數(shù)據(jù)一次。雙方約定采用串行口方式1進行通信,一幀信息為進行通信,一幀信息為10位,位,其中有其中有1個起始位、個起始位、8個數(shù)據(jù)位和一個停止位;波特率為個數(shù)據(jù)位和一個停止位;波特率為2400波特,波特,T1工作在定時器方式工作在定時器方式2,振蕩頻率選用,振蕩頻率選用11.0592MHZ,查表可得,查表可得TH1=TL1=0F4H,PCON寄存器的寄存器的SMOD位為位為0。 發(fā)送程序清單如下:發(fā)送程序清單如下: ASTARTASTART:CLR
55、EACLR EA MOV TMOD MOV TMOD,#20H #20H ;定時器;定時器1 1置為方式置為方式 2 2 MOV TH1 MOV TH1,#0F4H #0F4H ;裝載定時器初值,波特率;裝載定時器初值,波特率2400 2400 MOV TL1 MOV TL1,#0F4H#0F4H MOV PCON MOV PCON,#00H #00H SETB TR1 SETB TR1 ;啟動定時器;啟動定時器 MOV SCONMOV SCON,#50H #50H ;設定串口方式;設定串口方式1 1,且準備接收應答信號,且準備接收應答信號 ALOOP1ALOOP1:MOV SBUFMOV SBUF,#0E1H #0E1H ;發(fā)聯(lián)絡信號;發(fā)聯(lián)絡信號 JNB TIJNB TI,$ $ ;等待一幀發(fā)送完畢;等待一幀發(fā)送完畢 CLR TI CLR TI ;允許再發(fā)送;允許再發(fā)送
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買裝修鋼材合同范例
- 2025年中國氫化三聯(lián)苯市場調(diào)查研究報告
- 個人轉讓淘寶店鋪合同范例
- 2025年中國雙作用單桿式液壓缸市場調(diào)查研究報告
- 2025年中國低電壓燈用電子變壓器市場調(diào)查研究報告
- 入股果園合同范例
- 供水材料采購合同范例
- 創(chuàng)業(yè)園運營合同范例
- 農(nóng)村田地購買合同范例
- 住宅開發(fā)商轉讓合同范例
- 經(jīng)濟效益證明(模板)
- 接力版六年級下冊小學英語 Lesson 4 Sally is going to Beijing. 第一課時 教案(教學設計)
- 食堂蔬菜品種及質(zhì)量標準
- Q∕SY 01004-2016 氣田水回注技術規(guī)范
- 《大數(shù)據(jù)分析與應用》教學大綱
- FZW2812F(FDR)型用戶分界真空負荷開關安裝使用說明書完
- 股權轉讓委托書(6篇)
- 韓國出入境卡中韓文對照模板
- 五輥研磨機(課堂PPT)
- 二次函數(shù)求最值(動軸定區(qū)間、動區(qū)間定軸)(課堂PPT)
- 髖關節(jié)脫位2教學課件
評論
0/150
提交評論