![第六章:80C51的串行口_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/15/83694c55-d4dc-40de-8ca0-6f29b2bdbbb1/83694c55-d4dc-40de-8ca0-6f29b2bdbbb11.gif)
![第六章:80C51的串行口_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/15/83694c55-d4dc-40de-8ca0-6f29b2bdbbb1/83694c55-d4dc-40de-8ca0-6f29b2bdbbb12.gif)
![第六章:80C51的串行口_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/15/83694c55-d4dc-40de-8ca0-6f29b2bdbbb1/83694c55-d4dc-40de-8ca0-6f29b2bdbbb13.gif)
![第六章:80C51的串行口_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/15/83694c55-d4dc-40de-8ca0-6f29b2bdbbb1/83694c55-d4dc-40de-8ca0-6f29b2bdbbb14.gif)
![第六章:80C51的串行口_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/15/83694c55-d4dc-40de-8ca0-6f29b2bdbbb1/83694c55-d4dc-40de-8ca0-6f29b2bdbbb15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第6章章 單片機(jī)串行口及應(yīng)用單片機(jī)串行口及應(yīng)用本章分為三節(jié),主要介紹:本章分為三節(jié),主要介紹:6.2 MCS-51的串行口的串行口6.1 計(jì)算機(jī)串行通信計(jì)算機(jī)串行通信基本概念基本概念6.3 單片機(jī)串行口應(yīng)用舉例單片機(jī)串行口應(yīng)用舉例6.1 計(jì)算機(jī)串行通信基礎(chǔ)計(jì)算機(jī)串行通信基礎(chǔ) 1.計(jì)算機(jī)通信:計(jì)算機(jī)通信:是指計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)是指計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換算機(jī)之間的信息交換。v通信有通信有并行通信并行通信和和串行通信串行通信兩種方式。在多微機(jī)系兩種方式。在多微機(jī)系統(tǒng)以及現(xiàn)代測控系統(tǒng)中信息的交換多采用統(tǒng)以及現(xiàn)代測控系統(tǒng)中信息的交換多采用串行通信方串行通信方式式。并行
2、通信:并行通信:通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線同時進(jìn)行傳送同時進(jìn)行傳送 。并行通信特點(diǎn):并行通信特點(diǎn):控制簡單、傳輸速度快;由于傳輸線較多,控制簡單、傳輸速度快;由于傳輸線較多,長距離傳送時成本高且接收方的各位同時接收存在困難。長距離傳送時成本高且接收方的各位同時接收存在困難。 串行通信:串行通信:是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個地傳送。串行通信的特點(diǎn)串行通信的特點(diǎn):傳輸線少,長距離傳送時成本:傳輸線少,長距離傳送時成本低,且可以利用電話網(wǎng)等現(xiàn)成的設(shè)備,但數(shù)據(jù)的低,且可以利用電話網(wǎng)等現(xiàn)成的設(shè)備,但數(shù)據(jù)的傳送控制比并行通信復(fù)雜。傳送控制比并行
3、通信復(fù)雜。 6串行通信有同步同步和異步異步兩種方式同步方式同步方式:有嚴(yán)格的同步時鐘控制。此方式較少使用。異步方式異步方式:不需要嚴(yán)格的同步信號,也不需要數(shù)據(jù)流的連續(xù)性。在串行通信中常用。數(shù)據(jù)幀數(shù)據(jù)幀(一幀數(shù)據(jù)):包含起始位(“0”電平)、數(shù)據(jù)位、奇偶校驗(yàn)位、停止位(“1”電平)等組成。串行通信的基本概念串行通信的基本概念 7異步通信中接收和發(fā)送雙方必須(至少)有兩項(xiàng)設(shè)定:(1)幀格式確定幀格式確定:字符格式的規(guī)定是雙方能夠在對同一種0和1的串理解成同一種意思。原則上,字符格式可以由通訊雙方自由制定,但從通用、方便的角度出發(fā),一般還是使用一些標(biāo)準(zhǔn)的為好,比如:ASCII幀(字符)為10位。數(shù)據(jù)
4、位7位,起始位、校驗(yàn)位、停止位各一位。(2)波特率的設(shè)定。)波特率的設(shè)定。波特率:每秒傳輸?shù)亩M(jìn)制的位數(shù)。如120字符(幀)/秒,每幀數(shù)據(jù)10位,則傳輸速率為1200波特率。一、異步通信與同步通信一、異步通信與同步通信1、異步通信、異步通信 異步通信異步通信是指通信的是指通信的發(fā)送與接收設(shè)備使用各自的時鐘發(fā)送與接收設(shè)備使用各自的時鐘控制數(shù)據(jù)的發(fā)送和接收過程。為使雙方的收發(fā)協(xié)調(diào),要求控制數(shù)據(jù)的發(fā)送和接收過程。為使雙方的收發(fā)協(xié)調(diào),要求發(fā)送和接收設(shè)備的時鐘盡可能一致。發(fā)送和接收設(shè)備的時鐘盡可能一致。 異步通信:異步通信:以字符(構(gòu)成的幀)為單位進(jìn)行傳以字符(構(gòu)成的幀)為單位進(jìn)行傳輸,字符與字符之間的
5、間隙(時間間隔)是任意輸,字符與字符之間的間隙(時間間隔)是任意的,但每個字符中的各位是以固定的時間傳送的,的,但每個字符中的各位是以固定的時間傳送的,即字符之間是異步的(字符之間不一定有即字符之間是異步的(字符之間不一定有“位間位間隔隔”的整數(shù)倍的關(guān)系),但同一字符內(nèi)的各位是的整數(shù)倍的關(guān)系),但同一字符內(nèi)的各位是同步的(各位之間的距離均為同步的(各位之間的距離均為“位間隔位間隔”的整數(shù)的整數(shù)倍)。倍)。異步通信的數(shù)據(jù)格式異步通信的數(shù)據(jù)格式 :異步通信的特點(diǎn)異步通信的特點(diǎn):不要求收發(fā)雙方時鐘的嚴(yán)格一致,實(shí)現(xiàn)容:不要求收發(fā)雙方時鐘的嚴(yán)格一致,實(shí)現(xiàn)容易,設(shè)備開銷較小,但每個字符要附加易,設(shè)備開銷較
6、小,但每個字符要附加23位用于起止位,位用于起止位,各幀之間還有間隔,因此傳輸效率不高。各幀之間還有間隔,因此傳輸效率不高。2、同步通信、同步通信同步通信時要建立發(fā)送方時鐘對接收方時鐘的直接控制,同步通信時要建立發(fā)送方時鐘對接收方時鐘的直接控制,使雙方達(dá)到完全同步。此時,傳輸數(shù)據(jù)的位之間的距離均使雙方達(dá)到完全同步。此時,傳輸數(shù)據(jù)的位之間的距離均為為“位間隔位間隔”的整數(shù)倍,同時傳送的字符間不留間隙,即的整數(shù)倍,同時傳送的字符間不留間隙,即保持位同步保持位同步關(guān)系,關(guān)系,也保持字符同步也保持字符同步關(guān)系。發(fā)送方對接收方關(guān)系。發(fā)送方對接收方的同步可以通過兩種方法實(shí)現(xiàn)。的同步可以通過兩種方法實(shí)現(xiàn)。
7、外同步外同步 自同步自同步面向字符的同步格式面向字符的同步格式 : 此時,傳送的數(shù)據(jù)和控制信息都必須由規(guī)定的字符集此時,傳送的數(shù)據(jù)和控制信息都必須由規(guī)定的字符集(如(如ASCII碼)中的字符所組成。圖中碼)中的字符所組成。圖中幀頭為幀頭為1個或個或2個同個同步字符步字符SYN(ASCII碼為碼為16H)。)。SOH為序始為序始字符字符(ASCII碼為碼為01H),表示標(biāo)題的開始,),表示標(biāo)題的開始,標(biāo)題標(biāo)題中包含源地中包含源地址、目標(biāo)地址和路由指示等信息。址、目標(biāo)地址和路由指示等信息。STX為文始為文始字符字符(ASCII碼為碼為02H),表示傳送的數(shù)據(jù)塊開始。),表示傳送的數(shù)據(jù)塊開始。數(shù)據(jù)塊
8、數(shù)據(jù)塊是是傳送的正文內(nèi)容,由多個字符組成。數(shù)據(jù)塊后面是傳送的正文內(nèi)容,由多個字符組成。數(shù)據(jù)塊后面是組終組終字符字符ETB(ASCII碼為碼為17H)或)或文終字符文終字符ETX(ASCII碼碼為為03H)。然后是)。然后是校驗(yàn)碼校驗(yàn)碼。典型的面向字符的同步規(guī)程典型的面向字符的同步規(guī)程如如IBM的二進(jìn)制同步規(guī)程的二進(jìn)制同步規(guī)程BSC。 二、串行通信的傳輸方向二、串行通信的傳輸方向1、單工、單工單工單工是指數(shù)據(jù)傳輸僅能沿是指數(shù)據(jù)傳輸僅能沿一個方向一個方向,不能實(shí)現(xiàn)反向傳輸。,不能實(shí)現(xiàn)反向傳輸。2、半雙工、半雙工半雙工半雙工是指數(shù)據(jù)傳輸可以沿是指數(shù)據(jù)傳輸可以沿兩個方向兩個方向,但需要分時進(jìn)行。,但需
9、要分時進(jìn)行。3、全雙工、全雙工全雙工全雙工是指數(shù)據(jù)可以是指數(shù)據(jù)可以同時進(jìn)行雙向同時進(jìn)行雙向傳輸。傳輸。 單工 半雙工半雙工 全雙工全雙工三、信號的調(diào)制與解調(diào)三、信號的調(diào)制與解調(diào) 利用調(diào)制器(利用調(diào)制器(Modulator)把數(shù)字信號轉(zhuǎn)換成模擬信號把數(shù)字信號轉(zhuǎn)換成模擬信號,然后送到通信線路上去,再由解調(diào)器(然后送到通信線路上去,再由解調(diào)器(Demodulator)把)把從通信線路上收到的從通信線路上收到的模擬信號轉(zhuǎn)換成數(shù)字信號模擬信號轉(zhuǎn)換成數(shù)字信號。由于通信。由于通信是雙向的,調(diào)制器和解調(diào)器合并在一個裝置中,這就是調(diào)是雙向的,調(diào)制器和解調(diào)器合并在一個裝置中,這就是調(diào)制解調(diào)器制解調(diào)器MODEM。四
10、、串行通信的錯誤校驗(yàn)四、串行通信的錯誤校驗(yàn) 1、奇偶校驗(yàn)奇偶校驗(yàn)在發(fā)送數(shù)據(jù)時,數(shù)據(jù)位尾隨的在發(fā)送數(shù)據(jù)時,數(shù)據(jù)位尾隨的1位為奇偶校驗(yàn)位(位為奇偶校驗(yàn)位(1或或0)。奇)。奇校驗(yàn)時,數(shù)據(jù)中校驗(yàn)時,數(shù)據(jù)中“1”的個數(shù)與校驗(yàn)位的個數(shù)與校驗(yàn)位“1”的個數(shù)之和應(yīng)為奇的個數(shù)之和應(yīng)為奇數(shù);偶校驗(yàn)時,數(shù)據(jù)中數(shù);偶校驗(yàn)時,數(shù)據(jù)中“1”的個數(shù)與校驗(yàn)位的個數(shù)與校驗(yàn)位“1”的個數(shù)之和的個數(shù)之和應(yīng)為偶數(shù)。接收字符時,對應(yīng)為偶數(shù)。接收字符時,對“1”的個數(shù)進(jìn)行校驗(yàn),若發(fā)現(xiàn)不的個數(shù)進(jìn)行校驗(yàn),若發(fā)現(xiàn)不一致,則說明傳輸數(shù)據(jù)過程中出現(xiàn)了差錯。一致,則說明傳輸數(shù)據(jù)過程中出現(xiàn)了差錯。3、循環(huán)冗余校驗(yàn)循環(huán)冗余校驗(yàn)這種校驗(yàn)是通過某種數(shù)學(xué)運(yùn)
11、算實(shí)現(xiàn)有效信息與校驗(yàn)位之間的這種校驗(yàn)是通過某種數(shù)學(xué)運(yùn)算實(shí)現(xiàn)有效信息與校驗(yàn)位之間的循環(huán)校驗(yàn),常用于對磁盤信息的傳輸、存儲區(qū)的完整性校驗(yàn)循環(huán)校驗(yàn),常用于對磁盤信息的傳輸、存儲區(qū)的完整性校驗(yàn)等。這種校驗(yàn)方法糾錯能力強(qiáng),廣泛應(yīng)用于同步通信中。等。這種校驗(yàn)方法糾錯能力強(qiáng),廣泛應(yīng)用于同步通信中。2、代碼和校驗(yàn)代碼和校驗(yàn)代碼和校驗(yàn)是發(fā)送方將所發(fā)數(shù)據(jù)塊求和(或各字節(jié)異或),代碼和校驗(yàn)是發(fā)送方將所發(fā)數(shù)據(jù)塊求和(或各字節(jié)異或),產(chǎn)生一個字節(jié)的校驗(yàn)字符(校驗(yàn)和)附加到數(shù)據(jù)塊末尾。接產(chǎn)生一個字節(jié)的校驗(yàn)字符(校驗(yàn)和)附加到數(shù)據(jù)塊末尾。接收方接收數(shù)據(jù)同時對數(shù)據(jù)塊(除校驗(yàn)字節(jié)外)求和(或各字收方接收數(shù)據(jù)同時對數(shù)據(jù)塊(除校驗(yàn)
12、字節(jié)外)求和(或各字節(jié)異或),將所得的結(jié)果與發(fā)送方的節(jié)異或),將所得的結(jié)果與發(fā)送方的“校驗(yàn)和校驗(yàn)和”進(jìn)行比較,進(jìn)行比較,相符則無差錯,否則即認(rèn)為傳送過程中出現(xiàn)了差錯。相符則無差錯,否則即認(rèn)為傳送過程中出現(xiàn)了差錯。五、傳輸速率與傳輸距離五、傳輸速率與傳輸距離 1、傳輸速率、傳輸速率比特率:比特率:是是每秒鐘傳輸二進(jìn)制代碼的位數(shù)每秒鐘傳輸二進(jìn)制代碼的位數(shù),單位是:位秒,單位是:位秒(bps)。如每秒鐘傳送)。如每秒鐘傳送240個字符,而每個字符格式包含個字符,而每個字符格式包含10位位(1個起始位、個起始位、1個停止位、個停止位、8個數(shù)據(jù)位個數(shù)據(jù)位),這時的比特率為:,這時的比特率為: 10位位2
13、40個個/秒秒 = 2400 bps再如:再如:在在0.001ms內(nèi)傳輸了內(nèi)傳輸了“1010001011”這樣一段有效數(shù)這樣一段有效數(shù)據(jù)。那么該傳輸?shù)谋忍芈蕿椋簱?jù)。那么該傳輸?shù)谋忍芈蕿椋?0/(0.001ms)=10M/s波特率:波特率:表示每秒鐘調(diào)制信號變化的次數(shù),單位是:表示每秒鐘調(diào)制信號變化的次數(shù),單位是:波特(波特(Baud)。波特率指每秒傳輸?shù)挠行В?。波特率指每秒傳輸?shù)挠行Тa元碼元個個數(shù)。數(shù)。 一個數(shù)字信號(碼元)可以包含幾位二進(jìn)制數(shù),例如:可一個數(shù)字信號(碼元)可以包含幾位二進(jìn)制數(shù),例如:可以用一個信號表示一位二進(jìn)制數(shù)以用一個信號表示一位二進(jìn)制數(shù)“0”,采用較為復(fù)雜的調(diào),采用較為復(fù)
14、雜的調(diào)制技術(shù)時,可以在一個信號上攜帶制技術(shù)時,可以在一個信號上攜帶“01”兩位二進(jìn)制數(shù),甚兩位二進(jìn)制數(shù),甚至更多。至更多。碼元:碼元:在數(shù)字通信中常常用時間間隔相同的符號來在數(shù)字通信中常常用時間間隔相同的符號來表示一個二進(jìn)制數(shù)字,這樣的時間間隔內(nèi)的信號稱表示一個二進(jìn)制數(shù)字,這樣的時間間隔內(nèi)的信號稱為為(二進(jìn)制)碼元。二進(jìn)制)碼元。 而這個間隔被稱為碼元長度。而這個間隔被稱為碼元長度。v所以,波特率和比特率不總是相同的,對于將數(shù)字所以,波特率和比特率不總是相同的,對于將數(shù)字信號信號1或或0直接用兩種不同電壓表示的所謂基帶傳輸直接用兩種不同電壓表示的所謂基帶傳輸,比特率和波特率是相同的。所以,我們
15、也經(jīng)常用,比特率和波特率是相同的。所以,我們也經(jīng)常用波特率表示數(shù)據(jù)的傳輸速率。波特率表示數(shù)據(jù)的傳輸速率。波特率B1200120012001200多相調(diào)制相數(shù)二相調(diào)制(n=2)四相調(diào)制(n=4)八相調(diào)制(n=8)十六相調(diào)制(n=16)比特率S(bit/s)1200240036004800比特率和波特率之間的關(guān)系對照表v波特率(調(diào)制速率)和比特速率(數(shù)據(jù)傳輸速率)是兩個最容易混淆的概念,但它們在數(shù)據(jù)通信中確很重要。兩者的區(qū)別與聯(lián)系,如圖 :6.1.2 6.1.2 串行通信接口標(biāo)準(zhǔn)串行通信接口標(biāo)準(zhǔn) 一、一、RS-232CRS-232C接口接口 RS-232C是是EIA(美國電子工業(yè)協(xié)會)(美國電子工
16、業(yè)協(xié)會)1969年修訂年修訂RS-232C標(biāo)準(zhǔn)。標(biāo)準(zhǔn)。RS-232C定義了數(shù)據(jù)終端設(shè)備(定義了數(shù)據(jù)終端設(shè)備(DTE)與數(shù)據(jù))與數(shù)據(jù)通信設(shè)備(通信設(shè)備(DCE)之間的物理接口標(biāo)準(zhǔn)。)之間的物理接口標(biāo)準(zhǔn)。1、機(jī)械特性、機(jī)械特性RS-232C接口規(guī)定使用接口規(guī)定使用25針連接器,連接器的尺寸及每個插針連接器,連接器的尺寸及每個插針的排列位置都有明確的定義。針的排列位置都有明確的定義。2、功能特性、功能特性24通用異步接收發(fā)送器通用異步接收發(fā)送器UART接收器接收器串行輸入串行輸入并行輸出并行輸出時時鐘鐘復(fù)復(fù)位位發(fā)送器發(fā)送器并行輸入并行輸入串行輸出串行輸出時時鐘鐘控制部件控制部件控制信號控制信號控制信
17、息控制信息狀態(tài)信息狀態(tài)信息基基本本組組成成框框圖圖UART251)數(shù)據(jù)的串化、反串化數(shù)據(jù)串化數(shù)據(jù)串化:將并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù);(發(fā)送器)數(shù)據(jù)反串化數(shù)據(jù)反串化:將串行數(shù)據(jù)變?yōu)椴⑿袛?shù)據(jù);(接收器)UART主要功能主要功能2)格式信息的插入和濾除格式信息格式信息:異步通信格式中,啟始位、奇偶校驗(yàn)位、停止位等。串化過程串化過程:將格式信息插入插入,和數(shù)據(jù)位一起構(gòu)成完整數(shù)據(jù)幀。反串化過程反串化過程:濾除濾除格式信息,保留數(shù)據(jù)位。3)錯誤檢驗(yàn)檢驗(yàn)數(shù)據(jù)通信過程是否正確。266.2 MCS-51單片機(jī)串行通信單片機(jī)串行通信MCS-51單片機(jī)將一個可編程的全雙工串行通信接口單片機(jī)將一個可編程的全雙工串行通信接口
18、電路集成在單片機(jī)內(nèi)。電路集成在單片機(jī)內(nèi)。直觀的感覺直觀的感覺向向SBUF中寫入一個字節(jié)是同時寫入(并行),而向外發(fā)送則是中寫入一個字節(jié)是同時寫入(并行),而向外發(fā)送則是一位一位地進(jìn)行(串行)。一位一位地進(jìn)行(串行)。同樣由外界向同樣由外界向SBUF接收是一位一位進(jìn)行(串行),而接收是一位一位進(jìn)行(串行),而CPU是以是以字節(jié)形式(并行)從字節(jié)形式(并行)從SBUF中讀入。中讀入。27串行口寄存器結(jié)構(gòu)串行口寄存器結(jié)構(gòu)發(fā)發(fā)送送緩緩沖沖器器接接收收緩緩沖沖器器輸輸入入移移位位寄寄存存器器串串行行輸輸入入RxD串串行行輸輸出出TxD移移位位時時鐘鐘內(nèi)內(nèi)部部總總線線接接收收中中斷斷RI發(fā)發(fā)送送中中斷斷T
19、I 有兩個物理上獨(dú)立的接收、發(fā)送緩沖器有兩個物理上獨(dú)立的接收、發(fā)送緩沖器SBUF,它們占用,它們占用同一地址同一地址99H ;它們有相同的名字和地址空間,但不會發(fā);它們有相同的名字和地址空間,但不會發(fā)生沖突,因?yàn)樗鼈儍蓚€一個只能被生沖突,因?yàn)樗鼈儍蓚€一個只能被CPU讀入數(shù)據(jù),一個只讀入數(shù)據(jù),一個只能被能被CPU寫入數(shù)據(jù),所以不會產(chǎn)生重疊錯誤。寫入數(shù)據(jù),所以不會產(chǎn)生重疊錯誤。 80C51串行口的結(jié)構(gòu)串行口的結(jié)構(gòu) 298051單片機(jī)是通過引腳單片機(jī)是通過引腳RXD(P3.0)和和TXD(P3.1)與)與外界通訊。外界通訊。(1)串行接收的雙緩沖結(jié)構(gòu))串行接收的雙緩沖結(jié)構(gòu)接收:接收:移位寄存器,數(shù)據(jù)
20、緩沖器SBUF。一幀數(shù)據(jù)接收完,由移位寄存器移位寄存器裝入SBUF,立即接收下一幀。要求主機(jī)應(yīng)立即(在該幀接收結(jié)束之前)將SBUF中數(shù)據(jù)取走。否則前一幀數(shù)據(jù)將丟失。(2)發(fā)送:)發(fā)送:由CPU操縱,不會發(fā)生幀重疊錯誤。將數(shù)據(jù)寫入SBUF,通過移位脈沖一位一位地發(fā)送出去。30 串行通信控制寄存器串行通信控制寄存器與串行通信有關(guān)的寄存器共有三個三個。(1)串行控制寄存器)串行控制寄存器SCON SCON 是一個特殊功能寄存器,用以設(shè)定串行口的是一個特殊功能寄存器,用以設(shè)定串行口的工作方式、接收工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志:發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志: 1)SM0和和SM1為工作方式選擇位
21、,可選擇四種工作方式:為工作方式選擇位,可選擇四種工作方式: 322)REN允許接收位控制串行數(shù)據(jù)的接收。REN=0:禁止接收;REN=1:允許接收通過軟件置位、復(fù)位3)TB8在方式2、方式3下,要發(fā)送的第9位數(shù)據(jù)(格式信息)。在多機(jī)通信中,通過TB8狀態(tài),來表示主機(jī)發(fā)送的是地址幀(1)還是數(shù)據(jù)幀(0)。注:地址幀在多機(jī)通信中才會出現(xiàn)。通過軟件置位、復(fù)位。注:地址幀在多機(jī)通信中才會出現(xiàn)。通過軟件置位、復(fù)位。334)RB8接收數(shù)據(jù)的第9位(發(fā)送方送來的第九位)。在方式2、方式3時,存放接收到的第9位數(shù)據(jù),代表接收數(shù)據(jù)的某些特征某些特征。TB8,在方式,在方式2或方式或方式3中,是發(fā)送數(shù)據(jù)的第九位
22、中,是發(fā)送數(shù)據(jù)的第九位,可以用軟件規(guī)定其作用??梢杂米鲾?shù)據(jù)的奇偶校驗(yàn)可以用軟件規(guī)定其作用??梢杂米鲾?shù)據(jù)的奇偶校驗(yàn)位,或在多機(jī)通信中,作為地址幀位,或在多機(jī)通信中,作為地址幀/數(shù)據(jù)幀的標(biāo)志位。數(shù)據(jù)幀的標(biāo)志位。在方式在方式0和方式和方式1中,該位未用。中,該位未用。RB8,在方式,在方式2或方式或方式3中,是接收到數(shù)據(jù)的第九中,是接收到數(shù)據(jù)的第九位位,作為奇偶校驗(yàn)位或地址幀,作為奇偶校驗(yàn)位或地址幀/數(shù)據(jù)幀的標(biāo)志位。在數(shù)據(jù)幀的標(biāo)志位。在方式方式1時,若時,若SM2=0,則,則RB8是接收到的停止位。是接收到的停止位。355)SM2多機(jī)通信控制位在方式0時,SM2一定等于0。在方式1中,當(dāng)SM2=1,
23、則只有接收到有效停止位時,RI才置1。在方式2或方式3下進(jìn)行數(shù)據(jù)接收時,當(dāng)SM2=1(允許多機(jī)通信),且接收到的第九位數(shù)據(jù)RB8=0時,RI才置1。36在方式2或方式3下進(jìn)行數(shù)據(jù)接收時,如果SM2=1(允許多機(jī)通信),REN=1,則從機(jī)處于只有只有接收到RB8=1(地址幀)時,才能激發(fā)中斷請求標(biāo)志位RI,否則將接收到的前8位數(shù)據(jù)丟棄。被確認(rèn)的從機(jī),復(fù)位SM2=0,接收RB8=0的數(shù)據(jù)幀。RB8=1:地址幀:地址幀RB8=0:數(shù)據(jù)幀:數(shù)據(jù)幀SM2=1:多機(jī)通信方式:多機(jī)通信方式SM2=0:直通方式:直通方式注:注:在多機(jī)通信方式下,在多機(jī)通信方式下,主機(jī)與從機(jī)之間主機(jī)與從機(jī)之間可以進(jìn)行數(shù)據(jù)通信,
24、可以進(jìn)行數(shù)據(jù)通信,而而從機(jī)之間從機(jī)之間是不能進(jìn)行數(shù)據(jù)交流的。是不能進(jìn)行數(shù)據(jù)交流的。377)RI接收中斷標(biāo)志接收中斷標(biāo)志方式0時,接收完第接收完第8位數(shù)據(jù)后位數(shù)據(jù)后,硬件置位;其他方式下,接收到停止位時接收到停止位時,硬件置位。RI=1,表示幀接收結(jié)束。其狀態(tài)可軟件查詢,也可申請中斷。軟件清零軟件清零。6)TI發(fā)送中斷標(biāo)志發(fā)送中斷標(biāo)志方式0時,發(fā)送第發(fā)送第8位數(shù)據(jù)后位數(shù)據(jù)后,硬件置位;其他方式下,于發(fā)送停止位之前發(fā)送停止位之前硬件置位。TI=1,表示幀發(fā)送結(jié)束。其狀態(tài)可軟件查詢,也可申請中斷。軟件清零軟件清零。38(2) 電源控制寄存器電源控制寄存器PCON(波特率倍增控制寄存器)(波特率倍增控
25、制寄存器)位序位序位符號位符號76543210/SMOD/1GF0GFPDIDL字節(jié)地址:字節(jié)地址:87HSMOD=1,串行口波特率加倍;SMOD=0,波特率正常。系統(tǒng)復(fù)位時,SMOD=0。PCON不可以不可以進(jìn)行位尋址。vGF1,GF0:v兩個通用工作標(biāo)志位,用戶可以自由使用。vPD:v掉電模式設(shè)定位。v PD=0 :單片機(jī)處于正常工作狀態(tài)。v vPD=1 :單片機(jī)進(jìn)入掉電(Power Down)模式,可由外部中斷或硬件復(fù)位模式喚醒,進(jìn)入掉電模式后,外部晶振停振,CPU、定時器、串行口全部停止工作,只有外部中斷工作。v vIDL:空閑模式設(shè)定位。v IDL=0 :單片機(jī)處于正常工作狀態(tài)。v
26、IDL=1 :單片機(jī)進(jìn)入空閑(Idle)模式,除vCPU不工作外,其余仍繼續(xù)工作,在空閑模式下可由任一個中 v斷或硬件復(fù)位喚醒。v 41位地址位地址位符號位符號AFAEADACABAA9A8A/EA/ES1ET1EX0ET0EX(3)中斷允許控制寄存器()中斷允許控制寄存器(IE)字節(jié)地址字節(jié)地址A8HES:串行口中斷允許位;ES=0:禁止串行口中斷;ES=1:允許串行口中斷。42串行工作方式串行工作方式0移位寄存器方式移位寄存器方式RXD(P3.0):數(shù)據(jù)移位的入口和出口;TXD(P3.1):移位脈沖輸入端移位數(shù)據(jù):一幀8位。低位在前,高位在后,沒有起始位沒有起始位、停停止位止位0D1D2D
27、3D4D5D6D7D6.2.3 6.2.3 80C51串行口的工作方式串行口的工作方式 方式方式0時,串行口為同步移位寄存器的輸入輸出方式。主要時,串行口為同步移位寄存器的輸入輸出方式。主要用于擴(kuò)展并行輸入或輸出口。數(shù)據(jù)由用于擴(kuò)展并行輸入或輸出口。數(shù)據(jù)由RXD(P3.0)引腳輸)引腳輸入或輸出,同步移位脈沖由入或輸出,同步移位脈沖由TXD(P3.1)引腳輸出。發(fā)送)引腳輸出。發(fā)送和接收均為和接收均為8位數(shù)據(jù),低位在先,高位在后。波特率固定為位數(shù)據(jù),低位在先,高位在后。波特率固定為fosc/12。 1、方式、方式0輸出輸出44數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送:實(shí)現(xiàn)數(shù)據(jù)發(fā)送,須有串進(jìn)并出串進(jìn)并出移位寄存器配合使用
28、。使用方式0,進(jìn)行數(shù)據(jù)移位輸入、輸出時,是將串行口作為并行口使用是將串行口作為并行口使用是一種并行口擴(kuò)展應(yīng)用是一種并行口擴(kuò)展應(yīng)用RxDTxD0 . 1PDATACLKSTB并并行行輸輸出出4094CD45數(shù)據(jù)接收:數(shù)據(jù)接收:須有并進(jìn)串出并進(jìn)串出移位寄存器配合使用RxDTxD0 . 1PDATACLKS/P并行輸入并行輸入4014CD數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送:當(dāng)8位數(shù)據(jù)全部移出后,TI被自動置位數(shù)據(jù)接收數(shù)據(jù)接收:當(dāng)REN=1(允許接收),接收到8位數(shù)據(jù)時,RI被自動置位。46方式0時,移位操作的波特率固定固定,為單片機(jī)晶振頻率1/12。晶振fosc=6MHz,波特率為500K/秒,2s移位一次;晶振fo
29、sc=12MHz,波特率為1M/秒,1s移位一次; 2、方式、方式0輸入輸入 方式方式0接收和發(fā)送電路接收和發(fā)送電路48應(yīng)用舉例:應(yīng)用舉例:(P124)使用CD4094的并行輸出端接8只發(fā)光二極管,將二極管從左至右依次點(diǎn)亮,并反復(fù)循環(huán)。RxDTxD0 . 1PDATACLKSTB4094CD 發(fā)光二極管共陰極連接發(fā)光二極管共陰極連接805149程序清單:程序清單: MOV SCON,#00 ;方式;方式0 CLS ES;禁止串行中斷;禁止串行中斷 MOV A,#80H;發(fā)光管左邊亮起;發(fā)光管左邊亮起DELR: CLR P1.0;關(guān)閉并行輸出;關(guān)閉并行輸出 MOV SBUF,A;串行輸出;串行輸
30、出 JNB TI,$;狀態(tài)查詢狀態(tài)查詢 SETB P1.0;啟動并行輸出;啟動并行輸出 ACALL DELAY;狀態(tài)維持;狀態(tài)維持 CLR TI;清標(biāo)志;清標(biāo)志 RR A;發(fā)光管右移;發(fā)光管右移 AJMP DELR;繼續(xù);繼續(xù) 二、方式二、方式1方式方式1是是10位數(shù)據(jù)的異步通信口。位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。數(shù)據(jù)幀為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。數(shù)據(jù)幀10位,起始位位,起始位0位(低)、停止位位(低)、停止位1位(高)、數(shù)據(jù)位位(高)、數(shù)據(jù)位8位。位。 1、方式、方式1輸出輸出51數(shù)據(jù)接收數(shù)據(jù)接收:R
31、EN=1,串行口采樣RXD端,當(dāng)采樣到由1到0跳變時,認(rèn)定接收到起始位。在移位脈沖作用下,把接收到的數(shù)據(jù)位移入接收寄存器中,直至將停止位移入RB8中,置位RI,通知CPU從SBUF取走接收到的字符。數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送:寫SBUF開始,通過串行口自動加入起始位、停止位(格式信息),形成完整幀格式。在移位脈沖作用下,由TXD端串行輸出。一個字符幀發(fā)送完后,TXD端維持“1”狀態(tài),TI置1。通知CPU。 2、方式、方式1輸入輸入 用軟件置用軟件置REN=1時,接收器以所選擇波特率的時,接收器以所選擇波特率的16倍速率采倍速率采樣樣RXD引腳電平,檢測到引腳電平,檢測到RXD引腳輸入電平發(fā)生負(fù)跳變時,則
32、引腳輸入電平發(fā)生負(fù)跳變時,則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時,控制電路進(jìn)行最后入,起始位移至輸入移位寄存器最左邊時,控制電路進(jìn)行最后一次移位。當(dāng)一次移位。當(dāng)RI=0,且,且SM2=0(或接收到的停止位為(或接收到的停止位為1)時,)時,將接收到的將接收到的9位數(shù)據(jù)的前位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收位數(shù)據(jù)裝入接收SBUF,第,第9位(停止位(停止位)進(jìn)入位)進(jìn)入RB8,并置,并置RI
33、=1,向,向CPU請求中斷。請求中斷。53三、方式三、方式2和方式和方式3發(fā)送時發(fā)送時第9位數(shù)據(jù)由SCON中TB8位提供,軟件設(shè)置。SETB TB8CLR TB8接收時接收時第9位數(shù)據(jù)裝入SCON中RB8位,系統(tǒng)自動裝入。11位UART方式字符幀11位:起始位(低)1位、數(shù)據(jù)位8位、可程控第9位數(shù)據(jù)、停止位(高)1位。 方式方式2或方式或方式3時為時為11位數(shù)據(jù)的異步通信口。位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送為數(shù)據(jù)發(fā)送引腳,引腳,RXD為數(shù)據(jù)接收引腳為數(shù)據(jù)接收引腳 。 方式方式2和方式和方式3時起始位時起始位1位,數(shù)據(jù)位,數(shù)據(jù)9位(含位(含1位附加的第位附加的第9位,位,發(fā)送時為發(fā)送時為SC
34、ON中的中的TB8,接收時為,接收時為RB8),停止位),停止位1位,一位,一幀數(shù)據(jù)為幀數(shù)據(jù)為11位。方式位。方式2的波特率固定為晶振頻率的的波特率固定為晶振頻率的1/64或或1/32,方式方式3的波特率由定時器的波特率由定時器T1的溢出率決定。的溢出率決定。 1)方式)方式2和方式和方式3輸出輸出 發(fā)送開始時發(fā)送開始時,先把起始位,先把起始位0輸出到輸出到TXD引腳,然后發(fā)送移引腳,然后發(fā)送移位寄存器的輸出位(位寄存器的輸出位(D0)到)到TXD引腳。每一個移位脈沖都引腳。每一個移位脈沖都使輸出移位寄存器的各位右移一位,并由使輸出移位寄存器的各位右移一位,并由TXD引腳輸出。引腳輸出。 第一
35、次移位時,停止位第一次移位時,停止位“1”移入輸出移位寄存器的第移入輸出移位寄存器的第9位位上上 ,以后每次移位,左邊都移入,以后每次移位,左邊都移入0。當(dāng)停止位移至輸出位時,。當(dāng)停止位移至輸出位時,左邊其余位全為左邊其余位全為0,檢測電路檢測到這一條件時,使控制電,檢測電路檢測到這一條件時,使控制電路進(jìn)行最后一次移位,并置路進(jìn)行最后一次移位,并置TI=1,向,向CPU請求中斷。請求中斷。 2)方式)方式2和方式和方式3輸入輸入 接收時接收時,數(shù)據(jù)從,數(shù)據(jù)從右邊移入右邊移入輸入移位寄存器,在起輸入移位寄存器,在起始位始位0移到最左邊時,控制電路進(jìn)行最后一次移位。移到最左邊時,控制電路進(jìn)行最后一
36、次移位。當(dāng)當(dāng)RI=0,且,且SM2=0(或接收到的第(或接收到的第9位數(shù)據(jù)為位數(shù)據(jù)為1)時,)時,接收到的數(shù)據(jù)裝入接收緩沖器接收到的數(shù)據(jù)裝入接收緩沖器SBUF和和RB8(接收數(shù)(接收數(shù)據(jù)的第據(jù)的第9位),置位),置RI=1,向,向CPU請求中斷。如果條件請求中斷。如果條件不滿足,則數(shù)據(jù)丟失,且不置位不滿足,則數(shù)據(jù)丟失,且不置位RI,繼續(xù)搜索,繼續(xù)搜索RXD引腳的負(fù)跳變。引腳的負(fù)跳變。四、波特率的計(jì)算四、波特率的計(jì)算 在串行通信中,收發(fā)雙方對發(fā)送或接收數(shù)據(jù)的在串行通信中,收發(fā)雙方對發(fā)送或接收數(shù)據(jù)的速率要有約定。通過軟件可對單片機(jī)串行口編程為速率要有約定。通過軟件可對單片機(jī)串行口編程為四種工作方式
37、,其中方式四種工作方式,其中方式0和方式和方式2的波特率是固的波特率是固定的,而方式定的,而方式1和方式和方式3的波特率是可變的,由定的波特率是可變的,由定時器時器T1的的溢出率溢出率來決定。來決定。 串行口的四種工作方式對應(yīng)串行口的四種工作方式對應(yīng)三種波特率三種波特率。由于輸入。由于輸入的移位時鐘的來源不同,所以,各種方式的波特率的移位時鐘的來源不同,所以,各種方式的波特率計(jì)算公式也不相同。計(jì)算公式也不相同。方式方式0的波特率的波特率 = fosc/12方式方式2的波特率的波特率 =(2SMOD/64) fosc 方式方式1的波特率的波特率 =(2SMOD/32)(T1溢出率)溢出率)方式方
38、式3的波特率的波特率 =(2SMOD/32)(T1溢出率)溢出率)59對于可變波特率(方式1、3),其計(jì)算公式:溢出率)溢出率)(定時器(定時器波特率波特率1322mods SMOD為PCON寄存器最高位值定時器溢出率定時器溢出率:單位時間定時器溢出的次數(shù)。:單位時間定時器溢出的次數(shù)。溢出率為溢出周期溢出周期的倒數(shù)。溢出周期溢出周期:定時器溢出一次所需要的時間。60當(dāng)定時器1作為波特率發(fā)生器時,通常選用定時工作方式2(8位自動加載)。設(shè)X為計(jì)數(shù)初值,則:)(溢出周期(定時時間)溢出周期(定時時間)X256fosc12 )X256(12fosc322mods 波特率波特率61通常,是知道波特率,
39、求計(jì)數(shù)初值X波特率波特率 3842fosc256Xmods實(shí)際應(yīng)用時:1)首先確定波特率;2)再計(jì)算定時器1的計(jì)數(shù)初值;3)然后進(jìn)行定時器的初始化。SMOD值可以通過MOV PCON,#00H或MOV PCON,#80H設(shè)定62例題:假設(shè)晶振6M,波特率1200,計(jì)算定時器1計(jì)數(shù)初值。串行口工作方式1,寫出相應(yīng)的初始化程序。SMOD=0,波特率不倍增。T1工作方式2(8位寄存器自動加載)H3F2431325612003841106256X6 63初始化程序:初始化程序:MOVTMOD,#20H;設(shè)置T1工作方式2MOVTL1,#F3H;計(jì)數(shù)初值MOVTH1,#F3H;SETBEA;中斷允許CL
40、RES;禁止串行中斷MOVPCON,#00H;波特率不倍增MOVSCON,#50H;串行方式1,REN=1SETBTR1;啟動定時器1 當(dāng)當(dāng)T1作為波特率發(fā)生器時,最典型的用法是使作為波特率發(fā)生器時,最典型的用法是使T1工作在自動再裝入工作在自動再裝入的的8位定時器方式(即方式位定時器方式(即方式2,且,且TCON的的TR1=1,以啟動定時器)。這,以啟動定時器)。這時溢出率取決于時溢出率取決于TH1中的計(jì)數(shù)值。中的計(jì)數(shù)值。 T1 溢出率溢出率 = fosc /12256 (TH1) 在單片機(jī)的應(yīng)用中,常用的晶振頻率為:在單片機(jī)的應(yīng)用中,常用的晶振頻率為:12MHz和和11.0592MHz。所
41、。所以,選用的波特率也相對固定。常用的串行口波特率以及各參數(shù)的關(guān)系以,選用的波特率也相對固定。常用的串行口波特率以及各參數(shù)的關(guān)系如表所示。如表所示。 串行口工作之前,應(yīng)對其進(jìn)行初始化,主要是設(shè)置產(chǎn)生波特率串行口工作之前,應(yīng)對其進(jìn)行初始化,主要是設(shè)置產(chǎn)生波特率的定時器的定時器1、串行口控制和中斷控制。具體步驟如下:、串行口控制和中斷控制。具體步驟如下:v確定確定T1的工作方式的工作方式(編程(編程TMOD寄存器);寄存器);v計(jì)算計(jì)算T1的初值的初值,裝載,裝載TH1、TL1;v啟動啟動T1(編程(編程TCON中的中的TR1位);位);v確定確定串行口控制串行口控制(編程(編程SCON寄存器);寄存器);串行口在中斷方式工作時,要進(jìn)行中斷設(shè)置(編程串行口在中斷方式工作時,要進(jìn)行中斷設(shè)置(編程IE、IP寄存寄存器)。器)。66MCS-51MCS-51單片機(jī)多機(jī)通信機(jī)制單片機(jī)多機(jī)通信機(jī)制數(shù)據(jù)的傳遞數(shù)據(jù)的傳遞 主機(jī)發(fā)送信息,可以傳送到各個從機(jī)或指定從機(jī),各從機(jī)發(fā)送的信息只能被主機(jī)接收。多機(jī)通信:多機(jī)通信:主機(jī)發(fā)送:主機(jī)發(fā)送:地址幀、數(shù)據(jù)幀通過第9位數(shù)據(jù)確定。TB8=1,地址幀T
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度城市綜合體開發(fā)代理傭金合同
- 漯河2024年河南漯河市委網(wǎng)信辦所屬事業(yè)單位人才引進(jìn)3人筆試歷年參考題庫附帶答案詳解
- 湖北2025年湖北武漢紡織大學(xué)人才引進(jìn)120人筆試歷年參考題庫附帶答案詳解
- 永州2025年湖南永州市零陵區(qū)引進(jìn)急需緊缺專業(yè)人才66人筆試歷年參考題庫附帶答案詳解
- 2025年中國小便盆市場調(diào)查研究報(bào)告
- 2025年中國單相共差模電涌保護(hù)器市場調(diào)查研究報(bào)告
- 2025年中國LED方形燈市場調(diào)查研究報(bào)告
- 2025至2031年中國銅徽章行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年海綿清潔塊項(xiàng)目可行性研究報(bào)告
- 2025年機(jī)械手式水冷碳氧槍系統(tǒng)項(xiàng)目可行性研究報(bào)告
- 《冠心病的介入治療》課件
- 中醫(yī)防感冒健康知識講座
- 熱線電話管理制度
- 中建八局分包入場安全指導(dǎo)手冊v2.0111
- AutoCAD 2020中文版從入門到精通(標(biāo)準(zhǔn)版)
- 紡絲原液制造工(中級)理論考試復(fù)習(xí)題庫(含答案)
- 大梅沙河道河道流量水位
- 張岱年:《中國文化概論》
- 緊固件常用標(biāo)準(zhǔn)件匯總圖
- 人教版初二英語八年級上冊全冊英語單詞表
- 繪本成語故事:四面楚歌
評論
0/150
提交評論