第二十三講串行通信概述_第1頁
第二十三講串行通信概述_第2頁
第二十三講串行通信概述_第3頁
免費預覽已結束,剩余8頁可下載查看

下載本文檔

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

文檔簡介

1、第八章串行通信技術§ & 1串行通信的概述及RS-232C總線教學方法:講授法教學目的:1、了解單片機串行通信的根本方法。2、掌握單片機串行通信的相關概念。3、了解 RS-232C 總線。4、了解RS-232C總線電平及計算機信號電平教學重點:串行通信的方式教學難點:波特率的理解和信號電平的理解教學過程:組織教學:授課課時:2課時扳書課題:§ 8。1串行通信的概述及 RS-232C總線引入新課:一、串行通信概述1、什么叫串行通信?并行、串行舉生活中的例子排橫隊行走,排縱隊行走說明;引出并行通信,串行通 信的概念。串行通信就是使計算機中的數(shù)據(jù)一位一位地按先后順序在一根

2、傳輸線上傳送。通常有兩種基本的通信方式:異步通信和同步通信。2、異步通信和同步通信回憶在數(shù)字電路中所學的移位存放器工作原理??商釂枌W生。異步通信:異步一一發(fā)送時鐘不一定等于接收時鐘。如下列圖:弟nr牛弊惘慌f位i舊位Di0/110D.D,%D,DsDt0/1i0Dx奇隅止4S臉疲I.第#1俺愴賊起ft奇隅止 胺推ftr -t rniuE DbEt0/11 1 10D.DDrD,D5%EtMl11110DlS7-1異步通信中數(shù)傭傳送的格式數(shù)據(jù)傳送是幀的形式傳送,每一幀數(shù)據(jù)包括起始位、數(shù)據(jù)位、奇偶校驗位、停止位四 局部。其中數(shù)據(jù)位可以是 5位、6位、7位、8位。在一幀格式中,先是一個起始位 0,然

3、后是8個數(shù)據(jù)位,規(guī)定低位在前,高位在后,接 下來是奇偶校驗位可以省略,最后是停止位 1。用這種格式表示字符,那么字符可以一個 接一個地傳送。特點:不同速度的外設可相互傳送,但傳送數(shù)據(jù)比實際數(shù)據(jù)位數(shù)多加起始位、停止 位等,占用CPU時間,傳送速度較慢。同步通信同步一一發(fā)送設備時鐘等于接收設備時鐘。在同步通信中,每個字符要用起始位和停止位作為字符開始和結束的標志,占用了時間;所以在數(shù)據(jù)塊傳遞時,為了提高速度,常去掉這些標志,采用同步傳送。由于數(shù)據(jù)塊傳遞開始要用同步字符來指示,同時要求由時鐘來實現(xiàn)發(fā)送端與接收端之間的同步,故硬件較復雜。發(fā)送方和接收方時鐘完全一樣,只要雙方同時準備好同步,可直接傳送數(shù)

4、據(jù),無需附加多余的控制位,傳送數(shù)據(jù)效率高,但設備要求高。二、串行通信相關概念1、波特率即串行通信速率。單位為 b/s、bps女口:幀結構為1個起始位、8個數(shù)據(jù)位、1個停止位,每秒傳送240幀即240個字符, 那么波特率為1 + 8+ 1 X 240 = 2400 b/s = 2400 波特。2、接收/發(fā)送時鐘接收/發(fā)送時鐘用于控制通信設置接收 /發(fā)送數(shù)據(jù)的速度,如傳送1位數(shù)據(jù)需8個時鐘周 期,時鐘周期越短時鐘頻率越高那么傳送速度越快。因此波特率與發(fā)送/接收時鐘頻率的關系可表示為波特率=接收/發(fā)送時鐘頻率/n式中n稱之為波特率因子。3、通信方式串行通信根據(jù)通信時數(shù)據(jù)的傳送方向可分為單工、半雙工和

5、全雙工三種通信方式。 單工方式At B只能由A傳送至B 半雙工方式A<-> BA 可以傳送至B, B也可傳送至A,但兩者不能同時進行。 全雙工方式A<-> BA 可以傳送至B, B也可傳送至 A,但兩者可以同時進行。4、數(shù)據(jù)的校驗方法奇校驗:包括校驗位的1的個數(shù)為奇數(shù)個。偶校驗:包括校驗位的1的個數(shù)為偶數(shù)個。校驗和:所有傳送數(shù)據(jù)的異或結果。循環(huán)冗余碼校驗:5、信號調(diào)制與解調(diào)調(diào)制:把數(shù)字信號轉(zhuǎn)換成模擬信號發(fā)送出去。解調(diào):把接收到的模擬信號轉(zhuǎn)換成數(shù)字信號。6、串行通信的實現(xiàn)通用異步接收器/發(fā)送器(UART)通用同步接收器/發(fā)送器(USRT)通用同步異步接收器/發(fā)送器(USA

6、RT)三、RS232C總線1、RS232電平和 TTL電平常用串行通信接口:RS232C RS485 RS423這些接口主要是信號電平不同,規(guī)定的邏輯狀態(tài)不同。如RS232C規(guī)定:發(fā)送方“ 0邏輯為+5V至+15V“ 1邏輯為-5V至-15V接收方“ 0邏輯為+3V至+15V“ 1邏輯為-3V至-15V稱之為RS232電平。順便介紹TTL電平:“ 0邏輯為0V至0.4V“1 邏輯為2.4V至5V因單片機的串口輸出邏輯為 TTL電平,計算機的串口邏輯為RS232電平,因此兩者進行通信時必須進行電平轉(zhuǎn)換。常用轉(zhuǎn)換芯片有:MC1448 MC1449 MAX232A等。2、標準RS232接口RS232

7、總線由22根信號線組成,見表 6-1,采用DB25連接器。3、連接方式小結:(略)思考題:1、什么叫串行通信?2、串行通信有哪兩種根本通信方式?3、單工、半雙工、全雙工的意義是什么?4、什么是波特率?5、RS232通信電平如何, TTL電平如何?6、單片機與微機進行通信為什么要進行電平轉(zhuǎn)換?§ 8.2串行口結構、工作方式、波特率設置教學方法:講授法教學目的:1、了解89C51單片機串行口結構。2、掌握串行口的四種工作方式。3、掌握串行通信的波特率設置。4、掌握串行口通信的初始化程序設計教學重點:串行口的四種工作方式、通信波特率設置教學難點:通信波特率設置教學過程:組織教學:授課課時:

8、(2課時)扳書課題:§ 8.2 串行口結構、工作方式、波特率設置引入新課:一、89C51串行口的結構1 、接口特點:全雙工通用異步接收/發(fā)送器 UART( Un iversalAsyn chro nousReceiver/Transmitter),波特率可編程設置,可中斷2 、組成:串行口控制存放器、發(fā)送控制、接收控制、波特率輸入管理、輸入移位存放器和發(fā)送/接收緩沖器SBUF等。3、串行口控制存放器地址98HSM0SM1SM2RENTB8RB8TIRISM0 SM1確定工作方式00方式001方式110方式211方式3SM2 :多機通信控制REN :接收允許TB8 :發(fā)送的第9位數(shù)據(jù)R

9、B8 :接收的第9位數(shù)據(jù) TI :發(fā)送完的標志當發(fā)送完數(shù)據(jù),硬件使 TI置1,軟件清0 ( CLR TI) RI :接收完的標志當接收完數(shù)據(jù),硬件使 RI置1,軟件清0。4、數(shù)據(jù)緩沖器SBUF兩個獨立存放器,但地址相同,都為99H,發(fā)送的數(shù)據(jù)需放發(fā)送緩沖器 SBUF被接收的數(shù)據(jù)放接收緩沖器 SBUF二、串行口的四種工作方式1、 方式0:同步移位存放器方式,8位數(shù)據(jù)移位輸入/輸出,RXD固定傳輸數(shù)據(jù),TXD 產(chǎn)生同步移位脈沖。方式0結構見圖6-14所示,發(fā)送/接收數(shù)據(jù)無起位、停止位,要求 SM2 = 0方式0發(fā)送過程:串行數(shù)據(jù)從 RXD引腳輸出,TXD引腳輸出移位脈沖。 CPU將數(shù)據(jù) 寫入發(fā)送存

10、放器時,立即啟動發(fā)送,將 8位數(shù)據(jù)以fos/12的固定波特率從 RXD輸出,低位 在前,高位在后。發(fā)送完一幀數(shù)據(jù)后,發(fā)送中斷標志TI由硬件置位。方式0接收過程:當串行口以方式0接收時,先置位允許接收控制位 REN。此時,RXD 為串行數(shù)據(jù)輸入端,TXD仍為同步脈沖移位輸出端。 當RI=0和REN=1同時滿足時, 開始接收。當接收到第 8位數(shù)據(jù)時,將數(shù)據(jù)移入接收存放器,并由硬件置位RI。方式0的波特率:固定為fosc / 122、方式1: 8位UART幀數(shù)據(jù)10位方式1發(fā)送過程:當CPU執(zhí)行一條指令將數(shù)據(jù)寫入發(fā)送緩沖SBUF時,就啟動發(fā)送。串行數(shù)據(jù)從TXD引腳輸出,發(fā)送完一幀數(shù)據(jù)后,就由硬件置位

11、 TI。方式1接收過程:在REN=1時,串行口采樣 RXD引腳,當采樣到1至0的跳變時, 確認是開始位0,就開始接收一幀數(shù)據(jù)。只有當 RI=0且停止位為1或者SM2=0時, 停止位才進入 RB8,8位數(shù)據(jù)才能進入接收存放器,并由硬件置位中斷標志RI ;否那么信息喪失。所以在方式1接收時,應先用軟件清零 RI和SM2標志。方式1的波特率:2SM°毀T1的溢出率/ 32發(fā)送完置位TI、接收完數(shù)據(jù)置位 RI。置位RI是有條件的。即:REN = 1 , RI = 0 且SM2 = 0或SM2 = 1但是接收到的停止位為 1。此時,數(shù)據(jù)裝載 SBUF停止位進入 RB8, RI置1。3、方式2:

12、 9位UART多用于多機通信方式2發(fā)送過程:發(fā)送的串行數(shù)據(jù)由 TXD端輸出一幀信息為11位,附加的第9位來自 SCON存放器的TB8位,用軟件置位或復位。 它可作為多機通信中地址 /數(shù)據(jù)信息的標志位, 也可以作為數(shù)據(jù)的奇偶校驗位。當CPU執(zhí)行一條數(shù)據(jù)寫入 SUBF的指令時,就啟動發(fā)送器發(fā)送。發(fā)送一幀信息后,置位中斷標志TI。方式2接收過程:在REN =1時,串行口采樣 RXD引腳,當采樣到1至0的跳變時, 確認是開始位 0,就開始接收一幀數(shù)據(jù)。在接收到附加的第9位數(shù)據(jù)后,當RI =0或者SM2 =0時,第9位數(shù)據(jù)才進入 RB8 , 8位數(shù)據(jù)才能進入接收存放器,并由硬件置位中 斷標志RI;否那么

13、信息喪失。且不置位 RI。再過一位時間后,不管上述條件時否滿足,接收 電路即行復位,并重新檢測 RXD上從1到0的跳變。發(fā)送完數(shù)據(jù)置位TI。接收到有效數(shù)據(jù)完畢,置位 RI。有效數(shù)據(jù)條件:REN = 1 , RI = 0 且SM2 = 0或接收到第9位數(shù)據(jù)為1。此時,數(shù)據(jù)裝載 SBUF第9位數(shù)據(jù)TB8t RB8, RI置1。方式2的波特率:2smod/ 64 X fosc4、方式3: 9位UART多用于多機通信除波特率外,其余與方式2相同。方式3的波特率:2SM°D/ 32 X T1溢出率三、串行口波特率的設置與串行口波特率相關的存放器還有PCON PCON勺最高位是SMO可以控制波特

14、率加倍。波特率一般采用定時/計數(shù)器T1的溢出率產(chǎn)生,因此設置波特率需設置 T1的溢出率和SMOD 方式0和方式2波特率:固定方式1和方式3波特率:可變,波特率 =2 SM°7 32X T1的溢出率T1溢出率=單位時間內(nèi)溢出次數(shù) =1 /T1的定時時間而T1的定時時間t就是T1溢出一次所用的時間。此情況下,一般設T1工作在模式28位自動重裝初值。8 8 8N = 2 t / T , t = 2 - N T = 2 - Nx 12 / fosc所以,T1 溢出率=1/t = fosc / 122 - N,故, 波特率=2SMOD / 32 X fosc / 12256 - N。假設波特率

15、,那么可求出T1的計數(shù)初值:y = 256- 2smoX fosc /波特率X 32 X 12例、假設fosc = 6MHz,波特率為2400波特,設SMOD = 1,那么定時/計數(shù)器T1的計數(shù)初 值為多少?并進行初始化編程。解:y = 256 - 2smoX fosc /2400 X 32 X 12 = 242.98 243 = F3H同理,fosc = 11.0592MHz,波特率為 2400,設 SMOD = 0,貝Uy = F4H初始化編程:MOV TMOD #20HMOV PCON #80HMOV TH1, #0F3HMOV TL1, #0F3HSETB TR1MOV SCON #5

16、0H當時鐘頻率選用11.0592MHZ時,取易獲得標準的波特率,所以很多單片機系統(tǒng)選用這 個看起來“怪的晶振就是這個道理。F表列出了定時器T1工作于方式2常用波特率及初值。常用波特率Fosc(MHZ)SMODTH1初值1920011.05921FDH960011.05920FDH480011.05920FAH240011.05920F4h120011.05920E8h小結:略思考題:1、89C51串行口由哪幾個局部組成?2、89C51串行口有幾種工作方式?分別有什么區(qū)別?3、設置串行口波特率與哪些存放器有關?4、接收緩沖器SBUF和發(fā)送緩沖器SBUF是不是同一個存放器?5、怎樣編寫一個串行口波

17、特率初始化程序?§ 8.3 串口應用及 RS485標準教學方法:講授法教學目的:1、掌握串行口在方式 0、方式1下的應用和編程2、掌握RS485的標準。3、掌握串行通信的波特率設置。4、掌握串行口通信的初始化程序設計教學重點:串行口方式0、方式1的應用教學難點:通信波特率設置教學過程:組織教學:授課課時:2課時扳書課題:§8.3 串口應用及RS485標準一、串行口應用1、串行口在方式 0的應用以擴展一個并行口。例:用89C51串行口外接CD4094擴展8位并行輸出口,如下圖,8位并行口的各位都接一個發(fā)光二極管,要求發(fā)光管呈流水燈狀態(tài)。串行口方式0的數(shù)據(jù)傳送可采用中斷方式,也

18、可采用查詢方式,無論哪種方式,都要借助于TI或RI標志。串行發(fā)送時,可以靠TI置位發(fā)完一幀數(shù)據(jù)后引起中斷申請,在中斷效勞程序中發(fā)送下一幀數(shù)據(jù),或者通過 查詢TI的狀態(tài),只要TI為0就繼續(xù)查詢,TI為1就結束查詢,發(fā)送下一幀數(shù)據(jù)。在串行 接收時,那么由RI引起中斷或?qū)?RI查詢來確定何時接收下一幀數(shù)據(jù)。無論采用什么方式,在開始通信之前,都要先對控制存放器 scon進行初始化。在方式0中將,將00H送scor就可 以了。ORG 2000HSTART: MOV SCON,#00H置串行口工作方式 0MOV A,#80H ;最高位燈先亮CLR P1.0 ;關閉并行輸出避象傳輸過程中,各LED的暗紅現(xiàn)象

19、OUTO: MOV SBUF,A ;開始串行輸出OUT1: JNB TI,OUT1 ;輸出完否CLR TI ;完了,清TI標志,以備下次發(fā)送SETB P1.0 ;翻開并行口輸出 ACALL DELAY ;延時一段時間RR A ;循環(huán)右移CLR P1.0 ;關閉并行輸出JMP OUTO ;循環(huán)說明:DELAY延時子程序可以用前面我們講P1 口流水燈時用的延時子程序,這里就不給出了。2、串行口在方式1下的點對點通信 要求電平轉(zhuǎn)換以實現(xiàn)傳輸距離較遠,電平轉(zhuǎn)換芯片可選用MAX232A點對點通信要求收/發(fā)雙方波特率相同,發(fā)送和接收程序流程圖如下:人機嵐it程斥扯理囲毗炭收畏押曲桎同點對朮蔚怯植序it穗國

20、3、串行口在多機通信中的應用 多機通信系統(tǒng)連接如下:fxdRXDi機rxt> rxdTJ(DRXDFXDit KD3&31 唄1財2®7-17爭機通宿系統(tǒng)通信原理: 將所有從機的SM2位置1,處于只接收地址的狀態(tài)。 主機發(fā)送一幀地址信息包含8位地址,第9位為1表示發(fā)送的是地址幀用以選中 要通信的從機。 各從機接收到地址幀后,與本機地址相比擬,如果相同,該從機向主機回送本機地址信息供主機核對,并將自身的SM2清0,以準備接收主機發(fā)送過來的數(shù)據(jù)幀,其它從機保持SM2為1,對主機發(fā)送過來的數(shù)據(jù)幀不予理睬。 主機收到被選中的從機回送地址信號后,主機可對該從機發(fā)數(shù)據(jù)或控制信息。 當主機要與其它從機通信時,可再發(fā)地址幀,而先前被尋址的從機發(fā)現(xiàn)主機是對其 它從機尋址時,恢復其 SM2=1對主機隨后發(fā)來的數(shù)據(jù)幀不予理睬。以中斷方式實現(xiàn)的主機程序流程圖如下:通信協(xié)議如下: 從機地址用8位二進制數(shù)表示,最多允許255臺從機(地址分別為OOH FEH) , FFH作為一條控制命令由主機發(fā)送給從機,它使所有從機恢復SM2=1狀態(tài)。(2) 主機和從機的通信過程如前面所示。(3) 主機和從機通信時,除傳送數(shù)據(jù)幀和地址幀信息,還應傳送一些命令或狀態(tài)字。 主機發(fā)送的

溫馨提示

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

評論

0/150

提交評論