《單片機(jī)原理、接口與C51應(yīng)用程序設(shè)計(jì)》課件第7章_第1頁(yè)
《單片機(jī)原理、接口與C51應(yīng)用程序設(shè)計(jì)》課件第7章_第2頁(yè)
《單片機(jī)原理、接口與C51應(yīng)用程序設(shè)計(jì)》課件第7章_第3頁(yè)
《單片機(jī)原理、接口與C51應(yīng)用程序設(shè)計(jì)》課件第7章_第4頁(yè)
《單片機(jī)原理、接口與C51應(yīng)用程序設(shè)計(jì)》課件第7章_第5頁(yè)
已閱讀5頁(yè),還剩72頁(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)介

第7章MCS-51串口通信7.1串行通信基礎(chǔ)知識(shí)

7.2MCS-51的串行口及控制寄存器

7.3串行口工作方式

7.4串行口的初始化與應(yīng)用

7.5單片機(jī)與PC的通信

7.1串行通信基礎(chǔ)知識(shí)

7.1.1并行通信與串行通信

計(jì)算機(jī)與外界的通信(communication)有兩種基本方式,即并行通信和串行通信,如圖7.1所示。圖7.1并行通信和串行通信圖7.2串行通信的制式7.1.2串行通信的制式

按照數(shù)據(jù)傳送的方向,串行通信可以分為3種制式,即單工、半雙工和全雙工,如圖7.2所示。

7.1.3異步通信和同步通信

串行通信按信息的格式可以分為同步通信和異步通信兩種不同的方式。

異步通信中數(shù)據(jù)以字符(字節(jié))為單位組成字符幀,發(fā)送端一幀一幀地發(fā)送字符幀,接收端一幀一幀地接收字符幀,收發(fā)兩端由各自獨(dú)立的時(shí)鐘信號(hào)來(lái)控制數(shù)據(jù)的發(fā)送和接收。發(fā)送端可以在任意時(shí)間發(fā)送字符幀,所以接收端隨時(shí)要做好接收幀的準(zhǔn)備。另外,傳送時(shí)必須對(duì)幀進(jìn)行定界,以區(qū)分不同的字符幀。幀定界包含幀起始位和幀結(jié)束位標(biāo)志。傳輸時(shí)每一個(gè)字符前加一個(gè)低電平的起始位,然后是數(shù)據(jù)位,數(shù)據(jù)位可以是5~8位,傳輸時(shí)低位在前,高位在后,數(shù)據(jù)位后面可以帶一位奇偶校驗(yàn)位,最后是停止位,停止位用高電平,停止位可以是1、1.5或2位。異步串行通信的字符幀格式如圖7.3所示。圖7.3異步串行通信的字符幀格式7.1.4波特率

波特率是指每秒鐘傳輸?shù)亩M(jìn)制數(shù)碼的位數(shù),單位是b/s。波特率是串行通信的重要指標(biāo),用于表征數(shù)據(jù)傳送的速率。波特率越高,數(shù)據(jù)傳輸速度越快。字符的實(shí)際傳送速率與波特率不同。字符的實(shí)際傳送速率是指每秒鐘內(nèi)所傳字符幀的幀數(shù),與字符幀格式有關(guān)。通常,異步通信的波特率在50b/s~9600b/s之間。在編寫(xiě)串行通信程序時(shí),首先要確定波特率和字符幀格式兩個(gè)參數(shù),通信雙方的波特率必須保持嚴(yán)格一致,傳輸數(shù)據(jù)的字符幀格式必須統(tǒng)一。

7.2MCS-51的串行口及控制寄存器

7.2.1串行口的結(jié)構(gòu)

MCS-51單片機(jī)的串行口由串行發(fā)送寄存器SBUF(99H)、串行接收寄存器SBUF(99H)、發(fā)送控制器、接收控制器、輸入移位寄存器等部分組成,其內(nèi)部結(jié)構(gòu)框圖如圖7.4所示。圖7.4MCS-51單片機(jī)串行口結(jié)構(gòu)框圖7.2.2串行口控制寄存器

1.串行口控制寄存器SCON

串行口控制寄存器SCON決定著串行口的通信方式,控制數(shù)據(jù)的接收和發(fā)送,標(biāo)示串行口的工作狀態(tài)。其字節(jié)地址為98H,可以進(jìn)行位尋址,位地址為98H~9FH。它的位格式定義如表7.1所示。表7.1串行口控制寄存器SCON

SCON各位的功能如下:

SM0、SM1:串行口工作方式選擇位。串口的工作方式及相應(yīng)的波特率如表7.2所示。表中,fosc為單片機(jī)的時(shí)鐘頻率。表7.2串行口工作方式選擇

2.電源控制寄存器PCON

電源控制寄存器PCON主要用于電源控制和串行口波特率加倍,其字節(jié)地址為87H,不能進(jìn)行位尋址,只能按照字節(jié)方式訪問(wèn)。它的格式如圖7.5所示。圖7.5電源控制寄存器PCON

7.3串行口工作方式

7.3.1方式0

1.發(fā)送過(guò)程

在發(fā)送中斷標(biāo)志位TI?=?0時(shí),CPU執(zhí)行一條向發(fā)送緩存器SBUF寫(xiě)數(shù)據(jù)的指令,如“MOVSBUF,A”,就啟動(dòng)了串行數(shù)據(jù)的發(fā)送,經(jīng)過(guò)一個(gè)機(jī)器周期,SBUF中的數(shù)據(jù)按低位在前、高位在后的順序從RXD端依次送出,而同步時(shí)鐘從TXD送出。一幀(8位)數(shù)據(jù)發(fā)送結(jié)束后,硬件自動(dòng)使發(fā)送中斷標(biāo)志位TI置“1”,向CPU申請(qǐng)中斷。中斷響應(yīng)后,必須由軟件使TI清“0”,才可以發(fā)送下一幀數(shù)據(jù)。

2.接收過(guò)程

在REN?=?1且接收中斷標(biāo)志位RI?=?0時(shí),就會(huì)啟動(dòng)一次接收過(guò)程,串行數(shù)據(jù)通過(guò)RXD輸入,而通過(guò)TXD輸出同步脈沖。在同步脈沖的控制下,RXD引腳上的數(shù)據(jù)依次送入接收移位寄存器,當(dāng)8位的數(shù)據(jù)全部進(jìn)入移位寄存器之后,由接收控制器將一幀數(shù)據(jù)并行送入接收數(shù)據(jù)緩沖器SBUF,同時(shí)由硬件自動(dòng)使接收中斷標(biāo)志位RI?=?1,向CPU申請(qǐng)中斷。中斷響應(yīng)后,CPU將SBUF中的數(shù)據(jù)讀走,然后用軟件使RI清“0”,移位寄存器開(kāi)始接收下一幀數(shù)據(jù)。7.3.2方式1

SM0SM1?=?01時(shí),串口工作于方式1。方式1為8位異步串行通信(UART)。此方式下,一幀數(shù)據(jù)為10bit:1bit起始位(0),8bit數(shù)據(jù)(低位在前,高位在后),1bit停止位(1)。由TXD引腳發(fā)送數(shù)據(jù),由RXD引腳接收數(shù)據(jù)。方式1的波特率可變,由定時(shí)器T1的溢出率和PCON中的SMOD位共同決定,即

1.發(fā)送過(guò)程

在發(fā)送中斷標(biāo)志位TI?=?0時(shí),CPU執(zhí)行一條向發(fā)送緩存器SBUF寫(xiě)數(shù)據(jù)的指令,就啟動(dòng)了串行數(shù)據(jù)的發(fā)送。數(shù)據(jù)由TXD引腳送出,發(fā)送時(shí)鐘由定時(shí)器/計(jì)數(shù)器T1送來(lái)的溢出信號(hào)經(jīng)16分頻或32分頻后得到。在發(fā)送時(shí)鐘的控制下,從TXD引腳先送出1bit低電平的起始位,然后按照低位在前、高位在后的順序送出8bit的數(shù)據(jù),最后送出1bit高電平的停止位。一幀(10位)數(shù)據(jù)發(fā)送結(jié)束,由硬件自動(dòng)使發(fā)送中斷標(biāo)志位TI置“1”,向CPU申請(qǐng)中斷。中斷響應(yīng)后,必須由軟件使TI清“0”,告訴CPU可以發(fā)送下一幀數(shù)據(jù)。

2.接收過(guò)程

在REN?=?1時(shí),接收器就開(kāi)始工作,接收器以16倍的波特率采樣RXD引腳上的電平。當(dāng)采樣到從“1”至“0”的跳變后,接收控制寄存器開(kāi)始接收數(shù)據(jù),在接收移位脈沖的控制下數(shù)據(jù)依次送入接收移位寄存器,當(dāng)8位數(shù)據(jù)和1位停止位全部移入時(shí),按下面狀態(tài)進(jìn)行響應(yīng)。

(1)?RI?=?0,SM2?=?0:將移位寄存器中的數(shù)據(jù)送入接收數(shù)據(jù)緩沖器SBUF,停止位裝入RB8,接收中斷標(biāo)志位RI置“1”,向CPU申請(qǐng)中斷。

(2)?RI?=?0,SM2?=?1:只有接收到的停止位為“1”時(shí)才發(fā)生上述操作。

(3)?RI?=?0,SM2?=?1,且停止位為0:將接收到的數(shù)據(jù)丟失,不裝入SBUF。

(4)?RI?=?1:將接收到的數(shù)據(jù)丟失,不裝入SBUF。

無(wú)論出現(xiàn)哪種情況,接收控制器將繼續(xù)采樣RXD引腳,以便接收下一幀的信息。

7.3.3方式2和方式3

SM0SM1?=?10和11時(shí),串口分別工作于方式2和方式3。方式2和方式3是9位異步串行通信。在方式2和方式3下,一幀數(shù)據(jù)為11bit:1bit起始位(0),8bit數(shù)據(jù)(低位在前,高位在后),1bit可編程位(第9位數(shù)據(jù)),1bit停止位(1)。發(fā)送的第9位數(shù)據(jù)放于TB8中,接收的第9位數(shù)據(jù)放于RB8中。由TXD引腳發(fā)送數(shù)據(jù),由RXD引腳接收數(shù)據(jù)。方式2、3的區(qū)別主要是波特率產(chǎn)生方式不同:方式2的波特率是固定的,為fosc/32(SMOD=1)或fosc/64(SMOD=0);方式3的波特率與方式1的波特率完全相同,由定時(shí)器/計(jì)數(shù)器T1的溢出率和電源控制寄存器PCON中的SMOD決定,即

1.發(fā)送過(guò)程

方式2和方式3發(fā)送的數(shù)據(jù)是9位,發(fā)送前必須先將第9位數(shù)據(jù)裝入SCON的TB8中。發(fā)送過(guò)程類(lèi)似于方式1,從TXD引腳先送出1bit低電平的起始位,然后是8bit的數(shù)據(jù)位,TB8中的數(shù)據(jù)跟在前8位數(shù)據(jù)之后,最后是1bit高電平的停止位。一幀(11bit)數(shù)據(jù)發(fā)送結(jié)束,由硬件自動(dòng)使TI置“1”,向CPU申請(qǐng)中斷。

2.接收過(guò)程

方式2和方式3的接收過(guò)程與方式1類(lèi)似,所不同的是接收到的第9位數(shù)據(jù)不是停止位,接收到后存放于SCON的RB8中。接收是否有效也是由該位判斷的,而不是由停止位判斷的。

MCS-51串口的四種工作方式中,方式1、方式2、方式3是異步串行通信(UART),方式0是同步通信,其特點(diǎn)如表7.3所示。表7.3串口的四種工作方式

7.4串行口的初始化與應(yīng)用

7.4.1串行口的初始化

1.串行口工作方式的設(shè)置

應(yīng)通過(guò)對(duì)串行口控制寄存器SCON編程來(lái)確定串行口的工作方式。根據(jù)工作方式設(shè)置SM0、SM1的值,對(duì)方式2和方式3還要確定SM2的值。若為接收端,則允許接收位REN置“1”。若以方式2或方式3發(fā)送數(shù)據(jù),則將要發(fā)送的第9位數(shù)據(jù)寫(xiě)入TB8中。

2.波特率的設(shè)置

對(duì)于方式0,不需對(duì)波特率進(jìn)行設(shè)置,通信的波特率為fosc/12。對(duì)于方式2,只需對(duì)電源控制寄存器PCON中的SMOD位進(jìn)行設(shè)置,SMOD?=?0,波特率?=?fosc/32,SMOD?=?0,波特率?=?fosc/64。

對(duì)于方式1和方式3,除要設(shè)置SMOD之外,還要對(duì)定時(shí)器/計(jì)數(shù)器T1進(jìn)行設(shè)置,一般定時(shí)器/計(jì)數(shù)器T1工作于方式2。根據(jù)實(shí)際需要選擇一個(gè)合適的波特率,根據(jù)前面波特率的計(jì)算公式:7.4.2串行口的應(yīng)用

1.利用方式0擴(kuò)展并行I/O口

當(dāng)MCS-51單片機(jī)的串行口工作在方式0時(shí),每外接一片串行輸入、并行輸出的移位寄存器(如74LS164、CD4094),就可以擴(kuò)展一個(gè)8位并行輸出口,如圖7.6(a)所示。每外接一片并行輸入、串行輸出的移位寄存器(如74LS165、CD4014),就可以擴(kuò)展一個(gè)8位并行輸入口,如圖7.6(b)所示。圖7.6串行口工作在方式0時(shí)的應(yīng)用

【例7.1】如圖7.7所示,MCS-51的串口外接一串入并出的芯片74LS164以擴(kuò)展并行輸出口,控制一組發(fā)光二極管發(fā)光,使二極管從左向右依次輪流循環(huán)點(diǎn)亮,試寫(xiě)出程序。圖7.774LS164擴(kuò)展并行輸出口

【例7.2】如圖7.8所示,由一組開(kāi)關(guān)S1~S8分別來(lái)控制一組發(fā)光二極管L1~L8,當(dāng)開(kāi)關(guān)接到+5V電源時(shí)相應(yīng)的二極管點(diǎn)亮,當(dāng)開(kāi)關(guān)接到地時(shí)相應(yīng)的二極管熄滅,試寫(xiě)出相應(yīng)的程序。圖7.874LS165擴(kuò)展并行輸入口

2.利用方式1實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)串行通信

要實(shí)現(xiàn)兩臺(tái)單片機(jī)之間點(diǎn)對(duì)點(diǎn)的通信,只需要將A機(jī)的TXD與B機(jī)的RXD相連,將A機(jī)的RXD與B機(jī)的TXD相連,兩機(jī)的地線相連,兩臺(tái)單片機(jī)采用相同的工作方式,設(shè)置相同的波特率就可以實(shí)現(xiàn)。

【例7.3】如圖7.9所示,某數(shù)據(jù)采集顯示系統(tǒng)由A、B兩單片機(jī)組成,A機(jī)每次將采集到的數(shù)據(jù)data發(fā)送給B機(jī),B機(jī)則將收到的數(shù)據(jù)送到顯示器上顯示。A、B兩機(jī)之間進(jìn)行串行通信,假定雙機(jī)的時(shí)鐘頻率均為fosc?=?11.0592MHz,波特率均為9600b/s。寫(xiě)出相應(yīng)的雙機(jī)通信程序。圖7.9方式1實(shí)現(xiàn)雙機(jī)通信

3.利用方式2和方式3實(shí)現(xiàn)多機(jī)通信

單片機(jī)之間的通信除了點(diǎn)對(duì)點(diǎn)通信外,還有一機(jī)對(duì)多機(jī)或多機(jī)之間的通信,其中主從式多機(jī)通信是比較常用的一種方式。在主從式多機(jī)通信系統(tǒng)中,只有一臺(tái)主機(jī),但可以有多臺(tái)從機(jī),主機(jī)發(fā)送的信息可以傳送到各個(gè)從機(jī)或指定從機(jī),從機(jī)發(fā)送的信息只能為主機(jī)所接收,各從機(jī)之間不能直接通信。MCS-51單片機(jī)串行口的方式2和方式3可以實(shí)現(xiàn)多機(jī)通信功能,可實(shí)現(xiàn)一臺(tái)主機(jī)和若干臺(tái)從機(jī)構(gòu)成總線式的多機(jī)分布式系統(tǒng),其連接方式如圖7.10所示。圖7.10多機(jī)通信的硬件連接多機(jī)通信原理流程如圖7.11所示。圖7.11多機(jī)通信原理流程圖 7.5單片機(jī)與PC的通信

7.5.1RS-232串行總線通信的基本原理

1.?RS-232串行總線接口

RS-232是EIA為公用電話(huà)網(wǎng)絡(luò)數(shù)據(jù)通信而制定的標(biāo)準(zhǔn)。其中,RS(RecommendStandard)代表推薦標(biāo)準(zhǔn),232是標(biāo)識(shí)號(hào)。RS-232為數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE)之間的串行數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn),該標(biāo)準(zhǔn)規(guī)定采用一個(gè)25腳的DB-25連接器,后來(lái)IBM的PC將RS-232簡(jiǎn)化成了DB-9連接器,從而成為事實(shí)標(biāo)準(zhǔn),其引腳如圖7.12所示。表7.4為常用的DB-25和DB-9接口各引腳的信號(hào)功能。工業(yè)控制中RS-232一般只使用RXD、TXD、GND三條線。圖7.12RS-232引腳排列由于RS-232的發(fā)送和接收是“對(duì)地”而言的,采用非平衡模式傳輸,存在共地噪聲,所以其最大傳輸距離和速率在標(biāo)準(zhǔn)中被限定為15m和19200b/s。在實(shí)際應(yīng)用中有數(shù)據(jù)表明在300b/s的速率下,通信距離也可以達(dá)到150m以上,但從嚴(yán)格意義上來(lái)講,這是不符合規(guī)范要求的。從電氣特性來(lái)看,RS-232總線的邏輯電平與TTL電平完全不兼容,總線中的任何一條信號(hào)線的電壓均為負(fù)邏輯關(guān)系,邏輯“0”規(guī)定為+5V~+15V之間,邏輯“1”規(guī)定為-5V~-15V之間,噪聲容限為2V,即要求接收器能識(shí)別低至+3V的信號(hào)作為邏輯“0”,高到-3V的信號(hào)作為邏輯“1”。表7.4RS-232引腳的信號(hào)功能

2.?TTL/RS-232電平轉(zhuǎn)換及其接口電路

RS-232規(guī)定的電平和一般微處理器的邏輯電平不一致,必須進(jìn)行電平轉(zhuǎn)換。實(shí)現(xiàn)邏輯電平轉(zhuǎn)換可以采用以下幾種方式。

(1)采用MC1488和MC1489轉(zhuǎn)換芯片。MC1488和MC1489芯片為早期的RS-232至TTL邏輯電平的轉(zhuǎn)換芯片。圖7.13為實(shí)際電路。采用該芯片的主要缺點(diǎn)是電路需要加?±12V電壓,不適用于低功耗的系統(tǒng)。圖中,TXD、RXD分別接單片機(jī)的發(fā)送和接收端。圖7.13MC1488和MC1489電平轉(zhuǎn)換電路

(2)采用MAX232轉(zhuǎn)換芯片。MAX232芯片是美信(MAXIM)公司專(zhuān)為RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的電平轉(zhuǎn)換芯片,使用+5V單電源供電。芯片內(nèi)部有一個(gè)電壓轉(zhuǎn)換器,將輸入的+5V電壓轉(zhuǎn)換為RS-232接口所需的±10V電壓,尤其適用于沒(méi)有±12V的單電源系統(tǒng)。與此原理相同的芯片還有MAX202、AD公司的ADM101以及INTERSIL公司的ICL232芯片等,ICL232與MAX232可直接替換。圖7.14為MAX232的引腳排列及各引腳的功能圖。圖7.14MAX232的引腳排列及各引腳的功能圖圖7.15為MAX232的典型應(yīng)用電路。圖7.15MAX232的典型應(yīng)用電路

(3)采用分立元件實(shí)現(xiàn)電平轉(zhuǎn)換。當(dāng)通信距離在1m~2m時(shí),可采用分立元件實(shí)現(xiàn)RS-232/TTL電平轉(zhuǎn)換。圖7.16為接口電路。該電路的特點(diǎn)是利用PC的RS-232串口的3腳(也可用4、7腳)供給負(fù)電源(-10V左右),驅(qū)動(dòng)能力可達(dá)20mA。利用這個(gè)特性,用一個(gè)二極管和電解電容C,即可在C上獲取RS-232通信所需的負(fù)電源。該電路簡(jiǎn)單,功耗小,在沒(méi)有專(zhuān)用芯片時(shí)不失為一種替代方法。

上述介紹的RS-232至TTL電平轉(zhuǎn)換的方法適用于大多數(shù)通信系統(tǒng),在一些特殊應(yīng)用場(chǎng)合需要諸如靜電保護(hù)、多收發(fā)器(如和MODEM連接)時(shí)可采用MAX238(4驅(qū)動(dòng)、4接收)或MAX3221(±15kV靜電保護(hù))等芯片。圖7.16分立元件實(shí)現(xiàn)RS-232/TTL電平的轉(zhuǎn)換電路7.5.2RS-485串行總線通信的基本原理

1.?RS-422與RS-485串行總線接口

RS-422、RS-485與RS-232不一樣,數(shù)據(jù)信號(hào)采用差分傳輸方式,它使用一對(duì)雙絞線,將其中一線定義為A,另一線定義為B,通常情況下,發(fā)送驅(qū)動(dòng)器A、B之間的電平在+2V~+6V時(shí)為邏輯1,電平在-2V~-6V時(shí)為是邏輯0。

RS-422使用差分信號(hào),差分傳輸時(shí)用兩根線發(fā)送和接收信號(hào)(共4線),與RS-232相比較,它能更好地抗噪聲,有更遠(yuǎn)的傳輸距離。在工業(yè)環(huán)境中更好的抗噪性和更遠(yuǎn)的傳輸距離是一個(gè)很大的優(yōu)點(diǎn)。

RS-485是RS-422的改進(jìn),因?yàn)樗黾恿藬?shù)據(jù)終端設(shè)備(DTE)的個(gè)數(shù),將其從10個(gè)增加到了32個(gè)。RS-485可以用超過(guò)4000m的線進(jìn)行串行通信。在機(jī)械結(jié)構(gòu)上,RS-485與RS-232一樣,采用DB-9連接器。RS-485采用正邏輯,兩線間的電壓差為+2V~+6V時(shí)為邏輯“1”,兩線間的電壓差為-2V~-6V時(shí)為邏輯“0”。由于RS-422的收與發(fā)是分開(kāi)的,所以可以同時(shí)收和發(fā)(全雙工),但RS-485的收與發(fā)共用兩根線,所以不能夠同時(shí)收和發(fā)(半雙工)。RS-485與RS-422的不同還在于其共模輸出電壓是不同的,RS-485在-7V~+12V之間,而RS-422在-7V~+7V之間。RS-422與RS-485傳輸需要2個(gè)終接電阻,其阻值要求等于傳輸電纜的特性阻抗。

RS-485標(biāo)準(zhǔn)的具體規(guī)格要求如下:

(1)接收器的輸入電阻RIN≥12kΩ。

(2)驅(qū)動(dòng)器能輸出±7V的共模電壓。

(3)輸入端的電容≤50pF。

(4)在節(jié)點(diǎn)數(shù)為32個(gè),配置了120Ω的終端電阻的情況下,驅(qū)動(dòng)器至少還能輸出電壓1.5V。

(5)接收器的輸入靈敏度為200mV(即(V+)-(V-)≥0.2V,表示信號(hào)“0”,(V+)-(V-)≤-0.2V,表示信號(hào)“1”)。

常見(jiàn)的三種串口通信性能比較如表7.5所示。表7.5常見(jiàn)的三種串口通信性能比較

2.?RS-485接口芯片

MAX481、MAX483、MAX485、MAX487、MAX491等是用于RS-485與RS-422通信的低功耗收發(fā)器,每個(gè)器件都具有一個(gè)驅(qū)動(dòng)器和一個(gè)接收器。MAX483、MAX487、MAX488以及MAX489具有有限擺率的驅(qū)動(dòng)器,可以減小電磁干擾,并降低由不恰當(dāng)?shù)慕K端匹配電纜引起的反射,實(shí)現(xiàn)最高250kb/s的無(wú)差錯(cuò)數(shù)據(jù)傳輸。MAX481、MAX485、MAX490、MAX491等的驅(qū)動(dòng)器擺率不受限制,可以實(shí)現(xiàn)最高2.5Mb/s的傳輸速率,這些收發(fā)器在驅(qū)動(dòng)器禁用的空載或滿(mǎn)載狀態(tài)下,吸收的電源電流在120A~500A之間。以上所有器件都工作在+5V單電源下。

MAX485的額定電流為300μA,采用半雙工通信方式。它完成將TTL電平轉(zhuǎn)換為RS-485電平的功能。其引腳結(jié)構(gòu)圖如圖7.17所示。圖7.17MAX485的引腳和結(jié)構(gòu)圖

3.基于RS-485的PC與單片機(jī)通信

51系列單片機(jī)實(shí)現(xiàn)與PC之間的通信時(shí),必須使用電平轉(zhuǎn)換接口芯片,因?yàn)閱纹瑱C(jī)輸出的是TTL電平,必須經(jīng)過(guò)電平轉(zhuǎn)換才能和PC的一致。單片機(jī)一側(cè)需要采用RS-485接口,而在PC一側(cè)需要的是RS-232與RS-485的電平轉(zhuǎn)換接口,如圖7.18所示。圖7.18基于RS-485串行通信連接框圖

PC機(jī)與單片機(jī)串行通信連接圖如圖7.19所示。圖7.19PC與單片機(jī)的連接電路7.5.3USB串行總線通信的基本原理

1.?USB串行總線簡(jiǎn)介

USB(UniversalSerialBus)通用串行總線是由Compaq、HP、Intel、Lucent、NEC、Microsoft和PHILIPS七家公司聯(lián)合推出的新一代標(biāo)準(zhǔn)接口總線。該總線是一種連接外圍設(shè)備的總線,最多可連接127個(gè)設(shè)備,為微機(jī)系統(tǒng)擴(kuò)充和配置外部設(shè)備提供了方便。USB通信技術(shù)以其易插拔、速度快、即插即用和獨(dú)立供電等特點(diǎn),已得到非常廣泛的應(yīng)用。目前幾乎所有的PC都帶幾個(gè)USB接口,而大部分PC已不帶有RS-232和RS-485接口。為了解決嵌入式系統(tǒng)與個(gè)人計(jì)算機(jī)USB接口之間的通信問(wèn)題,硬件廠商提供各種不同的解決方案。一種方案是使用帶USB接口的單片機(jī)和獨(dú)立的USB接口器件,如Cypress公司的CY7C68013A和PHILIPS公司的PIUSBDl2。這種方案需開(kāi)發(fā)人員了解和掌握USB的接口原理、協(xié)議,設(shè)計(jì)USB設(shè)備驅(qū)動(dòng)程序,而USB接口協(xié)議的復(fù)雜性給開(kāi)發(fā)人員帶來(lái)了諸多不便,開(kāi)發(fā)周期長(zhǎng)。另一種方案是使用RS-232到USB的接口轉(zhuǎn)換器,這些器件在其內(nèi)部完成RS-232到USB接口協(xié)議的轉(zhuǎn)換,開(kāi)發(fā)人員完全不用更改或只需更改很少的PC端應(yīng)用程序就可完成與USB接口的通信,如Prolific公司的PL2303、SiliconLabs公司的CP2102型RS-232-USB接口轉(zhuǎn)換器。這類(lèi)器件價(jià)格成本低,開(kāi)發(fā)簡(jiǎn)單。利用RS-232-USB接口轉(zhuǎn)換器完成通信任務(wù),既具有即插即用的優(yōu)點(diǎn),又避免了繁瑣的USB協(xié)議和USB驅(qū)動(dòng),開(kāi)發(fā)方便。這里介紹RS-232-USB接口轉(zhuǎn)換器PL2303的特點(diǎn)與原理,并介紹利用該器件實(shí)現(xiàn)單片機(jī)與個(gè)人計(jì)算機(jī)之間的通信接口設(shè)計(jì)。

2.?PL2303芯片簡(jiǎn)介

PL2303是Prolific公司生產(chǎn)的一種高度集成的RS-232-USB接口轉(zhuǎn)換器,可提供一個(gè)RS-232全雙工異步串行通信裝置與USB功能接口便利連接的解決方案。該器件內(nèi)置USB功能控制器、USB收發(fā)器、振蕩器和帶有全部調(diào)制解調(diào)器控制信號(hào)的UART,只需外接幾只電容就可實(shí)現(xiàn)USB信號(hào)與RS-232信號(hào)的轉(zhuǎn)換,能夠方便嵌入到手持設(shè)備。該器件作為USB/RS-232雙向轉(zhuǎn)換器,一方面從主機(jī)接收USB數(shù)據(jù)并將其轉(zhuǎn)換為RS-232信息流格式后發(fā)送給外設(shè)

溫馨提示

  • 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)論