第5章 單片機(jī)串行數(shù)據(jù)通信《單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì)》_第1頁
第5章 單片機(jī)串行數(shù)據(jù)通信《單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì)》_第2頁
第5章 單片機(jī)串行數(shù)據(jù)通信《單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì)》_第3頁
第5章 單片機(jī)串行數(shù)據(jù)通信《單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì)》_第4頁
第5章 單片機(jī)串行數(shù)據(jù)通信《單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì)》_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì)》?精品課件合集第X章XXXX第五章單片機(jī)串行數(shù)據(jù)通信5.15.25.35.4第五章 單片機(jī)串行數(shù)據(jù)通信計(jì)

機(jī)

數(shù)

據(jù)

礎(chǔ)

識51

單片機(jī)串行口及控制寄存器51單片機(jī)串行口工作方式及應(yīng)用PC機(jī)與單片機(jī)的串行通

信5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識計(jì)算機(jī)的數(shù)據(jù)傳送共有兩種方式:并行數(shù)據(jù)傳送和串行數(shù)據(jù)傳送。并行數(shù)據(jù)傳送的特點(diǎn)是:各數(shù)據(jù)位同時傳送,傳送速度快、效率高。但有多少數(shù)據(jù)位就需多少根數(shù)據(jù)線,因此傳送成本高。在集成電路芯片的內(nèi)部、同一插件板上各部件之間、同一機(jī)箱內(nèi)除插件板之間等的數(shù)據(jù)傳送都是并行的。并行數(shù)據(jù)傳送的距離通常小于30

米。串行數(shù)據(jù)傳送的特點(diǎn)是:數(shù)據(jù)傳送按位順序進(jìn)行,最少只需一根傳輸線即可完成,成本低,但速度慢。計(jì)算機(jī)與遠(yuǎn)程終端或終端與終端之間的數(shù)據(jù)傳送通常都是串行的。串行數(shù)據(jù)傳送的距離可以從幾米到幾千公里。5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識并行數(shù)據(jù)傳送串行數(shù)據(jù)傳送5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識串行通信基本原理串行通信方式異步通信是指以字符(幀)為單位傳送數(shù)據(jù),用起始位和停止位標(biāo)識每個字符的開始和結(jié)束字符,兩次傳送時間間隔不固定。同步通信中,在數(shù)據(jù)開始傳送前用同步字符來指示(常約定1~2

個),并由時鐘來實(shí)現(xiàn)發(fā)送端和接收端同步,即檢測到規(guī)定的同步字符后,下面就連續(xù)按順序傳送數(shù)據(jù),直到通信告一段落。串行通信基本原理串行通信方式5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識同步傳送的數(shù)據(jù)格式串行通信基本原理異步串行通信的字符格式5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識異步串行通信的字符格式5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識近程串行通信串行通信基本原理異步串行通信的信號形式近程通信又稱本地通信,采用數(shù)字信號直接傳送形式。5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識遠(yuǎn)程串行通信串行通信基本原理異步串行通信的信號形式在遠(yuǎn)程串行通信中,應(yīng)使用專用的通信電纜,出于經(jīng)濟(jì)考慮通常使用電話線作為傳輸線。5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識單工形式串行通信基本原理串行通信的數(shù)據(jù)通路形式單工形式的數(shù)據(jù)傳送是單向的。通信雙方中一方固定為發(fā)送端,另一方則固定為接收端。該數(shù)據(jù)通信只需要一條數(shù)據(jù)線。5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識全雙工形式串行通信基本原理串行通信的數(shù)據(jù)通路形式全雙工形式的數(shù)據(jù)傳送是雙向的,且可以同時發(fā)送和接收數(shù)據(jù),因此需要兩條數(shù)據(jù)線。5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識半雙工形式串行通信基本原理串行通信的數(shù)據(jù)通路形式半雙工形式的數(shù)據(jù)傳送也是雙向的。但在任何時候只能由其中的一方發(fā)送數(shù)據(jù),另一方接收數(shù)據(jù)。因此只需要一條數(shù)據(jù)線,但也可以采用兩條數(shù)據(jù)線。5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識串行通信基本原理波特率和接收/發(fā)送時鐘——波特率波特率,即數(shù)據(jù)傳送速率,表示每秒鐘傳送二進(jìn)制代碼的位數(shù),即每秒傳送一個數(shù)據(jù)位就是l

波特。單位是位/秒(b/s)。波特率是通信協(xié)議的內(nèi)容之一。1

波特=1

bps(b/s)異步通信的常用波特率在50~l9

200b/s。5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識串行通信基本原理波特率和接收/發(fā)送時鐘——接收/發(fā)送時鐘接收/發(fā)送時鐘是用來控制通信設(shè)備接收/發(fā)送字符數(shù)據(jù)速度的,該時鐘信號由單片機(jī)和智能外設(shè)內(nèi)部的時鐘電路產(chǎn)生。在接收數(shù)據(jù)時,接收器在接收時鐘的上升沿對接收數(shù)據(jù)采樣,進(jìn)行數(shù)據(jù)位檢測;在發(fā)送數(shù)據(jù)時,發(fā)送器在發(fā)送時鐘的下降沿將移位寄存器的數(shù)據(jù)串行移位輸出。在單片機(jī)系統(tǒng)中,接收/發(fā)送時鐘頻率一般是波特率的16

倍或64

倍。5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識串行通信基本原理波特率和接收/發(fā)送時鐘——允許的波特率誤差5%是最大的波特率允許誤差。對于常用的8

位、9

位和11

位一幀的串行傳送,其最大的波特率允許誤差分別為6.25%、5.56%和4.5%。5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識串行通信基本原理串行通信的過程及通信協(xié)議——串-并/并-串的轉(zhuǎn)換串行通信是將計(jì)算機(jī)內(nèi)部的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),將其通過一根通信線傳送,并將接收的串行數(shù)據(jù)再轉(zhuǎn)換成并行數(shù)據(jù)送到計(jì)算機(jī)中。在計(jì)算機(jī)發(fā)送串行數(shù)據(jù)之前,計(jì)算機(jī)內(nèi)部的并行數(shù)據(jù)被送入移位寄存器并一位一位地移出,將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)。在接收數(shù)據(jù)時,來自通信線路的串行數(shù)據(jù)被送入移位寄存器,滿8

位后并行送到計(jì)算機(jī)內(nèi)部。在串行通信控制電路中,串-并/并-串轉(zhuǎn)換邏輯被集成在串行異步通信控制器芯片中。5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識串行通信基本原理串行通信的過程及通信協(xié)議——設(shè)備同步進(jìn)行串行通信的兩臺設(shè)備必須同步工作才能有效地檢測通信線路上的信號變化,從而采樣傳送數(shù)據(jù)脈沖。設(shè)備同步對通信雙方有兩個共同要求:一是通信雙方必須采用統(tǒng)一的編碼方法;二是通信雙方必須能產(chǎn)生相同的傳送速率。5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識串行通信基本原理串行通信的過程及通信協(xié)議——串行通信協(xié)議通信協(xié)議是對數(shù)據(jù)傳送方式的規(guī)定,包括數(shù)據(jù)格式定義和數(shù)據(jù)位定義等。通信方式必須遵從統(tǒng)一的通信協(xié)議。串行通信協(xié)議包括同步協(xié)議和異步協(xié)議兩種。要想保證通信成功,通信雙方必須有一系列的約定,必須在編程之前確定下來。5.1 計(jì)算機(jī)數(shù)據(jù)通信基礎(chǔ)知識串行接口電路串行數(shù)據(jù)通信主要有兩個技術(shù)問題。一個是數(shù)據(jù)傳送,另一個則是數(shù)據(jù)轉(zhuǎn)換。數(shù)據(jù)轉(zhuǎn)換是指數(shù)據(jù)的串并行轉(zhuǎn)換。數(shù)據(jù)轉(zhuǎn)換由串行接口電路實(shí)現(xiàn),這種電路也稱之為通用異步接收發(fā)送器(UART)。UART

基本組成框圖串行口的結(jié)構(gòu)5.2 51單片機(jī)串行口及控制寄存器51

單片機(jī)串行口寄存器結(jié)構(gòu)5.2 51單片機(jī)串行口及控制寄存器串行通信控制寄存器串行控制寄存器SCONSCON是MCS-51

的一個可位尋址的專用寄存器,用于串行數(shù)據(jù)通信的控制。單元地址98H,位地址9FH~98H。寄存器內(nèi)容及位地址表示如下:5.2 51單片機(jī)串行口及控制寄存器串行通信控制寄存器電源控制寄存器PCONPCON主要是為CHMOS

型單片機(jī)的電源控制而設(shè)置的專用寄存器。單元地址為87H。其內(nèi)容如下:5.2 51單片機(jī)串行口及控制寄存器串行通信控制寄存器中斷允許寄存器IE見第四章5.3 51單片機(jī)串行口工作方式及應(yīng)用方式0

和方式2的波特率是固定的,而方式l

和方式3的波特率是可變的,其值由定時器T1

的溢出率控制。工作方式0

及應(yīng)用5.3 51單片機(jī)串行口工作方式及應(yīng)用在方式0

下,是把串行口作為同步移位寄存器使用,這時以RXD(P3.0)端作為數(shù)據(jù)移位的入口和出口,而由TXD(P3.1)端提供移位時鐘脈沖。移位數(shù)據(jù)的發(fā)送和接收以8

位為一組,低位在前高位在后。其格式為:5.3 51單片機(jī)串行口工作方式及應(yīng)用工作方式0及應(yīng)用數(shù)據(jù)發(fā)送與接收使用方式0

實(shí)現(xiàn)數(shù)據(jù)的移位輸入輸出時,實(shí)際上是把串行口變成并行口使用。串行口作為并行輸出口使用時,要有“串入并出”的移位寄存器(如CD4094

或74LS164,74HCl64等)配合。串行口與CD4094

配合5.3 51單片機(jī)串行口工作方式及應(yīng)用工作方式0及應(yīng)用數(shù)據(jù)發(fā)送與接收如果把能實(shí)現(xiàn)“并入串出”功能的移位寄存器(如CD4014

或74LSl65、74HCl65等)與串行口配合使用,就可以把串行口變?yōu)椴⑿休斎肟谑褂谩4锌谂cCD4014

配合5.3 51單片機(jī)串行口工作方式及應(yīng)用工作方式0及應(yīng)用應(yīng)用舉例串行口方式0

的數(shù)據(jù)傳送可以采用中斷方式,也可以采用查詢方式。無論哪種方式,都要借助于TI或RI

標(biāo)志。在串行口發(fā)送時,或者靠TI

置位后引起中斷申請,在中斷服務(wù)程序中發(fā)送下一組數(shù)據(jù);或者通過查詢TI

的值,只要TI

為0就繼續(xù)查詢,直到TI

為1

后結(jié)束查詢,進(jìn)入下一個字符的發(fā)送。在串行口接收時,由RI

引起中斷或?qū)I

查詢來決定何時接收下一個字符。無論采用什么方式,在開始串行通信前,都要先對SCON

寄存器初始化,進(jìn)行工作方式的設(shè)置。在方式0

中,SCON寄存器的初始化只是簡單地把00H

送入SCON就可以了。工作方式1

及應(yīng)用5.3 51單片機(jī)串行口工作方式及應(yīng)用方式l是10

位為一幀的異步串行通信方式。共包括1個起始位,8

個數(shù)據(jù)位和1

個停止位。其幀格式為:5.3 51單片機(jī)串行口工作方式及應(yīng)用工作方式1及應(yīng)用數(shù)據(jù)發(fā)送與接收方式l

的數(shù)據(jù)發(fā)送是由一條寫發(fā)送寄存器(SBUF)的指令開始,隨后在串行口由硬件自動加入起始位和停止位,構(gòu)成一個完整的幀格式,然后在移位脈沖的作用下,由TXD端串行輸出。接收數(shù)據(jù)時,SCON

的REN

位應(yīng)處于允許接收狀態(tài)(REN=1)。在此前提下,串行口采樣RXD

端,當(dāng)采樣到從“l(fā)”向“0”的狀態(tài)跳變時,就認(rèn)定是接收到起始位。隨后在移位脈沖的控制下,把接收到的數(shù)據(jù)位移入接收寄存器中。5.3 51單片機(jī)串行口工作方式及應(yīng)用工作方式1及應(yīng)用波特率的設(shè)定以定時器T1

作波特率發(fā)生器使用,其值由定時器l

的計(jì)數(shù)溢出率來決定,其公式為:當(dāng)定時器l

作波特率發(fā)生器使用時,選用工作方式2假定計(jì)數(shù)初值為X,則計(jì)數(shù)溢出周期為:5.3 51單片機(jī)串行口工作方式及應(yīng)用工作方式1及應(yīng)用波特率的設(shè)定溢出率為溢出周期的倒數(shù)。則波特率計(jì)算公式為:根據(jù)上述波特率計(jì)算公式,得出計(jì)數(shù)初值的計(jì)算公式為:5.3 51單片機(jī)串行口工作方式及應(yīng)用工作方式2及應(yīng)用方式2

是11位為一幀的串行通信方式,即1

個起始位、9

個數(shù)據(jù)位和1

個停止位。在方式2

下,字符還是8

個數(shù)據(jù)位。而第9

數(shù)據(jù)位既可作奇偶校驗(yàn)位使用,也可作控制位使用,其功能由用戶確定,發(fā)送之前應(yīng)先在SCON

的TB8位中準(zhǔn)備好。方式2

的波特率是固定的,且有兩種。一種是晶振頻率的1/32;另一種是晶振頻率的1/64。即fosc/32

和fosc/64。如用公式表示則為;工作方式3

及應(yīng)用5.3 51單片機(jī)串行口工作方式及應(yīng)用方式3

同樣是11

位為一幀的串行通信方式,其通信過程與方式2

完全相同,所不同的僅在于波特率。方式2

的波特率只有固定的兩種,而方式3

的波特率則可由用戶根據(jù)需要設(shè)定。其設(shè)定方法與方式1

一樣,即通過設(shè)置定時器1的初值來設(shè)定波特率。串行口工作方式3

主要用于多機(jī)通信。5

.

4 P

C

機(jī)與單片機(jī)的串行通信上位機(jī)串行通信的實(shí)現(xiàn)MSCOMM

控件MSCOMM

控件,即Microsoft

Communication

Control,是Microsoft為簡化Windows下串行通信編程而提供的ActiveX

控件。它提供了一系列標(biāo)準(zhǔn)通信命令的使用接口,利用它可以建立與串口的連接,并可以通過串口連接到其他通信設(shè)備(如調(diào)制解調(diào)器),發(fā)出命令,交換數(shù)據(jù)以及監(jiān)視和響應(yīng)串行連接中發(fā)生的事件和錯誤。MSCOMM

控件可用于創(chuàng)建電話撥號程序、串口通信程序和功能完備的終端程序。5

.

4 P

C

機(jī)與單片機(jī)的串行通信上位機(jī)串行通信的實(shí)現(xiàn)MSCOMM

控件提供了兩種處理通信的方式事件驅(qū)動方式。當(dāng)通信事件發(fā)生時,MSCOMM

控件會觸發(fā)OnComm

事件,調(diào)用者可以捕獲該事件,通過檢查其CommEvent

屬性便可確認(rèn)發(fā)生的是哪種事件或錯誤,從而進(jìn)行相應(yīng)的處理。這種方法的優(yōu)點(diǎn)是響應(yīng)及時、可靠性高。查詢方式。在程序的每個關(guān)鍵功能之后,可以通過檢查CommEvent

屬性的值來查詢事件和錯誤。如果應(yīng)用程序較小,這種方法可能更可取。5

.

4 P

C

機(jī)與單片機(jī)的串行通信上位機(jī)串行通信的實(shí)現(xiàn)編

溫馨提示

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

評論

0/150

提交評論