串行通信概述课件_第1页
串行通信概述课件_第2页
串行通信概述课件_第3页
串行通信概述课件_第4页
串行通信概述课件_第5页
已阅读5页,还剩61页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2025年2月3日星期一

串行通信概述

2025年2月3日星期一5.1串行通信概述在電腦系統中,CPU與外部通信的基本方式有兩種:並行通信——數據的各位同時傳送。串行通信——數據一位一位順序傳送。並行通信的特點:各數據位同時傳送,傳送速度快、效率高。但有多少數據位就需要有多少根數據線,因此傳送成本高。在積體電路晶片的內部、同一插件板上各部件之間、同一機箱內各插件板之間等的數據傳送都是並行的。並行數據傳送的距離通常小於30米。串行通信的特點:數據傳送按位順序進行,最少只需一根傳輸線即可完成,成本低,但速度慢。電腦與遠程終端或終端與終端之間的數據傳送通常都是串行的。串行數據傳送的距離可以從幾米到幾千公里。串行通信有同步通信和非同步通信兩種基本方式。

2025年2月3日星期一5.1串行通信概述基本通信方式示意圖2025年2月3日星期一印表機電腦網路滑鼠掃描器硬碟並行、串行介面的應用?I2CSPIRS232USB常見的串行通信介面:2025年2月3日星期一5.1串行通信概述並行並行通信串行串行串行串行1位2025年2月3日星期一選通

數據8位電腦並行外設1001111110011111HL有二個問題需要解決1、如何區分一位?2、如何將一串0和1還原成數據?10011111→

1001111110011111→

1111100110011111如何實現串行通信?2025年2月3日星期一5.1.1同步和非同步通信1.同步通信(SynchronousCommunication)同步通信是一種連續串行傳送數據的通信方式,一次通信只傳送一幀資訊。這裏的資訊幀和非同步通信中的字元幀不同,通常有若干個數據字元,如下圖所示。同步字元幀由同步字元、數據字符和校驗字元三部分組成。其中,同步字元位於幀結構開頭,用於確認數據字符的開始(接收端不斷對傳輸線採樣,並把采到的字元和雙方約定的同步字元比較,只有比較成功後才會把後面接收到的字元加以存儲);數據字符在同步字元之後,個數不受限制,由所需傳輸的數據塊長度決定;校驗字元有1~2個,位於幀結構末尾,用於接收端對接收到的數據字符的正確性的校驗。2025年2月3日星期一5.1.1同步和非同步通信

同步通信的字元幀格式

2025年2月3日星期一5.1.1同步和非同步通信在同步通信中,同步字元可以採用統一標準符式,也可由用戶約定。在單同步字元幀結構中,同步字元常採用ASCII碼中規定的SYN(即16H)代碼;在雙同步字元幀結構中,同步字元一般採用國際通用標準代碼EB90H。同步傳輸1位

數據電腦外設

123456781001111110011111同步時鐘高位先送2025年2月3日星期一5.1.1同步和非同步通信2.非同步通信方式(AsynchronousCommunication)在非同步通信中,數據通常是以字元(或位元組)為單位組成字元幀傳送的。字元幀由發送端一幀一幀地發送,通過傳輸線被接收設備一幀一幀地接收。發送端和接收端可以有各自的時鐘來控制數據的發送和接收,這兩個時鐘源彼此獨立,互不同步。在非同步通信中,接收端是依靠字元幀格式來判斷發送端是何時開始發送及何時結束發送。平時,發送線為高電平(邏輯“1”),每當接收端檢測到傳輸線上發送過來的低電平邏輯“0”(字元幀中起始位)時,就知道發送端已開始發送,每當接收端接收到字元幀中的停止位時,就知道一幀字元資訊己發送完畢。2025年2月3日星期一5.1.1同步和非同步通信(1)字元幀(CharacterFrame)

字元幀也叫數據幀,由起始位、數據位、奇偶校驗位和停止位等四部分組成。各部分結構和功能分述如下:

①起始位:位於字元幀開頭,只占一位,始終為邏輯“0”(低電平),用於向接收設備表示發送端開始發送一幀資訊。

②數據位:緊跟起始位之後,用戶根據情況可取5位、6位、7位或8位,低位在前高位在後。若所傳數據為ASCII字元,則常取7位。

③奇偶校驗位:位於數據位後,僅占一位,用來表徵串行通信中採用奇校驗還是偶校驗,由用戶根據需要決定。

④停止位:位於字元幀末尾,為邏輯“1”(高電平),通常可取1位、1.5位或2位,用於向接收端表示一幀字元資訊已發送完畢,也為發送下一幀字元作準備。2025年2月3日星期一5.1.1同步和非同步通信在串行通信中,發送端一幀一幀發送資訊,接收端一幀一幀接收資訊。兩相鄰字元幀之間可以無空閒位,也可以有若干空閒位,這由用戶根據需要決定。

非同步通信的字元幀格式

2025年2月3日星期一5.1.1同步和非同步通信(2)串列傳輸速率(baudrate)串列傳輸速率的定義為每秒鐘傳送二進位數碼的位數(亦稱比特數),單位是bit/s,即位/秒。串列傳輸速率是串行通信的重要指標,用於表徵數據傳輸的速度。串列傳輸速率越高,數據傳輸速度越快,但和字元的實際傳輸速率不同。字元的實際傳輸速率是指每秒內所傳字元幀的幀數,和字元幀格式有關。例如:串列傳輸速率為1200bit/s的通信系統,若採用上圖(a)的字元幀,則字元的實際傳輸速率為

1200/11=109.09幀/秒若改用上圖(b)的字元幀,則字元的實際傳輸速率為

1200/14=85.71幀/秒2025年2月3日星期一5.1.1同步和非同步通信每位的傳輸時間定義為串列傳輸速率的倒數。例如:串列傳輸速率為1200bit/s的通信系統,其每位的傳輸時間應為:串列傳輸速率還和通道的頻帶有關。串列傳輸速率越高,通道頻帶越寬。因此,串列傳輸速率也是衡量通道頻寬的重要指標,通常,非同步通信的串列傳輸速率在50bit/s~9600bit/s之間。串列傳輸速率不同於發送時鐘和接收時鐘,它通常是時鐘頻率的1/16或1/64。2025年2月3日星期一5.1.1同步和非同步通信3.非同步通信與同步通信的特點非同步通信的優點是不需要傳送同步脈衝,字元幀長度也不受限制,故所需設備簡單。非同步通信的缺點是字元幀中因包含有起始位和停止位而降低了有效數據的傳輸速率。同步通信的優點是傳輸速率較高,通常可達56000bit/s或更高。同步通信的缺點是要求發送時鐘和接收時鐘保持嚴格同步,故發送時鐘除應和發送串列傳輸速率保持一致外,還要求把它同時傳送到接收端去。

2025年2月3日星期一5.1.2串行通信的制式在串行通信中,數據是在兩個站之間傳送的。按照數據傳送方向,串行通信可分為單工、半雙工和全雙工三種傳送方式。如下圖所示。單工方式:通信線的一端接發送器,另一端接接收器,它們形成單向連接,只允許數據按照一個固定的方向傳送。數據只能單方向傳送。

半雙工方式:系統中的每個通信設備都由一個發送器和一個接收器組成,通過收發開關接到通信線上。數據能夠實現雙方向傳送,但任何時刻只能由其中的一方發送數據,另一方接收數據。其收發開關並不是實際的物理開關,而是由軟體控制的電子開關,通信線兩端通過半雙工協議進行功能切換。

全雙工方式:系統的每端都含有發送器和接收器,數據可以同時在兩個方向上傳送。

2025年2月3日星期一單工:廣播雙工:電話半雙工:對講機5.1.2串行通信的制式儘管許多串行通信介面電路具有全雙工功能,但在實際應用中,大多數情況下只工作於半雙工方式,即兩個工作站通常並不同時收發。這種用法並無害處,雖然沒有充分發揮效率,但簡單、實用。2025年2月3日星期一5.1.3串行通信的信號傳輸1.通信線的連接方式

RXD——TXD圖5.4公用電話網ModemModem電腦電腦RS232CRS232C2025年2月3日星期一2.串行通信匯流排標準及其介面(1)UART(UniversalAsynchronousReceiver/Transmitter

通用非同步接收器/發送器(2)USRT

(UniversalSynchronousReceiver/Transmitter)

通用同步接收器/發送器8串-並8並-串發送接收1時鐘時鐘5.1.3串行通信的信號傳輸2025年2月3日星期一-15V:邏輯1+15V:邏輯0RS-232C標準美國電子工業協會EIA公佈的串行匯流排標準DB-25DB-9最少3根線RxD

(3)TxD

(2)地(5)5.1.3串行通信的信號傳輸表5.1電氣特性、表5.2引腳定義2025年2月3日星期一5.1.3串行通信的信號傳輸RS-232C數據傳輸格式

2025年2月3日星期一5.2串行口的結構及工作原理5.2.1串行口的結構MCS-51單片機串行口主要由發送數據寄存器、發送控制器、輸出控制門、接收數據寄存器、接收控制器、輸入移位寄存器等組成從用戶使用的角度,它由三個特殊功能寄存器組成:發送數據寄存器和接收數據寄存器合起用一個特殊功能寄存器SBUF(串行口數據寄存器),串行口控制寄存器SCON和電源控制寄存器PCON。2025年2月3日星期一5.2串行口的結構及工作原理發送SBUF接收SBUF發送控制器接收控制器輸入移位寄存器串行口控制寄存器串行口中斷內部匯流排門+RXD(P3.0)TXD(P3.1)RITI串列傳輸速率發生器2025年2月3日星期一一、串行口控制寄存器SCON(98H)1、SM0、SM1控制串行口方式

SM0

SM1工作方式功能簡述串列傳輸速率

00方式08位同步移位寄存器fosc/12

01方式110位UART可變

10方式211位UARTfosc/32或/64

11方式311位UART可變5.2.2串行口的控制5.2串行口的結構及工作原理2025年2月3日星期一5.2串行口的結構及工作原理3、SM2允許方式2、3的多機通訊特徵位

因為多機通信是在方式2和方式3下進行的,因此SM2主要用於方式2和方式3。當串行口以方式2和方式3接收數據時,SM2=1,則只有在接收到的第9位數據(RB8)為1時才將接收到的前8位數據送入SBUF,並置位RI產生中斷請求;否則將接收到的前8位數據丟棄。SM2=0,則不論第9位數據是0還是1,都將前8位數據裝入SBUF中,並產生中斷請求。在方式0時,SM2必須為0。2、REN允許串行接收位,由軟體置/複位

1:允許接收

0:不允許接收(允許發送)

2025年2月3日星期一4、TB8在方式2、3中要發送的第九位數據,由軟體置/複位

在方式2或方式3時,TB8是發送數據的第9位,根據發送數據的需要由軟體置位或複位。可作為奇偶校驗位(單機通信)。可在多機通信中作為發送地址幀或數據幀的標誌位。多機通信時,一般約定:發送地址幀時,設置TB8=1;發送數據幀時,設置TB8=0。在方式0和方式1中,該位未用。5、RB8在方式2、3中是接收的第九位數據在方式1中若SM2=0,RB8是接收的停止位。

在方式0中不用RB8。5.2串行口的結構及工作原理2025年2月3日星期一7、TI發送中斷標誌(必須由軟體清除)

在方式0中串行發送第8位結束時自動置位。

在方式1、2、3中串行發送停止位的開始時置位5.2串行口的結構及工作原理6、RI接收中斷標誌(必須由軟體清除)

在方式0中串行接收到第8位結束時自動置位。在方式1、2、3中串行接收到停止位的中間時置位。

1111111SBUF11111111RxD1RI=12025年2月3日星期一5.2串行口的結構及工作原理在進行串行通信時,一幀發送完後,必須用軟體來設置SCON的內容。當由指令改變SCON的內容時,改變的內容在下一條指令的第一個週期的S1P1狀態期間才鎖存到SCON寄存器中,並開始有效。如果此時已開始進行串行發送,那麼TB8送出去的仍是原有的值而不是新值。在進行串行通信時,一幀發送完畢後,發送中斷標誌置位,向CPU請求中斷;當一幀接收完畢時,接收中斷標誌置位,也向CPU請求中斷。若CPU允許中斷,則要進入中斷服務程式。CPU事先並不能區分是RI請求中斷還是TI請求中斷,只能在進入中斷服務程式後,通過查詢來區分,然後進入相應的中斷處理。

2025年2月3日星期一5.2串行口的結構及工作原理二、電源控制寄存器PCONPCON寄存器主要是為CHMOS型單片機的電源控制設置的專用寄存器,單元地址為87H,不能位尋址。其格式如下:

位序D7D6D5D4D3D2D1D0位符號SMOD///GF1GF0PDIDL2025年2月3日星期一5.2串行口的結構及工作原理各位定義如下:

SMOD:串行口串列傳輸速率的倍增位。在HMOS單片機中,該寄存器中除最高位之外,其他位都是虛設的。在單片機工作在方式1、方式2和方式3時,SMOD=1,串行口串列傳輸速率提高一倍。SMOD=0,則串列傳輸速率不加倍。系統複位時SMOD=0。GF1、GF0:通用標誌位,由軟體置位、複位。PD:掉電方式控制位,PD=1,則進入掉電方式。IDL:待機方式控制位,IDL=1,則進入待機方式。

2025年2月3日星期一5.2.3MCS-51串行口的工作方式

1.方式0

串行介面工作方式0為同步移位寄存器方式,其串列傳輸速率是固定的,為fosc(振盪頻率)的1/12。(1)方式0發送數據從RxD引腳串行輸出,TxD引腳輸出同步脈衝。當一個數據寫入串行口發送緩衝器時,串行口將8位數據以fosc/12的固定串列傳輸速率從RxD引腳輸出,從低位到高位。發送後置中斷標誌TI為1,請求中斷,在再次發送數據之前,必須用軟體將TI清零。2025年2月3日星期一5.2.3MCS-51串行口的工作方式

1.方式0(2)方式0接收在滿足REN=1和RI=0的條件下,串行口處於方式0輸入。此時,RxD為數據輸入端,TXD為同步信號輸出端,接收器也以fosc/12的串列傳輸速率對RxD引腳輸入的數據資訊採樣。當接收器接收完8位數據後,置中斷標誌RI=1為請求中斷,在再次接收之前,必須用軟體將RI清零。在方式0工作時,必須使SCON寄存器中的SM2位為“0”,這並不影響TB8位和RB8位。方式0發送或接收完數據後由硬體置位TI或RI,CPU在回應中斷後要用軟體清除TI或RI標誌。

2025年2月3日星期一2.方式1

方式1為8位非同步通信方式,在方式1下,一幀資訊為10位:1位起始位(0),8位數據位(低位在前)和1位停止位(1)。TXD發送數據端,RXD為接收數據端。串列傳輸速率可變,由定時/計數器T1的溢出率和電源控制寄存器PCON中的SMOD位決定。即:5.2.3MCS-51串行口的工作方式

2025年2月3日星期一(1)發送過程在TI=0時,當CPU執行一條向SBUF寫數據的指令時,如MOVSBUF,A,就啟動了發送過程。數據由TXD引腳送出,發送時鐘由定時/計數器T1送來的溢出信號經過16分頻或32分頻後得到,在發送時鐘的作用下,先通過TXD端送出一個低電平的起始位,然後是8位數據(低位在前),其後是一個高電平的停止位,當一幀數據發送完畢後,由硬體使發送中斷標誌TI置位,向CPU申請中斷,完成一次發送過程。5.2.3MCS-51串行口的工作方式

2025年2月3日星期一(2)接收過程當允許接收控制位REN被置1,接受器就開始工作,由接收器以所選串列傳輸速率的16倍速率對RXD引腳上的電平進行採樣。當採樣到從“1”到“0”的負跳變時,啟動接收控制器開始接收數據。在接收移位脈衝的控制下依次把所接收的數據移入移位寄存器,當8位數據及停止位全部移入後,根據以下狀態,進行回應操作。5.2.3MCS-51串行口的工作方式

2025年2月3日星期一5.2.3MCS-51串行口的工作方式①如果RI=0、SM2=0,接收控制器發出“裝載SBUF”信號,將輸入移位寄存器中的8位數據裝入接收數據寄存器SBUF,停止位裝入RB8,並置RI=1,向CPU申請中斷。②如果RI=0、SM2=1,那麼只有停止位為“1”才發生上述操作。③RI=0、SM2=1且停止位為“0”,所接收的數據不裝入SBUF,數據將會丟失。④如果RI=1,則所接收的數據在任何情況下都不裝入SBUF,即數據丟失。2025年2月3日星期一5.2.3MCS-51串行口的工作方式

3.方式2

串行口工作在方式2下時,被定義為9位非同步通信介面。方式2的串列傳輸速率為:(1)方式2發送發送數據由TxD端輸出,一幀資訊包含11位,即一位起始位(0)、八位數據位(先低位後高位)、一位附加可控位(1或0)和一位停止位“1”。附加的第9位數據為SCON中的TB8,它由軟體置位或清零,可作為多機通信中地址/數據資訊的標誌位,也可作為數據的奇偶校驗位。以TB8作為奇偶校驗位,處理方法為數據寫入SBUF之前,先將數據的奇偶位寫入TB8。CPU執行一條寫SBUF的命令後,便立即啟動發送器發送,送完一幀資訊後,TI被置1,再次向CPU申請中斷。因此在進入中斷服務程式後,在發送完一幀數據之前,必須將TI清零。發送中斷服務參考程式如下。

2025年2月3日星期一PIPL:PUSHPSW;保護現場PUSHACLRTI;清零發送中斷標誌MOVA,@R0;取數據MOVC,P;奇偶位送CMOVTB8,C;奇偶位送TB8MOVSBUF,A;發送數據INCR0;數據指針加1POPA;恢復現場POPPSWRETI發送中斷服務參考程式:2025年2月3日星期一5.2.3MCS-51串行口的工作方式

3.方式2(2)方式2接收當串行口置為方式2,且REN=1時,串行口以方式2接收數據。方式2的接收與方式1基本相似。數據由RxD端輸入,接收11位資訊,其中,一位起始位(0)、八位數據位(先低位後高位)、一位附加可控位(1或0)和一位停止位“1”。當採樣到RxD端由1到0的負跳變,並判斷起始位有效後,便開始接收一幀資訊,當接收器接收到第9位數據後,當RI=0且SM2=0或接收到的第9位數據為1時,將收到的數據送入SBUF(接收數據緩衝器),第9位數據送入RB8,並將RI置1;若以上兩個條件不滿足,接收資訊丟失。若附加的第9位為奇偶校驗位,在接收中斷服務程式中應作檢驗。接收中斷服務程式參考程式如下。

2025年2月3日星期一PIPL:PUSHPSW;保護現場PUSHACLRRI;清零接收中斷標誌MOVA,SBUF;接收數據MOVC,P;取奇偶校驗位JNCL1;偶校驗時轉L1JNBRB8,ERR;奇校驗時RB8為0轉出錯處理SJMPL2L1:JBRB8,ERR;偶校驗時RB8為1轉出錯處理L2:MOV@R0,A;奇偶校驗對時存入數據INCR0;修改指針POPA;恢復現場POPPSWRETI;中斷返回ERR:……;出錯處理副程式(省略)RETI;中斷返回接收中斷服務參考程式:2025年2月3日星期一5.2.3MCS-51串行口的工作方式

4.方式3

方式3為串列傳輸速率可變的9位非同步通信方式,除了串列傳輸速率有所區別之外,其餘都與方式2相同。方式3的串列傳輸速率計算與方式1相同。2025年2月3日星期一MCS-51串行通信的串列傳輸速率

串行口的通信串列傳輸速率恰到好處地反映了串行傳輸數據的速率。通信串列傳輸速率的選用,不僅和所選通信設備、傳輸距離有關,還受傳輸線狀況所制約。用戶應根據實際需要加以正確選用。1.方式0下的串列傳輸速率在方式0下,串行口通信的串列傳輸速率是固定的,其值為fosc/12(fosc為主機頻率)。

2025年2月3日星期一MCS-51串行通信的串列傳輸速率

2.方式2下的串列傳輸速率在方式2下,通信串列傳輸速率為fosc/32或fosc/64。用戶可以根據PCON中SMOD位的狀態來驅使串行口在哪個串列傳輸速率下工作。選定公式為:這就是說,若SMOD=0,則所選串列傳輸速率為fosc/64;若SMOD=1,則串列傳輸速率為fosc/32。

2025年2月3日星期一MCS-51串行通信的串列傳輸速率

3.方式1或方式3下的串列傳輸速率在這兩種方式下,串行口串列傳輸速率是由定時器的溢出率決定的,因而串列傳輸速率也是可變的。相應公式為:

定時器T1溢出率的計算公式為:

式中,K為定時器T1的位數,它和定時器T1的設定方式有關。若定時器T1為方式0,則K=13;若定時器T1為方式1,則K=16;若定時器T1為方式2或3,則K=8。2025年2月3日星期一MCS-51串行通信的串列傳輸速率

3.方式1或方式3下的串列傳輸速率注意:

其實,定時器T1通常採用方式2,因為定時器T1在方式2下工作時TH1和TLl分別設定為兩個8位重裝計數器(當TL1從全“1”變為全“0”時,TH1重裝TLl)。使用這種方式,不僅可使操作方便,也可避免因重裝初值(時間常數初值)而帶來的定時誤差。由上兩式可知,方式1或方式3下所選串列傳輸速率常常需要通過計算來確定初值,因為該初值是要在定時器T1初值化時使用的。2025年2月3日星期一一.串行口的初始化編程1.串行口控制寄存器SCON位的確定。根據工作方式確定SM0、SM1位;對於方式2和方式3還要確定SM2位;如果是接收端,則置允許接收位REN為1;如果方式2和方式3發送數據,則應將發送數據的第9位寫入TB8中。2.設置串列傳輸速率。對於方式0,不需要對串列傳輸速率進行設置。對於方式2,設置串列傳輸速率僅須對PCON中的SMOD位進行設置。5.3

MCS-51串行口的應用2025年2月3日星期一對於方式1和方式3,設置串列傳輸速率不僅須對PCON中的SMOD位進行設置,還要對定時/計數器T1進行設置,這時定時/計數器T1一般工作於方式2—8位可重置方式,初值可由下麵公式求得:由於:串列傳輸速率=2SMOD×(T1的溢出率)/32則:T1的溢出率=串列傳輸速率×32/2SMOD而T1工作於方式2的溢出率又可由下式表示:

T1的溢出率=fosc/(12×(256-初值))所以:

T1的初值=256-fosc×2SMOD/(12×串列傳輸速率×32)5.3

MCS-51串行口的應用2025年2月3日星期一二.串行口的應用

通常用於三種情況:利用方式0擴展並行I/O口;利用方式1實現點對點的雙機通信;利用方式2或方式3實現多機通信。1.利用方式0擴展並行I/O口MCS-51單片機的串行口在方式0時,當外接一個串入並出的移位寄存器,就可以擴展並行輸出口,當外接一個併入串出的移位寄存器時,就可以擴展並行輸入口。5.3

MCS-51串行口的應用2025年2月3日星期一【例5.1】用8051單片機的串行口外接串入並出的晶片CD4094擴展並行輸出口控制一組發光二極體,使發光二極體從左至右延時輪流顯示。CD4094是一塊8位的串入並出的晶片,帶有一個控制端STB,當STB=0時,打開串行輸入控制門,在時鐘信號CLK的控制下,數據從串行輸入端DATA一個時鐘週期一位依次輸入;當STB=1,打開並行輸出控制門,CD4094中的8位數據並行輸出。使用時,8051串行口工作於方式0,8051的TXD接CD4094的CLK,RXD接DATA,STB用P1.0控制,8位並行輸出端接8個發光二極體。如圖所示。

8051

RXD

TXD

P1.0

DATA

CLK

STB2025年2月3日星期一組合語言程式:ORG0000HLJMPMAINORG2000HMAIN:MOVSCON,#00H MOVA,#80H CLRP1.0START:MOVSBUF,ALOOP:JNBTI,LOOP SETBP1.0 ACALLDELAY CLRTI RRA CLRP1.0 SJMPSTARTDELAY:MOVR7,#05HLOOP2:MOVR6,#0FFHLOOP1:DJNZR6,LOOP1 DJNZR7,LOOP2 RET END設串行口採用查詢方式,顯示的延時依靠調用延時副程式來實現。2025年2月3日星期一C語言程式:#include<reg51.h>//包含特殊功能寄存器庫sbitP1_0=P1^0;voidmain(){unsignedchari,j;SCON=0x00;j=0x80;for(;;){P1_0=0;SBUF=j;while(!TI){;}P1_0=1;TI=0;for(i=0;i<=254;i++){;}j=j/1;if(j==0x00)j=0x01;}}2025年2月3日星期一【例5.2】

用8051單片機的串行口外接併入串出的晶片CD4014擴展並行輸入口,輸入一組開關的資訊。CD4014是一塊8位的併入串出的晶片,帶有一個控制端P/S,當P/S=1時,8位並行數據置入到內部的寄存器;當P/S=0時,在時鐘信號CLK的控制下,內部寄存器的內容按低位在前從QB串行輸出端依次輸出;使用時,8051串行口工作於方式0,8051的TXD接CD4094的CLK,RXD接QB,P/S用P1.0控制,另外,用P1.1控制8並行數據的置入。如圖所示。

8051

RXD

TXD

P1.0QB

CLK

P/S

P1.1K0K7

K2025年2月3日星期一

串行口方式0數據的接收,用SCON寄存器中的REN位來控制,採用查詢RI的方式來判斷數據是否輸入。程式如下:組合語言程式:ORG0000HLJMPMAINORG2000HMAIN:SETBP1.1START:JBP1.1,START SETBP1.0 CLRP1.0 MOVSCON,#10HLOOP:JNBRI,LOOP CLRRI MOVA,SBUF ……2025年2月3日星期一C語言程式:#include<reg51.h>//包含特殊功能寄存器庫sbitP1_0=P1^0;sbitP1_1=P1^1;voidmain(){unsignedchari;P1_1=1;while(P1_1==1){;}P1_0=1;P1_0=0;SCON=0x10;while(!RI){;}RI=0;i=SBUF;……}2025年2月3日星期一2.利用方式1實現點對點的雙機通信

要實現甲與乙兩臺單片機點對點的雙機通信,線路只須將甲機的TXD與乙機的RXD相連,將甲機的RXD與乙機的TXD相連,地線與地線相連。【例5.3】

用組合語言編程通過串行實現將甲機的片內RAM中30H~3FH單元的內容傳送到乙機的片內RAM的40H~4FH單元中。80518051甲機

RXD

TXD

GNDTXDRXDGND

乙機線路連接如圖2025年2月3日星期一甲、乙兩機都選擇方式1:8位非同步通信方式,最高位用作奇偶校驗,串列傳輸速率為1200bps,甲機發送,乙機接收,因此甲機的串口控制字為40H,乙機的串口控制字為50H。由於選擇的是方式1,串列傳輸速率由定時/計數器T1的溢出率和電源控制寄存器PCON中的SMOD位決定。則須對定時/計數器T1初始化。設SMOD=0,甲、乙兩機的振盪頻率為12MHZ,由於串列傳輸速率為1200。定時/計數器T1選擇為方式2,則初值為:初值=256-fosc×2SMOD/(12×串列傳輸速率×32)=256-12000000/(12×1200×32)≈230=E6H根據要求定時/計數器T1的方式控制字為20H。2.利用方式1實現點對點的雙機通信2025年2月3日星期一甲機的發送程式:TSTART:MOVTMOD,#20HMOVTL1,#0E6HMOVTH1,#0E6HMOVPCON,#00HMOVSCON,#40HMOVR0,#30HMOVR7,#10HSETBTR1LOOP:MOVA,@R0 MOVC,P MOVA.7,C MOVSBUF,AWAIT:JNBTI,WAIT CLRTI INCR0 DJINZR7,LOOP RET2025年2月3日星期一乙機接收程式:RSTART:MOVTMOD,#20H MOVTL1,#0E6H MOVTH1,#0E6H MOVPCON,#00H MOVR0,#40H MOVR7,#10H SETBTR11LOOP:MOVSCON,#50HWAIT:JNBRI,WAIT MOVA,SBUF MOVC,P JCERROR ANLA,#7FH MOV@R0,A INCR0 DJINZR7,LOOP RET2025年2月3日星期一3.單片機與PC的通信(1)介面設計PC與單片機之間可以由RS-232C、RS-422A或RS-423等介面相連。PC和單片機最簡單的連接是零調製三線型需要加電平轉換電路:MC1488、MC1489、MAX232。如圖5.9所示。(2)程式編寫通信雙方的約定:串列傳輸速率2400b/s,資訊格式為8個數據位,1個停止位,無奇偶校驗位。單片機通信編程PC通信程式2025年2月3日星期一3.單片機與PC的通信單片機通信程式串行口工作方式定時器工作方式,串列傳輸速率,計數初值開中斷中斷服務程式:接發數據PC通信程式對串行口進行設置接收鍵盤輸入,發送、接收、顯示2025年2月3日星期一4.MCS-51多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论