第五章.串行通訊_第1頁
第五章.串行通訊_第2頁
第五章.串行通訊_第3頁
第五章.串行通訊_第4頁
第五章.串行通訊_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1第五章第五章 串行通訊及其接口串行通訊及其接口主要內(nèi)容: 串行通訊的一般概念 單片機的串行通訊接口 串行通訊接口應用舉例2 5.1串行通訊的一般概念串行通訊的一般概念 通訊的基本方式 數(shù)據(jù)傳輸速率波特率 串行通訊的兩種基本方式 串行數(shù)據(jù)傳送的方向 通用的異步接收器/發(fā)送器UART3 串行通訊的一般概念串行通訊的一般概念通訊:CPU與外部的信息交換。并行通訊:數(shù)據(jù)各位同時傳送。串行通訊:數(shù)據(jù)一位一位順序傳送。4 通訊的基本方式通訊的基本方式5 數(shù)據(jù)傳輸速率數(shù)據(jù)傳輸速率波特率波特率 定義:數(shù)據(jù)傳送速率,即每秒鐘傳送多少位 例:某計算機串行傳送,每秒送120個字符 編碼,一個字符編碼為10位,求波

2、特率? 120101200位/秒1200波特 波特率波特率有效有效數(shù)據(jù)位傳送速數(shù)據(jù)位傳送速率率字符編碼中字符編碼中10位不都是數(shù)據(jù),比如有一個停位不都是數(shù)據(jù),比如有一個停止位、啟動位、奇偶標志位,則有效數(shù)據(jù)位只止位、啟動位、奇偶標志位,則有效數(shù)據(jù)位只有有7位位 有效數(shù)據(jù)位傳送速率為:有效數(shù)據(jù)位傳送速率為:7120840位位/秒秒6 串行通訊的兩種基本方式串行通訊的兩種基本方式 同步通信:嚴格同步,發(fā)送同步碼,數(shù)據(jù)連 續(xù),信息量大, 速度較高 異步通信 :幀格式傳送,信息量不大7 異步傳送異步傳送異步傳送:以字符為單位一個個地發(fā)送和接收的字符由10位組成,分為三部分: 1)起始位(0),用邏輯”

3、0”低電平表示通知接收設備,新字符到達。復位接收設備,準備接收 2)字符位(5 8位) 3)停止位(1),用邏輯”1”高電平表示8 異步傳送異步傳送(1)無空閑位9 異步傳送異步傳送 (2)加空閑位 10 異步傳送異步傳送 異步傳送是靠字符不同格式聯(lián)絡 傳送雙方要事先約定: 1、字符格式 2、波特率(Band rate)11 同步傳送n1、有效數(shù)據(jù)位傳送速率高于異步傳送有效數(shù)據(jù)位傳送速率高于異步傳送n2、硬件設備較為復雜:、硬件設備較為復雜:n 1)要求發(fā)送端和接收端的嚴格同步,要求發(fā)送端和接收端的嚴格同步,n 2)對相位一致性要求嚴格)對相位一致性要求嚴格- 鎖相器鎖相器12 發(fā)送器接收器接

4、收器(發(fā)送器)發(fā)送器(接收器)發(fā)送器接收器發(fā)送器接收器串行數(shù)據(jù)傳送的方向串行數(shù)據(jù)傳送的方向13 主從多終端通訊方式主從多終端通訊方式14 通用的異步接收器通用的異步接收器/發(fā)送器發(fā)送器UART 1)計算機)計算機 發(fā)送端,并發(fā)送端,并 串串 2)串行接收端串行接收端 計算機,串計算機,串 并并 計算機完成這一并計算機完成這一并 串,串串,串 并的硬件并的硬件電路就是電路就是UART15 如圖,它既能發(fā)送(并-串輸出),又能接收(串-并輸入)。對每一方來說,都是一個雙緩沖結(jié)構(gòu)。 接收時,RXD-移位寄存器-緩沖器-數(shù)據(jù)總線 -CPU 發(fā)送時,CPU-總線- 緩沖器-移位寄存器 -TXD端一位一位

5、移位輸出(變?yōu)榇械模?16 UART的出錯標志位,一般有以下三種 奇偶錯誤 幀錯誤 溢出(丟失)錯誤 17 通用的異步接收器發(fā)送器通用的異步接收器發(fā)送器UART 一般用外時鐘和接收的數(shù)據(jù)進行同步 設外時鐘周期為Tc,每位數(shù)據(jù)傳送時間為Td則 TcTdk,其中k16或64 外時鐘以16倍的數(shù)據(jù)傳送速率來采樣數(shù)據(jù)線當發(fā)現(xiàn)第一個“”連續(xù)采到個“”,即可確認為起始信號,如下圖:18 19 每16個時鐘讀一次數(shù)據(jù)位是“1”還是“0” 1、保證每次采樣在數(shù)據(jù)位的中間 2、避開了信號在上升或下降時可能產(chǎn)生的 不穩(wěn)定狀態(tài)單片機中,連采三次,取至少兩次相同的值相當于數(shù)值濾波-抗干擾問題20 21 5.2 MC

6、S-51的串行通訊接口的串行通訊接口 串行接口的控制寄存器 串行接口的四種工作方式 多處理機通信 波特率的設定22 MCS-51的串行通訊接口的串行通訊接口 其串行口為全雙工的:可同時發(fā)送、接收數(shù)據(jù)這是由硬件上的相互獨立的接收、發(fā)送緩沖器保證的 發(fā)送:只寫不讀(保證發(fā)送,只能由內(nèi)-外) 接收:只讀不寫(保證接收,只能由內(nèi)SUBF28 接收:置方式接收:置方式0,REN=1(允許接收允許接收), 清除清除RI(方式接收方式接收)清除清除RI接收接收RXD:數(shù)據(jù)輸入數(shù)據(jù)輸入TXD:移位脈沖輸出移位脈沖輸出可以可以接收控制器以接收控制器以1/12fosc采樣采樣RXD引腳輸入數(shù)據(jù)引腳輸入數(shù)據(jù)完完,使

7、使RI=1申請接收中斷申請接收中斷方式方式0:1、SM20 2、中斷時,須在、中斷時,須在“中處中處”中用指令清中用指令清RI,TI標志標志29 (1)方式0 工作時波形圖如下: (a)30 (b)31 2.其它方式其它方式方式方式,為為UART方式,原理一樣方式,原理一樣1)發(fā)送過程(數(shù)據(jù)由)發(fā)送過程(數(shù)據(jù)由TXD 端輸出)端輸出):奇偶校驗位或奇偶校驗位或程控位程控位(TB8)停止位停止位,一幀完,硬件使一幀完,硬件使TI,產(chǎn)生發(fā)送中斷,產(chǎn)生發(fā)送中斷在中處中,若還有數(shù)據(jù)要發(fā)送,請求在中處中,若還有數(shù)據(jù)要發(fā)送,請求CPU送出新的發(fā)送字節(jié)送出新的發(fā)送字節(jié)MOV SBUF,A,直到全部數(shù)據(jù)發(fā)送完

8、,關串口中斷,返回直到全部數(shù)據(jù)發(fā)送完,關串口中斷,返回起始位起始位數(shù)據(jù)低位數(shù)據(jù)低位數(shù)據(jù)高位數(shù)據(jù)高位后發(fā)后發(fā)再發(fā)再發(fā)寫入寫入SBUF的指令啟動發(fā)送的指令啟動發(fā)送, 緩沖器緩沖器移位寄存器移位寄存器先發(fā)先發(fā)32 2)接收過程:)接收過程:(數(shù)據(jù)均由數(shù)據(jù)均由RXD輸入)輸入)串行口以倍選定波特率采樣串行口以倍選定波特率采樣RXD端狀態(tài)端狀態(tài),當采到該端電平由當采到該端電平由”1”到到”0”的跳變時的跳變時接收一幀代碼接收一幀代碼拼成并行碼拼成并行碼接收緩沖器接收緩沖器方式方式1:停止位:停止位方式方式2、3:可:可程控第九位程控第九位RB8完,使完,使RI=1申請接收中斷,在申請接收中斷,在“中處中

9、處”中執(zhí)行指令中執(zhí)行指令 MOV A,SBUF, 取走該幀字符,否則不產(chǎn)生取走該幀字符,否則不產(chǎn)生RI中斷、不執(zhí)行中斷、不執(zhí)行MOV A,SBUF,則下一次接收到的數(shù)據(jù)將本次沖掉,數(shù)據(jù)就會無條件丟失則下一次接收到的數(shù)據(jù)將本次沖掉,數(shù)據(jù)就會無條件丟失啟動接收器啟動接收器33方式方式1時串行通道工作波形時串行通道工作波形34方式方式2、3時串行通道工作波形時串行通道工作波形35 方式方式1、2、3的區(qū)別的區(qū)別方式方式1、2、3主要區(qū)別在兩方面主要區(qū)別在兩方面(1)字符格式字符格式(2)波特率波特率這是異步通信事先要規(guī)定的兩個重要約定這是異步通信事先要規(guī)定的兩個重要約定36 方式方式1、2、3的區(qū)別

10、的區(qū)別 1)字符格式約定)字符格式約定 方式方式為為8 8位異步通訊口:位異步通訊口: 方式方式2、3為為9位異步通訊口:位異步通訊口: 0101啟動位啟動位停止位停止位啟動位啟動位停止位停止位數(shù)據(jù):數(shù)據(jù):8位位數(shù)據(jù):數(shù)據(jù):8位位接收送入接收送入SCON的的RB8位位發(fā)送時用戶通過置發(fā)送時用戶通過置TB8決決定該位為定該位為”0”還是還是”1”37 n在方式工作時定時器是作為波特率發(fā)生器在方式工作時定時器是作為波特率發(fā)生器 用,其中斷應無效,而方式用,其中斷應無效,而方式2的波特率為的波特率為 溢出率定時器波特率工作方式13223SMOD振蕩器頻率波特率工作方式6422SMODn2 2)波特率

11、)波特率n方式、方式、3 3的波特率可變,由定時的波特率可變,由定時/ /計數(shù)器產(chǎn)計數(shù)器產(chǎn)生生38 因振蕩器的頻率是固定的,故方式的波因振蕩器的頻率是固定的,故方式的波 特率只能取為特率只能取為由編程由編程PCON的的SMODn 顯然顯然,方式方式2波特率變化范圍小于方式波特率變化范圍小于方式1、31 加倍加倍0 不變不變振蕩器頻率或振蕩器頻率64132139 3)發(fā)送(輸出)區(qū)別:)發(fā)送(輸出)區(qū)別: 方式方式1、2、3應寫入不同的方式控制字應寫入不同的方式控制字 方式,可程控方式,可程控TB8 (1)使第九位數(shù)據(jù)做多機使第九位數(shù)據(jù)做多機 通訊中地址通訊中地址/數(shù)據(jù)位數(shù)據(jù)位(2)做奇偶校驗位

12、做奇偶校驗位40 方式方式1與方式與方式2、3的主要區(qū)別的主要區(qū)別4)接收(輸入)區(qū)別:接收(輸入)區(qū)別: 寫入不同控制字寫入不同控制字,均使均使REN,允許接收允許接收 但要保存接收到的數(shù)據(jù)還應使:但要保存接收到的數(shù)據(jù)還應使:方式方式1方式方式2、3RI=0RI=0SM2=0SM2=0或或SM2=1且接收到的且接收到的第第9個數(shù)據(jù)個數(shù)據(jù)141 在單機通訊時可利用在單機通訊時可利用TB8、RB8作為奇偶校驗位作為奇偶校驗位例:設例:設R2為發(fā)送數(shù)據(jù)區(qū)地址指針,加入奇偶校驗位的發(fā)送為發(fā)送數(shù)據(jù)區(qū)地址指針,加入奇偶校驗位的發(fā)送 程序如下:程序如下:RIPTI:PUSH PSWPUSH ASETB P

13、SW.4CLR PSW.3CLR TI42 MOV A,R0MOV TB8,PMOV SBUF,AINC R0POP APOP PSWRETI43 多處理機通訊多處理機通訊 由控制字由控制字SM2位規(guī)定可知位規(guī)定可知 SM2=1,串行口接收到的串行口接收到的 第九位數(shù)據(jù)存于第九位數(shù)據(jù)存于RB8:RB8=1 產(chǎn)生中斷,接收數(shù)據(jù)產(chǎn)生中斷,接收數(shù)據(jù) RB8=0 不產(chǎn)生中斷,信息丟失不產(chǎn)生中斷,信息丟失n根據(jù)這一特性可用于實現(xiàn)多機通訊。根據(jù)這一特性可用于實現(xiàn)多機通訊。44 從機從機 編程方式為方式編程方式為方式2或或3 9位異步通訊方式位異步通訊方式#0 ,1 ,2SM2=1,多機通訊控制多機通訊控制

14、nREN=1,允許接收允許接收45 1、置所有從機、置所有從機SM2=1; 2、發(fā)地址,且使主機、發(fā)地址,且使主機TB8=1; 從機從機RB8=1 各從機響應中斷,對照地址各從機響應中斷,對照地址相符:使相符:使SM2=0不符:維持不符:維持SM2=1SM2=1n4、主機發(fā)送數(shù)據(jù)信息,且此時、主機發(fā)送數(shù)據(jù)信息,且此時TB8=0(主機)(主機)3、其過程簡述如下:其過程簡述如下:46 5、從機接收后、從機接收后RB8=0n從機中從機中地址相符地址相符地址不符地址不符SM2=0RB8=0n可接收,數(shù)據(jù)送被尋址從機可接收,數(shù)據(jù)送被尋址從機SM2=1RB8=0n不產(chǎn)生不產(chǎn)生RI中斷,數(shù)據(jù)丟失中斷,數(shù)據(jù)

15、丟失否則接收到的數(shù)據(jù)將丟失否則接收到的數(shù)據(jù)將丟失47 波特率的設定波特率的設定 方式方式2:波特率固定為振蕩頻率的:波特率固定為振蕩頻率的1/32或或1/64 方式方式1、3 波特率可變。波特率可變。 波特率的制定主要是對方式波特率的制定主要是對方式1、3而言的。而言的。 由于方式由于方式1、3波特率可變,無法采用固定的振蕩波特率可變,無法采用固定的振蕩 頻率,一般采用定時器頻率,一般采用定時器1,且讓工作于自動裝載方,且讓工作于自動裝載方 式(方式式(方式2,不中斷)來產(chǎn)生波特率。,不中斷)來產(chǎn)生波特率。48 若已知定時器的溢出率,則工作在方式,時的若已知定時器的溢出率,則工作在方式,時的

16、串行口波特率可由下式求得:串行口波特率可由下式求得: 定時器的溢出率可由下式算出:定時器的溢出率可由下式算出: 將此值代入求波特率的算式,可求得:將此值代入求波特率的算式,可求得:125612 11THfosc振蕩頻率的溢出率定時器溢出率的溢出率定時器波特率1322SMOD125612 322THfoscSMOD振蕩頻率串行口的波特率49 例例1 若已知若已知fosc6MHZ,SMOD=0不加倍,不加倍, (TH1)=D9H,求波特率求波特率 反之,若已知波特率反之,若已知波特率400, SMOD=0,fosc=6MHZ,問問TH1(TL1)時間常數(shù)應時間常數(shù)應 為多少?為多少?s400217

17、256121063216位波特率50 217392564006410256) 1(6TH1256641012561210632112561232266SMODTHTHTHfosc振蕩頻率波特率51 常用波特率以及與定時器各參數(shù)的關系常用波特率以及與定時器各參數(shù)的關系常用波特率常用波特率震蕩頻率震蕩頻率SMODSMOD定時器定時器1 1C/TC/T方式方式重新裝入時間常數(shù)重新裝入時間常數(shù)方式方式0 0: 1MHz1MHz12MHz12MHzX XX XX XX X方式方式2 2: 35K35K12MHz12MHz1 1X XX XX X方式方式1 1、3 3: 62.5K62.5K12MHz12

18、MHz1 10 02 2FFHFFH 19.2K 19.2K11.059MHz11.059MHz1 10 02 2FDHFDH 9.6K 9.6K11.059MHz11.059MHz0 00 02 2FDHFDH 4.8K 4.8K11.059MHz11.059MHz0 00 02 2FAHFAH 2.4K 2.4K11.059MHz11.059MHz0 00 02 2F4HF4H 1.2K 1.2K11.059MHz11.059MHz0 00 02 2E8HE8H137.5137.511.059MHz11.059MHz0 00 02 21DH1DH1101106MHz6MHz0 00 02

19、272H72H11011012MHz12MHz0 00 01 1FEE4HFEE4H52 方式1、3時晶振與波特率之間的對應關系 晶振為6MHz時,最大波特率為: 加倍后位31.25K 最小波特率為: 加倍后位12215625255256121063216波特率610256121063216波特率53 編程要求是:編程要求是: 選定正確的控制字,以保證接口功能的初選定正確的控制字,以保證接口功能的初始化始化 制定合適的波特率,這主要是選擇定時器制定合適的波特率,這主要是選擇定時器1的方式和時間常數(shù)據(jù)的確定;的方式和時間常數(shù)據(jù)的確定; 在串行中斷服務程序中要清除中斷標志位在串行中斷服務程序中要清

20、除中斷標志位5.3串行接口通訊應用舉例串行接口通訊應用舉例54 例:例: 設有甲乙兩臺單片機,編出兩臺單片機間實現(xiàn)如下設有甲乙兩臺單片機,編出兩臺單片機間實現(xiàn)如下串串 行通訊功能的程序:行通訊功能的程序: 甲機發(fā)送:將首址為甲機發(fā)送:將首址為ADDRT的的128個字節(jié)的數(shù)據(jù)塊個字節(jié)的數(shù)據(jù)塊 順序向乙機發(fā)送;順序向乙機發(fā)送; 乙機接收:將接收的乙機接收:將接收的128個字節(jié)的數(shù)據(jù),順序存放在個字節(jié)的數(shù)據(jù),順序存放在 以首址為以首址為ADDRR的數(shù)據(jù)緩沖區(qū)中。的數(shù)據(jù)緩沖區(qū)中。5.3串行接口通訊應用舉例串行接口通訊應用舉例55 56 ORG 0000H LJMP MAINT ;跳至主程序入口跳至主程

21、序入口 ORG 0023H LJMP INTSE1 ;轉(zhuǎn)至串行中斷服務程序轉(zhuǎn)至串行中斷服務程序MAINT: MOV SCON,#01000000B ;置串行口工作方式置串行口工作方式1 MOV TMOD,#20H ;定時器定時器1為工作方式為工作方式2 MOV TL1,#0D9H ;產(chǎn)生產(chǎn)生400波特率的時間常數(shù)波特率的時間常數(shù) MOV TH1,#0D9H發(fā)送程序具體編程如下:發(fā)送程序具體編程如下:57 SETB TR1 ;啟動定時器啟動定時器1 SETB EA ;開中斷開中斷 SETB ES ;串行口開中斷串行口開中斷 MOV DPTR,ADDRT ;首址首址- DPTR MOV R0,#0

22、0H ;傳送字節(jié)數(shù)初值傳送字節(jié)數(shù)初值 MOVX A,DPTR ;取第一個發(fā)送字節(jié)取第一個發(fā)送字節(jié) MOV SBUF,A ;啟動串行口發(fā)送啟動串行口發(fā)送 SJMP ;等待中斷等待中斷58 INTSE1: CLR SCON.1 ;清中斷標志清中斷標志 INC R0 ;修改已發(fā)送的字節(jié)數(shù)修改已發(fā)送的字節(jié)數(shù) CJNE R0,#80H,LOOP ;判別判別128個字節(jié)都發(fā)送完沒有個字節(jié)都發(fā)送完沒有,若沒完則轉(zhuǎn)若沒完則轉(zhuǎn)LOOP繼續(xù)繼續(xù)取下一發(fā)送數(shù)據(jù)取下一發(fā)送數(shù)據(jù) CLR ES ;全部發(fā)送完畢,禁止串行口中斷全部發(fā)送完畢,禁止串行口中斷 SJMP ENDT ;轉(zhuǎn)中斷返回轉(zhuǎn)中斷返回LOOP: INC DPTR ;修改地址指針修改地址指針 MOVX A,DPTR ;取發(fā)送數(shù)據(jù)取發(fā)送數(shù)據(jù) MOV SBUF,A ;啟動串行口啟動串行口E

溫馨提示

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

評論

0/150

提交評論