微處理器C51-7串口通信_(tái)第1頁(yè)
微處理器C51-7串口通信_(tái)第2頁(yè)
微處理器C51-7串口通信_(tái)第3頁(yè)
微處理器C51-7串口通信_(tái)第4頁(yè)
微處理器C51-7串口通信_(tái)第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、串口通信串口通信80C51的串行口的串行口計(jì)算機(jī)串行通信基礎(chǔ)計(jì)算機(jī)串行通信基礎(chǔ)單片機(jī)串行口編程應(yīng)用舉例單片機(jī)串行口編程應(yīng)用舉例計(jì)算機(jī)串行通信基礎(chǔ)計(jì)算機(jī)串行通信基礎(chǔ) 隨著多微機(jī)系統(tǒng)的廣泛應(yīng)用和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的普及,計(jì)算機(jī)的通信功隨著多微機(jī)系統(tǒng)的廣泛應(yīng)用和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的普及,計(jì)算機(jī)的通信功能愈來(lái)愈顯得重要。能愈來(lái)愈顯得重要。計(jì)算機(jī)通信計(jì)算機(jī)通信是指計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)是指計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換之間的信息交換。通信有通信有并行通信并行通信和和串行通信串行通信兩種方式。在多微機(jī)系統(tǒng)以及現(xiàn)代測(cè)控系統(tǒng)兩種方式。在多微機(jī)系統(tǒng)以及現(xiàn)代測(cè)控系統(tǒng)中信息的交換多采用串行通信方式

2、。中信息的交換多采用串行通信方式。計(jì)算機(jī)通信計(jì)算機(jī)通信是將計(jì)算機(jī)技術(shù)和通信技術(shù)的相結(jié)合,完成計(jì)算機(jī)與外部設(shè)是將計(jì)算機(jī)技術(shù)和通信技術(shù)的相結(jié)合,完成計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換 ??梢浴?梢苑譃閮纱箢?lèi):并行通信與串分為兩大類(lèi):并行通信與串行通信。行通信。并行通信并行通信通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線(xiàn)同時(shí)進(jìn)行傳送通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線(xiàn)同時(shí)進(jìn)行傳送 。并行通信并行通信控制簡(jiǎn)單、傳輸速度快;由于傳輸線(xiàn)較多,長(zhǎng)距離傳送時(shí)成本控制簡(jiǎn)單、傳輸速度快;由于傳輸線(xiàn)較多,長(zhǎng)距離傳送時(shí)成本高且接收方的各位同時(shí)接收存在困難。高且接收方的各位同時(shí)接收存在困

3、難。 串行通信串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線(xiàn)上逐個(gè)是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線(xiàn)上逐個(gè)地傳送。地傳送。串行通信的特點(diǎn)串行通信的特點(diǎn):傳輸線(xiàn)少,長(zhǎng)距離傳送時(shí)成本低,且可以利用電話(huà):傳輸線(xiàn)少,長(zhǎng)距離傳送時(shí)成本低,且可以利用電話(huà)網(wǎng)等現(xiàn)成的設(shè)備,但數(shù)據(jù)的傳送控制比并行通信復(fù)雜。網(wǎng)等現(xiàn)成的設(shè)備,但數(shù)據(jù)的傳送控制比并行通信復(fù)雜。 串行通信的基本概念串行通信的基本概念 1 異步通信與同步通信異步通信與同步通信a.異步通信異步通信 異步通信異步通信是指通信的是指通信的發(fā)送與接收設(shè)備使用各自的時(shí)鐘發(fā)送與接收設(shè)備使用各自的時(shí)鐘控制數(shù)據(jù)的控制數(shù)據(jù)的發(fā)送和接收過(guò)程。為使雙方的收發(fā)協(xié)調(diào),

4、要求發(fā)送和接收設(shè)備的時(shí)鐘發(fā)送和接收過(guò)程。為使雙方的收發(fā)協(xié)調(diào),要求發(fā)送和接收設(shè)備的時(shí)鐘盡可能一致。盡可能一致。 異步通信是異步通信是以字符(構(gòu)成的幀)為單位進(jìn)行傳輸以字符(構(gòu)成的幀)為單位進(jìn)行傳輸,字符與字符之,字符與字符之間的間隙(時(shí)間間隔)是任意的,但每個(gè)字符中的各位是以固定的間的間隙(時(shí)間間隔)是任意的,但每個(gè)字符中的各位是以固定的時(shí)間傳送的,即字符之間不一定有時(shí)間傳送的,即字符之間不一定有“位間隔位間隔”的整數(shù)倍的關(guān)系,但的整數(shù)倍的關(guān)系,但同一字符內(nèi)的同一字符內(nèi)的各位之間的距離均為各位之間的距離均為“位間隔位間隔”的整數(shù)倍。的整數(shù)倍。異步通信的數(shù)據(jù)格式異步通信的數(shù)據(jù)格式 :異步通信的特點(diǎn)

5、異步通信的特點(diǎn):不要求收發(fā)雙方時(shí)鐘的嚴(yán)格一致,實(shí)現(xiàn)容易,設(shè):不要求收發(fā)雙方時(shí)鐘的嚴(yán)格一致,實(shí)現(xiàn)容易,設(shè)備開(kāi)銷(xiāo)較小,但每個(gè)字符要附加備開(kāi)銷(xiāo)較小,但每個(gè)字符要附加23位用于起止位,各幀之間還有位用于起止位,各幀之間還有間隔,因此傳輸效率不高。間隔,因此傳輸效率不高。b.同步通信同步通信 同步通信時(shí)要建立發(fā)送方時(shí)鐘對(duì)接收方時(shí)鐘的直接控制,使雙方達(dá)同步通信時(shí)要建立發(fā)送方時(shí)鐘對(duì)接收方時(shí)鐘的直接控制,使雙方達(dá)到完全同步。此時(shí),傳輸數(shù)據(jù)的位之間的距離均為到完全同步。此時(shí),傳輸數(shù)據(jù)的位之間的距離均為“位間隔位間隔”的整數(shù)倍,的整數(shù)倍,同時(shí)傳送的字符間不留間隙,即同時(shí)傳送的字符間不留間隙,即保持位同步保持位同步

6、關(guān)系,關(guān)系,也保持字符同步也保持字符同步關(guān)系。關(guān)系。發(fā)送方對(duì)接收方的同步可以通過(guò)兩種方法實(shí)現(xiàn)。發(fā)送方對(duì)接收方的同步可以通過(guò)兩種方法實(shí)現(xiàn)。 外同步外同步 自同步自同步面向字符的同步格式面向字符的同步格式 : 此時(shí),傳送的數(shù)據(jù)和控制信息都必須由規(guī)定的字符集(如此時(shí),傳送的數(shù)據(jù)和控制信息都必須由規(guī)定的字符集(如ASCII碼)中的字符所組成。圖中碼)中的字符所組成。圖中幀頭為幀頭為1個(gè)或個(gè)或2個(gè)同步字符個(gè)同步字符SYN(ASCII碼為碼為16H)。)。SOH為序始為序始字符(字符(ASCII碼為碼為01H),表示標(biāo)題的開(kāi)始,),表示標(biāo)題的開(kāi)始,標(biāo)題標(biāo)題中包含源地址、目標(biāo)地址和路由指示等信息。中包含源地

7、址、目標(biāo)地址和路由指示等信息。STX為文始為文始字符字符(ASCII碼為碼為02H),表示傳送的數(shù)據(jù)塊開(kāi)始。),表示傳送的數(shù)據(jù)塊開(kāi)始。數(shù)據(jù)塊數(shù)據(jù)塊是傳送的正文是傳送的正文內(nèi)容,由多個(gè)字符組成。數(shù)據(jù)塊后面是內(nèi)容,由多個(gè)字符組成。數(shù)據(jù)塊后面是組終字符組終字符ETB(ASCII碼為碼為17H)或)或文終字符文終字符ETX(ASCII碼為碼為03H)。然后是)。然后是校驗(yàn)碼校驗(yàn)碼。典型的典型的面向字符的同步規(guī)程如面向字符的同步規(guī)程如IBM的二進(jìn)制同步規(guī)程的二進(jìn)制同步規(guī)程BSC。 面向位的同步格式面向位的同步格式 : 此時(shí),將數(shù)據(jù)塊看作數(shù)據(jù)流,并用序列此時(shí),將數(shù)據(jù)塊看作數(shù)據(jù)流,并用序列01111110作

8、為開(kāi)始和結(jié)束標(biāo)志。作為開(kāi)始和結(jié)束標(biāo)志。為了避免在數(shù)據(jù)流中出現(xiàn)序列為了避免在數(shù)據(jù)流中出現(xiàn)序列01111110時(shí)引起的混亂,發(fā)送方總是在其時(shí)引起的混亂,發(fā)送方總是在其發(fā)送的數(shù)據(jù)流中每出現(xiàn)發(fā)送的數(shù)據(jù)流中每出現(xiàn)5個(gè)連續(xù)的個(gè)連續(xù)的1就插入一個(gè)附加的就插入一個(gè)附加的0;接收方則每檢測(cè);接收方則每檢測(cè)到到5個(gè)連續(xù)的個(gè)連續(xù)的1并且其后有一個(gè)并且其后有一個(gè)0時(shí),就刪除該時(shí),就刪除該0。 典型的面向位的同步協(xié)議如典型的面向位的同步協(xié)議如ISO的高級(jí)數(shù)據(jù)鏈路控制規(guī)程的高級(jí)數(shù)據(jù)鏈路控制規(guī)程HDLC和和IBM的同步數(shù)據(jù)鏈路控制規(guī)程的同步數(shù)據(jù)鏈路控制規(guī)程SDLC。 同步通信的特點(diǎn)同步通信的特點(diǎn)是以特定的位組合是以特定的位

9、組合“01111110”作為幀的開(kāi)始和結(jié)束作為幀的開(kāi)始和結(jié)束標(biāo)志,所傳輸?shù)囊粠瑪?shù)據(jù)可以是任意位。所以傳輸?shù)男瘦^高,但實(shí)現(xiàn)的標(biāo)志,所傳輸?shù)囊粠瑪?shù)據(jù)可以是任意位。所以傳輸?shù)男瘦^高,但實(shí)現(xiàn)的硬件設(shè)備比異步通信復(fù)雜。硬件設(shè)備比異步通信復(fù)雜。 2 串行通信的傳輸方向串行通信的傳輸方向a.單工單工單工單工是指數(shù)據(jù)傳輸僅能沿是指數(shù)據(jù)傳輸僅能沿一個(gè)方向一個(gè)方向,不能實(shí)現(xiàn)反向傳輸。,不能實(shí)現(xiàn)反向傳輸。b.半雙工半雙工半雙工半雙工是指數(shù)據(jù)傳輸可以沿是指數(shù)據(jù)傳輸可以沿兩個(gè)方向兩個(gè)方向,但需要分時(shí)進(jìn)行。,但需要分時(shí)進(jìn)行。c.全雙工全雙工全雙工全雙工是指數(shù)據(jù)可以是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向同時(shí)進(jìn)行雙向傳輸。傳輸。 單工

10、 半雙工半雙工 全雙工全雙工3 信號(hào)的調(diào)制與解調(diào)信號(hào)的調(diào)制與解調(diào) 利用調(diào)制器(利用調(diào)制器(Modulator)把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),然后送,然后送到通信線(xiàn)路上去,再由解調(diào)器(到通信線(xiàn)路上去,再由解調(diào)器(Demodulator)把從通信線(xiàn)路上收到)把從通信線(xiàn)路上收到的的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。由于通信是雙向的,調(diào)制器和解調(diào)器合。由于通信是雙向的,調(diào)制器和解調(diào)器合并在一個(gè)裝置中,這就是調(diào)制解調(diào)器并在一個(gè)裝置中,這就是調(diào)制解調(diào)器MODEM。4 串行通信的錯(cuò)誤校驗(yàn)串行通信的錯(cuò)誤校驗(yàn) a.奇偶校驗(yàn)奇偶校驗(yàn) 在發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)位尾隨的在發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)位尾

11、隨的1位為奇偶校驗(yàn)位(位為奇偶校驗(yàn)位(1或或0)。奇校驗(yàn)時(shí),)。奇校驗(yàn)時(shí),數(shù)據(jù)中數(shù)據(jù)中“1”的個(gè)數(shù)與校驗(yàn)位的個(gè)數(shù)與校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為奇數(shù);偶校驗(yàn)時(shí),數(shù)據(jù)中的個(gè)數(shù)之和應(yīng)為奇數(shù);偶校驗(yàn)時(shí),數(shù)據(jù)中“1”的個(gè)數(shù)與校驗(yàn)位的個(gè)數(shù)與校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為偶數(shù)。接收字符時(shí),對(duì)的個(gè)數(shù)之和應(yīng)為偶數(shù)。接收字符時(shí),對(duì)“1”的個(gè)的個(gè)數(shù)進(jìn)行校驗(yàn),若發(fā)現(xiàn)不一致,則說(shuō)明傳輸數(shù)據(jù)過(guò)程中出現(xiàn)了差錯(cuò)。數(shù)進(jìn)行校驗(yàn),若發(fā)現(xiàn)不一致,則說(shuō)明傳輸數(shù)據(jù)過(guò)程中出現(xiàn)了差錯(cuò)。c.循環(huán)冗余校驗(yàn)循環(huán)冗余校驗(yàn) 這種校驗(yàn)是通過(guò)某種數(shù)學(xué)運(yùn)算實(shí)現(xiàn)有效信息與校驗(yàn)位之間的循環(huán)校驗(yàn),這種校驗(yàn)是通過(guò)某種數(shù)學(xué)運(yùn)算實(shí)現(xiàn)有效信息與校驗(yàn)位之間的循環(huán)校驗(yàn),常用于對(duì)磁

12、盤(pán)信息的傳輸、存儲(chǔ)區(qū)的完整性校驗(yàn)等。這種校驗(yàn)方法糾錯(cuò)能常用于對(duì)磁盤(pán)信息的傳輸、存儲(chǔ)區(qū)的完整性校驗(yàn)等。這種校驗(yàn)方法糾錯(cuò)能力強(qiáng),廣泛應(yīng)用于同步通信中。力強(qiáng),廣泛應(yīng)用于同步通信中。b.代碼和校驗(yàn)代碼和校驗(yàn) 代碼和校驗(yàn)是發(fā)送方將所發(fā)數(shù)據(jù)塊求和(或各字節(jié)異或),產(chǎn)生一個(gè)代碼和校驗(yàn)是發(fā)送方將所發(fā)數(shù)據(jù)塊求和(或各字節(jié)異或),產(chǎn)生一個(gè)字節(jié)的校驗(yàn)字符(校驗(yàn)和)附加到數(shù)據(jù)塊末尾。接收方接收數(shù)據(jù)同時(shí)對(duì)數(shù)字節(jié)的校驗(yàn)字符(校驗(yàn)和)附加到數(shù)據(jù)塊末尾。接收方接收數(shù)據(jù)同時(shí)對(duì)數(shù)據(jù)塊(除校驗(yàn)字節(jié)外)求和(或各字節(jié)異或),將所得的結(jié)果與發(fā)送方的據(jù)塊(除校驗(yàn)字節(jié)外)求和(或各字節(jié)異或),將所得的結(jié)果與發(fā)送方的“校驗(yàn)和校驗(yàn)和”進(jìn)行比較

13、,相符則無(wú)差錯(cuò),否則即認(rèn)為傳送過(guò)程中出現(xiàn)了差錯(cuò)。進(jìn)行比較,相符則無(wú)差錯(cuò),否則即認(rèn)為傳送過(guò)程中出現(xiàn)了差錯(cuò)。5 傳輸速率與傳輸距離傳輸速率與傳輸距離 a.傳輸速率傳輸速率 比特率比特率是是每秒鐘傳輸二進(jìn)制代碼的位數(shù)每秒鐘傳輸二進(jìn)制代碼的位數(shù),單位是:位秒(,單位是:位秒(bps)。)。如每秒鐘傳送如每秒鐘傳送240個(gè)字符,而每個(gè)字符格式包含個(gè)字符,而每個(gè)字符格式包含10位位(1個(gè)起始位、個(gè)起始位、1個(gè)停個(gè)停止位、止位、8個(gè)數(shù)據(jù)位個(gè)數(shù)據(jù)位),這時(shí)的比特率為:,這時(shí)的比特率為: 10位位240個(gè)個(gè)/秒秒 = 2400 bpsb.傳輸距離與傳輸速率的關(guān)系傳輸距離與傳輸速率的關(guān)系 串行接口或終端直接傳送串

14、行信息位流的最大距離與傳輸速率及傳輸串行接口或終端直接傳送串行信息位流的最大距離與傳輸速率及傳輸線(xiàn)的電氣特性有關(guān)。當(dāng)傳輸線(xiàn)使用每線(xiàn)的電氣特性有關(guān)。當(dāng)傳輸線(xiàn)使用每0.3m(約(約1英尺)有英尺)有50PF電容的非電容的非平衡屏蔽雙絞線(xiàn)時(shí),傳輸距離隨傳輸速率的增加而減小。當(dāng)比特率超過(guò)平衡屏蔽雙絞線(xiàn)時(shí),傳輸距離隨傳輸速率的增加而減小。當(dāng)比特率超過(guò)1000 bps 時(shí),最大傳輸距離迅速下降,如時(shí),最大傳輸距離迅速下降,如9600 bps 時(shí)最大距離下降到時(shí)最大距離下降到只有只有76m(約(約250英尺)。英尺)。串行通信接口標(biāo)準(zhǔn)串行通信接口標(biāo)準(zhǔn) 1 RS-232C1 RS-232C接口接口 RS-23

15、2C是是EIA(美國(guó)電子工業(yè)協(xié)會(huì))(美國(guó)電子工業(yè)協(xié)會(huì))1969年修訂年修訂RS-232C標(biāo)準(zhǔn)。標(biāo)準(zhǔn)。RS-232C定義了數(shù)據(jù)終端設(shè)備(定義了數(shù)據(jù)終端設(shè)備(DTE)與數(shù)據(jù)通信設(shè)備()與數(shù)據(jù)通信設(shè)備(DCE)之間的)之間的物理接口標(biāo)準(zhǔn)。物理接口標(biāo)準(zhǔn)。a.機(jī)械特性機(jī)械特性 RS-232C接口規(guī)定使用接口規(guī)定使用25針連接器,連接器的尺寸及每個(gè)插針的排針連接器,連接器的尺寸及每個(gè)插針的排列位置都有明確的定義。(陽(yáng)頭)列位置都有明確的定義。(陽(yáng)頭)b.功能特性功能特性c.過(guò)程特性過(guò)程特性 過(guò)程特性規(guī)定了信號(hào)之間的時(shí)序關(guān)系,以便正確地接收和發(fā)送數(shù)據(jù)過(guò)程特性規(guī)定了信號(hào)之間的時(shí)序關(guān)系,以便正確地接收和發(fā)送數(shù)據(jù)

16、 。遠(yuǎn)程通信連接遠(yuǎn)程通信連接 近程通信連接近程通信連接 d. RS-232C電平與電平與TTL電平轉(zhuǎn)換驅(qū)動(dòng)電路電平轉(zhuǎn)換驅(qū)動(dòng)電路e.采用采用RS-232C接口存在的問(wèn)題接口存在的問(wèn)題l 傳輸距離短,傳輸速率低傳輸距離短,傳輸速率低 RS-232C總線(xiàn)標(biāo)準(zhǔn)受電容允許值的約束,使用時(shí)傳輸距離一般不要超過(guò)總線(xiàn)標(biāo)準(zhǔn)受電容允許值的約束,使用時(shí)傳輸距離一般不要超過(guò)15米(線(xiàn)路條件好時(shí)也不超過(guò)幾十米)。最高傳送速率為米(線(xiàn)路條件好時(shí)也不超過(guò)幾十米)。最高傳送速率為20Kbps。l 有電平偏移有電平偏移 RS-232C總線(xiàn)標(biāo)準(zhǔn)要求收發(fā)雙方共地。通信距離較大時(shí),收發(fā)雙方的地總線(xiàn)標(biāo)準(zhǔn)要求收發(fā)雙方共地。通信距離較大時(shí)

17、,收發(fā)雙方的地電位差別較大,在信號(hào)地上將有比較大的地電流并產(chǎn)生壓降。電位差別較大,在信號(hào)地上將有比較大的地電流并產(chǎn)生壓降。l 抗干擾能力差抗干擾能力差 RS-232C在電平轉(zhuǎn)換時(shí)采用單端輸入輸出,在傳輸過(guò)程中當(dāng)干擾和噪在電平轉(zhuǎn)換時(shí)采用單端輸入輸出,在傳輸過(guò)程中當(dāng)干擾和噪聲混在正常的信號(hào)中。為了提高信噪比,聲混在正常的信號(hào)中。為了提高信噪比,RS-232C總線(xiàn)標(biāo)準(zhǔn)不得不采用比總線(xiàn)標(biāo)準(zhǔn)不得不采用比較大的電壓擺幅。較大的電壓擺幅。2 RS-422A接口接口 RS-422A輸出驅(qū)動(dòng)器為雙端平衡驅(qū)動(dòng)器輸出驅(qū)動(dòng)器為雙端平衡驅(qū)動(dòng)器。如果其中一條線(xiàn)為邏輯。如果其中一條線(xiàn)為邏輯“1”狀態(tài),另一條線(xiàn)就為邏輯狀態(tài),

18、另一條線(xiàn)就為邏輯“0”,比采用單端不平衡驅(qū)動(dòng)對(duì)電壓的放大倍,比采用單端不平衡驅(qū)動(dòng)對(duì)電壓的放大倍數(shù)大一倍。數(shù)大一倍。差分電路差分電路能從地線(xiàn)干擾中拾取有效信號(hào),差分接收器可以分能從地線(xiàn)干擾中拾取有效信號(hào),差分接收器可以分辨辨200mV以上電位差。若傳輸過(guò)程中混入了干擾和噪聲,由于差分放大以上電位差。若傳輸過(guò)程中混入了干擾和噪聲,由于差分放大器的作用,可使干擾和噪聲相互抵消。因此可以避免或大大減弱地線(xiàn)干器的作用,可使干擾和噪聲相互抵消。因此可以避免或大大減弱地線(xiàn)干擾和電磁干擾的影響。擾和電磁干擾的影響。RS-422A傳輸速率(傳輸速率(90Kbps)時(shí),傳輸距離可)時(shí),傳輸距離可達(dá)達(dá)1200米。米

19、。 3 RS-485接口接口 RS-485是是RS-422A的變型:的變型:RS-422A用于全雙工,而用于全雙工,而RS-485則用于則用于半雙工。半雙工。RS-485是一種是一種多發(fā)送器多發(fā)送器標(biāo)準(zhǔn),在通信線(xiàn)路上最多可以使用標(biāo)準(zhǔn),在通信線(xiàn)路上最多可以使用32 對(duì)對(duì)差分驅(qū)動(dòng)器差分驅(qū)動(dòng)器/接收器。如果在一個(gè)網(wǎng)絡(luò)中連接的設(shè)備超過(guò)接收器。如果在一個(gè)網(wǎng)絡(luò)中連接的設(shè)備超過(guò)32個(gè),還可以使個(gè),還可以使用中繼器。用中繼器。 RS-485的信號(hào)傳輸采用兩線(xiàn)間的電壓來(lái)表示邏輯的信號(hào)傳輸采用兩線(xiàn)間的電壓來(lái)表示邏輯1和邏輯和邏輯0。由于發(fā)送。由于發(fā)送方需要方需要兩根傳輸線(xiàn)兩根傳輸線(xiàn),接收方也需要兩根傳輸線(xiàn)。傳輸線(xiàn)

20、采用差動(dòng)信道,所,接收方也需要兩根傳輸線(xiàn)。傳輸線(xiàn)采用差動(dòng)信道,所以它的干擾抑制性極好,又因?yàn)樗淖杩沟?,無(wú)接地問(wèn)題,所以以它的干擾抑制性極好,又因?yàn)樗淖杩沟?,無(wú)接地問(wèn)題,所以傳輸距離傳輸距離可達(dá)可達(dá)1200米米,傳輸速率可達(dá),傳輸速率可達(dá)1Mbps。 RS-485是一點(diǎn)對(duì)多點(diǎn)的通信接口,一般采用是一點(diǎn)對(duì)多點(diǎn)的通信接口,一般采用雙絞線(xiàn)雙絞線(xiàn)的結(jié)構(gòu)。普通的的結(jié)構(gòu)。普通的PC機(jī)一般不帶機(jī)一般不帶RS485接口,因此要使用接口,因此要使用RS-232C/RS-485轉(zhuǎn)換器。對(duì)于轉(zhuǎn)換器。對(duì)于單片機(jī)可以通過(guò)芯片單片機(jī)可以通過(guò)芯片MAX485來(lái)完成來(lái)完成TTL/RS-485的電平轉(zhuǎn)換。在計(jì)算機(jī)的電平轉(zhuǎn)換。

21、在計(jì)算機(jī)和單片機(jī)組成的和單片機(jī)組成的RS-485通信系統(tǒng)中,下位機(jī)由單片機(jī)系統(tǒng)組成,上位機(jī)通信系統(tǒng)中,下位機(jī)由單片機(jī)系統(tǒng)組成,上位機(jī)為普通的為普通的PC機(jī),負(fù)責(zé)監(jiān)視下位機(jī)的運(yùn)行狀態(tài),并對(duì)其狀態(tài)信息進(jìn)行集中機(jī),負(fù)責(zé)監(jiān)視下位機(jī)的運(yùn)行狀態(tài),并對(duì)其狀態(tài)信息進(jìn)行集中處理,以圖文方式顯示下位機(jī)的工作狀態(tài)以及工業(yè)現(xiàn)場(chǎng)被控設(shè)備的工作處理,以圖文方式顯示下位機(jī)的工作狀態(tài)以及工業(yè)現(xiàn)場(chǎng)被控設(shè)備的工作狀況。系統(tǒng)中各節(jié)點(diǎn)(包括上位機(jī))的識(shí)別是通過(guò)設(shè)置不同的站地址來(lái)狀況。系統(tǒng)中各節(jié)點(diǎn)(包括上位機(jī))的識(shí)別是通過(guò)設(shè)置不同的站地址來(lái)實(shí)現(xiàn)的。實(shí)現(xiàn)的。80C51的串行口的串行口 有兩個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器有兩個(gè)物理上獨(dú)立的

22、接收、發(fā)送緩沖器SBUF,它們占用同一地址,它們占用同一地址99H ;接收器是雙緩沖結(jié)構(gòu);接收器是雙緩沖結(jié)構(gòu) ;發(fā)送緩沖器,因?yàn)榘l(fā)送時(shí);發(fā)送緩沖器,因?yàn)榘l(fā)送時(shí)CPU是主動(dòng)的,是主動(dòng)的,不會(huì)產(chǎn)生重疊錯(cuò)誤。不會(huì)產(chǎn)生重疊錯(cuò)誤。 1 1 80C51串行口的結(jié)構(gòu)串行口的結(jié)構(gòu) SCON 是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接收收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志:發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志: 2 2 80C51串行口的控制寄存器串行口的控制寄存器 SM0和和SM1為工作方式選擇位,可選擇四種工作方式:為工作方式選擇位,可選擇四種工作方式: SM2 多機(jī)通

23、信控制位多機(jī)通信控制位,主要用于方式,主要用于方式2和方式和方式3。當(dāng)。當(dāng)接收機(jī)的接收機(jī)的SM2=1時(shí)時(shí)可以利用收到的可以利用收到的RB8來(lái)控制是否激活來(lái)控制是否激活RI(RB80時(shí)不激活時(shí)不激活RI,收到的信息,收到的信息丟棄;丟棄;RB81時(shí)收到的數(shù)據(jù)進(jìn)入時(shí)收到的數(shù)據(jù)進(jìn)入SBUF,并激活,并激活RI,進(jìn)而在中斷服務(wù)中將,進(jìn)而在中斷服務(wù)中將數(shù)據(jù)從數(shù)據(jù)從SBUF讀走)。讀走)。當(dāng)當(dāng)SM2=0時(shí),不論收到的時(shí),不論收到的RB8為為0和和1,均可以使收,均可以使收到的數(shù)據(jù)進(jìn)入到的數(shù)據(jù)進(jìn)入SBUF,并激活,并激活RI(即此時(shí)(即此時(shí)RB8不具有控制不具有控制RI激活的功能)。激活的功能)。通過(guò)控制通

24、過(guò)控制SM2,可以實(shí)現(xiàn)多機(jī)通信。,可以實(shí)現(xiàn)多機(jī)通信。在方式在方式0時(shí),時(shí),SM2必須是必須是0。在方式。在方式1時(shí),若時(shí),若SM2=1,則只有接收到有效停,則只有接收到有效停止位時(shí),止位時(shí),RI才置才置1。REN 允許串行接收位允許串行接收位。由軟件置。由軟件置REN=1,則啟動(dòng)串行口接收數(shù)據(jù);若,則啟動(dòng)串行口接收數(shù)據(jù);若軟件置軟件置REN=0,則禁止接收。,則禁止接收。TB8 在方式在方式2或方式或方式3中,是發(fā)送數(shù)據(jù)的第九位中,是發(fā)送數(shù)據(jù)的第九位,可以用軟件規(guī)定其作用。,可以用軟件規(guī)定其作用??梢杂米鲾?shù)據(jù)的奇偶校驗(yàn)位,或在多機(jī)通信中,作為地址幀可以用作數(shù)據(jù)的奇偶校驗(yàn)位,或在多機(jī)通信中,作為

25、地址幀/數(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時(shí),若時(shí),若SM2=0,則,則RB8是接收到的停止是接收到的停止位。位。TI 發(fā)送中斷標(biāo)志位發(fā)送中斷標(biāo)志位。在方式。在方式0時(shí),當(dāng)串行發(fā)送第時(shí),當(dāng)串行發(fā)送第8位數(shù)據(jù)結(jié)束時(shí),或位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行發(fā)送停止位的開(kāi)始時(shí),由內(nèi)部硬件使在其它方式,串行發(fā)送停止位的開(kāi)始時(shí),由內(nèi)部硬件使TI置置1,向,向CPU發(fā)中斷申請(qǐng)。在

26、中斷服務(wù)程序中,必須用軟件將其清發(fā)中斷申請(qǐng)。在中斷服務(wù)程序中,必須用軟件將其清0,取消此中斷申,取消此中斷申請(qǐng)。請(qǐng)。RI 接收中斷標(biāo)志位接收中斷標(biāo)志位。在方式。在方式0時(shí),當(dāng)串行接收第時(shí),當(dāng)串行接收第8位數(shù)據(jù)結(jié)束時(shí),或位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行接收停止位的中間時(shí),由內(nèi)部硬件使在其它方式,串行接收停止位的中間時(shí),由內(nèi)部硬件使RI置置1,向,向CPU發(fā)中斷申請(qǐng)。也必須在中斷服務(wù)程序中,用軟件將其清發(fā)中斷申請(qǐng)。也必須在中斷服務(wù)程序中,用軟件將其清0,取消此中斷,取消此中斷申請(qǐng)。申請(qǐng)。PCON中只有一位中只有一位SMOD與串行口工作有關(guān)與串行口工作有關(guān) : SMOD(PCON.7) 波特率倍增位

27、。在串行口方式波特率倍增位。在串行口方式1、方式、方式2、方、方式式3時(shí),波特率與時(shí),波特率與SMOD有關(guān),當(dāng)有關(guān),當(dāng)SMOD=1時(shí),波特率提高一倍。復(fù)時(shí),波特率提高一倍。復(fù)位時(shí),位時(shí),SMOD=0。 80C51串行口的工作方式串行口的工作方式 1 方式方式0 方式方式0時(shí),串行口為同步移位寄存器的輸入輸出方式。主時(shí),串行口為同步移位寄存器的輸入輸出方式。主要用于擴(kuò)展并行輸入或輸出口。數(shù)據(jù)由要用于擴(kuò)展并行輸入或輸出口。數(shù)據(jù)由RXD(P3.0)引腳)引腳輸入或輸出,同步移位脈沖由輸入或輸出,同步移位脈沖由TXD(P3.1)引腳輸出。發(fā))引腳輸出。發(fā)送和接收均為送和接收均為8位數(shù)據(jù),低位在先,高位

28、在后。波特率固定位數(shù)據(jù),低位在先,高位在后。波特率固定為為fosc/12。 a.方式方式0輸出輸出 b.方式方式0輸入輸入 方式方式0接收和發(fā)送電路接收和發(fā)送電路 2 方式方式1 方式方式1是是10位數(shù)據(jù)的異步通信口。位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中1位起始位,位起始位,8位數(shù)據(jù)位,位數(shù)據(jù)位,1位停止位。位停止位。 a.方式方式1輸出輸出 b.方式方式1輸入輸入 用軟件置用軟件置REN為為1時(shí),接收器以所選擇波特率的時(shí),接收器以所選擇波特率的16倍速率采樣倍速率采樣R

29、XD引腳引腳電平,檢測(cè)到電平,檢測(cè)到RXD引腳輸入電平發(fā)生負(fù)跳變時(shí),則說(shuō)明起始位有效,將其引腳輸入電平發(fā)生負(fù)跳變時(shí),則說(shuō)明起始位有效,將其移入輸入移位寄存器,并開(kāi)始接收這一幀信息的其余位。接收過(guò)程中,數(shù)移入輸入移位寄存器,并開(kāi)始接收這一幀信息的其余位。接收過(guò)程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時(shí),控?fù)?jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng)制電路進(jìn)行最后一次移位。當(dāng)RI=0,且,且SM2=0(或接收到的停止位為(或接收到的停止位為1)時(shí),將接收到的時(shí),將接收到的9位數(shù)據(jù)的前位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收位數(shù)據(jù)裝入接收SB

30、UF,第,第9位(停止位)進(jìn)位(停止位)進(jìn)入入RB8,并置,并置RI=1,向,向CPU請(qǐng)求中斷。請(qǐng)求中斷。 c.方式方式2和方式和方式3 方式方式2或方式或方式3時(shí)為時(shí)為11位數(shù)據(jù)的異步通信口。位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳為數(shù)據(jù)接收引腳 。 方式方式2和方式和方式3時(shí)起始位時(shí)起始位1位,數(shù)據(jù)位,數(shù)據(jù)9位(含位(含1位附加的第位附加的第9位,發(fā)送時(shí)為位,發(fā)送時(shí)為SCON中的中的TB8,接收時(shí)為,接收時(shí)為RB8),停止位),停止位1位,一幀數(shù)據(jù)為位,一幀數(shù)據(jù)為11位。方式位。方式2的波特率固定為晶振頻率的的波特率固定為晶振頻率的1/64或或1/32

31、,方式,方式3的波特率由定時(shí)器的波特率由定時(shí)器T1的溢的溢出率決定。出率決定。 1)方式)方式2和方式和方式3輸出輸出 發(fā)送開(kāi)始時(shí),先把起始位發(fā)送開(kāi)始時(shí),先把起始位0輸出到輸出到TXD引腳,然后發(fā)送移位寄存器的引腳,然后發(fā)送移位寄存器的輸出位(輸出位(D0)到)到TXD引腳。每一個(gè)移位脈沖都使輸出移位寄存器的各位引腳。每一個(gè)移位脈沖都使輸出移位寄存器的各位右移一位,并由右移一位,并由TXD引腳輸出。引腳輸出。 第一次移位時(shí),停止位第一次移位時(shí),停止位“1”移入輸出移位寄存器的第移入輸出移位寄存器的第9位上位上 ,以后每,以后每次移位,左邊都移入次移位,左邊都移入0。當(dāng)停止位移至輸出位時(shí),左邊其

32、余位全為。當(dāng)停止位移至輸出位時(shí),左邊其余位全為0,檢,檢測(cè)電路檢測(cè)到這一條件時(shí),使控制電路進(jìn)行最后一次移位,并置測(cè)電路檢測(cè)到這一條件時(shí),使控制電路進(jìn)行最后一次移位,并置TI=1,向向CPU請(qǐng)求中斷。請(qǐng)求中斷。 2)方式)方式2和方式和方式3輸入輸入 接收時(shí),數(shù)據(jù)從右邊移入輸入移位寄存器,在起始位接收時(shí),數(shù)據(jù)從右邊移入輸入移位寄存器,在起始位0移到最左邊時(shí),移到最左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng)控制電路進(jìn)行最后一次移位。當(dāng)RI=0,且,且SM2=0(或接收到的第(或接收到的第9位數(shù)據(jù)位數(shù)據(jù)為為1)時(shí),接收到的數(shù)據(jù)裝入接收緩沖器)時(shí),接收到的數(shù)據(jù)裝入接收緩沖器SBUF和和RB8(接收數(shù)據(jù)的第(

33、接收數(shù)據(jù)的第9位),置位),置RI=1,向,向CPU請(qǐng)求中斷。如果條件不滿(mǎn)足,則數(shù)據(jù)丟失,且不置請(qǐng)求中斷。如果條件不滿(mǎn)足,則數(shù)據(jù)丟失,且不置位位RI,繼續(xù)搜索,繼續(xù)搜索RXD引腳的負(fù)跳變。引腳的負(fù)跳變。d.波特率的計(jì)算波特率的計(jì)算 在串行通信中,收發(fā)雙方對(duì)發(fā)送或接收數(shù)據(jù)的速率要有約定。通過(guò)在串行通信中,收發(fā)雙方對(duì)發(fā)送或接收數(shù)據(jù)的速率要有約定。通過(guò)軟件可對(duì)單片機(jī)串行口編程為四種工作方式,其中方式軟件可對(duì)單片機(jī)串行口編程為四種工作方式,其中方式0和方式和方式2的波的波特率是固定的,而方式特率是固定的,而方式1和方式和方式3的波特率是可變的,由定時(shí)器的波特率是可變的,由定時(shí)器T1的溢的溢出率來(lái)決定。

34、出率來(lái)決定。 串行口的四種工作方式對(duì)應(yīng)串行口的四種工作方式對(duì)應(yīng)三種波特率三種波特率。由于輸入的移位時(shí)鐘的來(lái)。由于輸入的移位時(shí)鐘的來(lái)源不同,所以,各種方式的波特率計(jì)算公式也不相同。源不同,所以,各種方式的波特率計(jì)算公式也不相同。方式方式0的波特率的波特率 = fosc/12方式方式2的波特率的波特率 =(2SMOD/64) fosc 方式方式1的波特率的波特率 =(2SMOD/32)(T1溢出率)溢出率)方式方式3的波特率的波特率 =(2SMOD/32)(T1溢出率)溢出率) 當(dāng)當(dāng)T1作為波特率發(fā)生器時(shí),最典型的用法是使作為波特率發(fā)生器時(shí),最典型的用法是使T1工作在自動(dòng)再裝入工作在自動(dòng)再裝入的的

35、8位定時(shí)器方式(即方式位定時(shí)器方式(即方式2,且,且TCON的的TR1=1,以啟動(dòng)定時(shí)器)。這,以啟動(dòng)定時(shí)器)。這時(shí)溢出率取決于時(shí)溢出率取決于TH1中的計(jì)數(shù)值。中的計(jì)數(shù)值。 T1 溢出率溢出率 = fosc /12256 (TH1) 在單片機(jī)的應(yīng)用中,常用的晶振頻率為:在單片機(jī)的應(yīng)用中,常用的晶振頻率為:12MHz和和11.0592MHz。所。所以,選用的波特率也相對(duì)固定。常用的串行口波特率以及各參數(shù)的關(guān)系以,選用的波特率也相對(duì)固定。常用的串行口波特率以及各參數(shù)的關(guān)系如表所示。如表所示。 串行口工作之前,應(yīng)對(duì)其進(jìn)行初始化,主要是設(shè)置產(chǎn)生波特率的定串行口工作之前,應(yīng)對(duì)其進(jìn)行初始化,主要是設(shè)置產(chǎn)生

36、波特率的定時(shí)器時(shí)器1、串行口控制和中斷控制。具體步驟如下:、串行口控制和中斷控制。具體步驟如下:確定確定T1的工作方式的工作方式(編程(編程TMOD寄存器);寄存器);計(jì)算計(jì)算T1的初值的初值,裝載,裝載TH1、TL1;啟動(dòng)啟動(dòng)T1(編程(編程TCON中的中的TR1位);位);確定確定串行口控制串行口控制(編程(編程SCON寄存器);寄存器);串行口在中斷方式工作時(shí),要進(jìn)行中斷設(shè)置(編程串行口在中斷方式工作時(shí),要進(jìn)行中斷設(shè)置(編程IE、IP寄存器)。寄存器)。單片機(jī)與單片機(jī)的通信單片機(jī)與單片機(jī)的通信 1、點(diǎn)對(duì)點(diǎn)的通信、點(diǎn)對(duì)點(diǎn)的通信 硬件連接硬件連接 2、多機(jī)通信、多機(jī)通信 a.硬件連接硬件連接

37、 單片機(jī)構(gòu)成的多機(jī)系統(tǒng)常采用總線(xiàn)型主從式結(jié)構(gòu)。所謂主從式,即在數(shù)單片機(jī)構(gòu)成的多機(jī)系統(tǒng)常采用總線(xiàn)型主從式結(jié)構(gòu)。所謂主從式,即在數(shù)個(gè)單片機(jī)中,有一個(gè)是主機(jī),其余的是從機(jī),從機(jī)要服從主機(jī)的調(diào)度、支個(gè)單片機(jī)中,有一個(gè)是主機(jī),其余的是從機(jī),從機(jī)要服從主機(jī)的調(diào)度、支配。配。80C51單片機(jī)的串行口方式單片機(jī)的串行口方式2和方式和方式3適于這種主從式的通信結(jié)構(gòu)。當(dāng)適于這種主從式的通信結(jié)構(gòu)。當(dāng)然采用不同的通信標(biāo)準(zhǔn)時(shí),還需進(jìn)行相應(yīng)的電平轉(zhuǎn)換,有時(shí)還要對(duì)信號(hào)進(jìn)然采用不同的通信標(biāo)準(zhǔn)時(shí),還需進(jìn)行相應(yīng)的電平轉(zhuǎn)換,有時(shí)還要對(duì)信號(hào)進(jìn)行光電隔離。在實(shí)際的多機(jī)應(yīng)用系統(tǒng)中,常采用行光電隔離。在實(shí)際的多機(jī)應(yīng)用系統(tǒng)中,常采用RS-4

38、85串行標(biāo)準(zhǔn)總線(xiàn)進(jìn)行串行標(biāo)準(zhǔn)總線(xiàn)進(jìn)行數(shù)據(jù)傳輸。數(shù)據(jù)傳輸。b.通信協(xié)議通信協(xié)議所有從機(jī)的所有從機(jī)的SM2位置位置1,處于接收地址幀狀態(tài)。,處于接收地址幀狀態(tài)。主機(jī)發(fā)送一地址幀,其中主機(jī)發(fā)送一地址幀,其中8位是地址,第位是地址,第9位為地址位為地址/數(shù)據(jù)的區(qū)分標(biāo)志,該數(shù)據(jù)的區(qū)分標(biāo)志,該位置位置1表示該幀為地址幀。表示該幀為地址幀。 所有從機(jī)收到地址幀后,都將接收的地址與本機(jī)的地址比較。對(duì)于地址相所有從機(jī)收到地址幀后,都將接收的地址與本機(jī)的地址比較。對(duì)于地址相符的從機(jī),使自己的符的從機(jī),使自己的SM2位置位置0(以接收主機(jī)隨后發(fā)來(lái)的數(shù)據(jù)幀),并把(以接收主機(jī)隨后發(fā)來(lái)的數(shù)據(jù)幀),并把本站地址發(fā)回主機(jī)作

39、為應(yīng)答;對(duì)于地址不符的從機(jī),仍保持本站地址發(fā)回主機(jī)作為應(yīng)答;對(duì)于地址不符的從機(jī),仍保持SM2=1,對(duì)主,對(duì)主機(jī)隨后發(fā)來(lái)的數(shù)據(jù)幀不予理睬。機(jī)隨后發(fā)來(lái)的數(shù)據(jù)幀不予理睬。從機(jī)發(fā)送數(shù)據(jù)結(jié)束后,要發(fā)送一幀校驗(yàn)和,并置第從機(jī)發(fā)送數(shù)據(jù)結(jié)束后,要發(fā)送一幀校驗(yàn)和,并置第9位(位(TB8)為)為1,作為,作為從機(jī)數(shù)據(jù)傳送結(jié)束的標(biāo)志。從機(jī)數(shù)據(jù)傳送結(jié)束的標(biāo)志。主機(jī)接收數(shù)據(jù)時(shí)先判斷數(shù)據(jù)接收標(biāo)志(主機(jī)接收數(shù)據(jù)時(shí)先判斷數(shù)據(jù)接收標(biāo)志(RB8),若),若RB8=1,表示數(shù)據(jù)傳送,表示數(shù)據(jù)傳送結(jié)束,并比較此幀校驗(yàn)和,若正確則回送正確信號(hào)結(jié)束,并比較此幀校驗(yàn)和,若正確則回送正確信號(hào)00H,此信號(hào)命令該從機(jī),此信號(hào)命令該從機(jī)復(fù)位(即

40、重新等待地址幀);若校驗(yàn)和出錯(cuò),則發(fā)送復(fù)位(即重新等待地址幀);若校驗(yàn)和出錯(cuò),則發(fā)送0FFH,命令該從機(jī)重,命令該從機(jī)重發(fā)數(shù)據(jù)。若接收幀的發(fā)數(shù)據(jù)。若接收幀的RB8=0,則存數(shù)據(jù)到緩沖區(qū),并準(zhǔn)備接收下幀信息。,則存數(shù)據(jù)到緩沖區(qū),并準(zhǔn)備接收下幀信息。主機(jī)收到從機(jī)應(yīng)答地址后,確認(rèn)地址是否相符,如果地址不符,發(fā)復(fù)位信主機(jī)收到從機(jī)應(yīng)答地址后,確認(rèn)地址是否相符,如果地址不符,發(fā)復(fù)位信號(hào)(數(shù)據(jù)幀中號(hào)(數(shù)據(jù)幀中TB8=1);如果地址相符,則清);如果地址相符,則清TB8,開(kāi)始發(fā)送數(shù)據(jù)。,開(kāi)始發(fā)送數(shù)據(jù)。從機(jī)收到復(fù)位命令后回到監(jiān)聽(tīng)地址狀態(tài)(從機(jī)收到復(fù)位命令后回到監(jiān)聽(tīng)地址狀態(tài)(SM2=1)。否則開(kāi)始接收數(shù)據(jù)和)。否

41、則開(kāi)始接收數(shù)據(jù)和命令。命令。單片機(jī)串行口應(yīng)用舉例單片機(jī)串行口應(yīng)用舉例 在計(jì)算機(jī)組成的測(cè)控系統(tǒng)中,經(jīng)常要利用串行通信方式進(jìn)行數(shù)據(jù)傳輸。在計(jì)算機(jī)組成的測(cè)控系統(tǒng)中,經(jīng)常要利用串行通信方式進(jìn)行數(shù)據(jù)傳輸。80C51單片機(jī)的串行口為計(jì)算機(jī)間的通信提供了極為便利的條件。利用單單片機(jī)的串行口為計(jì)算機(jī)間的通信提供了極為便利的條件。利用單片機(jī)的串行口還可以方便地?cái)U(kuò)展鍵盤(pán)和顯示器,對(duì)于簡(jiǎn)單的應(yīng)用非常便利。片機(jī)的串行口還可以方便地?cái)U(kuò)展鍵盤(pán)和顯示器,對(duì)于簡(jiǎn)單的應(yīng)用非常便利。這里僅介紹單片機(jī)串行口在通信方面的應(yīng)用。這里僅介紹單片機(jī)串行口在通信方面的應(yīng)用。1、移位式數(shù)據(jù)串入、移位式數(shù)據(jù)串入 電路如圖,利用電路如圖,利用74

42、165將將撥碼開(kāi)關(guān)的狀態(tài)轉(zhuǎn)換成串行撥碼開(kāi)關(guān)的狀態(tài)轉(zhuǎn)換成串行數(shù)據(jù)由數(shù)據(jù)由RXD輸入,其數(shù)據(jù)將輸入,其數(shù)據(jù)將反映在反映在P1所接的所接的LED上。上。#include #define LED P1sbit load=P32;main() SCON=0 x11; while(1) load=0; load=1; RI=0; while(RI=0); LED=SBUF; 2、移位式數(shù)據(jù)串出、移位式數(shù)據(jù)串出 電路如圖,利用電路如圖,利用74164將將輸出數(shù)據(jù)由輸出數(shù)據(jù)由RXD輸出,程序中將輸出,程序中將8P撥碼開(kāi)撥碼開(kāi)關(guān)的狀態(tài)經(jīng)關(guān)的狀態(tài)經(jīng)P2輸入到輸入到8051,再由,再由8051通過(guò)通過(guò)串行路徑輸出到

43、串行路徑輸出到74164,而,而74164的并行輸?shù)牟⑿休敵瞿_連接出腳連接8個(gè)個(gè)LED。#include #define DIPSW P2main() SCON=0 x00; while(1) DIPSW=0 xff; SBUF=DIPSW; while(TI=0); TI=0; 3、mode 1 mode 1通訊時(shí),雙方采用相同的波特通訊時(shí),雙方采用相同的波特率,誤差不能超過(guò)率,誤差不能超過(guò)2.5%。 電路如圖,采用電路如圖,采用12Mhz時(shí)鐘。時(shí)鐘。#include #define LED P1#define DIP_SW P2main() TMOD|=0 x20; PCON&=0 x7f

44、; TH1=TL1=0 xfd; TR1=1; SCON=0 x50; while(1) DIP_SW=0 xff; SBUF=DIP_SW; while(RI=0); RI=0; LED=SBUF; TI=0; 程序采用的是查詢(xún)方式,若采用中斷程序采用的是查詢(xún)方式,若采用中斷方式。方式。#include #define LED P1#define DIP_SW P2sbit BUZZER=P37;void delay(int);char i;main() TMOD|=0 x20; PCON&=0 x7f; TH1=TL1=0 xfd; TR1=1; SCON=0 x50; EA=ES=1; DIP_SW=0 xff; SBUF=DIP_SW; while(1) for(i=0;i30;i+) BUZZER=1;delay(1); BUZZER=0;delay(1); dela

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論