DPJ6(串行口)_第1頁
DPJ6(串行口)_第2頁
DPJ6(串行口)_第3頁
DPJ6(串行口)_第4頁
DPJ6(串行口)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第6章第第6 6章章 MCS51MCS51單片機的串行接口單片機的串行接口 主要內容:主要內容: 1. 串行通信概述串行通信概述 2. MCS-51單片機串行通信接口的結構單片機串行通信接口的結構 3. MCS-51單片機串行通信的工作原理及其工作方式單片機串行通信的工作原理及其工作方式 4. MCS-51單片機串行接口應用編程單片機串行接口應用編程重點:重點:MCS-51單片機串行接口的工作原理及工作方式單片機串行接口的工作原理及工作方式MCS-51單片機串行接口應用程序設計方法單片機串行接口應用程序設計方法第6章 6-16.1 6.1 串行通信概述串行通信概述 1. 1.并行通信并行通信

2、數(shù)據(jù)各位同時進行傳送。其優(yōu)點是傳送速度快,缺點是傳輸線多,數(shù)據(jù)各位同時進行傳送。其優(yōu)點是傳送速度快,缺點是傳輸線多,通信線路費用較高,并行傳送適用于近距離、傳送速度高的場合。通信線路費用較高,并行傳送適用于近距離、傳送速度高的場合。2 2串行通信串行通信 數(shù)據(jù)的各位按順序一位一位地傳送數(shù)據(jù)的各位按順序一位一位地傳送(例如先低位、后高位例如先低位、后高位)。其優(yōu)點。其優(yōu)點是傳輸線少(是傳輸線少(1 12 2根),傳送通道費用低;缺點是傳送速度較低。故根),傳送通道費用低;缺點是傳送速度較低。故適合遠距離通信。適合遠距離通信。 6.1.1 6.1.1 并行通信與串行通信并行通信與串行通信 第五章

3、1-21.1.單工方式單工方式通信雙方只有一條單向傳輸線,只允許數(shù)據(jù)由一方發(fā)通信雙方只有一條單向傳輸線,只允許數(shù)據(jù)由一方發(fā)送,另一方接收。送,另一方接收。2 2半雙工方式半雙工方式通信雙方只有一條雙向傳輸線,允許數(shù)據(jù)雙向傳送,通信雙方只有一條雙向傳輸線,允許數(shù)據(jù)雙向傳送,但每時刻上只能有一方發(fā)送,另一方接收,這是一種能夠切換傳送方但每時刻上只能有一方發(fā)送,另一方接收,這是一種能夠切換傳送方向的單工方式向的單工方式. .3 3全雙工方式全雙工方式通信雙方有兩條傳輸線,允許數(shù)據(jù)同時雙向傳送,通信雙方有兩條傳輸線,允許數(shù)據(jù)同時雙向傳送,其通信設備應具有完全獨立的收發(fā)功能。其通信設備應具有完全獨立的收

4、發(fā)功能。ABAB發(fā)送器接收器接收器接收器發(fā)送器發(fā)送器數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)AB(a)單工方式(b)半雙工方式(c)全雙工方式二、串行通信的數(shù)據(jù)傳送方向二、串行通信的數(shù)據(jù)傳送方向第五章 1-3三、同步通信和異步通信三、同步通信和異步通信 為了準確地發(fā)送、接收信息,發(fā)送者和接受者雙方必須協(xié)調工作。這種協(xié)為了準確地發(fā)送、接收信息,發(fā)送者和接受者雙方必須協(xié)調工作。這種協(xié)調方法,從原理上可分成兩種:調方法,從原理上可分成兩種:同步串行同步串行I/OI/O和異步串行和異步串行I/OI/O。 1 1異步通信方式異步通信方式 異步通信方式時,數(shù)據(jù)一幀一幀地傳送,不需要同步時鐘,實現(xiàn)簡單。異步通信方式時,數(shù)據(jù)一幀一幀地傳

5、送,不需要同步時鐘,實現(xiàn)簡單。 在異步方式中,為了避免連續(xù)傳送過程中的誤差積累,每個字符都要獨在異步方式中,為了避免連續(xù)傳送過程中的誤差積累,每個字符都要獨立確定起始和結束立確定起始和結束(即每個字符都要重新同步即每個字符都要重新同步),字符和字符間還可能有長度不,字符和字符間還可能有長度不定的空閑時間。定的空閑時間。 有約定的幀格式;有約定的幀格式; 發(fā)送與接收之間發(fā)送與接收之間的同步是利用每一的同步是利用每一幀的起、止信號來幀的起、止信號來建立的;建立的; 雙方用各自的時雙方用各自的時鐘控制發(fā)送與接收鐘控制發(fā)送與接收2 2同步通信方式同步通信方式 在同步通信中,在數(shù)據(jù)或字符開始傳送前用同步

6、字符在同步通信中,在數(shù)據(jù)或字符開始傳送前用同步字符(SYNC)(SYNC)來指示來指示( (常常約定約定l l一一2 2個個) ),由時鐘來實現(xiàn)發(fā)送端和接收端同步,當檢測到規(guī)定的同步字,由時鐘來實現(xiàn)發(fā)送端和接收端同步,當檢測到規(guī)定的同步字符后,接下來就連續(xù)按順序傳送數(shù)據(jù)。同步字符是一特定的二進制序列,符后,接下來就連續(xù)按順序傳送數(shù)據(jù)。同步字符是一特定的二進制序列,在傳送的數(shù)據(jù)中不會出現(xiàn)在傳送的數(shù)據(jù)中不會出現(xiàn) 同步通信方式由于不采用起始和停止位,在同步字符后可以接較大的數(shù)同步通信方式由于不采用起始和停止位,在同步字符后可以接較大的數(shù)據(jù)區(qū),同步字符所占部分很小,因此有較高的傳送效率。據(jù)區(qū),同步字符

7、所占部分很小,因此有較高的傳送效率。 第五章 1-4同步數(shù)據(jù)數(shù)據(jù)CRC1CRC2.(a)單同步格式.同步數(shù)據(jù)數(shù)據(jù)同步CRC2CRC1.(b)雙同步格式.MCS-51單片機中串行接口只可實現(xiàn)異步串行通信方式單片機中串行接口只可實現(xiàn)異步串行通信方式 第五章 1-5 四、波特率四、波特率 波特率是通信雙方對數(shù)據(jù)傳送速率的約定,表示每秒鐘傳送二進波特率是通信雙方對數(shù)據(jù)傳送速率的約定,表示每秒鐘傳送二進制數(shù)碼的位數(shù),單位是制數(shù)碼的位數(shù),單位是bit/sbit/s。 假如數(shù)據(jù)傳送的速率是假如數(shù)據(jù)傳送的速率是120120個字符秒,每一個字符規(guī)定包含個字符秒,每一個字符規(guī)定包含1010個位個位( (一個起始位

8、、一個起始位、8 8個數(shù)據(jù)位和個數(shù)據(jù)位和1 1個停止位個停止位) ),則傳送的波特率為:,則傳送的波特率為:101012012012001200位秒位秒12001200波特波特(bps(bps) )每一位的傳送時間即為波特率的倒數(shù)每一位的傳送時間即為波特率的倒數(shù) mSTd833.012001一般異步串行通信的波特率在一般異步串行通信的波特率在509600bit之間之間第五章 1-6第二節(jié)第二節(jié) MCS51MCS51的串行通信接口的串行通信接口 一、一、MCS-51MCS-51串行口結構及工作原理串行口結構及工作原理定時器T1 接收 SBUF 發(fā)送 SUBF門發(fā)送控制器+TIRI接收控制器輸入移

9、位寄存器串行控制寄存器98HRXD(P3.0)TXD(P3.1)內部總線88 8串行口中斷(99H)(99H)基本組成:基本組成: 兩個獨立的數(shù)據(jù)緩沖器兩個獨立的數(shù)據(jù)緩沖器SBUFSBUF( (一個用作接收,一個用作發(fā)送一個用作接收,一個用作發(fā)送) )以及發(fā)送控制器、接收控制器、輸入移位寄存器和輸出控制門等組成。以及發(fā)送控制器、接收控制器、輸入移位寄存器和輸出控制門等組成。 用戶可訪問的三個地址單元:用戶可訪問的三個地址單元:SBUFSBUF:兩個:兩個SBUFSBUF共用一個地址共用一個地址99H99H。發(fā)。發(fā)送送SBUFSBUF只寫不讀,接收只寫不讀,接收SBUFSBUF只讀不寫,只讀不寫

10、,由所用指令是發(fā)送還是接收來決定對由所用指令是發(fā)送還是接收來決定對個個SBUFSBUF進行操作;進行操作;SCONSCON:串行口控制寄存器:串行口控制寄存器PCONPCON:電源控制寄存器電源控制寄存器第五章 1-7二、串行口控制寄存器二、串行口控制寄存器SCONSCON SCONSCON是一個可位尋址的專用寄存器,用來設定串行口的工作方式、是一個可位尋址的專用寄存器,用來設定串行口的工作方式、控制串行口的接收發(fā)送以及狀態(tài)標志??刂拼锌诘慕邮瞻l(fā)送以及狀態(tài)標志。SCONSCON的格式如下:的格式如下: 1 1)SM0、SMl:串行口工作方式選擇位,可選擇四種工作方式串行口工作方式選擇位,可選

11、擇四種工作方式SM0SM1工作方式工作方式功功 能能波波 特特 率率00方式方式0 0同步移位寄存器同步移位寄存器 foc/12 foc/1201方式方式1 11010為異步收發(fā)為異步收發(fā) 可可 變變10方式方式2 21111為異步收發(fā)為異步收發(fā)foc/32foc/32或或foc/64foc/6411方式方式3 31111為異步收發(fā)為異步收發(fā) 可可 變變SCOND7D6D5D4D3D2D1D0SM0SM1TIRISM2SM2RENTB8RB82 2)SM2:為多機通信控制位為多機通信控制位 在工作方式在工作方式2 2和方式和方式3 3(多機通信時)中:(多機通信時)中: 若若SM21:當接收到

12、第:當接收到第9 9位數(shù)據(jù)位數(shù)據(jù)(RB8)為)為1,才將接收到的前,才將接收到的前8 8位位 數(shù)據(jù)裝入數(shù)據(jù)裝入SBUF,并置位,并置位RI;否則將接收到的數(shù)據(jù)丟棄。否則將接收到的數(shù)據(jù)丟棄。 若若SM20:不論第:不論第9 9位數(shù)據(jù)位數(shù)據(jù)(RB8)是否為)是否為1,都將接收到的前,都將接收到的前8 8位數(shù)位數(shù) 據(jù)裝數(shù)據(jù)裝入據(jù)裝數(shù)據(jù)裝入SBUF,并置位,并置位RI。 在方式在方式1 1中:中:若若SM21,則只有接收到有效的停止位時,才,則只有接收到有效的停止位時,才置位置位RI。 在方式在方式0 0中中:必須使必須使SM20第五章 1-83 3)REN:允許串行接收位。該位由軟件置位或清零。允許

13、串行接收位。該位由軟件置位或清零。4 4)TB8:在工作方式在工作方式2或方式或方式3時,該位為發(fā)送的第時,該位為發(fā)送的第9位數(shù)據(jù),可按需要位數(shù)據(jù),可按需要由軟件置位或清零。在許多通信協(xié)議中,該位常作為奇偶校驗位。在由軟件置位或清零。在許多通信協(xié)議中,該位常作為奇偶校驗位。在MCS5l多機通信中,多機通信中,TB8的狀態(tài)用來表示發(fā)送的是地址幀還是數(shù)據(jù)幀,的狀態(tài)用來表示發(fā)送的是地址幀還是數(shù)據(jù)幀,TB80時,為地址幀,時,為地址幀,TB81時,時,為數(shù)據(jù)幀。為數(shù)據(jù)幀。 多機通信時,多機通信時,SM2必須置必須置1。雙機通信時,通常使。雙機通信時,通常使SM20。第五章 1-96 6)TITI:發(fā)送

14、中斷標志位。方式:發(fā)送中斷標志位。方式0 0中,串行發(fā)送完第中,串行發(fā)送完第8 8位數(shù)據(jù)后,由硬件置位數(shù)據(jù)后,由硬件置位;在其它方式中,在發(fā)送停止位開始時,由硬件置位。位;在其它方式中,在發(fā)送停止位開始時,由硬件置位。TITI1 1時,表示時,表示幀發(fā)送結束,其狀態(tài)既可供軟件查詢使用,也可申請中斷。在任何方式幀發(fā)送結束,其狀態(tài)既可供軟件查詢使用,也可申請中斷。在任何方式中,中,TITI都必須由軟件清都必須由軟件清0 0。 7 7)RIRI:接收中斷標志。在方式:接收中斷標志。在方式0 0中,接收完第中,接收完第8 8位數(shù)據(jù)后,由硬件置位;位數(shù)據(jù)后,由硬件置位;在其它方式中,當接收到停止位的中間

15、時由硬件置位。在其它方式中,當接收到停止位的中間時由硬件置位。RIRI1 1時,表示幀時,表示幀接收結束,其狀態(tài)既可供軟件查詢使用,也可申請中斷。接收結束,其狀態(tài)既可供軟件查詢使用,也可申請中斷。RIRI也必須靠軟也必須靠軟件清件清0 0。單片機復位時,單片機復位時,SCONSCON中的所有位均為中的所有位均為0 0。 注意:不管是否采用中斷控制,數(shù)據(jù)發(fā)送前必須用軟件注意:不管是否采用中斷控制,數(shù)據(jù)發(fā)送前必須用軟件將將TI清零;接收數(shù)據(jù)后將清零;接收數(shù)據(jù)后將RI清零;清零;5 5)RB8:在工作方式在工作方式2 2或方式或方式3 3時,存放接收到的第時,存放接收到的第9 9位數(shù)據(jù),代表著接位數(shù)

16、據(jù),代表著接收數(shù)據(jù)的某種特征。例如,可能是奇偶位,或為多機通信中的地址數(shù)收數(shù)據(jù)的某種特征。例如,可能是奇偶位,或為多機通信中的地址數(shù)據(jù)標識位。據(jù)標識位。 在方式在方式0 0中,中,RB8未用。未用。在方式在方式1中,若中,若SM20,RB8是已接收到的停止位是已接收到的停止位。 PCON的直接地址為的直接地址為87H,不能位尋址。,不能位尋址。PCON中只有最高位中只有最高位SMOD與串行口工作有關,其余幾位用于電源的與串行口工作有關,其余幾位用于電源的控制??刂啤CON的格式如下:的格式如下:第五章 1-10SMOD:串行口波特率倍增位。:串行口波特率倍增位。當當SMOD1時,串行口波特率

17、加倍;復位時,時,串行口波特率加倍;復位時,SMOD0。 三、電源控制寄存器三、電源控制寄存器PCONPCOND7D6D5D4D3D2D1D0SMODGF1GF0PDIDL第五章 1-11 MCS51單片機的串行口為可編程口,可編程選擇四種工作方式,其單片機的串行口為可編程口,可編程選擇四種工作方式,其中方式中方式0主要用于擴展并行輸入輸出口,方式主要用于擴展并行輸入輸出口,方式1方式方式3為異步串行通信方式。為異步串行通信方式。 一、方式一、方式0 0 串行口工作方式串行口工作方式0為同步移位寄存器輸入輸出方式,其數(shù)據(jù)傳輸波特為同步移位寄存器輸入輸出方式,其數(shù)據(jù)傳輸波特率固定為率固定為foc

18、/12。串行數(shù)據(jù)由。串行數(shù)據(jù)由RXD(P30)端輸入輸出,同步移位脈沖由端輸入輸出,同步移位脈沖由TXD(P31)端輸出。數(shù)據(jù)的發(fā)送接收以端輸出。數(shù)據(jù)的發(fā)送接收以8位為一幀,低位在前,無起始位為一幀,低位在前,無起始位、奇偶位及停止位。位、奇偶位及停止位。執(zhí)行一條寫執(zhí)行一條寫SBUF指令就指令就開始發(fā)送開始發(fā)送,發(fā)送完一幀數(shù)據(jù)發(fā)送完一幀數(shù)據(jù)TI置置1;當當RI=0時,置位時,置位REN便啟動一個便啟動一個接收過程接收過程,接收完后,接收完后8位數(shù)據(jù)進入位數(shù)據(jù)進入SBUF,RI置置1。第三節(jié)第三節(jié) MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式 如圖為外接如圖為外接移位寄存器作

19、并移位寄存器作并行輸出的電路。行輸出的電路。串入并出移位寄存器 P1.0 RXD TXD A 清除清除 B 74LS164 CLK QA QB QC QD QE QF QG QH第五章 1-14 方式方式1 1下的傳送波特率是可變的取決于定時器下的傳送波特率是可變的取決于定時器TI的溢出速率。的溢出速率。二、方式二、方式1 串行口工作在方式串行口工作在方式1時,是作為時,是作為10位異步通信接口,位異步通信接口,發(fā)送接收的一幀發(fā)送接收的一幀數(shù)據(jù)包括數(shù)據(jù)包括10位:位:1位起始位,用位起始位,用0來標識,來標識,8位數(shù)據(jù)位位數(shù)據(jù)位(低位在前低位在前),1位停止位停止位,用位,用1來標識。其幀格式

20、為:來標識。其幀格式為:1.1.發(fā)送過程發(fā)送過程 當當CPU執(zhí)行任何一條執(zhí)行任何一條寫入寫入SBUF的指今后,便啟動串行口發(fā)送的指今后,便啟動串行口發(fā)送,發(fā)送的,發(fā)送的數(shù)據(jù)由數(shù)據(jù)由TXDTXD端輸出。串行接口能自動地在數(shù)據(jù)的前后插入一位起始位和一位端輸出。串行接口能自動地在數(shù)據(jù)的前后插入一位起始位和一位停止位,在發(fā)送移位脈沖的作用下依次從停止位,在發(fā)送移位脈沖的作用下依次從TXDTXD端發(fā)送,端發(fā)送,發(fā)送完一幀信息時。發(fā)送完一幀信息時。發(fā)送中斷標志發(fā)送中斷標志TITI置置1 1,請求中斷,請求中斷。第五章 1-152.2.接收過程接收過程當允許串行輸入位當允許串行輸入位REN置置1后后,CPU

21、便以所選波特率的便以所選波特率的16倍速率采樣倍速率采樣RXD端電平。在沒有信號到來之前,端電平。在沒有信號到來之前,RXD端的狀態(tài)為端的狀態(tài)為1。當在。當在RXD端檢測到端檢測到從從1到到0的負跳變時,開始接收過程。的負跳變時,開始接收過程。16分頻計數(shù)器的分頻計數(shù)器的16個狀態(tài)把接收每位信個狀態(tài)把接收每位信息的時間分成息的時間分成16份,在每個位時間的第份,在每個位時間的第7、8、9個計數(shù)狀態(tài)。從個計數(shù)狀態(tài)。從RXD端采樣端采樣三次,至少兩次相同的值才被確認,以確保輸入的數(shù)據(jù)準確無誤。三次,至少兩次相同的值才被確認,以確保輸入的數(shù)據(jù)準確無誤。當一幀數(shù)據(jù)接收完畢,以下兩個條件同時滿足:當一幀

22、數(shù)據(jù)接收完畢,以下兩個條件同時滿足: (1 1)RI0,即上一幀數(shù)據(jù)接收完成時,即上一幀數(shù)據(jù)接收完成時,RI1的中斷請求已被響應,的中斷請求已被響應,SBUF中的數(shù)據(jù)已被取走;中的數(shù)據(jù)已被取走;(2)SM20或接收到停止位為或接收到停止位為1(方式方式1時停止位進入時停止位進入RB8)。)。則這次接收才有效,則這次接收才有效,將將8位數(shù)據(jù)裝入接收緩沖器位數(shù)據(jù)裝入接收緩沖器SBUF,停止位裝入,停止位裝入RB8,井將井將RI置置1,申請中斷。否則數(shù)據(jù)將丟失。,申請中斷。否則數(shù)據(jù)將丟失。第五章 1-17三、方式三、方式2 2和方式和方式3 3 串行口工作在方式串行口工作在方式2和方式和方式3時,均

23、為時,均為11位異步通信接口。由位異步通信接口。由TXD發(fā)送,發(fā)送,RXD接收。發(fā)送接收的一幀接收。發(fā)送接收的一幀11位信息組成為:位信息組成為:l位起始位位起始位(0),8位數(shù)據(jù)位位數(shù)據(jù)位(低位在前低位在前),1位可編程位位可編程位(第第9數(shù)據(jù)位數(shù)據(jù)位)和和1位停止位位停止位(1)。發(fā)送時,對可編程位發(fā)送時,對可編程位(TB8)賦值(設置為賦值(設置為0或或l,也可將奇偶位裝入,也可將奇偶位裝入TB8,從而進行奇偶校驗),串行口自動將從而進行奇偶校驗),串行口自動將TB8裝入第裝入第9位。位。接收時,串行口將接收到的第接收時,串行口將接收到的第9位裝位裝入入SCON中的中的RB8位位。 方式

24、方式2 2和方式和方式3 3的工作原理類同,唯一的區(qū)別僅在于:的工作原理類同,唯一的區(qū)別僅在于: 方式方式2 2的波特率為的波特率為fosc32或或fosc64,而方式而方式3 3的波特率是可變的,的波特率是可變的,取決于定時器取決于定時器TlTl的溢出率。的溢出率。 幀格式如圖:幀格式如圖:第五章 1-191.1.發(fā)送過程發(fā)送過程 發(fā)送前,先根據(jù)通信協(xié)議由軟件設置發(fā)送前,先根據(jù)通信協(xié)議由軟件設置SCON中的中的TB8。當。當CPU執(zhí)行一條執(zhí)行一條寫入寫入SBUF的指令后,便立即啟動發(fā)送器開始發(fā)送。串行口能自動地將的指令后,便立即啟動發(fā)送器開始發(fā)送。串行口能自動地將TB8裝入到第裝入到第9位數(shù)

25、據(jù)位的位置,再逐一由位數(shù)據(jù)位的位置,再逐一由TXD端發(fā)送出去端發(fā)送出去。發(fā)送完一幀信息時,。發(fā)送完一幀信息時,置置TI為為1,請求中斷。,請求中斷。2.2.接收過程接收過程 當當REN1時,時,CPU開始對開始對RXD不斷采樣,采樣速率為波特率的不斷采樣,采樣速率為波特率的16倍,倍,一旦檢測到負跳變時,立即復位一旦檢測到負跳變時,立即復位16分頻計數(shù)器,并開始接收。位檢測器在分頻計數(shù)器,并開始接收。位檢測器在每一位的每一位的7、8、9狀態(tài)時,對狀態(tài)時,對RXD端采樣端采樣3個值,以采個值,以采3取取2的表決方法確定的表決方法確定每位狀態(tài)。當采至最后一位時,若以下每位狀態(tài)。當采至最后一位時,若

26、以下2個條件滿足,才將個條件滿足,才將8位數(shù)據(jù)裝入位數(shù)據(jù)裝入SBUF,第,第9位數(shù)據(jù)裝入位數(shù)據(jù)裝入RB8并置位并置位RI1。(1) RI0,意味著,意味著SBUF中的數(shù)據(jù)已被取走,緩沖器為空;中的數(shù)據(jù)已被取走,緩沖器為空; (2) SM20或接收到的第或接收到的第9位數(shù)據(jù)位位數(shù)據(jù)位RB81時。時。方式方式2和方式和方式3的發(fā)送和接收過程:的發(fā)送和接收過程:第五章 1-203 3用第用第9 9位數(shù)據(jù)作奇偶校驗位位數(shù)據(jù)作奇偶校驗位 方式方式2 2、方式、方式3 3也可以像方式也可以像方式1 1一樣用于點對點的異步通一樣用于點對點的異步通信。在數(shù)據(jù)通信中由于傳輸距離較遠,數(shù)據(jù)信號在傳送過程信。在數(shù)據(jù)

27、通信中由于傳輸距離較遠,數(shù)據(jù)信號在傳送過程中會產(chǎn)生畸變,從而引起誤碼。通??稍谕ㄐ跑浖喜扇〖m中會產(chǎn)生畸變,從而引起誤碼。通常可在通信軟件上采取糾錯措施。錯措施。MOV A,R0MOV C,PMOV TB8,C 發(fā)送端發(fā)送端如將作為第如將作為第9位數(shù)位數(shù)據(jù)作奇偶校驗位,將其據(jù)作奇偶校驗位,將其置入置入TB8位一同發(fā)送。位一同發(fā)送。在在接收端接收端的接收程序將數(shù)的接收程序將數(shù)據(jù)的奇偶校驗值與據(jù)的奇偶校驗值與RB8進進行比較行比較MOV A,SBUFMOV C,P.第五章 1-21發(fā)送端發(fā)送數(shù)據(jù)及其奇偶校驗位的程序段為:發(fā)送端發(fā)送數(shù)據(jù)及其奇偶校驗位的程序段為: TT:MOVSCON,80H;串口方

28、式;串口方式2MOVA,R0;取待發(fā)送的數(shù)據(jù);取待發(fā)送的數(shù)據(jù)MOVC,P;奇偶標志位置入;奇偶標志位置入TB8中中MOVTB8,CMOVSBUF,A;啟動一次發(fā)送,數(shù)據(jù)連同奇偶校驗位;啟動一次發(fā)送,數(shù)據(jù)連同奇偶校驗位一塊被發(fā)送一塊被發(fā)送LOOP:JBCTI,NEXT;等待發(fā)送完;等待發(fā)送完SJMPLOOPNEXT:第五章 1-22 接收端應取出該奇偶位進行核對,若接收到的奇偶位(接收端應取出該奇偶位進行核對,若接收到的奇偶位(RB8RB8)與接收)與接收到數(shù)據(jù)的奇偶位相同,則認為接收數(shù)據(jù)正確。相應的接收程序段應為:到數(shù)據(jù)的奇偶位相同,則認為接收數(shù)據(jù)正確。相應的接收程序段應為: MOVSCON,

29、90H;方式方式2 2允許接收(允許接收(RENREN為為1 1)LOOP:JBCRI,RECN;等待接收等待接收SJMPLOOPRECN:MOVA,SBUF;讀入接收的一幀數(shù)據(jù)讀入接收的一幀數(shù)據(jù)JBP,ONE;接收數(shù)據(jù)的奇偶值為接收數(shù)據(jù)的奇偶值為1 1,轉,轉ONEONEJBRB8,ERR;接收數(shù)據(jù)的奇偶值為接收數(shù)據(jù)的奇偶值為0 0,而,而RB8RB81 1,轉,轉ERRERRSJMPREXTONE:JNBRB8,ERR;RB8RB80 0,轉,轉ERRERRREXT:;接收正確處理;接收正確處理ERR: ;接收有錯處理;接收有錯處理第五章 1-28 串行口在不同的工作方式下。其波特率是不同

30、的。串行口在不同的工作方式下。其波特率是不同的。 在方式在方式0 0時,每個時,每個機器周期機器周期發(fā)送或接收一位數(shù)據(jù),因此波特率固定為發(fā)送或接收一位數(shù)據(jù),因此波特率固定為foscfosc1212。 方式方式2 2的波特率也是固定的,其波特率的波特率也是固定的,其波特率2SMODfosc6464,其中,其中SMOD為波特率加倍位,它附設在電源控制寄存器為波特率加倍位,它附設在電源控制寄存器PCONPCON的最高位,可由軟的最高位,可由軟件編程選擇。件編程選擇。 若若SMOD0,波特率,波特率2SMODfosc64 = 64 = fosc64。 若若SMOD1,波特率,波特率2SMODfosc6

31、4 = fosc64 = fosc3232。波特率波特率 T1T1溢出率溢出率S M O D23 2四、串行通訊的波特率設計四、串行通訊的波特率設計 方式方式1和方式和方式3的波特率可變,與定時器的波特率可變,與定時器T1或或T2的溢出率有關。的溢出率有關。51子子系列中常用定時器系列中常用定時器Tl作為波特率發(fā)生器,這時方式作為波特率發(fā)生器,這時方式1和方式和方式3的波特率由的波特率由定時器定時器T1的溢出率和的溢出率和SMOD確定如下:確定如下:第五章 1-29 其中其中T1T1溢出率取決于其計數(shù)速率和定時器的初值。通常采用溢出率取決于其計數(shù)速率和定時器的初值。通常采用T1T1的工的工作方

32、式作方式2 2,即自動重裝載方式作為波特率發(fā)生器。為了避免因溢出而產(chǎn)生,即自動重裝載方式作為波特率發(fā)生器。為了避免因溢出而產(chǎn)生不必要的中斷,不必要的中斷,此時應禁止此時應禁止T1T1中斷。中斷。o sc1 2f(256X) 則串行口方式則串行口方式1 1或或3 3的波特率:的波特率:SMODoscbf2f3212(256X) 實際應用中,通常是先確定波特率、再計算定時器實際應用中,通常是先確定波特率、再計算定時器T1T1的計數(shù)初值,的計數(shù)初值,然后進行然后進行T1T1的初始化。由上面波特率的計算公式,可求出定時器的初始化。由上面波特率的計算公式,可求出定時器T1T1方式方式2 2的計數(shù)初值為:

33、的計數(shù)初值為:SMODoscb2fX=256 - 384foscf12(256X)T1溢出周期為:溢出周期為:T1的溢出率:的溢出率:第五章 1-30 例例5-1:選用定時器:選用定時器T1,工作方式,工作方式2作波特率發(fā)生器,波特率為作波特率發(fā)生器,波特率為2400波波特。已知特。已知fosc11.0592MHz,求計數(shù)初值,求計數(shù)初值X。解:設波特率控制位解:設波特率控制位SMOD0X256一一(11.059210620)(3842400)0F4H 如果串行通信選用很低的波特率,設置定時器如果串行通信選用很低的波特率,設置定時器T1T1為方式為方式0 0或方式或方式l l定時定時模式時,當

34、模式時,當T1T1產(chǎn)生溢出時,需要重裝計數(shù)初值,波特率會有誤差。產(chǎn)生溢出時,需要重裝計數(shù)初值,波特率會有誤差。 五、五、SMODSMOD位及晶振頻率對串行通訊波特率的影響位及晶振頻率對串行通訊波特率的影響 可能產(chǎn)生誤差可能產(chǎn)生誤差T1產(chǎn)生的各種常用波特率見表產(chǎn)生的各種常用波特率見表52。第五章 1-31第四節(jié)第四節(jié) 串行口的應用程序設計舉例串行口的應用程序設計舉例 一、方式一、方式0應用舉例應用舉例 方式方式0為同步移位寄存器式輸入輸出方式,常用于外接為同步移位寄存器式輸入輸出方式,常用于外接移位寄存器,以擴展并行移位寄存器,以擴展并行I/O口??凇7绞椒绞?以以8位數(shù)據(jù)為一幀,不設起始位和停

35、止位,先發(fā)送位數(shù)據(jù)為一幀,不設起始位和停止位,先發(fā)送或接收最低位?;蚪邮兆畹臀弧?位數(shù)據(jù)從位數(shù)據(jù)從RXD(P3.0)引腳輸入輸出,由)引腳輸入輸出,由TXD(P3.1)引腳輸出移位時鐘使系統(tǒng)同步,波特率固定為)引腳輸出移位時鐘使系統(tǒng)同步,波特率固定為fosc12。在方式在方式0下:下: SCON中的中的TB8、RB8位都沒有用到;位都沒有用到; SM2(多機通信控制位)必須為(多機通信控制位)必須為0; 輸出或接收完一幀數(shù)據(jù)時置輸出或接收完一幀數(shù)據(jù)時置1中斷標志中斷標志TI或或RI。 例:如圖為外接移位寄存器作例:如圖為外接移位寄存器作并行輸出電路并行輸出電路。編程將。編程將30H單元的內容輸

36、出到單元的內容輸出到74LS164。 P1.0 RXD TXD A 清除清除 B 74LS164 CLK QA QB QC QD QE QF QG QH74LS164集成電路:串入并出移位寄存器串入并出移位寄存器程序:程序: MOV SCON,#00H ;設置串行口工作方式;設置串行口工作方式0 CLR P1.0 ;清;清164 NOP NOP MOV SBUF,30H ;將將30H單元內容從串行口輸出單元內容從串行口輸出例例74LS165集成電路:1:移位;移位;0:置數(shù):置數(shù)1引腳由高變低時,并行輸引腳由高變低時,并行輸入端入端AH數(shù)據(jù)鎖存;當數(shù)據(jù)鎖存;當1引引腳為高且加上時鐘信號時,腳為

37、高且加上時鐘信號時,數(shù)據(jù)由數(shù)據(jù)由QA向向QH移位。移位。 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 974LS165 D C B A移位移位/置數(shù)置數(shù)GNDVCC串行串行輸入輸入時鐘時鐘禁止禁止輸出輸出 QHE F G H輸出輸出 QH時鐘時鐘可由串入實現(xiàn)級聯(lián)可由串入實現(xiàn)級聯(lián)串行輸出串行輸出 P1.0 RXD TXD QH 74LS165 時鐘時鐘 A B C D E F G H5V移位移位/置數(shù)置數(shù)第五章 1-23 二、異步通信程序設計舉例二、異步通信程序設計舉例單片機雙機通信:單片機雙機通信:如果兩單片機之間距離很近(如果兩單片機之間距離很近(23米內),可

38、通過它們的串口直接相連:米內),可通過它們的串口直接相連:AT89C51AAT89C51BTXDTXDGNDRXDRXDGND如果兩單片機之間距離較遠,應通過串行通信接口接口電路相連:如果兩單片機之間距離較遠,應通過串行通信接口接口電路相連:RS232最大傳輸距離最大傳輸距離15米,最高速率米,最高速率20Kb/sRS485 最大傳輸距離最大傳輸距離1200米,最高速率米,最高速率10Mb/s 若若SMOD=0,則,則X=249.49,誤差較大。,誤差較大。 取取SMOD=1,則,則X=242.98=243=F3H, 誤差較小。誤差較小。 1.1. 串行口方式串行口方式1 1用于點對點的異步通信用于點對點的異步通信 例例5-35-3:A機發(fā)送,機發(fā)送,B機接收,波特率機接收,波特率2400bit/s,晶振,晶振6MHz,T1作為作為波特率發(fā)

溫馨提示

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

評論

0/150

提交評論