![單片機原理及應用(C語言版)第7章MCS-51單片機串行口_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/d0e2034c-7c43-4480-a13b-e76ac4d83a28/d0e2034c-7c43-4480-a13b-e76ac4d83a281.gif)
![單片機原理及應用(C語言版)第7章MCS-51單片機串行口_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/d0e2034c-7c43-4480-a13b-e76ac4d83a28/d0e2034c-7c43-4480-a13b-e76ac4d83a282.gif)
![單片機原理及應用(C語言版)第7章MCS-51單片機串行口_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/d0e2034c-7c43-4480-a13b-e76ac4d83a28/d0e2034c-7c43-4480-a13b-e76ac4d83a283.gif)
![單片機原理及應用(C語言版)第7章MCS-51單片機串行口_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/d0e2034c-7c43-4480-a13b-e76ac4d83a28/d0e2034c-7c43-4480-a13b-e76ac4d83a284.gif)
![單片機原理及應用(C語言版)第7章MCS-51單片機串行口_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/d0e2034c-7c43-4480-a13b-e76ac4d83a28/d0e2034c-7c43-4480-a13b-e76ac4d83a285.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口單片機原理及應用(單片機原理及應用(C語言語言版)第版)第7章章MCS-51單片機串單片機串行口行口單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口第第7章章 MCS-51單片機串行口單片機串行口 目目 錄錄7.1 串行通信基本知識串行通信基本知識7.2 串行口結構及控制串行口結構及控制7.3 串行口工作方式串行口工作方式7.4 串行口應用舉例串行口應用舉例7.5 單片機與單片機與PC機通信的接口電路機通信的接口電路單片機原理及應用(單片機原理
2、及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口本章要點本章要點 本章主要講述本章主要講述MCS-51單片機串行口的單片機串行口的結構、工作原理以及應用。結構、工作原理以及應用。主要內容包括串行通信基本知識、主要內容包括串行通信基本知識、MCS-51單片機串行口結構、串行口工作方式以及單片機串行口結構、串行口工作方式以及單片機與單片機與PC機通信的接口電路。機通信的接口電路。單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.1 串行通信基本知識串行通信基本知識主要內容主要內容7.1.1 數(shù)據(jù)通信數(shù)據(jù)通信7.1.2 異
3、步通信和同步通信異步通信和同步通信7.1.3 波特率波特率7.1.4 通信方向通信方向7.1.5 串行通信接口種類串行通信接口種類單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.1.1 數(shù)據(jù)通信數(shù)據(jù)通信 計算機與外界的信息交換稱為通信?;居嬎銠C與外界的信息交換稱為通信?;镜耐ㄐ欧椒ㄓ胁⑿型ㄐ藕痛型ㄐ艃煞N。的通信方法有并行通信和串行通信兩種。 1并行通信并行通信單位信息(通常指一個字節(jié))的各位數(shù)據(jù)單位信息(通常指一個字節(jié))的各位數(shù)據(jù)同時傳送的通信方法稱為并行通信。同時傳送的通信方法稱為并行通信。2串行通信串行通信單位信息的各位數(shù)據(jù)被分
4、時一位一位依次單位信息的各位數(shù)據(jù)被分時一位一位依次順序傳送的通信方式稱為串行通信。順序傳送的通信方式稱為串行通信。 單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.1.1 數(shù)據(jù)通信數(shù)據(jù)通信圖圖7-1 并行通信示意圖并行通信示意圖從圖中可以看出:從圖中可以看出:并行通信連線多,速度快,適合近距離通信;并行通信連線多,速度快,適合近距離通信;串行通信連線少,速度慢,適合遠距離通信。串行通信連線少,速度慢,適合遠距離通信。圖圖7-1 并行通信示意圖并行通信示意圖圖圖7-2 串行通信示意圖串行通信示意圖單片機原理及應用(單片機原理及應用(C語言版
5、)第語言版)第7章章MCS-51單片機串行口單片機串行口1異步通信異步通信異步通信中,傳送的數(shù)據(jù)可以是一個字符異步通信中,傳送的數(shù)據(jù)可以是一個字符代碼或一個字節(jié)數(shù)據(jù),數(shù)據(jù)以幀的形式一幀一代碼或一個字節(jié)數(shù)據(jù),數(shù)據(jù)以幀的形式一幀一幀傳送。幀傳送。 7.1.2 異步通信和同步通信異步通信和同步通信圖圖7-3 異步通信的一幀數(shù)據(jù)格式異步通信的一幀數(shù)據(jù)格式單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口2同步通信同步通信在同步通信中,每一數(shù)據(jù)塊發(fā)送開始時,在同步通信中,每一數(shù)據(jù)塊發(fā)送開始時,先發(fā)送一個或兩個同步字符,使發(fā)送與接收先發(fā)送一個或兩個同步字符
6、,使發(fā)送與接收取得同步,然后再順序發(fā)送數(shù)據(jù)。數(shù)據(jù)塊的取得同步,然后再順序發(fā)送數(shù)據(jù)。數(shù)據(jù)塊的各個字符間取消起始位和停止位,所以通信各個字符間取消起始位和停止位,所以通信速度得以提高速度得以提高 。7.1.2 異步通信和同步通信異步通信和同步通信圖圖7-4 同步通信數(shù)據(jù)幀格式同步通信數(shù)據(jù)幀格式單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.1.3 波特率波特率在串行通信中,對數(shù)據(jù)傳送速度有一定在串行通信中,對數(shù)據(jù)傳送速度有一定要求。波特率表示每秒傳送的位數(shù),單位為要求。波特率表示每秒傳送的位數(shù),單位為b/s(記作波特)。(記作波特)。例如:數(shù)
7、據(jù)傳送速率為每秒鐘例如:數(shù)據(jù)傳送速率為每秒鐘10個字符,個字符,若每個字符的一幀為若每個字符的一幀為11位,則傳送波持率為:位,則傳送波持率為:11b/字符字符10字符字符/s110b/s異步通信的傳送速率一般在異步通信的傳送速率一般在5019 200b/s之間之間 。單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.1.4 通信方向通信方向單工方式:一對傳輸線只允許單方向傳送單工方式:一對傳輸線只允許單方向傳送數(shù)據(jù);數(shù)據(jù);半雙工方式:一對傳輸線允許向兩個方向半雙工方式:一對傳輸線允許向兩個方向中的任一方向傳送數(shù)據(jù),但不能同時進行;中的任一
8、方向傳送數(shù)據(jù),但不能同時進行;全雙工方式:用兩對傳輸線連接在發(fā)送器全雙工方式:用兩對傳輸線連接在發(fā)送器和接收器上,發(fā)送和接收能同時進行。和接收器上,發(fā)送和接收能同時進行。單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.1.4 通信方向通信方向圖圖7-5 串行通信傳輸方式串行通信傳輸方式單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.1.5 串行通信接口種類串行通信接口種類根據(jù)串行通信格式及約定(如同步方式、根據(jù)串行通信格式及約定(如同步方式、通信速率、數(shù)據(jù)塊格式等)不同,形成了通信速
9、率、數(shù)據(jù)塊格式等)不同,形成了許多串行通信接口標準,如常見的:許多串行通信接口標準,如常見的:UART(串行異步通信接口)、(串行異步通信接口)、USB(通用串行總線接口)、(通用串行總線接口)、I2C(集成電路間的串行總線)、(集成電路間的串行總線)、SPI(串行外設總線)、(串行外設總線)、485總線、總線、CAN總線接口等??偩€接口等。單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.2 串行口串行口結構及控制結構及控制主要內容主要內容7.2.1 MCS-51串行口結構串行口結構7.2.2 與串行口有關的特與串行口有關的特殊功能寄存器
10、殊功能寄存器7.2.3 波特率設計波特率設計單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.2.1 MCS-51串行口結構串行口結構圖圖7-6 串行口方式串行口方式1、3內部結構示意簡圖內部結構示意簡圖單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.2.2 與串行口有關的特殊功能寄存器與串行口有關的特殊功能寄存器1控制狀態(tài)寄存器控制狀態(tài)寄存器SCON用于定義串行通信口的工作方式和反映串用于定義串行通信口的工作方式和反映串行口狀態(tài),其字節(jié)地址為行口狀態(tài),其字節(jié)地址為98H,復位值為,復
11、位值為0000 0000B,可位尋址格式為:,可位尋址格式為:D7D6D5D4D3D2D1D0SM0 SM1 SM2 REN TB8 RB8TIRI單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口lSM0和和SM1(SCON.7、SCON.6):串行):串行口工作方式選擇位??诠ぷ鞣绞竭x擇位。 7.2.2 與串行口有關的特殊功能寄存器與串行口有關的特殊功能寄存器SM0 SM1 工作方式工作方式功能說明功能說明波特率波特率00方式方式0同步移位寄存器同步移位寄存器fosc/1201方式方式18位數(shù)據(jù)位數(shù)據(jù)UART可變可變(T1溢出率溢出率/32
12、或或/16)10方式方式29位數(shù)據(jù)位數(shù)據(jù)UARTfosc/64或或 fosc/3211方式方式39位數(shù)據(jù)位數(shù)據(jù)UART可變可變(T1溢出率溢出率/32或或/16)lSM2(SCON.5):多機通信控制位,在):多機通信控制位,在方式方式2或或3中使用。中使用。lREN(SCON.4):允許接收控制位,由):允許接收控制位,由軟件置軟件置1或清或清0。單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口lTB8(SCON.3):發(fā)送數(shù)據(jù)的第):發(fā)送數(shù)據(jù)的第9位。位。lRB8(SCON.2):接收數(shù)據(jù)的第):接收數(shù)據(jù)的第9位。位。lTI(SCON.1
13、):發(fā)送中斷標志。):發(fā)送中斷標志。lRI(SCON.0):接收中斷標志。):接收中斷標志。7.2.2 與串行口有關的特殊功能寄存器與串行口有關的特殊功能寄存器關于關于TI和和RI:串行發(fā)送中斷標志:串行發(fā)送中斷標志TI和接和接收中斷收中斷RI是同一個中斷源,是同一個中斷源,CPU事先不知道事先不知道是發(fā)送中斷標志是發(fā)送中斷標志TI還是接收中斷標志還是接收中斷標志RI產生產生的中斷請求,所以,在全雙工通信時,必須的中斷請求,所以,在全雙工通信時,必須由軟件來判別。由軟件來判別。單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口2電源控制寄存器電
14、源控制寄存器PCON電源控制寄存器電源控制寄存器PCON (地址為地址為87H)中只中只有有SMOD位與串行口工作有關。位與串行口工作有關。D7D6D5D4D3D2D1D0SMOD-GF1GF0PDIDL7.2.2 與串行口有關的特殊功能寄存器與串行口有關的特殊功能寄存器SMOD(PCON.7):波特率倍增位。):波特率倍增位。串行口工作于方式串行口工作于方式1、方式、方式2和方式和方式3時,當時,當SMOD1時,串行口波特率加倍。復位值為時,串行口波特率加倍。復位值為0000 0000B。PCON寄存器不能進行位尋址。寄存器不能進行位尋址。單片機原理及應用(單片機原理及應用(C語言版)第語言
15、版)第7章章MCS-51單片機串行口單片機串行口7.2.3 波特率設計波特率設計方式方式0和方式和方式2的波特率是固定的,方式的波特率是固定的,方式1和方式和方式3的波特率是由定時器的波特率是由定時器T1的溢出率來的溢出率來決定的。在增強型單片機中,也可以使用決定的。在增強型單片機中,也可以使用T2作波特率發(fā)生器。作波特率發(fā)生器。1方式方式0的波特率的波特率固定為振蕩頻率的固定為振蕩頻率的1/12。并不受。并不受PCON寄寄存器中存器中SMOD位的影響。位的影響。方式方式0的波特率的波特率=fosc/12單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單
16、片機串行口2方式方式2的波特率的波特率接收與發(fā)送的移位時鐘由振蕩頻率接收與發(fā)送的移位時鐘由振蕩頻率fosc的的第二節(jié)拍第二節(jié)拍P2時鐘(時鐘(fosc/2)給出,所以,方)給出,所以,方式式2波特率取決于波特率取決于PCON中中SMOD位的值:位的值:當當SMOD=0時,波特率為時,波特率為fosc的的1/64;若;若SMOD=1,則波特率為,則波特率為fosc的的1/32。即。即方式方式2的波特率的波特率= 2SMODfosc/647.2.3 波特率設計波特率設計單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口3方式方式1和方式和方式3的波
17、特率的波特率(1)T1作波特率發(fā)生器作波特率發(fā)生器在最典型應用中,定時器在最典型應用中,定時器T1選用定時器模選用定時器模式式2,此時,此時n=8,設定時器的初值為,設定時器的初值為X:于是,于是,X=256 - -322SMOD12fosc 322SMOD波特率波特率)( 3841SMODfosc方式方式1、3的波特率的波特率= (T1溢出速率)溢出速率)即波特率即波特率= /(2n -初值)初值)7.2.3 波特率設計波特率設計單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口(2)T2作波特率發(fā)生器作波特率發(fā)生器在增強型單片機中,還可以使
18、用在增強型單片機中,還可以使用T2作為作為波特率發(fā)生器。當寄存器波特率發(fā)生器。當寄存器T2CON的位的位TCLK=1和(或)和(或)RCLK=1時,允許串行口時,允許串行口從從T2獲得發(fā)送和(或)接收的波特率。獲得發(fā)送和(或)接收的波特率。 串行口方式串行口方式1、3的波特率的波特率=T2溢出率溢出率/16定時器定時器2作波特率發(fā)生器時,計數(shù)在每個作波特率發(fā)生器時,計數(shù)在每個狀態(tài)周期遞增。這樣:狀態(tài)周期遞增。這樣:方式方式1、3的波特率的波特率=),(振振蕩蕩頻頻率率RCAP2LRCAP2H6553632 7.2.3 波特率設計波特率設計單片機原理及應用(單片機原理及應用(C語言版)第語言版)
19、第7章章MCS-51單片機串行口單片機串行口主要內容主要內容7.3.1 串行口方式串行口方式07.3.2 串行口方式串行口方式17.3.3 串行口方式串行口方式2和方式和方式37.3 串行口工作方式串行口工作方式單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.3.1 串行口方式串行口方式0方式方式0為同步移位寄存器輸入為同步移位寄存器輸入/輸出方式,輸出方式,常用于擴展常用于擴展I/O口??凇XD為數(shù)據(jù)輸入或輸出,為數(shù)據(jù)輸入或輸出,TXD為移位時鐘,作為外接部件的同步信號。為移位時鐘,作為外接部件的同步信號。方式方式0不適用于兩個不適用
20、于兩個89C52之間的數(shù)據(jù)通之間的數(shù)據(jù)通信,可以通過外接移位寄存器來實現(xiàn)單片機信,可以通過外接移位寄存器來實現(xiàn)單片機的接口擴展。的接口擴展。在這種方式下,收在這種方式下,收/發(fā)的數(shù)據(jù)為發(fā)的數(shù)據(jù)為8位,低位,低位在前,無起始位、奇偶校驗位及停止位,位在前,無起始位、奇偶校驗位及停止位,波特率是固定的。波特率是固定的。單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.3.1 串行口方式串行口方式0發(fā)送電路發(fā)送電路接收電路接收電路單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.3.2 串行口
21、方式串行口方式1方式方式1真正用于串行發(fā)送或接收,為真正用于串行發(fā)送或接收,為10位位通用異步接口。通用異步接口。TXD與與RXD分別用于發(fā)送與分別用于發(fā)送與接收數(shù)據(jù)。接收數(shù)據(jù)。收發(fā)一幀數(shù)據(jù)的格式為收發(fā)一幀數(shù)據(jù)的格式為1位起始位、位起始位、8位數(shù)位數(shù)據(jù)位(低位在前)、據(jù)位(低位在前)、1位停止位,共位停止位,共10位。在位。在接收時,停止位進入接收時,停止位進入SCON的的RB8,此方式,此方式的傳送波特率可調。的傳送波特率可調。單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.3.3 串行口方式串行口方式2和方式和方式3串行口工作在方式串
22、行口工作在方式2和方式和方式3均為每幀均為每幀11位異步通信格式,由位異步通信格式,由TXD和和RXD發(fā)送與接發(fā)送與接收(兩種方式操作是完全一樣的,不同的收(兩種方式操作是完全一樣的,不同的只是特波率)。只是特波率)。每幀每幀11位:即位:即1位起始位、位起始位、8位數(shù)據(jù)位位數(shù)據(jù)位(低位在前)、(低位在前)、1位可編程的第位可編程的第9數(shù)據(jù)位和數(shù)據(jù)位和1位停止位。位停止位。發(fā)送時,第發(fā)送時,第9數(shù)據(jù)位(數(shù)據(jù)位(TB8)可以設置為)可以設置為1或或0,也可將奇偶位裝入,也可將奇偶位裝入TB8;接收時,第接收時,第9數(shù)據(jù)位進入數(shù)據(jù)位進入SCON的的RB8。 單片機原理及應用(單片機原理及應用(C語
23、言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.4 串行口應用舉例串行口應用舉例 主要內容主要內容 7.4.1 同步方式應用同步方式應用 7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.4.1 同步方式應用同步方式應用MSC-51單片機的串行口在方式單片機的串行口在方式0時,以時,以同步方式操作。外接串入同步方式操作。外接串入/并出或并入并出或并入/串出串出器件,可實現(xiàn)器件,可實現(xiàn)I/O口的擴展。口的擴展。例例7-2 用用89C52串行口外接串行口外接164串入串入/并出并出移位寄存器擴
24、展移位寄存器擴展8位并行輸出口,外接位并行輸出口,外接165并并入入/串出移位寄存器擴展串出移位寄存器擴展8位并行輸入口。位并行輸入口。8位位并行輸出口的每位都接一個發(fā)光二極管,要并行輸出口的每位都接一個發(fā)光二極管,要求從求從8位并行輸入口讀入開關的狀態(tài)值,使位并行輸入口讀入開關的狀態(tài)值,使閉合開關對應的發(fā)光二極管點亮。如圖閉合開關對應的發(fā)光二極管點亮。如圖7-13所示。所示。單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.4.1 同步方式應用同步方式應用圖圖7-13 方式方式0擴展輸入輸出電路擴展輸入輸出電路單片機原理及應用(單片機原理
25、及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口解:數(shù)據(jù)的輸入輸出通過解:數(shù)據(jù)的輸入輸出通過RXD接收和發(fā)送,接收和發(fā)送,移位時鐘通過移位時鐘通過TXD送出,送出,74HC164用于串用于串/并轉換,并轉換,74HC165用于并用于并/串轉換。串轉換。C語言程序清單:語言程序清單:#includesbit P1_0=P10;sbit P1_1=P11;unsigned char data1;void main() SCON=0 x10;/串行口方式串行口方式0,允許,允許接收接收ES=1;EA=1; /允許串行口中斷允許串行口中斷7.4.1 同步方式應用同步方式應用單片
26、機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口P1_0=0;/關閉并行輸出關閉并行輸出P1_1=1;/并行置入數(shù)據(jù)并行置入數(shù)據(jù)P1_1=0; /開始串行移位開始串行移位SBUF=0;/送入串行數(shù)據(jù)送入串行數(shù)據(jù)while(1);/等待中斷等待中斷void s_srv() interrupt 4/中斷服務程序中斷服務程序if(TI)/發(fā)送中斷發(fā)送中斷TI=0;P1_0=1;/打開并行輸出打開并行輸出7.4.1 同步方式應用同步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口else/接收中
27、斷接收中斷RI=0;data1=SBUF;/讀取接收的數(shù)據(jù)讀取接收的數(shù)據(jù)P1_0=0;/關閉并行輸出關閉并行輸出SBUF=data1;/送入串行數(shù)據(jù)送入串行數(shù)據(jù)P1_1=1;/為接收下一次為接收下一次P1_1=0;/數(shù)據(jù)做準備數(shù)據(jù)做準備匯編語言程序清單:匯編語言程序清單:ORG 0000HSJMP MAINORG 23HSJMP S_SRV ;串行口中斷服務程序串行口中斷服務程序7.4.1 同步方式應用同步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口MAIN: MOV SCON,#10H ;串行口方式串行口方式0初始化初始化SET
28、B ESSETB EAMOV A,#0CLR P1.0;關閉并行輸出關閉并行輸出MOV SBUF,A;開始串行輸出開始串行輸出SETB P1.1CLR P1.1SJMP $;等待中斷等待中斷7.4.1 同步方式應用同步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口S_SRV:JBC TI,SENDCLRRIMOV A,SBUFCLR P1.0CPL AMOV SBUF,ASETB P1.1CLR P1.1RETISEND:SETB P1.0RETI7.4.1 同步方式應用同步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語
29、言版)第7章章MCS-51單片機串行口單片機串行口7.4.2 異步方式應用異步方式應用串行口方式串行口方式1與方式與方式3很近似,波特率設置很近似,波特率設置一樣,不同之處在于方式一樣,不同之處在于方式3比方式比方式1多了一個多了一個數(shù)據(jù)附加位。數(shù)據(jù)附加位。方式方式2與方式與方式3基本一樣(只是波特率設置基本一樣(只是波特率設置不同),接收不同),接收/發(fā)送發(fā)送11位信息:開始為位信息:開始為1位起位起始位(始位(0),中間),中間8位數(shù)據(jù)位數(shù)據(jù)位之后為位數(shù)據(jù)位數(shù)據(jù)位之后為1位程控位(由用戶置位程控位(由用戶置SCON的的TB8決定),最決定),最后是后是1位停止位(位停止位(1)。只比方式)
30、。只比方式1多了一位程多了一位程控位??匚?。單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口例例7-3 將片內將片內RAM 50H5FH中的數(shù)據(jù)串中的數(shù)據(jù)串行發(fā)送,用第行發(fā)送,用第9個數(shù)據(jù)位作奇偶校驗位,設晶個數(shù)據(jù)位作奇偶校驗位,設晶振為振為11.059 2MHz,波特率為,波特率為2 400b/s,編制,編制串行口方式串行口方式3的發(fā)送程序。的發(fā)送程序。解:用解:用TB8作奇偶校驗位,在數(shù)據(jù)寫入發(fā)作奇偶校驗位,在數(shù)據(jù)寫入發(fā)送緩沖器之前先將數(shù)據(jù)的奇偶位送緩沖器之前先將數(shù)據(jù)的奇偶位P寫入寫入TB8,這時,第這時,第9位數(shù)據(jù)作奇偶校驗用,發(fā)送采用
31、中位數(shù)據(jù)作奇偶校驗用,發(fā)送采用中斷方式。斷方式。7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口C語言程序清單:語言程序清單:#includeunsigned char i=0;unsigned char array16 _at_ 0 x50; /發(fā)送緩沖區(qū)發(fā)送緩沖區(qū)void main() SCON=0 xc0;/串行口初始化串行口初始化TMOD=0 x20;/定時器初始化定時器初始化TH1=0 xf4;TL1=0 xf4;TR1=1; ES=1; EA=1; /中斷初始化中斷初始化ACC=arrayi;/
32、發(fā)送第一個數(shù)據(jù)送發(fā)送第一個數(shù)據(jù)送TB8=P; /累加器累加器,目的取目的取P位位SBUF=ACC;/發(fā)送一個數(shù)據(jù)發(fā)送一個數(shù)據(jù)while(1);/等待中斷等待中斷7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口void server() interrupt 4/串行口中斷服務程序串行口中斷服務程序TI=0;/清發(fā)送中斷標志清發(fā)送中斷標志ACC=array+i;/取下一個數(shù)據(jù)取下一個數(shù)據(jù)TB8=P;SBUF=ACC;if(i=16) /發(fā)送完畢,發(fā)送完畢,ES=0;/禁止串口中斷禁止串口中斷7.4.2 異步方式
33、應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口匯編語言程序清單:匯編語言程序清單:ORG0000HSJMPMAIN ;上電,轉主程序上電,轉主程序ORG23HSJMPSERVER ;轉中斷服務程序轉中斷服務程序MAIN:MOVSCON,#0C0H;串行口方式串行口方式3初始化初始化MOVTMOD,#20H;定時器定時器1工作在方式工作在方式2MOVTH1,#0F4HMOVTL1,#0F4HSETBTR1SETBES;允許串行口中斷允許串行口中斷SETBEA;CPU開中斷開中斷MOVR0,#50HMOVR7,#0FH7.4.2
34、 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口MOVA,R0MOVC,PMOVTB8,C ;送奇偶標志位到送奇偶標志位到TB8MOVSBUF,A ;發(fā)送第一個數(shù)據(jù)發(fā)送第一個數(shù)據(jù)SJMP$SERVER:CLRTI ;清除發(fā)送中斷標志清除發(fā)送中斷標志INCR0 ;修改數(shù)據(jù)地址修改數(shù)據(jù)地址MOVA,R0MOVC,PMOVTB8,CMOVSBUF,A ;發(fā)送下一個數(shù)據(jù)發(fā)送下一個數(shù)據(jù)DJNZR7,ENDT ;判斷數(shù)據(jù)塊是否發(fā)送完判斷數(shù)據(jù)塊是否發(fā)送完CLRES ;否則,禁止串行口中斷否則,禁止串行口中斷ENDT:RETI ;中
35、斷返回中斷返回7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口例例7-4 編寫一個接收程序,將接收的編寫一個接收程序,將接收的16字節(jié)字節(jié)數(shù)據(jù)送入片內數(shù)據(jù)送入片內RAM 50H5FH單元中。設第單元中。設第9個數(shù)據(jù)位作奇偶校驗位,晶振為個數(shù)據(jù)位作奇偶校驗位,晶振為11.059 2 MHz,波特率為波特率為2 400b/s。解:解:RB8作奇偶校驗位,接收時,取出該作奇偶校驗位,接收時,取出該位進行核對,接收采用查詢方式。位進行核對,接收采用查詢方式。7.4.2 異步方式應用異步方式應用單片機原理及應用(單片
36、機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口C語言程序清單:語言程序清單:#includeunsigned char i;unsigned char array16 _at_ 0 x50; /接收緩沖區(qū)接收緩沖區(qū)void main()SCON=0 xd0; /串行口初始化,允許接收串行口初始化,允許接收TMOD=0 x20;TH1=0 xf4;TL1=0 xf4;TR1=1;7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口for(i=0;i16;i+) /循環(huán)接收循環(huán)接收1
37、6個數(shù)據(jù)個數(shù)據(jù)while(!RI); /等待一次接收完成等待一次接收完成RI=0;ACC=SBUF;if(RB8=P) /校驗正確校驗正確arrayi=ACC; else /校驗不正確校驗不正確F0=1;break;while(1);7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口匯編語言程序清單:匯編語言程序清單:MAIN:MOV TMOD,#20H;定時器初始化定時器初始化MOV TH1,#0F4HMOV TL1,#0F4HSETB TR1MOV SCON,#0D0H;串口初始化,允許接收串口初始化,允
38、許接收MOV R0,#50H;首地址送首地址送R0MOV R7,#10H;數(shù)據(jù)長度送數(shù)據(jù)長度送R7WAIT:JNB RI,$;等待接收完成等待接收完成 CLR RI;清中斷標志清中斷標志 MOV A,SBUF;讀數(shù)到累加器讀數(shù)到累加器7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口JNB P,PNP;P=0,轉,轉PNPJNB RB8,ERROR;P=1,RB8=0,轉出錯,轉出錯SJMP RIGHTPNP: JBRB8,ERROR;P=0,RB8=1,轉出錯,轉出錯RIGHT:MOV R0,A;存數(shù)存數(shù)I
39、NC R0;修改地址指針修改地址指針DJNZ R7,WAIT;未接收完,繼續(xù)未接收完,繼續(xù)CLR F0;置正確接收標志置正確接收標志F0=0RETERROR:SETB F0;置錯誤接收標志置錯誤接收標志F0=1RET7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口例例7-5 用第用第9個數(shù)據(jù)位作奇偶校驗位,編個數(shù)據(jù)位作奇偶校驗位,編制串行口方式制串行口方式3的全雙工通信程序,設雙機將的全雙工通信程序,設雙機將各自鍵盤的按鍵鍵值發(fā)送給對方,接收正確各自鍵盤的按鍵鍵值發(fā)送給對方,接收正確后放入緩沖區(qū)(可用于顯示
40、或其它處理),后放入緩沖區(qū)(可用于顯示或其它處理),晶振為晶振為11.059 2 MHz,波特率為,波特率為9 600b/s。解:因為是全雙工方式,通信雙方的程序解:因為是全雙工方式,通信雙方的程序一樣。發(fā)送和接收都采用中斷方式。一樣。發(fā)送和接收都采用中斷方式。7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口C語言程序清單:語言程序清單:#includechar k;unsigned char buffer;void main()SCON=0 xd0; /串行口初始化串行口初始化, 允許接允許接收收TMOD
41、=0 x20; /定時器初始化定時器初始化TH1=0 xfd;TL1=0 xfd;TR1=1;ES=1; /開串行口中斷開串行口中斷EA=1; /開總中斷開總中斷7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口while(1)k=key(); /讀取按鍵按下鍵值讀取按鍵按下鍵值if(k!=- -1) /無鍵按下返回無鍵按下返回- -1ACC=k; /將鍵值送累加器,取將鍵值送累加器,取P位位TB8=P; /送送TB8SBUF=ACC; /發(fā)送發(fā)送display(); /顯示程序顯示程序7.4.2 異步方式應
42、用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口void serial_server() interrupt 4if(TI) /發(fā)送引起,清發(fā)送引起,清TITI=0;else /否則,接收引起否則,接收引起RI=0;ACC=SBUF; /讀取接收數(shù)據(jù)讀取接收數(shù)據(jù)if(RB8=P) /校驗正確,校驗正確, buffer=ACC; /存入緩沖區(qū)存入緩沖區(qū)7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口匯編語言程序清單:匯編語言程序清單:ORG 0
43、000HSJMP MAIN ;跳轉到主程序跳轉到主程序ORG 23HLJMP S_SERV ;跳轉到串口中斷服務程序跳轉到串口中斷服務程序MAIN:MOV SP,#0DFH ;設置堆棧指針設置堆棧指針MOV SCON,#0D0H ;串口初始化串口初始化MOV TMOD,#20H ;定時器初始化,定時器初始化,T1方式方式2MOV TH1,#0FDHMOV TL1,#0FDH ;定時器定時器1賦初值賦初值7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口SETB TR1 ;啟動定時器啟動定時器1SETB ES
44、;開中斷開中斷SETB EALOOP:LCALL KEY;讀取按鍵讀取按鍵(參看第參看第9章章), ;有鍵按下返回鍵值有鍵按下返回鍵值,CJNE A,#0FFH,SEND ;無鍵按下返回無鍵按下返回0FFH,;有鍵按下轉發(fā)送有鍵按下轉發(fā)送NEXT:LCALL DISPLAY ;調用顯示調用顯示LJMP LOOP ;主程序循環(huán)主程序循環(huán)7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口SEND:MOV C,PMOV TB8,CMOV SBUF,A;帶校驗位發(fā)送帶校驗位發(fā)送LJMP LOOP;循環(huán)循環(huán)S_SERV
45、:JBC RI,RECV ;是接收中斷轉接收處理是接收中斷轉接收處理CLR TI; 是發(fā)送中斷,清是發(fā)送中斷,清TIRETI 7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口RECV: ;接收處理程序接收處理程序MOV A,SBUF;取接收值送取接收值送AJB P,ONE;校驗位為校驗位為1,轉,轉JB RB8,I_END;校驗錯,轉中斷返校驗錯,轉中斷返回回SJMP RIGHT;校驗正確,正確處校驗正確,正確處理理ONE:JNB RB8,I_END;校驗錯,轉中斷返校驗錯,轉中斷返回回RIGHT:MOV
46、BUFFER,A;接收數(shù)據(jù)送緩沖區(qū)接收數(shù)據(jù)送緩沖區(qū)I_END:RETI ;中斷返回中斷返回7.4.2 異步方式應用異步方式應用單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口7.5 單片機與單片機與PC機通信的接口電路機通信的接口電路主要內容主要內容7.5.1 MAX232芯片簡介芯片簡介7.5.2 PC機與機與89C52串行通信的接口電路串行通信的接口電路單片機原理及應用(單片機原理及應用(C語言版)第語言版)第7章章MCS-51單片機串行口單片機串行口利用利用PC機配置的異步通信適配器,可以機配置的異步通信適配器,可以很方便地完成很方便地完成PC機與單片機的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第2章 第2節(jié) 第2課時 東西干濕差異顯著(新教學設計)2023-2024學年八年級上冊地理(人教版)
- 2025-2030年中國工藝擺設行業(yè)深度研究分析報告
- 新型儲能制造業(yè)的資源配置與優(yōu)化策略
- 科技創(chuàng)新中心項目建設目標
- The uses of infinitives 動詞不定式(教學設計)-2024-2025學年人教新目標Go For It!英語八年級上冊
- 雪佛蘭銷售合同6篇
- 2025年度車庫租賃合同范本及細則
- 商業(yè)空間專用裝修合同模板
- 二零二五年度校園內自行車停車區(qū)租賃合同
- 商務區(qū)建設渣土清理協(xié)議
- 10kV配網工程變配電(臺架變、箱變、電纜分接箱)的安裝設計施工精細化標準
- Opera、綠云、西軟、中軟酒店管理系統(tǒng)對比分析
- Q∕GDW 12118.3-2021 人工智能平臺架構及技術要求 第3部分:樣本庫格式
- 廣東省義務教育階段學生轉學轉出申請表(樣本)
- 畢業(yè)論文牛仔布染色工藝和質量控制
- 機耕路工程施工方案與技術措施
- 如何成為一個優(yōu)秀的生產經理
- 國經貿企[1996]895號(城鎮(zhèn)集體所有制企業(yè)、單位清產核資產權界定暫行辦法)
- 飛機總體課程設計
- 現(xiàn)場組織機構框圖及職責
- 世界梁氏家族世系表
評論
0/150
提交評論