版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 MCS-51系列單片機的串行通信接口可以方便地實現(xiàn)與其他單片機之系列單片機的串行通信接口可以方便地實現(xiàn)與其他單片機之間、與間、與PC機之間的串行通信,也可用通信接口實現(xiàn)鍵盤輸入、機之間的串行通信,也可用通信接口實現(xiàn)鍵盤輸入、LED顯示顯示及其他的控制。及其他的控制。 主要內(nèi)容:主要內(nèi)容: 1. 串行通信概述串行通信概述 2. MCS-51單片機串行通信接口的結(jié)構(gòu)單片機串行通信接口的結(jié)構(gòu) 3. MCS-51單片機串行通信的工作原理及其工作方式單片機串行通信的工作原理及其工作方式 4. MCS-51單片機串行接口應(yīng)用編程單片機串行接口應(yīng)用編程重點:重點:MCS-51MCS-51單片機串行接口的工
2、作原理及工作方式單片機串行接口的工作原理及工作方式MCS-51MCS-51單片機串行接口應(yīng)用程序設(shè)計方法單片機串行接口應(yīng)用程序設(shè)計方法第五章第五章 MCS51MCS51單片機的串行接口單片機的串行接口第一節(jié)第一節(jié) 串行通信概述串行通信概述 1.1.并行通信并行通信并行通信是指所傳送的數(shù)據(jù)各位同時進行傳送。其優(yōu)點是傳并行通信是指所傳送的數(shù)據(jù)各位同時進行傳送。其優(yōu)點是傳送速度快,缺點是傳輸線多,通信線路費用較高,并行傳送送速度快,缺點是傳輸線多,通信線路費用較高,并行傳送適用于近距離、傳送速度高的場合。適用于近距離、傳送速度高的場合。2 2串行通信串行通信串行通信時,傳送數(shù)據(jù)的各位按分時順序一位一
3、位地傳送串行通信時,傳送數(shù)據(jù)的各位按分時順序一位一位地傳送(例如先低位、后高位例如先低位、后高位)。其優(yōu)點是傳輸線少,傳送通道費用。其優(yōu)點是傳輸線少,傳送通道費用低,故適合長距離數(shù)據(jù)傳送。缺點是傳送速度較低。低,故適合長距離數(shù)據(jù)傳送。缺點是傳送速度較低。 二、串行通信的數(shù)據(jù)傳送方向二、串行通信的數(shù)據(jù)傳送方向1.1.單工方式單工方式通信雙方只有一條單向傳輸線,只允許數(shù)據(jù)由一方發(fā)送,通信雙方只有一條單向傳輸線,只允許數(shù)據(jù)由一方發(fā)送,另一方接收。另一方接收。2 2半雙工方式半雙工方式通信雙方只有一條雙向傳輸線,允許數(shù)據(jù)雙向傳送,通信雙方只有一條雙向傳輸線,允許數(shù)據(jù)雙向傳送,但每時刻上只能有一方發(fā)送,
4、另一方接收,這是一種能夠切換傳送方向的但每時刻上只能有一方發(fā)送,另一方接收,這是一種能夠切換傳送方向的單工方式,單工方式,3 3全雙工方式全雙工方式通信雙方只有兩條傳輸線,允許數(shù)據(jù)同時雙向傳送,通信雙方只有兩條傳輸線,允許數(shù)據(jù)同時雙向傳送,其通信設(shè)備應(yīng)具有完全獨立的收發(fā)功能。其通信設(shè)備應(yīng)具有完全獨立的收發(fā)功能。ABAB發(fā)送器接收器接收器接收器發(fā)送器發(fā)送器數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)AB(a)單工方式(b)半雙工方式(c)全雙工方式三、同步通信和異步通信三、同步通信和異步通信串行方式是將傳輸數(shù)據(jù)的每個字符一位一位順序地傳送,串行方式是將傳輸數(shù)據(jù)的每個字符一位一位順序地傳送,按位組成字符。按位組成字符。為了發(fā)送、
5、接收信息,雙方必須協(xié)調(diào)工作。這種協(xié)調(diào)方法,從原理上可分為了發(fā)送、接收信息,雙方必須協(xié)調(diào)工作。這種協(xié)調(diào)方法,從原理上可分成兩種:同步串行成兩種:同步串行I/OI/O和異步串行和異步串行I/OI/O。 1 1異步通信方式異步通信方式異步方式實現(xiàn)簡單,在微型計算機中大量使用異步串行異步方式實現(xiàn)簡單,在微型計算機中大量使用異步串行I/O方式,為了避方式,為了避免連續(xù)傳送過程中的誤差積累,每個字符都要獨立確定起始和結(jié)束免連續(xù)傳送過程中的誤差積累,每個字符都要獨立確定起始和結(jié)束(即每即每個字符都要重新同步個字符都要重新同步),字符和字符間還可能有長度不定的空閑時間。,字符和字符間還可能有長度不定的空閑時間
6、。 有約定的幀格式;有約定的幀格式; 發(fā)送與接收之間的發(fā)送與接收之間的同步是利用每一幀的同步是利用每一幀的起、止信號來建立的;起、止信號來建立的; 雙方用各自的時鐘雙方用各自的時鐘控制發(fā)送與接收控制發(fā)送與接收2 2同步通信方式同步通信方式 在同步通信中,在數(shù)據(jù)或字符開始傳送前用同步字符在同步通信中,在數(shù)據(jù)或字符開始傳送前用同步字符(SYNC)(SYNC)來指示來指示( (常約定常約定l l一一2 2個個) ),由時鐘來實現(xiàn)發(fā)送端和接收端同步,當檢測到規(guī)定的,由時鐘來實現(xiàn)發(fā)送端和接收端同步,當檢測到規(guī)定的同步字符后,接下來就連續(xù)按順序傳送數(shù)據(jù)。同步字符是一特定的二進同步字符后,接下來就連續(xù)按順序
7、傳送數(shù)據(jù)。同步字符是一特定的二進制序列,在傳送的數(shù)據(jù)中不會出現(xiàn)制序列,在傳送的數(shù)據(jù)中不會出現(xiàn) 同步通信方式由于不采用起始和停止位,是在同步字符后可以接較大同步通信方式由于不采用起始和停止位,是在同步字符后可以接較大的數(shù)據(jù)區(qū),同步字符所占部分很小,因此有較高的傳送效率。的數(shù)據(jù)區(qū),同步字符所占部分很小,因此有較高的傳送效率。 T T同步數(shù)據(jù)數(shù)據(jù)CRC1CRC2.(a)單同步格式.同步數(shù)據(jù)數(shù)據(jù)同步CRC2CRC1.(b)雙同步格式. 四、波特率四、波特率 波特率是通信雙方對數(shù)據(jù)傳送速率的約定,表示每秒鐘波特率是通信雙方對數(shù)據(jù)傳送速率的約定,表示每秒鐘傳送二進制數(shù)碼的位數(shù),單位是傳送二進制數(shù)碼的位數(shù),
8、單位是bit/sbit/s。假如數(shù)據(jù)傳送的速率是假如數(shù)據(jù)傳送的速率是120120個字符秒,每一個字符規(guī)定個字符秒,每一個字符規(guī)定包含包含1010個位個位( (一個起始位、一個起始位、8 8個數(shù)據(jù)位和個數(shù)據(jù)位和1 1個停止位個停止位) ),則傳,則傳送的波特率為:送的波特率為:101012012012001200位秒位秒12001200波特波特(bps)(bps)每一位的傳送時間即為波特率的倒數(shù)每一位的傳送時間即為波特率的倒數(shù) mSTd833.012001第二節(jié)第二節(jié) MCS51MCS51的串行通信接口的串行通信接口 一、一、MCS-51MCS-51串行口結(jié)構(gòu)及工作原理串行口結(jié)構(gòu)及工作原理定時器
9、T1 接收 SBUF 發(fā)送 SUBF門發(fā)送控制器+TIRI接收控制器輸入移位寄存器串行控制寄存器98HRXD(P3.0)TXD(P3.1)內(nèi)部總線88 8串行口中斷(99H)(99H)1 1、基本組成、基本組成 兩個獨立的數(shù)據(jù)緩沖器兩個獨立的數(shù)據(jù)緩沖器SBUFSBUF( (一個用作接收,一個用作發(fā)一個用作接收,一個用作發(fā)送送) )以及發(fā)送控制器、接收控制器、輸入移位寄存器和輸出控制門等組成。以及發(fā)送控制器、接收控制器、輸入移位寄存器和輸出控制門等組成。2 2、用戶可訪問的三個地址、用戶可訪問的三個地址單元單元SBUFSBUF:兩個:兩個SBUFSBUF共用一個共用一個地址地址99H99H。發(fā)送
10、。發(fā)送SBUFSBUF只寫不只寫不讀,接收讀,接收SBUFSBUF只讀不寫,只讀不寫,由所用指令是發(fā)送還是接由所用指令是發(fā)送還是接收來決定對個收來決定對個SBUFSBUF進行操進行操作;作;SCONSCON:串行口控制寄存器:串行口控制寄存器PCONPCON:電源控制寄存器電源控制寄存器二、串行口控制寄存器二、串行口控制寄存器SCONSCON SCON是一個可位尋址的專用寄存器,用來設(shè)定串行口的工作方式、是一個可位尋址的專用寄存器,用來設(shè)定串行口的工作方式、控制串行口的接收發(fā)送以及狀態(tài)標志??刂拼锌诘慕邮瞻l(fā)送以及狀態(tài)標志。SCON的字節(jié)地址為的字節(jié)地址為98H,位,位地址為地址為98H9FH
11、。其格式如下:。其格式如下: SCONSCOND7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0SM0SM0SM1SM1SM2SM2RENRENTB8TB8RB8RB8TITIRIRI1 1)SM0SM0、SMlSMl:串行口工作方式選擇位,可選擇四種工作方式:串行口工作方式選擇位,可選擇四種工作方式SM0SM1工作方式工作方式功功 能能波波 特特 率率00方式方式0 0同步移位寄存器同步移位寄存器 foc/12 foc/1201方式方式1 11010為異步收發(fā)為異步收發(fā) 可可 變變10方式方式2 21111為異步收發(fā)為異步收發(fā)foc/32foc/32或或foc/64foc/64
12、11方式方式3 31111為異步收發(fā)為異步收發(fā) 可可 變變2 2)SM2:為多機通信控制位為多機通信控制位在工作方式在工作方式2 2和方式和方式3 3中:中: 若若SM21:當接收到第:當接收到第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,則只有接收到
13、有效的停止位時,才,則只有接收到有效的停止位時,才置位置位RI。 在方式在方式0 0中中:必須使必須使SM20 多機通信時,多機通信時,SM2必須置必須置1。雙機通信時,通常使。雙機通信時,通常使SM20。3 3)REN:允許串行接收位。該位由軟件置位或清零。允許串行接收位。該位由軟件置位或清零。4 4)TB8:在工作方式在工作方式2或方式或方式3時,該位為發(fā)送的第時,該位為發(fā)送的第9位數(shù)據(jù),可按需要位數(shù)據(jù),可按需要由軟件置位或清零。在許多通信協(xié)議中,該位常作為奇偶校驗位。在由軟件置位或清零。在許多通信協(xié)議中,該位常作為奇偶校驗位。在MCS5l多機通信中,多機通信中,TB8的狀態(tài)用來表示發(fā)送的
14、是地址幀還是數(shù)據(jù)幀,的狀態(tài)用來表示發(fā)送的是地址幀還是數(shù)據(jù)幀,TB80時,為地址幀,時,為地址幀,TB81時,時,為數(shù)據(jù)幀。為數(shù)據(jù)幀。 5 5)RB8:在工作方式在工作方式2 2或方式或方式3 3時,存放接收到的第時,存放接收到的第9 9位數(shù)據(jù),代表著接位數(shù)據(jù),代表著接收數(shù)據(jù)的某種特征。例如,可能是奇偶位,或為多機通信中的地址數(shù)收數(shù)據(jù)的某種特征。例如,可能是奇偶位,或為多機通信中的地址數(shù)據(jù)標識位。據(jù)標識位。 在方式在方式0 0中,中,RB8未用。未用。在方式在方式1中,若中,若SM20,RB8是已接收到的停止位是已接收到的停止位。6 6)TITI:發(fā)送中斷標志位。方式:發(fā)送中斷標志位。方式0 0
15、中,串行發(fā)送完第中,串行發(fā)送完第8 8位數(shù)據(jù)后,由硬件置位數(shù)據(jù)后,由硬件置位;在其它方式中,在發(fā)送停止位開始時,由硬件置位。位;在其它方式中,在發(fā)送停止位開始時,由硬件置位。TITI1 1時,表示時,表示幀發(fā)送結(jié)束,其狀態(tài)既可供軟件查詢使用,也可申請中斷。在任何方式幀發(fā)送結(jié)束,其狀態(tài)既可供軟件查詢使用,也可申請中斷。在任何方式中,中,TITI都必須由軟件清都必須由軟件清0 0。 7 7)RIRI:接收中斷標志。在方式:接收中斷標志。在方式0 0中,接收完第中,接收完第8 8位數(shù)據(jù)后,由硬件置位;位數(shù)據(jù)后,由硬件置位;在其它方式中,當接收到停止位的中間時由硬件置位。在其它方式中,當接收到停止位的
16、中間時由硬件置位。RIRI1 1時,表示幀時,表示幀接收結(jié)束,其狀態(tài)既可供軟件查詢使用,也可申請中斷。接收結(jié)束,其狀態(tài)既可供軟件查詢使用,也可申請中斷。RIRI也必須靠軟也必須靠軟件清件清0 0。注意:不管是否采用中斷控制,數(shù)據(jù)發(fā)送前必須用軟件將注意:不管是否采用中斷控制,數(shù)據(jù)發(fā)送前必須用軟件將TI清零;接收數(shù)據(jù)后將清零;接收數(shù)據(jù)后將RI清零;清零;單片機復(fù)位時,單片機復(fù)位時,SCON中的所有位均為中的所有位均為0。三、電源控制寄存器三、電源控制寄存器PCONPCONPCONPCON主要字節(jié)地址為主要字節(jié)地址為87H87H,不能位尋址。只有最高位,不能位尋址。只有最高位SMODSMOD與串與串
17、行口工作有關(guān)。行口工作有關(guān)。PCONPCON的格式如下:的格式如下:第二節(jié)第二節(jié) MCS51MCS51的串行通信接口的串行通信接口PCOND7D6D5D4D3D2D1D0SMODGF1GF0PDIDLSMODSMOD:串行口波特率倍增位。當:串行口波特率倍增位。當SMODSMOD1 1時,串行口波特率時,串行口波特率加倍;加倍;復(fù)位時,復(fù)位時,SMODSMOD0 0。 MCS51單片機的串行口為可編程口,可編程選擇四種工作方式,其中單片機的串行口為可編程口,可編程選擇四種工作方式,其中方式方式0主要用于擴展并行輸入輸出口,串行通信時一般使用方式主要用于擴展并行輸入輸出口,串行通信時一般使用方式
18、1、2或或3。一、方式一、方式0工作在方式工作在方式0時,串行口是作為同步移位寄存器使用的,其數(shù)據(jù)傳輸時,串行口是作為同步移位寄存器使用的,其數(shù)據(jù)傳輸波特率固定為波特率固定為foc/12。串行數(shù)據(jù)由。串行數(shù)據(jù)由RXD(P30)端輸入輸出,同步移位脈端輸入輸出,同步移位脈沖由沖由TXD(P31)端輸出。數(shù)據(jù)的發(fā)送接收以端輸出。數(shù)據(jù)的發(fā)送接收以8位為一幀,低位在前,無位為一幀,低位在前,無起始位、奇偶位及停止位。其幀格式為:起始位、奇偶位及停止位。其幀格式為:第三節(jié)第三節(jié) MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式 RXD TXD A B 74LS164 CLK QA QB
19、QC QD QE QF QG QH執(zhí)行一條寫執(zhí)行一條寫SBUF指令指令就開始發(fā)送;接收完成就開始發(fā)送;接收完成后后8位數(shù)據(jù)進入位數(shù)據(jù)進入SBUF第三節(jié)第三節(jié) MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式二、方式二、方式1 1串行口工作在方式串行口工作在方式1時,是作為時,是作為10位異步通信接口,由位異步通信接口,由TXD端發(fā)送數(shù)據(jù),端發(fā)送數(shù)據(jù),RXT端接收數(shù)據(jù)。發(fā)送接收的端接收數(shù)據(jù)。發(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下的傳送波特率是可變的取決于定時器下的傳送波特率是可變的取決于定時器TI的溢出速率。的溢出速率。2.2.接
21、收過程接收過程當允許串行輸入位當允許串行輸入位REN置置1后,后,CPU便以所選波特率的便以所選波特率的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ù)準確無誤。三次,至少兩次相同的值才被確認,以
22、確保輸入的數(shù)據(jù)準確無誤。當一幀數(shù)據(jù)接收完畢,以下兩個條件同時滿足:當一幀數(shù)據(jù)接收完畢,以下兩個條件同時滿足: (1 1)RI0,即上一幀數(shù)據(jù)接收完成時,即上一幀數(shù)據(jù)接收完成時,RI1的中斷請求已被響應(yīng),的中斷請求已被響應(yīng),SBUF中的數(shù)據(jù)已被取走;中的數(shù)據(jù)已被取走;(2)SM20或接收到停止位為或接收到停止位為1(方式方式1時停止位進入時停止位進入RB8)。)。則這次接收才有效,將則這次接收才有效,將8位數(shù)據(jù)裝入接收緩沖器位數(shù)據(jù)裝入接收緩沖器SBUF,停止位裝入,停止位裝入RB8,井將井將RI置置1,申請中斷。否則數(shù)據(jù)將丟失。,申請中斷。否則數(shù)據(jù)將丟失。第三節(jié)第三節(jié) MCS51MCS51串行通
23、信接口的工作方式串行通信接口的工作方式三、方式三、方式2 2和方式和方式3 3 串行口工作在方式串行口工作在方式2 2和方式和方式3 3時,均為時,均為1111位異步通信接口。由位異步通信接口。由TXDTXD發(fā)送,發(fā)送,RXDRXD接收。發(fā)送接收的一幀信息由接收。發(fā)送接收的一幀信息由llll位組成;由位組成;由l l位起始位位起始位(0)(0),8 8位數(shù)位數(shù)據(jù)位據(jù)位( (低位在前低位在前) ),1 1位可編程位位可編程位( (第第9 9數(shù)據(jù)位數(shù)據(jù)位) )和和1 1位停止位位停止位(1)(1)。發(fā)送時,。發(fā)送時,可編程位可編程位(TB8)(TB8)可設(shè)置為可設(shè)置為0 0或或l l,也可將奇偶位
24、裝入,也可將奇偶位裝入TB8TB8,從而進行奇偶校,從而進行奇偶校驗;接收時,可編程位送入驗;接收時,可編程位送入SCONSCON中的中的RB8RB8。方式方式2 2和方式和方式3 3的工作原理類同。唯一的區(qū)別僅在于:的工作原理類同。唯一的區(qū)別僅在于: 方式方式2 2的波特率為的波特率為focfoc3232或或focfoc6464,而方式,而方式3 3的波特率是的波特率是可變的,取決于定時器可變的,取決于定時器TlTl的溢出率。的溢出率。 第三節(jié)第三節(jié) MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式1.1.發(fā)送過程發(fā)送過程 發(fā)送前,先根據(jù)通信協(xié)議由軟件設(shè)置發(fā)送前,先根據(jù)通信協(xié)
25、議由軟件設(shè)置SCON中的中的TB8。當。當CPU執(zhí)行一條執(zhí)行一條寫入寫入SBUF的指令后,便立即啟動發(fā)送器開始發(fā)送。串行口能自動地將的指令后,便立即啟動發(fā)送器開始發(fā)送。串行口能自動地將TB8裝入到第裝入到第9位數(shù)據(jù)位的位置,再逐一由位數(shù)據(jù)位的位置,再逐一由TXD端發(fā)送出去端發(fā)送出去。發(fā)送完一幀信息時,。發(fā)送完一幀信息時,置置TI為為1,請求中斷。,請求中斷。2.2.接收過程接收過程 當當REN1時,時,CPU開始對開始對RXD不斷采樣,采樣速率為波特率的不斷采樣,采樣速率為波特率的16倍,倍,一旦檢測到負跳變時,立即復(fù)位一旦檢測到負跳變時,立即復(fù)位16分頻計數(shù)器,并開始接收。位檢測器在分頻計數(shù)
26、器,并開始接收。位檢測器在每一位的每一位的7、8、9狀態(tài)時,對狀態(tài)時,對RXD端采樣端采樣3個值,以采個值,以采3取取2的表決方法確定的表決方法確定每位狀態(tài)。當采至最后一位時,若以下每位狀態(tài)。當采至最后一位時,若以下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時。時。3 3、方式、方式2 2、方式、方式3 3時第時第9 9位數(shù)據(jù)為的用法位數(shù)據(jù)為的用法1)
27、1) 用第用第9 9位數(shù)據(jù)作奇偶校驗位位數(shù)據(jù)作奇偶校驗位 方式方式2 2、方式、方式3 3也可以像方式也可以像方式1 1一樣用于點對點的異步通信。在數(shù)據(jù)通信一樣用于點對點的異步通信。在數(shù)據(jù)通信中由于傳輸距離較遠,數(shù)據(jù)信號在傳送過程中會產(chǎn)生畸變,從而引起誤中由于傳輸距離較遠,數(shù)據(jù)信號在傳送過程中會產(chǎn)生畸變,從而引起誤碼。通常可在通信軟件上采取糾錯措施。碼。通??稍谕ㄐ跑浖喜扇〖m錯措施。 例如將作為第例如將作為第9 9位數(shù)據(jù)作奇偶校驗位,將其置人位數(shù)據(jù)作奇偶校驗位,將其置人TB8TB8位一同發(fā)送。位一同發(fā)送。MOV A,R0MOV C,PMOV TB8,C 如將作為第如將作為第9位數(shù)據(jù)作奇偶位數(shù)
28、據(jù)作奇偶校驗位,將其置入校驗位,將其置入TB8位一位一同發(fā)送。同發(fā)送。在接收端的接收程序?qū)?shù)據(jù)的奇在接收端的接收程序?qū)?shù)據(jù)的奇偶校驗值與偶校驗值與RB8進行比較進行比較MOV A,SBUFMOV C,P.第三節(jié)第三節(jié) MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式發(fā)送端發(fā)送一個數(shù)據(jù)字節(jié)及其奇偶校驗位的程序段如下:發(fā)送端發(fā)送一個數(shù)據(jù)字節(jié)及其奇偶校驗位的程序段如下:TT:MOVSCON,80H;串口方式;串口方式2MOVA,DATA;取待發(fā)送的數(shù)據(jù);取待發(fā)送的數(shù)據(jù)MOVC,PSW.0;奇偶標志位置入;奇偶標志位置入TB8中中MOVTB8,CMOVSBUF,A;啟動一次發(fā)送,數(shù)據(jù)連
29、同奇;啟動一次發(fā)送,數(shù)據(jù)連同奇;偶校驗位一塊被發(fā)送;偶校驗位一塊被發(fā)送LOOP:JBCTI,NEXT;SJMPLOOPNEXT:第三節(jié)第三節(jié) MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式MOVSCON,90H;方式;方式2允許接收允許接收LOOP:JBCRI,RECN;等待接收;等待接收SJMPLOOPRECN:MOVA,SBUF;讀入接收的一幀數(shù)據(jù);讀入接收的一幀數(shù)據(jù)JBPSW.0,ONE;判斷接收端的奇偶值;判斷接收端的奇偶值JBRB8,ERR;判斷發(fā)送端的奇偶值;判斷發(fā)送端的奇偶值SJMPREXTONE:JNBRB8,ERRREXT:;接收正確處理;接收正確處理ERR
30、:;接收有錯處理;接收有錯處理 方式方式2、方式、方式3的發(fā)送過程中,將數(shù)據(jù)和附加在的發(fā)送過程中,將數(shù)據(jù)和附加在TB8中中的奇偶校驗位一塊發(fā)送出。因此,作為接收的一方應(yīng)設(shè)法取的奇偶校驗位一塊發(fā)送出。因此,作為接收的一方應(yīng)設(shè)法取出該奇偶位進行核對,相應(yīng)的接收程序段應(yīng)為:出該奇偶位進行核對,相應(yīng)的接收程序段應(yīng)為:第三節(jié)第三節(jié) MCS51MCS51串行通信接口的工作方串行通信接口的工作方式式2)2)用第九位數(shù)據(jù)作多機通信的聯(lián)絡(luò)位用第九位數(shù)據(jù)作多機通信的聯(lián)絡(luò)位 計算機與計算機的通信不僅限于點對點的通信,還會出現(xiàn)一機對多機計算機與計算機的通信不僅限于點對點的通信,還會出現(xiàn)一機對多機或多機間的通信,構(gòu)成計
31、算機網(wǎng)。例如有一種比較特殊的總線形是主從或多機間的通信,構(gòu)成計算機網(wǎng)。例如有一種比較特殊的總線形是主從式的網(wǎng)絡(luò),即在多臺計算機中有一臺是主機,其余的為從機,從機要服式的網(wǎng)絡(luò),即在多臺計算機中有一臺是主機,其余的為從機,從機要服從主機的調(diào)度、支配。從主機的調(diào)度、支配。MCS51MCS51單片機的串行口方式單片機的串行口方式2 2、方式、方式3 3就適合于就適合于這種主從式的通信結(jié)構(gòu)。如圖所示。這種主從式的通信結(jié)構(gòu)。如圖所示。第三節(jié)第三節(jié) MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式 第第9 9位數(shù)據(jù)怎樣用于多機通信呢位數(shù)據(jù)怎樣用于多機通信呢? ?關(guān)鍵在于使用關(guān)鍵在于使用SM2
32、SM2位和接位和接收到的第收到的第9 9個附加數(shù)據(jù)位個附加數(shù)據(jù)位( (接收后放在接收后放在RB8RB8中中) )的配合。的配合。例如,通信各方約定如下:主機向從機發(fā)送地址信息,其第例如,通信各方約定如下:主機向從機發(fā)送地址信息,其第9 9位數(shù)據(jù)必須為位數(shù)據(jù)必須為1 1,而向從機發(fā)送數(shù)據(jù)信息包括命令時,其第,而向從機發(fā)送數(shù)據(jù)信息包括命令時,其第9 9位數(shù)據(jù)規(guī)定為位數(shù)據(jù)規(guī)定為0 0。 從機在建立與主機通信之前,處于對通信線路的監(jiān)聽狀從機在建立與主機通信之前,處于對通信線路的監(jiān)聽狀態(tài)。在監(jiān)聽狀態(tài)下必須使態(tài)。在監(jiān)聽狀態(tài)下必須使SM2SM21 1,此時只能收到主機發(fā)出的,此時只能收到主機發(fā)出的地址信息地
33、址信息( (第第9 9位為位為1)1),非地址信息被丟失。,非地址信息被丟失。從機收到地址后應(yīng)進行識別,是否主機呼叫本站,如果地址從機收到地址后應(yīng)進行識別,是否主機呼叫本站,如果地址符合,確認呼叫本站,此時從機解除監(jiān)聽狀態(tài),使符合,確認呼叫本站,此時從機解除監(jiān)聽狀態(tài),使SM2SM20 0,同時把本站地址發(fā)回主機作為應(yīng)答,只有這樣才能收到主機同時把本站地址發(fā)回主機作為應(yīng)答,只有這樣才能收到主機發(fā)送的有效數(shù)據(jù)。其它從機由于地址不符,仍處于監(jiān)聽狀態(tài),發(fā)送的有效數(shù)據(jù)。其它從機由于地址不符,仍處于監(jiān)聽狀態(tài),保持保持SM2SM21 1,所以無法接收主機的數(shù)據(jù)。,所以無法接收主機的數(shù)據(jù)。第三節(jié)第三節(jié) MCS
34、51MCS51串行通信接口的工作方式串行通信接口的工作方式 主機收到從機的應(yīng)答信號,比較收與發(fā)的地址是否相符,主機收到從機的應(yīng)答信號,比較收與發(fā)的地址是否相符,如果不符,則發(fā)出復(fù)位信號如果不符,則發(fā)出復(fù)位信號( (例如:發(fā)任一數(shù)據(jù),但例如:發(fā)任一數(shù)據(jù),但TB8TB81)1);如果地址相符,則清除如果地址相符,則清除TB8TB8,正式開始發(fā)送數(shù)據(jù)和命令。,正式開始發(fā)送數(shù)據(jù)和命令。 從機收到復(fù)位命令后再次回到監(jiān)聽狀態(tài),再置從機收到復(fù)位命令后再次回到監(jiān)聽狀態(tài),再置SM2SM21 1,否,否則正式開始接收數(shù)據(jù)和命令。則正式開始接收數(shù)據(jù)和命令。例如:按上述約定編寫主機和例如:按上述約定編寫主機和1 1號
35、從機的聯(lián)絡(luò)過程的程序片號從機的聯(lián)絡(luò)過程的程序片段,設(shè)主、從機均采用方式段,設(shè)主、從機均采用方式2 2工作工作( (方式方式3 3用法與此類似,只用法與此類似,只是波特率設(shè)置不同是波特率設(shè)置不同) ) 第三節(jié)第三節(jié) MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式四、串行通訊的波特率設(shè)計四、串行通訊的波特率設(shè)計串行口在不同的工作方式下。其波特率是不同的。在方式串行口在不同的工作方式下。其波特率是不同的。在方式0 0時,每個機時,每個機器周期發(fā)送或接收一位數(shù)據(jù),因此波特率固定為振蕩頻率的十二分之器周期發(fā)送或接收一位數(shù)據(jù),因此波特率固定為振蕩頻率的十二分之一,即一,即foscfosc
36、1212。 方式方式2 2的波特率也是固定的,其波特率的波特率也是固定的,其波特率2 2SMODSMODfoscfosc6464,其中,其中SMODSMOD為波特率加倍位,它附設(shè)在節(jié)電控制寄存器為波特率加倍位,它附設(shè)在節(jié)電控制寄存器PCONPCON的最高位,可由的最高位,可由軟件編程選擇。若軟件編程選擇。若SMODSMOD0 0,波特率為,波特率為foscfosc6464。若。若SMODSMOD1 1,則波特,則波特率為率為foscfosc3232。 串行口在方式串行口在方式1 1和方式和方式3 3的波特率可變,與定時器的波特率可變,與定時器T1T1或或T2T2的溢出率的溢出率有關(guān)。有關(guān)。51
37、51子系列中常用定時器子系列中常用定時器TlTl作為波特宰發(fā)生器,這時方式作為波特宰發(fā)生器,這時方式1 1和方式和方式3 3的波特率由定時器的波特率由定時器T1T1的溢出率和的溢出率和SMODSMOD確定如下:確定如下:波特率波特率 T1T1溢出率溢出率SM O D232第三節(jié)第三節(jié) MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式 其中其中T1T1溢出率取決于其計數(shù)速率和定時器的預(yù)置值。通常采用溢出率取決于其計數(shù)速率和定時器的預(yù)置值。通常采用T1T1的工的工作方式作方式2 2,即自動重裝載方式作為波特率發(fā)生器。為了避免因溢出而產(chǎn)生,即自動重裝載方式作為波特率發(fā)生器。為了避免因
38、溢出而產(chǎn)生不必要的中斷,此時應(yīng)禁止不必要的中斷,此時應(yīng)禁止T1T1中斷。中斷。若假定若假定T1T1的計數(shù)初值為的計數(shù)初值為X X,則計數(shù)溢出周期為:,則計數(shù)溢出周期為:oscf12 (256256X X) 溢出率為溢出周期的倒數(shù)。由此可得波特率的計算公式為:溢出率為溢出周期的倒數(shù)。由此可得波特率的計算公式為: 串行口方式串行口方式1 1或或3 3的波特率的波特率 X)256(12fosc實際應(yīng)用中,通常是先確定波特率、再計算定時器實際應(yīng)用中,通常是先確定波特率、再計算定時器T1T1的計數(shù)初值,然后的計數(shù)初值,然后進行進行T1T1的初始化。由上面波特率的計算公式,可求出定時器的初始化。由上面波特
39、率的計算公式,可求出定時器T1T1方式方式2 2的計的計數(shù)初值為:數(shù)初值為:boscSMODf348f2X X256256第三節(jié)第三節(jié) MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式例例5-1:選用定時器:選用定時器T1,工作方式,工作方式2作波特率發(fā)生器,波特率為作波特率發(fā)生器,波特率為2400波特。波特。已知已知foc11.0592MHz,求計數(shù)初值,求計數(shù)初值X。解:設(shè)波特率控制位解:設(shè)波特率控制位SMOD0,不增倍時,不增倍時X256一一(11.059210620)(3842400)0F4H所以所以THlTLl0F4H如果串行通信選用很低的波特率,設(shè)置定時器如果串行通
40、信選用很低的波特率,設(shè)置定時器T1為方式為方式0或方式或方式l定時模式時,當定時模式時,當T1產(chǎn)生溢出時,需要重裝計數(shù)初值,產(chǎn)生溢出時,需要重裝計數(shù)初值,故波特率會產(chǎn)生一定的誤差。故波特率會產(chǎn)生一定的誤差。五、五、SMODSMOD位及晶振頻率對串行通訊波特率的影響位及晶振頻率對串行通訊波特率的影響 可能產(chǎn)生誤差可能產(chǎn)生誤差第四節(jié)第四節(jié) 串行口的應(yīng)用程序設(shè)計舉例串行口的應(yīng)用程序設(shè)計舉例 一、方式一、方式0 0應(yīng)用舉例應(yīng)用舉例 方式方式0 0為同步移位寄存器式輸入輸出,為同步移位寄存器式輸入輸出,8 8位數(shù)據(jù)從位數(shù)據(jù)從RXDRXD(P3.0P3.0)引腳輸入引腳輸入輸出,由輸出,由TXDTXD(P
41、3. 1P3. 1)引腳輸出移位時鐘使系統(tǒng)同步,波特率固定為引腳輸出移位時鐘使系統(tǒng)同步,波特率固定為foscfosc1212。例例5-25-2:用并行輸入:用并行輸入8 8位移位寄存器位移位寄存器74LS16574LS165作為擴展輸入口。如圖所示,作為擴展輸入口。如圖所示,利用利用80318031的的3 3根口線擴展為根口線擴展為1616根輸入口線的電路,由根輸入口線的電路,由2 2塊塊 74LS16574LS165串接而串接而成。編程從成。編程從1616位擴展口讀入位擴展口讀入2020個字節(jié)數(shù)據(jù)(讀十次),并把它們轉(zhuǎn)存到個字節(jié)數(shù)據(jù)(讀十次),并把它們轉(zhuǎn)存到內(nèi)部內(nèi)部RAMRAM的的50H50
42、H63H63H中。中。8位并行輸入8位并行輸入74LS165集成電路:1:移位;移位;0:置數(shù):置數(shù)1引腳由高變低時,并行輸引腳由高變低時,并行輸入端入端AH數(shù)據(jù)鎖存;當數(shù)據(jù)鎖存;當1引引腳為高且加上時鐘信號時,腳為高且加上時鐘信號時,數(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)串行輸出串行輸出第四節(jié)第四節(jié) 串行口的應(yīng)用程序設(shè)計舉例串行口的應(yīng)用程序設(shè)計舉例 編程如下:編程如下:MOVR7,#14H;設(shè)置讀入字節(jié)數(shù);設(shè)置讀入字節(jié)數(shù)MOVR0,#50H;設(shè)片內(nèi);設(shè)片內(nèi)RAM指針指針SETBF0;設(shè)置讀入字節(jié)奇
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 職場溝通中的情緒管理技巧
- 食品企業(yè)安全生產(chǎn)事故綜合應(yīng)急預(yù)案
- 工業(yè)環(huán)境下的安全教育及應(yīng)急措施
- 兩人合作研發(fā)合同范本
- 事業(yè)單位臨時工勞動合同相關(guān)規(guī)定
- 二手車交易合同官方范本
- 個人業(yè)務(wù)合作合同版
- 二手房買賣合同模板全新版
- 專業(yè)育兒嫂勞動合同協(xié)議書范例
- 個人車輛抵押借款合同標準版
- 社會政策概論課件
- 玻璃反應(yīng)釜安全操作及保養(yǎng)規(guī)程
- 高中英語新課標詞匯表(附詞組)
- 2023年心理咨詢師之心理咨詢師基礎(chǔ)知識考試題庫附完整答案【有一套】
- 證券公司信用風(fēng)險和操作風(fēng)險管理理論和實踐中金公司
- 一級建造師繼續(xù)教育最全題庫及答案(新)
- 2022年高考湖南卷生物試題(含答案解析)
- GB/T 20909-2007鋼門窗
- GB/T 17854-1999埋弧焊用不銹鋼焊絲和焊劑
- GB/T 15593-2020輸血(液)器具用聚氯乙烯塑料
- 直線加速器專項施工方案
評論
0/150
提交評論