第九章 串行通信_第1頁
第九章 串行通信_第2頁
第九章 串行通信_第3頁
第九章 串行通信_第4頁
第九章 串行通信_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 第九章第九章 MCS-51串行通信串行通信 9.1 串行通信基礎串行通信基礎一、通信的兩種基本方式一、通信的兩種基本方式 并行通信并行通信:數(shù)據(jù)多位同時傳送數(shù)據(jù)多位同時傳送 控制簡單,傳輸速度快,傳輸線較多控制簡單,傳輸速度快,傳輸線較多串行通信:串行通信:數(shù)據(jù)字節(jié)一位一位在一條傳輸線上逐個數(shù)據(jù)字節(jié)一位一位在一條傳輸線上逐個傳送。傳送。二、串行通信的兩種方式二、串行通信的兩種方式 按信息的格式分為按信息的格式分為異步通信異步通信和和同步通信同步通信兩種方式。兩種方式。 異步通信異步通信:指通信的指通信的發(fā)送與接收設備使用各自的時鐘發(fā)送與接收設備使用各自的時鐘控制數(shù)據(jù)的發(fā)送和接收過程。為使雙方

2、的收發(fā)協(xié)調,控制數(shù)據(jù)的發(fā)送和接收過程。為使雙方的收發(fā)協(xié)調,要求發(fā)送和接收設備的時鐘盡可能一致。要求發(fā)送和接收設備的時鐘盡可能一致。 同步通信:同步通信:有嚴格的同步時鐘控制。較少使用。有嚴格的同步時鐘控制。較少使用。 異步通信是異步通信是以數(shù)據(jù)幀單位進行傳輸以數(shù)據(jù)幀單位進行傳輸,幀與幀之間,幀與幀之間的間隙(時間間隔)是任意的,但每個數(shù)據(jù)幀中的的間隙(時間間隔)是任意的,但每個數(shù)據(jù)幀中的各位是以固定的時間傳送的,即各幀之間不一定有各位是以固定的時間傳送的,即各幀之間不一定有“位間隔位間隔”的整數(shù)倍的關系,但的整數(shù)倍的關系,但同一幀內的同一幀內的各位之各位之間的距離均為間的距離均為“位間隔位間隔

3、”的整數(shù)倍。的整數(shù)倍。異步通信的數(shù)據(jù)格式異步通信的數(shù)據(jù)格式 : 波特率波特率是是每秒鐘傳輸二進制代碼的位數(shù)每秒鐘傳輸二進制代碼的位數(shù)。 單位是:位秒(單位是:位秒(bps)。)。傳輸速率傳輸速率 如每秒鐘傳送如每秒鐘傳送240個字符個字符(數(shù)據(jù)幀數(shù)據(jù)幀),每幀數(shù)據(jù),每幀數(shù)據(jù)10位位 ,則波特率為:則波特率為:10位位240個個/秒秒 = 2400 bps三、串行通信的傳輸方向三、串行通信的傳輸方向 1 1、單工、單工 指數(shù)據(jù)傳輸僅能沿指數(shù)據(jù)傳輸僅能沿一個方向一個方向,不能實現(xiàn)反向傳輸。,不能實現(xiàn)反向傳輸。2 2、半雙工、半雙工 指數(shù)據(jù)傳輸可以沿指數(shù)據(jù)傳輸可以沿兩個方向兩個方向,但需要分時進行。

4、,但需要分時進行。3 3、全雙工、全雙工 指數(shù)據(jù)可以指數(shù)據(jù)可以同時進行雙向同時進行雙向傳輸。傳輸。 單工單工 半雙工半雙工 全雙工全雙工四、通用異步接收發(fā)送器四、通用異步接收發(fā)送器UART 9.2 MCS-51單片機單片機串行通信串行通信MCS-51單片機具有一個單片機具有一個全雙工的串行異步通信接口全雙工的串行異步通信接口。 有兩個物理上獨立的接收、發(fā)送緩沖器有兩個物理上獨立的接收、發(fā)送緩沖器SBUF,它們占,它們占用同一地址用同一地址99H 9.2.1 串行口寄存器結構串行口寄存器結構 線線 ) ) ) ) 9.2.2 串行通信控制寄存器串行通信控制寄存器 位號位號D7D6D5D4D3D2

5、D1D0位符號位符號SM0SM1SM2RENTB8RB8TIRI3)TB8 在方式在方式2、方式、方式3下,是發(fā)送數(shù)據(jù)的第下,是發(fā)送數(shù)據(jù)的第9位,可用軟件位,可用軟件規(guī)定其作用;規(guī)定其作用; 可以用于數(shù)據(jù)的奇偶校驗位;可以用于數(shù)據(jù)的奇偶校驗位; 在多機通信中,用于地址幀在多機通信中,用于地址幀(1)和數(shù)據(jù)幀和數(shù)據(jù)幀(0)的標志位。的標志位。 在方式在方式0、方式、方式1中,該位未用。中,該位未用。4)RB8 在方式在方式2、方式、方式3下,是接收到數(shù)據(jù)的第下,是接收到數(shù)據(jù)的第9位;位; 作奇偶校驗位或數(shù)據(jù)幀作奇偶校驗位或數(shù)據(jù)幀/地址幀的標志位地址幀的標志位。 在方式在方式1時,時,RB8是接收

6、到的停止位。是接收到的停止位。5)SM2多機通信控制位多機通信控制位 主要用于方式主要用于方式2和方式和方式3; 當接受機的當接受機的SM2=1時,可利用收到的時,可利用收到的RB8來控制是否激活來控制是否激活RI: RB8=1時,收到的數(shù)據(jù)進入時,收到的數(shù)據(jù)進入SBUF,并激活,并激活RI,進而在中斷服,進而在中斷服務中將數(shù)據(jù)從務中將數(shù)據(jù)從SBUF讀走;讀走; RB8=0時,不激活時,不激活RI,收到的信息丟棄。,收到的信息丟棄。 當當SM2=0時,不論收到的時,不論收到的RB8為為0和和1,均可以使收到的數(shù)據(jù)進,均可以使收到的數(shù)據(jù)進入入SBUF,并激活,并激活RI。即此時。即此時RB8不具

7、有控制不具有控制RI激活的功能。激活的功能。 方式方式0時,時,SM2必須為必須為0。 方式方式1時,若時,若SM2=1,則只有接收到有效停止位時,則只有接收到有效停止位時,RI才置才置1。6)RI接收中斷標志位接收中斷標志位 方式方式0時,接收完第時,接收完第8位數(shù)據(jù)后,硬件置位;位數(shù)據(jù)后,硬件置位; 其它方式下,接收到停止位中間時,硬件置位;其它方式下,接收到停止位中間時,硬件置位; RI=1,表示幀字符接收結束。其狀態(tài)可軟件查詢,也可申請中,表示幀字符接收結束。其狀態(tài)可軟件查詢,也可申請中斷;斷; 軟件清零。軟件清零。7)TI發(fā)送中斷標志位發(fā)送中斷標志位 方式方式0時,發(fā)送完第時,發(fā)送完

8、第8位數(shù)據(jù)后,硬件置位;位數(shù)據(jù)后,硬件置位; 其它方式下,發(fā)送停止位開始時,硬件置位;其它方式下,發(fā)送停止位開始時,硬件置位; TI=1,表示幀字符發(fā)送結束。其狀態(tài)可軟件查詢,也可申請中,表示幀字符發(fā)送結束。其狀態(tài)可軟件查詢,也可申請中斷;斷; 軟件清零。軟件清零。 SMOD=1,串行口波特率加倍;,串行口波特率加倍; SMOD=0,波特率正常。波特率正常。 系統(tǒng)復位時,系統(tǒng)復位時,SMOD=0。 PCON不可以位尋址。不可以位尋址。位號位號D7D6D5D4D3D2D1D0位符號位符號SMOD/GF1GF0PDIDL字節(jié)地址:字節(jié)地址:87H3) 中斷允許控制寄存器中斷允許控制寄存器 IE I

9、E 位號位號D7D6D5D4D3D2D1D0位符號位符號EA/ESET1EX1ET0EX0字節(jié)地址:字節(jié)地址:A8H ES: 串行口中斷允許位串行口中斷允許位 ES=0,禁止串行口中斷;禁止串行口中斷; ES=1,允許串行口中斷。允許串行口中斷。9.2 串行口的工作方式串行口的工作方式 一、方式方式0 0 8位同步移位寄存器方式。位同步移位寄存器方式。 RXD (P3.0) :數(shù)據(jù)移位的入口和出口。:數(shù)據(jù)移位的入口和出口。 TXD(P3.1):移位脈沖輸出端。:移位脈沖輸出端。 移位數(shù)據(jù):一幀移位數(shù)據(jù):一幀8位。低位在前,高位在后。位。低位在前,高位在后。 沒有起始位和停止位。沒有起始位和停止

10、位。1、方式、方式0數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送 寫入寫入SBUF,啟動發(fā)送;,啟動發(fā)送;8位數(shù)據(jù)全部移出后,位數(shù)據(jù)全部移出后,TI自自動置位。動置位。數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送:須有:須有串進并出串進并出移位寄存器配合使用。移位寄存器配合使用。鎖存端鎖存端 (1并行輸出,并行輸出,0鎖存鎖存) 時鐘時鐘 串行輸入串行輸入 并行輸出并行輸出 Q0 Q7 2、方式、方式0數(shù)據(jù)接收數(shù)據(jù)接收 當當REN=1,啟動接收;接收到,啟動接收;接收到8位數(shù)據(jù)時,位數(shù)據(jù)時,RI自動置自動置位。位。數(shù)據(jù)接收:須有數(shù)據(jù)接收:須有并進串出并進串出移位寄存器配合使用。移位寄存器配合使用。串行輸出端串行輸出端 移位脈沖移位脈沖 控制端控制端

11、0:可串行輸出:可串行輸出(并行輸入關閉并行輸入關閉) 1:可并行輸入:可并行輸入(串行輸出關閉串行輸出關閉) 發(fā)光二極管共陰極相連發(fā)光二極管共陰極相連R 二、方式方式1 1 8位數(shù)據(jù)異步通信方式。位數(shù)據(jù)異步通信方式。字符幀字符幀10位。位。 1位起始位位起始位(低低)、8位數(shù)據(jù)位位數(shù)據(jù)位(D0D7)、1位停止位位停止位(高高) 三、方式方式2 2、方式、方式3 3 9位數(shù)據(jù)異步通信方式。位數(shù)據(jù)異步通信方式。 字符幀字符幀11位:位: 1位起始位位起始位(低低)、8位數(shù)據(jù)位位數(shù)據(jù)位(D0D7)、 1位控制位位控制位/校驗位、校驗位、1位停止位位停止位(高高)oscSMODf642串行口工作之前

12、,應進行串行口工作之前,應進行初始化初始化,具體步驟如下:,具體步驟如下:n 確定波特率;確定波特率;n 確定確定T1的工作方式(編程的工作方式(編程TMOD寄存器);寄存器);n 計算計算T1的初值,裝載的初值,裝載TH1、TL1;n 確定串行口控制(編程確定串行口控制(編程SCON、PCON寄存器);寄存器);n 啟動啟動T1(編程(編程TCON中的中的TR1位);位);若串行口在中斷方式工若串行口在中斷方式工作時,要進行中斷設置作時,要進行中斷設置(編程(編程IE、IP寄存器)。寄存器)。1T甲機的P1口分別接8個開關,讀取開關狀態(tài)并發(fā)送出去;乙機的P1口分別接8個LED指示燈,用來顯示

13、從串行口接收的數(shù)據(jù)。 波特率為1200bps,晶振fosc=6MHz。 實驗內容實驗內容 XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/

14、A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U2AT89C51XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A

15、1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51SW1SW2SW3SW4SW5SW6SW7SW8甲甲 發(fā)送發(fā)送乙乙 接收接收D1D2D3D4D5D6D7D8R1100R2100R3100R4100R5100R6100R7100R8100甲機發(fā)送程序初始化TMOD(設置T1為定時、模式2)置定時初值N串口初始化(SCON、PCON)啟動定時器T1從P1口采集數(shù)據(jù)到A將A中的數(shù)據(jù)送到SBUF串行口緩沖器數(shù)據(jù)是否發(fā)送完畢(TI=1?)Y清除TI標志START: MOV TMOD,#20H

16、 MOV TL1,#0F3H MOV TH1,#0F3H MOV PCON,#00H MOV SCON,#40H SETB TR1LOOP2: MOV A,P1 MOV SBUF,A LOOP1: JNB TI,LOOP1 CLR TI SJMP LOOP2乙機接收程序初始化TMOD(設置T1為定時、模式2)置定時初值串口初始化(SCON、PCON)啟動定時器T1數(shù)據(jù)是否接收完畢(RI=1?)NY清除TI標志將SBUF中的數(shù)據(jù)送到A中START: MOV TMOD,#20H MOV TL1,#0F3H MOV TH1,#0F3H MOV PCON,#00H MOV SCON,#50H SETB

17、 TR1LOOP1: JNB RI,LOOP1 CLR RI MOV A,SBUF MOV P1,A SJMP LOOP1ORG 0000HSJMP STARTORG 0023HSJMP SJIESTART: MOV TMOD,#20H MOV TL1,#0F3H MOV TH1,#0F3H MOV PCON,#00H MOV SCON,#50HSETB EASETB ESSETB TR1SJMP $SJIE: CLR RI MOV A,SBUF MOV P1,A RETI END乙機接收程序:中斷方式 例題例題 甲、乙雙機串行通信,甲機將片內甲、乙雙機串行通信,甲機將片內30H3FH單元的單

18、元的數(shù)據(jù)發(fā)送給乙機,乙機將接收到的數(shù)據(jù)保存到片內數(shù)據(jù)發(fā)送給乙機,乙機將接收到的數(shù)據(jù)保存到片內40H開始的單元。開始的單元。 波特率為波特率為1200bps,晶振頻率,晶振頻率fosc=12MHz,方式,方式1(8位數(shù)據(jù)異步通信方式位數(shù)據(jù)異步通信方式)。 由于選擇的是方式由于選擇的是方式1,波特率由定時,波特率由定時/計數(shù)器計數(shù)器T1的溢出率和電源控制寄存器的溢出率和電源控制寄存器PCON中的中的SMOD位決定。則須位決定。則須對定時對定時/計數(shù)器計數(shù)器T1初始化初始化。 設設SMOD=0,甲、乙兩機的振蕩頻率為,甲、乙兩機的振蕩頻率為12MHz,由于波特率為,由于波特率為1200bps。定時。定時/計數(shù)器計數(shù)器T1選擇為方式選擇為方式2,則初值為:,則初值為:初值初值=256-fosc2SMOD /(12波特率波特率32) =256-12,000,000/(12120032) 230 =E6H 根據(jù)要求定時根據(jù)要求定時/計數(shù)器計數(shù)器T1的方式控制字為的方式控制字為20H。甲機的發(fā)送程序:甲機的發(fā)送程序:TSTART:MOV TMOD, #20H MOV TL1, #0E6H MOV TH1, #0E6H MOV PCON, #00H MOV SCON, #40H MOV R0, #30H;首地址首地址 MOV R7, #10H;個數(shù)個數(shù) SETB TR1LOOP:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論