片機串行通訊及其接口_第1頁
片機串行通訊及其接口_第2頁
片機串行通訊及其接口_第3頁
片機串行通訊及其接口_第4頁
片機串行通訊及其接口_第5頁
已閱讀5頁,還剩98頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第九章 串行通訊及其接口精選ppt計算機與外部設(shè)備或計算機與計算機之間的數(shù)據(jù)交換稱為通信。9.1概述9.1.1 串行通信的基本概念精選ppt通信分為并行通信與串行通信兩種基本方式。9.1.1.1 并行通信和串行通信串行通信:將數(shù)據(jù)分成1位1位的形式在一條傳輸線上逐個地傳送。并行通信:將數(shù)據(jù)的各位用多條數(shù)據(jù)線同時進行傳送,外加地址線和通信控制線。精選ppt特點:并行通信常用于集成電路芯片的內(nèi)部、同一插件板上各部件之間、同一機箱內(nèi)各插件板之間的信息交互串行通信常用于設(shè)備之間的信息交互 串行通信1)交互數(shù)據(jù)信息和控制信息 2)有嚴格的格式(同步和異步) 3)電平需要轉(zhuǎn)換精選ppt 若接收端與發(fā)送端使

2、用的不是同一時鐘信號(但必須同頻率),則為異步通信。 1、異步通信 以字符為單位,一個字符一個字符地傳送,并且每一個字符要有起始符和停止符作為開始和結(jié)束的標志。(一個字符就是一幀)9.1.1.2同步通信和異步通信 根據(jù)數(shù)據(jù)傳輸方式的不同,可將串行通信分為同步通信和異步通信。精選ppt 停止位后面是不定長的空閑位。數(shù)據(jù)的傳送可以是不連續(xù)的。 每幀數(shù)據(jù)由4部分組成:起始位(占1位)、數(shù)據(jù)位(占位)、奇偶校驗位(占位,也可以沒有校驗位)、停止位(占1或2位)。精選ppt起始位:1位。低電平(邏輯0)。標志一個字符傳送的開始。數(shù)據(jù)位: 58位。低位在前,高位在后。字符編碼方式的不同,使得數(shù)據(jù)可以是58

3、位。奇偶校驗位:1位。檢查字符傳送的準確性。有三種方式:奇校驗、偶校驗和無校驗,由用戶決定。停止位: 1位、1位半或者兩位(高電平邏輯1)。標志一個字符傳送的結(jié)束。精選ppt 發(fā)送方:傳送時先輸出起始位“”作為聯(lián)絡(luò)信號,接下來的是數(shù)據(jù)位和奇偶校驗位,停止位“1”表示一個字符的結(jié)束。其中,數(shù)據(jù)的低位在前,高位在后。字符之間允許有不定長度的空閑位。 接收方:傳送開始后,接收設(shè)備不斷檢測傳輸線的電平狀態(tài),當(dāng)收到一系列的“1”(空閑位或停止位)之后,檢測到一個“”,說明起始位出現(xiàn),就開始接收所規(guī)定的數(shù)據(jù)位和奇偶校驗位以及停止位。 特點:所需傳輸線少,設(shè)備開銷較小,在單片機控制系統(tǒng)中得到廣泛的應(yīng)用。 但

4、每個字符要附加23位用于起止位,各幀之間還有間隔,因此傳輸效率不高。工作流程精選ppt目的:提高可靠性方法:奇偶校驗法、校驗和法校驗方法基本思想: 依據(jù)偶校驗或奇校驗原則,比較發(fā)送方和接收方的校驗位是否相同。精選ppt奇偶校驗法的缺點: 1. 每次需要傳送檢驗位。 2. 不能監(jiān)測偶數(shù)個錯誤。精選ppt2. 校驗和方法特點:校驗和方法效率更高,可靠性更高。精選ppt2、同步通信 同步通信是一種數(shù)據(jù)連續(xù)傳輸?shù)拇型ㄐ欧绞?,通信時發(fā)送方把需要發(fā)送的多個字節(jié)數(shù)據(jù)和校驗信息連接起來,組成數(shù)據(jù)塊。 發(fā)送時,發(fā)送方只需在數(shù)據(jù)塊前插入12個特殊的同步字符,然后按特定速率逐位輸出(發(fā)送)數(shù)據(jù)塊內(nèi)的各位數(shù)據(jù)。 接

5、收方在接收到特定的同步字符后,也按相同速率接收數(shù)據(jù)塊內(nèi)的各位數(shù)據(jù)。精選ppt 在這種通信方式中,數(shù)據(jù)塊內(nèi)的各位數(shù)據(jù)之間沒有間隔,傳輸效率高;發(fā)送、接收雙方必須保持同步(使用同一時鐘信號), 且數(shù)據(jù)塊長度越大,對同步要求就越高。同步通信設(shè)備復(fù)雜,成本高,一般只用在高速數(shù)字通信系統(tǒng)中。 精選ppt9.1.1.3串行通信方式1)單工方式:這種方式只允許數(shù)據(jù)按一個固定的方向傳輸。數(shù)據(jù)傳輸僅能從發(fā)送設(shè)備傳輸?shù)浇邮赵O(shè)備。精選ppt2)半雙工方式:數(shù)據(jù)可以從A發(fā)送到B,也可以由B發(fā)送到A。但A、B之間只有一根傳輸線,因此同一時刻只能作一個方向的傳送。其傳送方向由收發(fā)控制開關(guān)K切換。平時一般讓A、B方都處于接

6、收狀態(tài),以便能夠隨時響應(yīng)對方的呼叫。 兩個串行通信設(shè)備之間只有一條數(shù)據(jù)線,數(shù)據(jù)傳輸可以沿兩個方向,但需要分時進行。精選ppt3)全雙工方式:數(shù)據(jù)可同時在兩個方向上傳送。 3種方式中,1)全雙工方式的效率最高;2)半雙工方式配置和編程相對靈活,傳輸成本較低 ;3)串行通信設(shè)備常選用半雙工方式。精選ppt9.1.1.5波特率(Baud rate)單位:bps(bit per second)定義:每秒鐘傳送的二進制位數(shù)。Baudrate:50 19200 57600 50,100,150,300,600,1200,2400, 4800,9600,19200,38400,57600,115200 如每

7、秒傳送240個字符,而每個字符格式包含10位這時的波特率為10位(bit)240個/s = 2400 bit/s。在異步串行通信中,接收方和發(fā)送方應(yīng)使用相同的波特率,才能成功傳送數(shù)據(jù)。精選pptBaudrate9600bps 對應(yīng)于一個數(shù)據(jù)位寬約為104us。數(shù)據(jù)位寬(每一位代碼的傳輸時間) Td 1 / Baudrate精選ppt計算機系統(tǒng)中常用串行、并行接口并行:EPP:打印機IDE:硬盤、電子盤IEEE488(GPIB):智能化儀器PCI精選ppt串行:異步:RS232-C 384Kbps (15 to 20m)RS422、RS485 1.2Mbps (1200m)同步:USB 1.1

8、12MbpsUSB 2.0 480Mbps1394 400MbpsSPI 26Mbps (Motorola)Microwire 10Mbps (National Semiconductor,國家半導(dǎo)體公司)I2C 400Kbps (Philips)精選pptRS232C 簡介信號線25 芯,22 根信號線,常用9 根線最簡方式 3 根線RXD:數(shù)據(jù)接收線TXD:數(shù)據(jù)發(fā)送線GND:地線例如 PC 機上的串口COM1、COM2精選ppt電平制采用負邏輯,對應(yīng)電平如下:1 : 3V 15V0 : 3V 15V常用驅(qū)動器典型的線驅(qū)動器MC1488(反向驅(qū)動) 12V 供電典型的線接收器 MC1489(

9、反向驅(qū)動)精選ppt常用驅(qū)動器MAXIM202精選ppt常用驅(qū)動器Sipex 220精選ppt常用驅(qū)動器Max232精選ppt異步串口硬件連線方式精選ppt1. 4 種工作方式的特點是什么?分別應(yīng)用 于什么場合?2. 如何啟動發(fā)送和接收過程?3. 首先移出或發(fā)送的是D0,還是D7? (9AH10011010B)4. 在接收數(shù)據(jù)過程中采用了什么措施提 供可靠性?5. TI 標志和RI 標志何時會自動置1?6. 哪些情況下傳送的數(shù)據(jù)會丟失?精選ppt 全雙工的異步通訊串行口,具有UART的全部功能,能同時進行數(shù)據(jù)的發(fā)送和接收 4種工作方式 ,波特率由片內(nèi)定時器/計數(shù)器控制。 每發(fā)送或接收一幀數(shù)據(jù),

10、均可發(fā)出中斷請求。 除用于串行通訊,還可用來擴展并行I/O口,或作為串并轉(zhuǎn)換等。9.2 MCS-51的串行口精選ppt MCS-51的串行口主要由兩個獨立的串行數(shù)據(jù)緩沖寄存器SBUF(一個發(fā)送緩沖寄存器,一個接收緩沖寄存器),發(fā)送控制器、接收控制器、輸入移位寄存器及若干控制門電路組成?;窘Y(jié)構(gòu)如圖所示。9.2.1 串行口的組成精選pptP3.0是串行數(shù)據(jù)接收端RXD,P3.1是串行數(shù)據(jù)發(fā)送端TXD。串行接口的結(jié)構(gòu)由串行接口控制電路、發(fā)送電路和接收電路3部分組成。發(fā)送電路由發(fā)送緩沖器(SBUF)、發(fā)送控制電路組成,用于串行接口的發(fā)送。接收電路由接收緩沖器(SBUF)、接收控制電路組成,用于串行接

11、口的接收。兩個數(shù)據(jù)緩沖器(SBUF)在物理上相互獨立,在邏輯上卻占用同一字節(jié)地址99H。 精選ppt MCS-51可以通過特殊功能緩沖器SBUF對串行接收或串行發(fā)送寄存器進行訪問,兩個緩沖器共用一個地址99H,由指令操作決定訪問哪一個緩沖器。 執(zhí)行寫時訪問串行發(fā)送緩沖器,讀時訪問接收緩沖器。發(fā)送緩沖器只能寫入,不能讀出;接收緩沖器只能讀出,不能寫入。 接收器具有雙緩沖結(jié)構(gòu),即在從接收緩沖器中讀出前一個已收到的字節(jié)之前,便能接收第二個字節(jié),如果第二個字節(jié)已經(jīng)接收完畢,第一個字節(jié)還沒有讀出,則將丟失其中一個字節(jié),編程時應(yīng)引起注意。 對于發(fā)送器,因為數(shù)據(jù)是由CPU控制和發(fā)送的,所以不需要考慮。精選p

12、pt 單片機串行接口工作方式是通過初始化設(shè)置,將兩個相應(yīng)控制字分別寫入串行控制寄存器SCON(98H)和電源控制寄存器PCON(87H)即可。數(shù)據(jù)緩沖器(99H)發(fā)送緩沖器:只管發(fā)送數(shù)據(jù),CPU寫入SBUF的時候 (MOV SBUF,A)即為發(fā)送;接收緩沖器:只管接收數(shù)據(jù),CPU讀取SBUF的過程 (MOV A,SBUF)即為接收。精選ppt9.2.1.1控制狀態(tài)寄存器SCON MCS-51串行口工作方式的設(shè)定、接收與發(fā)送控制以及工作狀態(tài)標志的設(shè)置都是通過對串行口控制寄存器SCON的編程確定的。 SCON為一SFR,其地址為98H,可位尋址,其各位的作用定義如下: 精選ppt(1)SM0、SM

13、1串行口4種工作方式的選擇位 表 串行口的4種工作方式SM0 SM1 方式 功 能 說 明 0 0 0 同步移位寄存器方式(用于擴展I/O口) 0 1 1 8位異步收發(fā),波特率可變(由定時器控制) 1 0 2 9位異步收發(fā),波特率為fosc/64或fosc/32 1 1 3 9位異步收發(fā),波特率可變(由定時器控制)精選ppt當(dāng)串行口以方式2或方式3接收時, 如果SM2=1,只有當(dāng)接收到的第9位數(shù)據(jù)(RB8)為“1”時,才將接收到的前8位數(shù)據(jù)送入SBUF,并置“1” RI,產(chǎn)生中斷請求;當(dāng)接收到的第9位數(shù)據(jù)(RB8)為“0”時,則將接收到的前8位數(shù)據(jù)丟棄。 如果SM2=0,則不論第9位數(shù)據(jù)是“1

14、”還是“0”,都將前8位數(shù)據(jù)送入SBUF中,并置“1” RI,產(chǎn)生中斷請求。方式1時,如果SM2=1,則只有收到停止位時才會激活RI,沒有收到有效的停止位時,RI清0。方式0時,SM2必須為0。(2)SM2 多機通信控制位 用于方式2或方式3中。精選ppt(3)REN允許串行接收位 由軟件置“1”或清“0”。 REN=1 允許串行口接收數(shù)據(jù)。REN=0 禁止串行口接收數(shù)據(jù)。 (4)TB8發(fā)送的第9位數(shù)據(jù) 方式2和3時,TB8是要發(fā)送的第9位數(shù)據(jù),可作為奇偶校驗位使用,或在多機通信中可作為地址幀或數(shù)據(jù)幀的標志。 =1為地址幀, =0為數(shù)據(jù)幀 (5)RB8接收到的第9位數(shù)據(jù) 方式2和3時,RB8存

15、放接收到的第9位數(shù)據(jù),作為奇偶校驗位或地址幀/數(shù)據(jù)幀的標志位。在方式1,如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8。精選ppt(6)TI發(fā)送中斷標志位方式0時,串行發(fā)送第8位數(shù)據(jù)結(jié)束時由硬件置“1”,其它工作方式,串行口發(fā)送停止位的開始時置“1”。TI=1,表示一幀數(shù)據(jù)發(fā)送結(jié)束,可供軟件查詢,也可申請中斷。CPU響應(yīng)中斷后, 向SBUF寫入要發(fā)送的下一幀數(shù)據(jù)。TI必須由軟件清0。(7)RI接收中斷標志位 方式0時,接收完第8位數(shù)據(jù)時,RI由硬件置1。其它工作方式,串行接收到停止位時,該位置“1”。RI=1,表示一幀數(shù)據(jù)接收完畢,并申請中斷, CPU從接收SBUF取走數(shù)據(jù)。該

16、位狀態(tài)也可軟件查詢。RI必須由軟件清“0”。精選pptSMOD:波特率選擇位。 SMOD=1,波特率加倍。SMOD0,波特率不加倍。 例如:方式1的波特率的計算公式為: 方式1波特率=(2SMOD/32)定時器T1的溢出率也稱SMOD位為波特率倍增位。9.2.1.2 特殊功能寄存器PCON 字節(jié)地址為87H,沒有位尋址功能,需要字節(jié)傳送。精選ppt MCS-51單片機串行口共有4種工作方式,SM0、SM1是串行接口的工作方選擇位,如表所示。SM0 SM1方式 功 能 說 明 波 特 率 001101010123移位寄存器方式8位異步通訊接口9位異步通訊接口9位異步通訊接口fosc/12可變fo

17、sc/64,fosc/32可變 串行接口中的4種工作方式中,串行通信只使用方式1 、方式2、方式3。 方式0主要用于擴展并行輸入輸出口。9.2.2 串行口的4種工作方式精選ppt9.2.2.1 方式0 方式0是把串行接口作為同步移位寄存器使用。其波特率是固定的,為fosc/12,即一個機器周期移位一次。 數(shù)據(jù)由RXD端輸出或輸入,同時由TXD端輸出同步移位脈沖信號。 移位數(shù)據(jù)的發(fā)送和接收以一個字符的8位為一組,不設(shè)起始位和停止位。 低位在前,高位在后。其格式為:D0D1D2D3D4D5D6D7精選ppt 1方式0發(fā)送當(dāng)執(zhí)行任何一條寫SBUF的指令時,就啟動了串行接口的發(fā)送過程(如MOV SBU

18、F,A)。內(nèi)部的定時邏輯在SBUF寫入數(shù)據(jù)之后,經(jīng)過一個完整的機器周期,輸出移位寄存器中輸出位的內(nèi)容送RXD引腳輸出;移位脈沖由TXD引腳輸出,它使RXD引腳輸出的數(shù)據(jù)移入外部移位寄存器。8位數(shù)據(jù)以fosc/12的固定波特率從RXD引腳串行輸出。當(dāng)數(shù)據(jù)的最高位D7位移出后,停止發(fā)送數(shù)據(jù)和移位脈沖,就完成了1B的輸出,并把中斷標志(TI)置“1”。如要再發(fā)送下一字節(jié)數(shù)據(jù),必須用軟件先將TI清“0”。 精選ppt時序如圖所示。精選ppt 2方式0接收 REN=0,禁止接收。 REN=1,允許接收。 向串口的SCON寫入控制字(置為方式0,并置“1”REN位,同時RI=0)時,產(chǎn)生一個正脈沖,串行口

19、即開始接收數(shù)據(jù)。 RXD為數(shù)據(jù)輸入端,TXD為移位脈沖信號輸出端 接收器也以fosc/12的固定波特率采樣RXD引腳的數(shù)據(jù)信息,當(dāng)收到8位數(shù)據(jù)時置“1” RI。表示一幀數(shù)據(jù)接收完。 如要再接收數(shù)據(jù),就再用軟件將RI清“0”。 精選ppt時序如下:精選ppt 方式0下,SCON中的TB8、RB8位沒有用到,發(fā)送或接收完8位數(shù)據(jù)由硬件置“1”TI或RI,CPU響應(yīng)中斷。TI或RI須由用戶軟件清“0”,可用如下指令:CLR TI;TI位清“0”CLR RI ;RI位清“0” 方式0時,SM2位必須為0。 串行接口為同步移位寄存器的輸入/輸出方式,而不是通信方式,可外接移位寄存器,用于擴展并行I/O接

20、口。 數(shù)據(jù)都由RXD(P3.0)引腳輸入或輸出,TXD引腳 總是用于輸出同步移位脈沖。精選ppt 方式1 波特率可變的8位異步通信串行接口為波特率可變的8位數(shù)據(jù)的異步通信接口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳。傳送1幀數(shù)據(jù)為10位,其中,1位起始位(0),8位數(shù)據(jù)位(低位在先),1位停止位(1)。方式1的波特率由定時器(T1)的溢出率和SMOD的狀態(tài)決定。精選ppt 1方式1發(fā)送 方式1輸出時,數(shù)據(jù)由TXD輸出, 一幀信息為10位,1位起始位0,8位數(shù)據(jù)位(先低位)和1位停止位1。 當(dāng)執(zhí)行一條數(shù)據(jù)寫發(fā)送緩沖器SBUF的指令,就啟動發(fā)送。圖中TX時鐘的頻率就是發(fā)送的波特率。 發(fā)送開始時

21、,內(nèi)部發(fā)送控制信號變?yōu)橛行?。將起始位向TXD輸出,此后,每經(jīng)過一個TX時鐘周期,便產(chǎn)生一個移位脈沖,并由TXD輸出一個數(shù)據(jù)位。8位數(shù)據(jù)位全部發(fā)送完畢后,置“1” TI。 如要再發(fā)送下一字節(jié)數(shù)據(jù),必須用軟件先將TI清零。精選ppt精選ppt 2方式1接收 數(shù)據(jù)從RXD(P3.0)腳輸入。當(dāng)檢測到起始位的負跳變時,開始接收數(shù)據(jù)。 定時控制信號有兩種 1)接收移位時鐘(RX時鐘,頻率和波特率相同) 2)位檢測器采樣脈沖:接收器以所選擇波特率的16倍速率采樣RXD引腳電平, 接收的值是3次連續(xù)采樣(第7、8、9個脈沖時采樣)進行表決以確認是否是真正的起始位(負跳變)的開始。 接收過程中,將每個數(shù)據(jù)位寬

22、度分成16個狀態(tài),并在中間的第7、8、9狀態(tài)時對RXD采樣,采樣數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時,控制電路進行最后一次移位。精選ppt精選ppt 當(dāng)一幀數(shù)據(jù)接收完,須同時滿足兩個條件,接收才真正有效。 RI=0,即上一幀數(shù)據(jù)接收完成時,RI=1發(fā)出的中斷請求已被響應(yīng),SBUF中的數(shù)據(jù)已被取走,說明“接收SBUF”已空。 SM2=0或SM2=1且收到的停止位=1(方式1時,停止位進入RB8),則收到的數(shù)據(jù)裝入SBUF和RB8(RB8裝入停止位),置“1”中斷標志RI。若這兩個條件不同時滿足,收到的數(shù)據(jù)將丟失。精選ppt 9.2.2.3 方式2 9位異步通信接口。每幀

23、數(shù)據(jù)均為11位,1位起始位0,8位數(shù)據(jù)位(先低位),1位可程控的第9位數(shù)據(jù)和1位停止位。幀格式如下。 方式2波特率= (2SMOD/64)fosc 精選ppt 1方式2發(fā)送 發(fā)送前,先根據(jù)通訊協(xié)議由軟件設(shè)置TB8(例如,雙機通訊時的奇偶校驗位或多機通訊時的地址/數(shù)據(jù)的標志位)。 方式2發(fā)送數(shù)據(jù)波形如圖所示。 精選ppt例 方式2發(fā)送在雙機通訊中的應(yīng)用。 發(fā)送中斷服務(wù)程序,是在雙機通訊中,以TB8作為奇偶校驗位,處理方法為數(shù)據(jù)寫入SBUF之前,先將數(shù)據(jù)的奇偶校驗位寫入TB8,以保證采用偶校驗發(fā)送。SDTI:PUSH PSW ;現(xiàn)場保護 PUSH Acc SETB SM0 ;設(shè)置方式2發(fā)送 CLR

24、 SM1 CLR TI ;發(fā)送中斷標志清“0”MOV A,R0;取數(shù)據(jù)MOV C,P ;校驗位送TB8,采用偶校驗 MOV TB8 ,C MOV SBUF,A ;啟動發(fā)送 INC R0 ;數(shù)據(jù)指針加1 POP Acc ;恢復(fù)現(xiàn)場 POP PSW RETI ;中斷返回精選ppt 2方式2接收 SM0、SM1=10,且REN=1。數(shù)據(jù)由RXD端輸入,接收11位信息。當(dāng)位檢測到RXD從1到0的負跳變,并判斷起始位有效后,開始收一幀信息。在接收器完第9位數(shù)據(jù)后,需滿足兩個條件,才能將接收到的數(shù)據(jù)送入SBUF。 (1)RI=0,意味著接收緩沖器為空。 (2)SM2=0或接收到的第9位數(shù)據(jù)位RB8=1時。

25、 當(dāng)上述兩個條件滿足時,接收到的數(shù)據(jù)送入SBUF(接收緩沖器),第9位數(shù)據(jù)送入RB8,并置“1”RI。若不滿足兩個條件,接收的信息將被丟棄。精選ppt方式2接收數(shù)據(jù)的時序如圖所示。精選ppt PIRI:PUSH PSWPUSH AccSETB SM0;設(shè)置方式2接收CLR SM1CLR RI MOV A,SBUF;收到數(shù)據(jù)送AMOV C,PJNC L1;P0,跳L1JNB RB8,ERP;P1,RB80,ERP為出錯處理程序 AJMP L2 ;P1,RB81,接收數(shù)據(jù)正確 L1: JB RB8,ERP;RB81,跳ERP L2:MOV R0,A INC R0 POP Acc POP PSW E

26、RP: ;出錯處理程序段 RETI例 方式2接收在雙機通訊中的應(yīng)用。與上例相對應(yīng)。若第9位數(shù)據(jù)為校驗位,在接收程序中作偶校驗處理,設(shè)1組寄存器區(qū)的R0為數(shù)據(jù)緩沖器指針。精選ppt 9.2.2.4 方式3SM0、SM1=11,串口為方式3。 波特率可變的9位異步通訊方式,除波特率外,方式3和方式2相同。方式3的時序見方式2。 方式3波特率=(2SMOD/32)定時器T1的溢出率精選ppt 9.2.3波特率的設(shè)定串行通信雙方對發(fā)送或接收數(shù)據(jù)的波特率事先要約定好保持一致。MCS-51單片機的波特率設(shè)置與工作方式有關(guān),其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器T1的

27、溢出率和SMOD的狀態(tài)決定。定時器T1產(chǎn)生波特率的計算(1)方式0波特率時鐘頻率fosc1/12,不受SMOD位的值的影響。若fosc=12MHz,波特率為fosc/12即1Mb/s。(2)方式2波特率=(2SMOD/64)fosc 若fosc=12MHz: SMOD=0 波特率=187.5kb/s; SMOD=1 波特率=375kb/s精選ppt (3)方式1或方式3時,波特率為:波特率=(2SMOD/64)T1的溢出率 當(dāng)T1作為波特率發(fā)生器時,常使T1工作在自動重裝初值的8位定時器方式,并禁止T1中斷。這種方式可避免重新設(shè)定定時初值而產(chǎn)生波特率誤差。TH1從初值計數(shù)到產(chǎn)生溢出,它每秒溢出

28、的次數(shù)稱為溢出率。 精選ppt 實際上是先給定數(shù)據(jù)傳輸速率,根據(jù)速率來確定計數(shù)初值N精選ppt精選ppt 例 若8031單片機的時鐘振蕩頻率為11.0592MHz,選用T1為方式2定時作為波特率發(fā)生器,波特率為2400b/s,求初值。 這里時鐘振蕩頻率選為11.0592 MHz,就可使初值為整數(shù),從而產(chǎn)生精確的波特率。精選ppt在單片機的應(yīng)用中,相同機種單片機的波特率很容易達到一致,只要晶振頻率相同,可以采用完全一致的設(shè)置參數(shù)。異機種單片機的波特率設(shè)置較難達到一致,這時的設(shè)計原則應(yīng)使兩個通信設(shè)備之間的波特率誤差小于2.5%。常用的串行接口波特率、晶振頻率以及各參數(shù)的關(guān)系如表7所示。精選ppt串

29、口工作方式及波特率/(bit/s)fosc/MHzSMOD定時器(T1) C/T工作方式初值方式01MHz12無關(guān)方式2375kHz121無關(guān)方式1方式362.5 kHz12102FFH19.2 kHz11.0592102FDH9600Hz11.0592002FDH4800Hz11.0592002FAH2400Hz11.0592002F4H1200Hz11.0592002E8H精選ppt 表中有兩點需要注意:(1) 時鐘振蕩頻率為12MHz或6MHz時,表中初值X和相應(yīng)的波特率之間有一定誤差。例如,F(xiàn)DH的對應(yīng)的理論值是10416波特(時鐘6MHz)。與9600波特相差816波特,消除誤差可以

30、調(diào)整時鐘振蕩頻率fosc實現(xiàn)。例如采用的時鐘振蕩頻率為11.0592MHz。(2) 如果串行通訊選用很低的波特率,例如,波特率選為55,可將定時器T1設(shè)置為方式1定時。但在這種情況下,T1溢出時,需用在中斷服務(wù)程序中重新裝入初值。中斷響應(yīng)時間和執(zhí)行指令時間會使波特率產(chǎn)生一定的誤差,可用改變初值的方法加以調(diào)整。精選ppt精選ppt精選ppt精選ppt例使用MCS-51單片機串行工作收發(fā)字節(jié)字符,并要求偶校驗,要求傳送波特率為1200 baud。 解分析:因要求有校驗位,故為串行工作方式2或方式3,又因波特率為1200 baud,故只能在方式3下工作。定義定時器1采用工作方式2。由表可知,定時器T

31、1的初始值為0E8H,設(shè)發(fā)送數(shù)據(jù)區(qū)的首地址為20H,接收數(shù)據(jù)后的首地址為40H。主程序:MOV TMOD,#20H ;設(shè)置定時器1工作方式2MOV TL1,#0E8HMOV TH1,#0E8H MOV R0,#20HMOV R1,#40HSETB TR1 ;啟動定時器1MOV SCON,#OEOH ;設(shè)置串行工作方式3,接收允許SETB EASETB ESACALL SENDSJMP $精選ppt中斷服務(wù)程序: ORG 0023H ;串行中斷入口 AJMP SERSER: JNB RI,SEN ;不是RI中斷(即為TI中斷) 轉(zhuǎn)發(fā)送子程序 ACALL RECIVE ;是RI中斷轉(zhuǎn)接收子程序 S

32、JMP NEXTSEN: ACALL SENDNEXT:RETI精選ppt發(fā)送子程序:SEND: MOV A,R0 MOV C,P ;置偶校驗位 MOV TB8,C INC R0 MOV SBUF,A CLR TI ;TI清零 RET接收子程序:RECIVE:MOV A,SBUF MOV C,RB8 ;取校驗位 MOV R1,A INC R1 CLR RI ;RI清0 RET精選ppt9.2.4 單片機串行通信 單片機串行接口主要用于計算機之間的串行通信,包括兩單片機之間多個單片機以及單片機與PC機之間的串行通信。 精選ppt1雙機串行通信 兩臺MCS-51單片機可采用三線零調(diào)制解調(diào)方式連接,

33、兩臺單片機的發(fā)送端TXD與接收端的RXD交錯相連,地線相連,即完成硬件的連接。 兩個MCS-51單片機相距在幾米之內(nèi)精選ppt兩個MCS-51單片機相距在幾米以外精選ppt3 MCS-51單片機與PC機的串行通信 如果雙機通訊距離在30米之內(nèi),可利用RS-232C標準接口實現(xiàn)點對點的雙機通訊精選ppt精選ppt精選ppt精選ppt串行通信方式的應(yīng)用一、串行口數(shù)據(jù)發(fā)送/接收程序的基本結(jié)構(gòu) 數(shù)據(jù)發(fā)送/接收程序的基本結(jié)構(gòu)如圖所示精選ppt9.3 應(yīng)用程序設(shè)計波特率的計算和UART 的初始化串行口工作于方式0:方式2:方式1、3:精選ppt9.3 應(yīng)用程序設(shè)計方式1、3的波特率精選ppt9.3 應(yīng)用程

34、序設(shè)計例 1:fosc6MHz,SMOD1,波特率9600bps,求 T1 的初值解:T1 的分頻值N 有:N60009.61216= 3.255取 N3則有 TH10FDH,TL10FDH精選ppt9.3 應(yīng)用程序設(shè)計例 2: 預(yù)用 51 單片機的UART 傳送數(shù)據(jù),要求采用偶校驗方法,波特率為9600bps,試選擇UART 的工作方式,并寫出初始化代碼。(fosc6MHz)解:選擇串行口工作方式方式2 為9 bit UART,但Baud ratefosc/64 or fosc/32因此選擇方式3計算T1 的初值初始化代碼:MOV SCON, #11010000B ; SM0 SM1=1 1

35、 (方式3,9bitUART); SM2=0; REN=1 允許接收MOV PCON, #80H ;1000 0000B, SMOD=1MOV TMOD, #20H ;0010 0000 定時方式2MOV TH1, #0FDHMOV TL1, #0FDHSETB TR1精選ppt9.3 應(yīng)用程序設(shè)計查詢方式下數(shù)據(jù)的基本收發(fā)過程發(fā)送:MOV SBUF, #0AAHJNB TI, $CLR TIMOV SBUF, #55H接收:JNB RI, $CLR RIMOV A, SBUF奇偶校驗方法的應(yīng)用采用 9 位UART 方式:1start + 8data + 1parity + 1stop精選ppt

36、9.3 應(yīng)用程序設(shè)計例 3:閱讀以下代碼段,歸納程序的功能, 并說明 R0,R7 的作用。A 機發(fā)送:SEND: MOV A, R0MOV C, P ; P按偶校驗原則置位MOV TB8, C ;存入檢驗位MOV SBUF, ASWAIT:JBC TI, NEXTSJMP SWAITNEXT: INC R0DJNZ R7, SENDRETB 機接收:RWAIT: JBC RI, REVSJMP RWAITREV: MOV A, SBUFJNB P, ISNP ; P=0JNB RB8, ISERR ; P=1 但RB8=0SJMP SAVE ; P=1 , RB8=1ISNP: JB RB8,

37、 ISERR ; P=0, 但RB81SAVE: MOV R0, AINC R0DJNZ R7, RWAITRETISERR: SETB F0 ;PSW.5 置出錯標志為1SJMP SAVE精選ppt9.3 應(yīng)用程序設(shè)計校驗和方法的應(yīng)用8 位UART 方式:1start + 8data +1stopA 機發(fā)送:SEND: MOV A, R0MOV SBUF, AADD A, R2MOV R2, A ;計算校驗和 ;僅保留低 8 位JNB TI, $CLR TI B 機接收:REV: JNB RI, $CLR RIMOV A, SBUFMOV R0, AADD A, R2 ;計算校驗和MOV R

38、2, A ;接收校驗和、比較、設(shè)置標志信息JNB RI, $CLR RIMOV A, SBUFCJNE A, 02H, ERR ;默認為0 組 ;寄存器中的R2MOV A, #00HSJMP MIXERR: MOV A, #0FFHMIX: 思考:1. R2 有何作用?2. 與“奇偶校驗法”相比“校驗和”方法有何優(yōu)點?精選ppt9.3 應(yīng)用程序設(shè)計聯(lián)絡(luò)的必要性及其實現(xiàn)基本方法:A 機B 機: 發(fā)“AA”, 即 10101010BB 機 A機: 發(fā)“BB”, 即 10111011B聯(lián)絡(luò)過程的實現(xiàn)A 方:CONTACT:MOV SBUF, #0AAHJNB TI, $CLR TIACALL D5M

39、SJNB RI, CONTACTCLR RIMOV A, SBUFCJNE A, #0BBH, CONTACT;聯(lián)絡(luò)成功B 方:CONTACT:JNB RI, $CLR RIMOV A, SBUFCJNE A, #0AAH,CONTACTMOV SBUF, #0BBHJNB TI, $CLR TI;聯(lián)絡(luò)成功Baudrate9600bps,發(fā)送一個字節(jié)(10bits)所需要的時間1.04 ms精選ppt9.3 應(yīng)用程序設(shè)計雙機通訊設(shè)計實例任務(wù)要求:將A 機片內(nèi)RAM 中的10 個數(shù)據(jù)發(fā)送給B 機兩機中的數(shù)據(jù)存放地址相同波特率為9600bps (系統(tǒng)fosc=12MHz)采用校驗和方法檢測數(shù)據(jù)的正

40、確性基本思想和方案設(shè)計選8 位UART 方式,方式1,波特率可變SCON=0101 0000B =50H ;UART 方式1,允許接收PCON=00H (SMOD=0)精選ppt9.3 應(yīng)用程序設(shè)計確定TMOD,TH1,TL1T1 定時方式2: TMOD0010 0000B 20HT1 的分頻值N12000/9.6/12/32=3.255取 N3則有 TL1TH1FDH12000/9.6=1250精選ppt9.3 應(yīng)用程序設(shè)計3. 資源分配R0:數(shù)據(jù)塊首地址R1:數(shù)據(jù)塊長度R2:校驗和低8 位4. 聯(lián)絡(luò)方法: A 機發(fā)出“AA”,B 機發(fā)出“BB”5. 狀態(tài)信息聯(lián)絡(luò)過程出錯:EEH檢驗正確:

41、00H檢驗錯誤: FFH精選ppt9.3 應(yīng)用程序設(shè)計精選ppt9.3 應(yīng)用程序設(shè)計雙機通訊中的常見問題1、幀格式不統(tǒng)一2、波特率不統(tǒng)一3、實際波特率存在誤差(單片機與PC 機通信時需特別關(guān)注)例 4:設(shè)SMOD=1,Baudrate9600bps,T1 的分頻值為6,分別對應(yīng)于fosc12MHz 和11.0592MHz 求取實際波特率。fosc12MHz:實際Baudrate12000/12/6/16=10417bpsfosc11.0592MHz:實際Baudrate11059.2/12/6/16=9600bps精選ppt9.3 應(yīng)用程序設(shè)計4、T1 定時計數(shù)器未正確設(shè)置T1 多選用定時方式2T1 也可選為定時方式1,但必須在T1 中斷程序中對T1 進行重新賦值。T0不可作為波特率發(fā)生器使用52 系列中T2 也可作為波特率發(fā)生器優(yōu)點:T2 可工作于16 位

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論