單片機(jī)串行數(shù)據(jù)通信技術(shù)研討_第1頁(yè)
單片機(jī)串行數(shù)據(jù)通信技術(shù)研討_第2頁(yè)
單片機(jī)串行數(shù)據(jù)通信技術(shù)研討_第3頁(yè)
單片機(jī)串行數(shù)據(jù)通信技術(shù)研討_第4頁(yè)
單片機(jī)串行數(shù)據(jù)通信技術(shù)研討_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)串行數(shù)據(jù)通信技術(shù)第八章教學(xué)內(nèi)容8.1串行通信基礎(chǔ)知識(shí)8.2MCS-51的串行口及控制寄存器8.3MCS-51串行通信工作方式及其應(yīng)用8.4單片機(jī)多機(jī)通信8.5PC機(jī)與8051間的通信一、數(shù)據(jù)通信的概念在實(shí)際工作種,計(jì)算機(jī)的CPU與外部設(shè)備之間常常要進(jìn)行信息交換,一臺(tái)計(jì)算機(jī)與其他計(jì)算機(jī)也往往要交換信息,所有這些信息交換均可稱為通信。通信實(shí)際上也是計(jì)算機(jī)的數(shù)據(jù)的傳送。數(shù)據(jù)通信方式有兩種:并行數(shù)據(jù)通信和串行數(shù)據(jù)通信,如下圖所示。串行數(shù)據(jù)通信是指數(shù)據(jù)按位順序進(jìn)行傳送的通信方式。其特點(diǎn)是:數(shù)據(jù)傳送是一位一位進(jìn)行傳送的,最少只需一根傳輸線即可完成,成本低但速度慢。計(jì)算機(jī)與外界的數(shù)據(jù)傳送大多數(shù)是串行的,其傳送的距離可以從幾m到幾千km。下圖兩種通信方式連接

并行數(shù)據(jù)傳送是指數(shù)據(jù)的各位同時(shí)進(jìn)行傳送的通信方式。其特點(diǎn)是:各數(shù)據(jù)位同時(shí)傳送,傳送速度快、效率高。但并行數(shù)據(jù)傳送有多少數(shù)據(jù)位就需多少根數(shù)據(jù)線,因此傳送成本高。并行數(shù)據(jù)傳送的距離通常小于30m,在計(jì)算機(jī)內(nèi)部的數(shù)據(jù)傳送都是并行的。8.1串行通信基礎(chǔ)知識(shí)圖8-1兩種通信方式連接8.1串行通信基礎(chǔ)知識(shí)一、異步串行通信的字符格式

異步串行通信以字符為單位,即一個(gè)字符一個(gè)字符的傳送。幀圖515異步串行通信的字符格式起始位數(shù)據(jù)位[0~(n1)位]奇偶位停止位起始位位時(shí)間8.1串行通信基礎(chǔ)知識(shí)⑶奇偶效驗(yàn)位——用于對(duì)字符的傳送作正確性檢查,因此奇偶效驗(yàn)位是可選擇的,共有3種可能,即奇效驗(yàn)、偶效驗(yàn)和無(wú)效驗(yàn),由用戶根據(jù)需要選定。

⑴起始位——開始一個(gè)字符的傳送的標(biāo)志位。起始位使數(shù)據(jù)線處于“0”狀態(tài)。⑵數(shù)據(jù)位——起始位之后傳送的數(shù)據(jù)信號(hào)位。在數(shù)據(jù)位中,低位在前(左)高位在后(右)。由于字符編碼方式的不同,數(shù)據(jù)位可以是5、6、7或8位。⑷停止位——用以標(biāo)志一個(gè)字符的結(jié)束,它對(duì)應(yīng)于“1”狀態(tài)。停止位在一幀的最后,它可能是1、1.5或2位,在實(shí)際中根據(jù)需要確定。

8.1串行通信基礎(chǔ)知識(shí)⑸位時(shí)間——一個(gè)格式位的時(shí)間寬度。⑹幀(frame)——從起始位開始到停止位結(jié)束的全部?jī)?nèi)容稱之為一幀。幀是一個(gè)字符的完整通信格式,因此也就把串行通信的字符格式稱之為幀格式。8.1串行通信基礎(chǔ)知識(shí)同步通信下圖同步通信的數(shù)據(jù)格式同步通信中,在數(shù)據(jù)開始傳送前用同步字符來(lái)指示(常約定1~2個(gè)),并由時(shí)鐘來(lái)實(shí)現(xiàn)發(fā)送端和接收端同步,即檢測(cè)到規(guī)定的同步字符后,下面就連續(xù)按順序傳送數(shù)據(jù),直到通信告一段落。同步傳送時(shí),字符與字符之間沒有間隙,也不用起始位和停止位,僅在數(shù)據(jù)塊開始時(shí)用同步字符SYNC來(lái)指示,其數(shù)據(jù)格式如圖8-3所示。同步字符的插入可以是單同步字符方式或雙同步字符方式,如圖8-3所示,然后是連續(xù)的數(shù)據(jù)塊。同步字符可以由用戶約定,當(dāng)然也可以采用ASCII碼中規(guī)定的SYN代碼,即16H。按同步方式通信時(shí),先發(fā)送同步字符,接收方檢測(cè)到同步字符后,即準(zhǔn)備接收數(shù)據(jù)。二、同步串行通信8.1串行通信基礎(chǔ)知識(shí)圖8-3同步通信的數(shù)據(jù)格式

在同步傳送時(shí),要求用時(shí)鐘來(lái)實(shí)現(xiàn)發(fā)送端與接收端之間的同步。為了保證接收正確無(wú)誤,發(fā)送方除了傳送數(shù)據(jù)外,還要把時(shí)鐘信號(hào)同時(shí)傳送。同步傳送的優(yōu)點(diǎn)是可以提高傳送速率(達(dá)56kbps或更高),但硬件比較復(fù)雜。8.1串行通信基礎(chǔ)知識(shí)三、串行通信的數(shù)據(jù)通路形式

1、單工(Simplex)形式單工形式的數(shù)據(jù)傳送是單向的,通信雙方中一方固定為接收端。單工形式的串行通信,只需要一條數(shù)據(jù)線,如圖所示數(shù)據(jù)線2接收發(fā)送端接收發(fā)送端數(shù)據(jù)線1全雙工形式串行通信數(shù)據(jù)線接收發(fā)送端接收發(fā)送端半雙工形式串行通信發(fā)送端接收端數(shù)據(jù)線單工形式串行通信8.1串行通信基礎(chǔ)知識(shí)2、半雙工工(Half-duplex)形式半雙工形式式的數(shù)據(jù)傳傳送也是雙向的,但任何時(shí)刻只只能由其中中的一方發(fā)發(fā)送數(shù)據(jù),,另一方接接收數(shù)據(jù)。因此半雙雙工形式既既可以使用用一條數(shù)據(jù)據(jù)線,也可可以使用兩兩條數(shù)據(jù)線線,如上圖圖所示。3、全雙工工(Full-duplex)形式全雙工形式式的數(shù)據(jù)傳傳送是雙向的,且可以同時(shí)發(fā)送和和接收數(shù)據(jù)據(jù),因此全雙雙工形式的的串行通信信需要兩條條數(shù)據(jù)線,,如上圖所所示。8.1串串行通信基基礎(chǔ)知識(shí)四、異步串串行通信的的信號(hào)形式式1、近程通通信近程通信又又稱本地通通信。近程通信采采用數(shù)字信號(hào)直接傳送形形式,即在在傳送過(guò)程程中不改變?cè)瓟?shù)數(shù)據(jù)代碼的的波形和頻頻率。這種數(shù)據(jù)傳傳送方式稱稱之為基帶傳送方方式。計(jì)算機(jī)內(nèi)部部的數(shù)據(jù)信信號(hào)是TTL電平標(biāo)標(biāo)準(zhǔn),而通通信線上的的數(shù)據(jù)信號(hào)號(hào)卻是RS232C電電平標(biāo)準(zhǔn)。。然而,盡盡管電平標(biāo)標(biāo)準(zhǔn)不同,,但數(shù)據(jù)信號(hào)的的波形和頻頻率并沒有有改變。近程串行行通信只需需用傳輸線線把兩端的接接口電路直直接連起來(lái)來(lái)即可實(shí)現(xiàn),,既方便又又經(jīng)濟(jì)。8.1串串行通信基基礎(chǔ)知識(shí)寄存器串行接口TTL電平寄存器串行接口TTL電平計(jì)算機(jī)A計(jì)算機(jī)BRS-232電平標(biāo)準(zhǔn)近程串行通信8.1串串行通信基基礎(chǔ)知識(shí)2、遠(yuǎn)程通通信在遠(yuǎn)程串行行通信中,,應(yīng)使用專用的通信信電纜,但出于經(jīng)經(jīng)濟(jì)上的考考慮也可以以使用電話話線作為傳傳輸線。數(shù)字信號(hào)計(jì)算機(jī)MODEM計(jì)算機(jī)電話線MODEM圖517遠(yuǎn)程串行通信模擬信號(hào)數(shù)字信號(hào)遠(yuǎn)距離直接接傳送數(shù)字字信號(hào),信信號(hào)會(huì)發(fā)生生畸變,因因此要把數(shù)字信號(hào)號(hào)變?yōu)槟M擬信號(hào)再進(jìn)進(jìn)行傳送。信號(hào)形式式的轉(zhuǎn)變通通常使用頻率調(diào)制法法,即以不同頻率率的載波信信號(hào)代表數(shù)數(shù)字信號(hào)的的兩種不同同電平狀態(tài)態(tài)。這種數(shù)據(jù)據(jù)傳送方式式就稱為頻帶傳送方式。8.1串串行通信基基礎(chǔ)知識(shí)五、波特率率和接收/發(fā)送時(shí)鐘鐘(一)波特特率波特率,即即數(shù)據(jù)傳送送速率,表表示每秒鐘鐘傳送二進(jìn)進(jìn)制代碼的的位數(shù),它它的單位是是位/秒((bps))。波特率率對(duì)于CPU與外界界的通信是是很重要的的。假設(shè)數(shù)數(shù)據(jù)傳送速速率是120bps,而每個(gè)個(gè)字符格式式包含10個(gè)代碼位位(1個(gè)起起始位、1個(gè)終止位位、8個(gè)數(shù)數(shù)據(jù)位),,這時(shí)傳送送的波特率率為:l0×l20bps=1200bps每一位代碼碼的傳送時(shí)時(shí)間td為波特率的的倒數(shù)。波特率是衡衡量傳輸通通道頻寬的的指標(biāo),它它和傳送數(shù)數(shù)據(jù)的速率率并不一致致。如上例例中,因?yàn)闉槌羝鹗际嘉缓徒K止止位,每一一個(gè)數(shù)據(jù)實(shí)實(shí)際只占8位,所以以數(shù)位的傳傳送速率為為:8×120bps=960bps異步通信的的傳送速度度在50~~9200bps之間,常常用于計(jì)算算機(jī)到終端端機(jī)和打印印機(jī)之間的的通信、直直通電報(bào)以以及無(wú)線電電通信的數(shù)數(shù)據(jù)發(fā)送等等。8.1串串行通信基基礎(chǔ)知識(shí)(二)接收收/發(fā)送時(shí)時(shí)鐘在串行通信信過(guò)程中二二進(jìn)制數(shù)字字系列以數(shù)數(shù)字信號(hào)波波形的形式式出現(xiàn),不不論接收還還是發(fā)送,,都必須有有時(shí)鐘信號(hào)號(hào)對(duì)傳送的的數(shù)據(jù)進(jìn)行行定位。接接收/發(fā)送送時(shí)鐘就是是用來(lái)控制制通信設(shè)備備接收/發(fā)發(fā)送字符數(shù)數(shù)據(jù)速度的的,該時(shí)鐘鐘信號(hào)通常常由微機(jī)內(nèi)內(nèi)部時(shí)鐘電電路產(chǎn)生。。在接收數(shù)據(jù)據(jù)時(shí),接收收器在接收收時(shí)鐘的上上升沿對(duì)接接收數(shù)據(jù)采采樣,進(jìn)行行數(shù)據(jù)位檢檢測(cè);在發(fā)發(fā)送數(shù)據(jù)時(shí)時(shí),發(fā)送器器在發(fā)送時(shí)時(shí)鐘的下降降沿將移位位寄存器的的數(shù)據(jù)串行行移位輸出出。如下圖圖所示。接收/發(fā)送送時(shí)鐘頻率率與波特率率有如下關(guān)關(guān)系:收/發(fā)時(shí)鐘鐘頻率=n×收/發(fā)波波特率收/發(fā)波特特率其中中頻率系數(shù)數(shù)n=1,16,64。對(duì)于同步傳傳送方式,,必須取n=l,即接接收/發(fā)送送時(shí)鐘的頻頻率等于收收/發(fā)波特特率。對(duì)于于異步傳送送方式,n=1,16,64,,即可以選選擇的接收收/發(fā)送時(shí)時(shí)鐘頻率是是波特率的的1,16或64倍倍。因此,,可由要求求的傳送波波特率及所所選擇的倍倍數(shù)n來(lái)確定接收收/發(fā)送時(shí)時(shí)鐘的頻率率。8.1串串行通信基基礎(chǔ)知識(shí)(a)接收時(shí)鐘(b)發(fā)送時(shí)鐘圖8-7接收/發(fā)送時(shí)鐘8.1串串行通信基基礎(chǔ)知識(shí)(三)允許許的波特率率誤差六、串行通通信的過(guò)程程及通信協(xié)協(xié)議(一)串-并轉(zhuǎn)換與與設(shè)備同步步發(fā)送時(shí)的串串-并轉(zhuǎn)換換8.1串串行通信基基礎(chǔ)知識(shí)接收時(shí)的串串-并轉(zhuǎn)換換8.1串串行通信基基礎(chǔ)知識(shí)(二)串行行通信協(xié)議議1.起始位位當(dāng)通信線上上沒有數(shù)據(jù)據(jù)被傳送時(shí)時(shí)處于邏輯輯“1”狀狀態(tài)。當(dāng)發(fā)發(fā)送設(shè)備要要發(fā)送一個(gè)個(gè)字符數(shù)據(jù)據(jù)時(shí),首先先發(fā)出一個(gè)個(gè)邏輯“0”信號(hào),,這個(gè)邏輯輯低電平就就是起始位位。起始位位通過(guò)通信信線傳向接接收設(shè)備,,接收設(shè)備備檢測(cè)到這這個(gè)邏輯低低電平后,,就開始準(zhǔn)準(zhǔn)備接收數(shù)數(shù)據(jù)位信號(hào)號(hào)。起始位位所起的作作用就是使使設(shè)備同步步,通信雙雙方必須在在傳送數(shù)據(jù)據(jù)位前協(xié)調(diào)調(diào)同步。2..?dāng)?shù)數(shù)據(jù)據(jù)位位當(dāng)接收設(shè)設(shè)備收到到起始位位后,緊緊接著就就會(huì)收到到數(shù)據(jù)位位。數(shù)據(jù)據(jù)位的個(gè)個(gè)數(shù)可以以是5、、6、7或8,,PC機(jī)機(jī)中經(jīng)常常采用7位或8位數(shù)據(jù)據(jù)傳送,,8051串行行口采用用8位或或9位數(shù)數(shù)據(jù)傳送送。這些些數(shù)據(jù)位位被接收收到移位位寄存器器中,構(gòu)構(gòu)成傳送送數(shù)據(jù)字字符。在在字符數(shù)數(shù)據(jù)傳送送過(guò)程中中,數(shù)據(jù)據(jù)位從最最低有效效位開始始發(fā)送,,依次在在接收設(shè)設(shè)備中被被轉(zhuǎn)換為為并行數(shù)數(shù)據(jù)。8.1串串行通通信基礎(chǔ)礎(chǔ)知識(shí)3.奇偶偶校驗(yàn)位位數(shù)據(jù)位發(fā)發(fā)送完之之后,便便可以發(fā)發(fā)送奇偶偶校驗(yàn)4.停止止位約定定在奇偶位位或數(shù)據(jù)據(jù)位(當(dāng)

8.1串串行通通信基礎(chǔ)礎(chǔ)知識(shí)5.波波特率設(shè)設(shè)置通信線上上傳送的的所有位位信號(hào)都都保持一一致的信信號(hào)持續(xù)續(xù)時(shí)間,,每一位位的寬度度都由數(shù)數(shù)據(jù)傳送送速率確確定,而而傳送速速率是以以每秒多多少個(gè)二二進(jìn)制位位來(lái)度量量的,這這個(gè)速率率叫波特特率。如如果數(shù)據(jù)據(jù)以每秒秒300個(gè)二進(jìn)進(jìn)制位在在通信線線上傳送送,那么么這個(gè)傳傳送速率率為300bps。6.軟軟件掛鉤鉤(握手手)信號(hào)號(hào)約定8.1串串行通通信基礎(chǔ)礎(chǔ)知識(shí)七、RS-232C總總線標(biāo)準(zhǔn)準(zhǔn)標(biāo)準(zhǔn)異步步串行通通信接口口有以下下幾類:①RS-232C,,RS-232E;②RS-449(RS-422,RS-423和RS-485③20mA電流環(huán);④USB通用接口。所謂標(biāo)準(zhǔn)接口,就是明確定義若干信號(hào)線,使接口電路標(biāo)準(zhǔn)化、通用化,借助串行通信標(biāo)準(zhǔn)接口,不同類型的數(shù)據(jù)通信設(shè)備可以很容易實(shí)現(xiàn)它們之間的串行通信連接。8.1串串行通通信基礎(chǔ)礎(chǔ)知識(shí)RS-232C標(biāo)準(zhǔn)中中的許多多信號(hào)是是為通信信業(yè)務(wù)聯(lián)聯(lián)系或信信息控制制而定義義的,在在計(jì)算機(jī)機(jī)串行通通信中主主要使用用如下信信號(hào):下下圖DB25連接接器機(jī)械械結(jié)構(gòu)圖圖(1)數(shù)數(shù)據(jù)傳送送信號(hào)發(fā)送數(shù)據(jù)據(jù)(TXD)接收信號(hào)號(hào)(RXD)(2)調(diào)調(diào)制解調(diào)調(diào)器控制制信號(hào)清除發(fā)送(CTS)數(shù)據(jù)通信設(shè)備準(zhǔn)備就緒(DSR)數(shù)據(jù)終端設(shè)備準(zhǔn)備就緒(DTR)(3)定位信號(hào)接收時(shí)鐘(RXC)發(fā)送時(shí)鐘(TXC)(4)信號(hào)地和保護(hù)

8.1串串行通通信基礎(chǔ)礎(chǔ)知識(shí)①除信信號(hào)定義義外,RS-232標(biāo)標(biāo)準(zhǔn)的其其他規(guī)定定還有::RS-232C是一種種電壓型型總線標(biāo)標(biāo)準(zhǔn),以以不同極極性的電電壓表示示邏輯值值:-3~--25V表示邏邏輯l((mark)+3~+25V表示示邏輯0(space)②標(biāo)準(zhǔn)準(zhǔn)數(shù)據(jù)傳傳送速率率有50、75、110、150、、300、6

③采用標(biāo)準(zhǔn)的25芯插頭座(DB-25)進(jìn)行連接,因此該插頭座也稱之為RS-232C連接器,DB25連接器機(jī)械結(jié)構(gòu)見下圖。8.1串串行通通信基礎(chǔ)礎(chǔ)知識(shí)表8-1RS-232信信號(hào)引腳腳定義8.1串串行通通信基礎(chǔ)礎(chǔ)知識(shí)八、串行行接口電電路———通用的的異步接接收/發(fā)發(fā)送器(UART)FE控制電路發(fā)送數(shù)據(jù)緩沖器TBEETXCRXCCOEPERXDTXD奇偶錯(cuò)溢出錯(cuò)幀錯(cuò)UART接收數(shù)據(jù)緩沖器接收移位寄存器發(fā)送移位寄存器INTDBUART硬件框圖RESTWERDCS8.1串串行通通信基礎(chǔ)礎(chǔ)知識(shí)圖8-11URAT基本本組成框框圖8.1串串行通通信基基礎(chǔ)知知識(shí)現(xiàn)把UART的的主要要功能能綜述述如下下1.?dāng)?shù)數(shù)據(jù)的的串行行化/反串串行化化所謂串串行化化處理理就是是把并并行數(shù)數(shù)據(jù)變變換為為串行行數(shù)據(jù)據(jù)。所所謂反反串行行化就就是把把串行行數(shù)變變換為為并行行數(shù)據(jù)據(jù)。在在UART中,,完成成數(shù)據(jù)據(jù)串行行化的的電路路屬發(fā)發(fā)送器器,而而實(shí)現(xiàn)現(xiàn)數(shù)據(jù)據(jù)反串串行化化處理理的電電路則則屬接接收器器。2.格格式信信息的的插入入和濾濾除格式信信息是是指異異步通通信格格式中中的啟啟始位位、奇奇偶位位和停停止位位等。。在串串行化化過(guò)程程中,,按格格式要要求把把格式式信息息插入入,與與數(shù)據(jù)據(jù)位一一起構(gòu)構(gòu)成串串行數(shù)數(shù)據(jù)位位串,,然后后進(jìn)行行串行行數(shù)據(jù)據(jù)傳送送。在在反串串行化化過(guò)程程中,,則把把格式式信息息濾除除而保保留數(shù)數(shù)據(jù)位位。3.錯(cuò)錯(cuò)誤檢檢驗(yàn)錯(cuò)誤檢檢驗(yàn)的的目的的在于于檢驗(yàn)驗(yàn)數(shù)據(jù)據(jù)通信信過(guò)程程是否否正確確。在在串行行通信信中可可能出出現(xiàn)的的錯(cuò)誤誤包括括奇偶偶錯(cuò)和和幀錯(cuò)錯(cuò)等。。8.1串串行通通信基基礎(chǔ)知知識(shí)MCS-51串串行口口寄存存器結(jié)結(jié)構(gòu)串行口口寄存存器結(jié)結(jié)構(gòu)MCS-51單單片機(jī)機(jī)串行行口中中寄存存器的的基本本結(jié)構(gòu)構(gòu)如下下圖所所示。。圖中SBUF是是串行行口的的緩沖沖寄存存器,,它是是一個(gè)個(gè)可尋尋址的的專用用寄存存器,,其中中包括括發(fā)送送寄存存器和和接收收寄存存器,,以便便能以以全雙雙工方方式進(jìn)進(jìn)行通通信。。這兩兩個(gè)寄寄存器此外,在接收寄存器之前還有移位寄存器,從而構(gòu)成了串行接收的雙緩沖結(jié)構(gòu),以避免在數(shù)據(jù)接收過(guò)程中出現(xiàn)幀重疊錯(cuò)誤。與接收數(shù)據(jù)情況不同,發(fā)送數(shù)據(jù)時(shí),由于CPU是主動(dòng)的,不會(huì)發(fā)生幀重疊錯(cuò)誤,因此發(fā)送電路就不需雙重緩沖結(jié)構(gòu)。8.2MCS-51的的串串行行口口及及控控制制寄寄存存器器圖8-12MCS-51串串行行口口寄寄存存器器結(jié)結(jié)構(gòu)構(gòu)8.2MCS-51的的串串行行口口及及控控制制寄寄存存器器發(fā)送SBUF(99H)接收SUBF(99H)輸入移位寄存器TI(發(fā)送中斷)TXD串行輸出8051內(nèi)部總線RXD串行輸入RI(接收輸入)移位時(shí)鐘圖5-23MCS-51串行口寄存器結(jié)構(gòu)8.2MCS-51的的串串行行口口及及控控制制寄寄存存器器在接接收收方方式式下下,,串串行行數(shù)數(shù)據(jù)據(jù)通通過(guò)過(guò)引引腳腳RXD((P3.0)進(jìn)入。由由于在接收收寄存器之之間還有移移位寄存器器,從而構(gòu)構(gòu)成了串行行接收的雙雙緩沖結(jié)構(gòu)構(gòu),以避免免在數(shù)據(jù)接接收過(guò)程中中出現(xiàn)幀重疊錯(cuò)誤誤,即在下一一幀數(shù)據(jù)來(lái)來(lái)時(shí),前一一幀數(shù)據(jù)還還沒有讀走走。在發(fā)送方式式下,串行行數(shù)據(jù)通過(guò)過(guò)TXD(P3.1)送出。與與接收數(shù)據(jù)據(jù)情況不同同,發(fā)送數(shù)數(shù)據(jù)時(shí),由由于CPU是主主動(dòng)的,不不會(huì)發(fā)生幀幀重疊錯(cuò)誤誤,因此發(fā)發(fā)送電路就就不需雙重緩緩沖結(jié)構(gòu),,這樣可以以提高數(shù)據(jù)據(jù)發(fā)送速度度。8.2MCS-51的串行行口及控制制寄存器二、串行通通信控制寄寄存器1、串行控控制寄存器器SCON(99H)位地址9FH9EH9DH9CH9BH9AH99H98H位符號(hào)SM0SM1SM2RENTB8RB8TIRISM0SM1工作方式功能波特率00方式0同步移位寄存器fosc/1201方式18位異步收發(fā)由定時(shí)器T1控制10方式29位異步收發(fā)fosc/32或/6411方式39位異步收發(fā)由定時(shí)器T1控制8.2MCS-51的串行行口及控制制寄存器SM2是多機(jī)通信信控制位。。因多機(jī)通通信是在方方式2和方方式3下進(jìn)進(jìn)行,所以以SM2位主要用于于方式2和和方式3。。當(dāng)串行口口以方式2或方式3接收時(shí),,如SM2=1,則只有當(dāng)接接收到的第第9位數(shù)據(jù)(RB8)為“1”時(shí),才將接收到的的前8位數(shù)據(jù)送入SBUF,并置位RI產(chǎn)生中斷請(qǐng)請(qǐng)求;否則則,將接收收到的前8位數(shù)據(jù)丟丟棄。而當(dāng)當(dāng)SM2=0時(shí),不論第第9位數(shù)據(jù)為““0”還是為““1”,都將前8位數(shù)數(shù)據(jù)裝入SBUF中中,并產(chǎn)生中中斷請(qǐng)求。在方式1時(shí)時(shí),若SM2=1,則則只有接收收到有效停停止位時(shí),,RI才置置1,以便便接收下一一幀數(shù)據(jù)。。在方式0時(shí)時(shí),SM2必須為0。。REN是允允許接收位位,當(dāng)REN=1時(shí),允允許接收數(shù)數(shù)據(jù),當(dāng)REN=0時(shí),,禁止接收收數(shù)據(jù)。該該位由軟件件置位位或復(fù)復(fù)位。。8.2MCS-51的的串行行口及及控制制寄存存器TB8是發(fā)送送數(shù)據(jù)據(jù)的第第9位位。在方式式2、、3時(shí)時(shí),其其值由由用戶戶通過(guò)過(guò)軟件件設(shè)置置。在雙雙機(jī)通通信時(shí)時(shí),TB8一般作作為奇奇偶效效驗(yàn)位位使用用;在在多機(jī)通通信中中,常常以TB8位的狀狀態(tài)表表示主主機(jī)發(fā)發(fā)送的的是地地址幀幀還是是數(shù)據(jù)據(jù)幀,,且一一般約約定::TB8=0為數(shù)數(shù)據(jù)幀幀,TB8=1為地地址幀幀。RB8是接收收數(shù)據(jù)據(jù)第9位。。在方式式2、、3時(shí)時(shí),RB8存放接接收到到的第第9位位數(shù)TI是是發(fā)送送中斷斷標(biāo)志志位。。在方方式0時(shí),,發(fā)送送完第第8位位后,,該位位由硬件置置位。在其其它方方式下下,于于發(fā)送送停止止位之之前,,由硬件置置位。。8.2MCS-51的的串行行口及及控制制寄存存器TI=1表示示幀發(fā)發(fā)送結(jié)結(jié)束,其狀狀態(tài)既既可供供軟件件查詢?cè)兪褂糜?,也也可?qǐng)請(qǐng)求中中斷。。發(fā)送送中斷斷被響響應(yīng)后后,TI不不會(huì)自自動(dòng)復(fù)復(fù)位,,必須須由軟件復(fù)復(fù)位。RI是是接收收中斷斷標(biāo)志志位。在方方式0時(shí),,接收收完第第8位位數(shù)據(jù)據(jù)后,,該位位由硬件置置位。在其其它方方式下下,當(dāng)當(dāng)接收收到停停止位位時(shí),,該位位由硬件置置位。因此此,RI=1表表示幀幀接收收結(jié)束束。其其狀態(tài)態(tài)既可可供軟軟件查查詢使使用,,也可可以請(qǐng)請(qǐng)求中中斷。。RI亦必必須由由軟件清清“0”。2、電電源控控制寄寄存器器PCON電源控控制寄寄存器器是為為CHMOS型型單片片機(jī)((如80C51)的的電源源控制制而設(shè)設(shè)置的的專用用寄存存器。。字節(jié)節(jié)地址址為87H。其其格式式如下下:8.2MCS-51的的串行行口及及控制制寄存存器位序D7D6D5D4D3D2D1D0位符SMOD///GF1GF0PDID在HMOS的單單片機(jī)機(jī)中,,該寄寄存器器中除除最高高位之之外,,其它它位都都沒有有定義義。最高位位(SMOD))是串串行口口波3、中中斷允允許寄寄存器器IEES=0禁禁止止串行行中斷斷ES=1允允許串行行中斷8.2MCS-51的串行行口及控控制寄存存器位序AFAEADACABAAA9A8位符號(hào)EA//ESET1EX1ET0EX08.2MCS-51的串行行口及控控制寄存存器一、串行行口工作作方式0在方式0下,是是把串行行口作為為同步移位位寄存器器使用,這這時(shí)以RXD(P3.0)端端作為數(shù)數(shù)據(jù)移位位的入口和出口,而由由TXD(P3.1)端端提供移位時(shí)鐘鐘脈沖.移位數(shù)數(shù)據(jù)的發(fā)發(fā)送和接接收以8位為一一組,低低位在前前高位在在后。1、數(shù)據(jù)據(jù)的發(fā)送送與接收收DATACD4094CLKSTB并行輸出80C51RXD

TXDP1.0Q8CD4014CLKP/S并行輸入80C51RXD

TXDP1.0串行口與CD4094配合串行口與CD4014配合8.3MCS-51串行通通信工作作方式及及其應(yīng)用用DATACD4094CLKSTB80C51RXDTXDP1.0串行移位位輸出電電路8.3MCS-51串行通通信工作作方式及及其應(yīng)用用串行移位位輸出電使用CD4094的并行輸出端接8只發(fā)光二極管,利用它的“串入并出”功能,把發(fā)光二極管從左向右依次點(diǎn)亮,并反復(fù)循環(huán)。假定發(fā)光二極管為共陰極型,則電路連接如上圖所示。當(dāng)串行口把8位狀態(tài)碼串行移位輸出后,TI置1。如把TI作為狀態(tài)查詢標(biāo)志,則使用查詢方法完成的參考程序如下:8.3MCS-51串行通通信工作作方式及及其應(yīng)用用MOVSCON,#00H;串行口方式0工作CLRES;禁止串行中斷MOVA,#80H;發(fā)光管從左邊亮起DELR:CLRP1.0;關(guān)閉并行輸出MOVSBUF,A;串行輸出JNBTI,$;狀態(tài)查詢SETBP1.0;開啟并行輸出ACALLDELAY;狀態(tài)維持CLRTI;清發(fā)送中斷標(biāo)志RRA;發(fā)光右移AJMPDELR;繼續(xù)8.3MCS-51串行通通信工作作方式及及其應(yīng)用用二、串行行口工作作方式1方式1是是10位位為一幀幀的異步步串行通通信方式式。共包包括1個(gè)個(gè)起始位位,8個(gè)個(gè)數(shù)據(jù)位位和1個(gè)個(gè)停止起始D0D1D2D3D4D5D6D7停止⑴數(shù)據(jù)據(jù)的發(fā)送送與接收收方式1的的數(shù)據(jù)發(fā)發(fā)送是由由一條寫發(fā)送緩緩沖器((SBUF)的指令開開始的,,隨后在在串行口口由硬件自自動(dòng)加入入起始位位和停止止位,構(gòu)成一一個(gè)完整整的幀格格式,然然后在移移位脈沖沖的作用用下,由由TXD端串行行輸出。。一個(gè)字符符幀發(fā)送送完后,,使TXD輸出線線維持在在“1””狀態(tài)下下,并將SCON寄存器器的TI置““1”,通知CPU可可以接著著發(fā)送下下一個(gè)字字符。8.3MCS-51串行通通信工作作方式及及其應(yīng)用用接收收數(shù)數(shù)據(jù)據(jù)時(shí)時(shí),,SCON的的REN位位應(yīng)應(yīng)處處于于允允許許接接收收狀狀態(tài)態(tài)((REN=1))。。在在此此前前提提下下,,串串行行口口采采樣樣RXD端端,,當(dāng)當(dāng)采樣樣到到從從““1””向向““0”的狀狀態(tài)態(tài)跳跳變變時(shí)時(shí),,就就認(rèn)認(rèn)定定是是接接收收到到⑵波波特方式式0的的波波特特率率是是固固定定的的((fosc/12)),,但但方方式式1的的波波特特率率則則是是可可變變的的。。若若以以定定時(shí)時(shí)器器1作作波波特特率率發(fā)發(fā)生生器器,,則則方式1的波波特率率=2SMOD×(定時(shí)器1溢出率)32當(dāng)定時(shí)時(shí)器1作波波特率率發(fā)生生器使使用時(shí)時(shí),選用定定時(shí)方方式2。之所所以選選擇工工作方方式2,是是因?yàn)闉榉绞绞?具具有自動(dòng)加加載功功能,可以以避免免通過(guò)過(guò)程序序反復(fù)復(fù)裝入入初值值所引引起的的定時(shí)誤誤差,使波波特率率更穩(wěn)穩(wěn)定。。8.3MCS-51串串行通通信工工作方方式及及其應(yīng)應(yīng)用假定計(jì)計(jì)數(shù)初初值為為X,,則定定時(shí)器器1溢溢出周周期為為:12fosc=(256-X)溢出率率為溢溢出周周期的的倒數(shù)數(shù)。故波波特率率計(jì)算算公式式為::實(shí)際使使用時(shí)時(shí),總總是先先確定定波特特率,,再計(jì)計(jì)算定定時(shí)器器1的的計(jì)數(shù)數(shù)初值值,然然后進(jìn)進(jìn)行定定時(shí)器器的初初始化化。根根據(jù)上上述波波特率率計(jì)算算公式式,得得出波特率=2SMOD32×fosc12×(256-X)X=2SMOD×fosc32×12×波特率256-8.3MCS-51串行通通信工作作方式及及其應(yīng)用用三、串串行工作作方式2和方式式3⑴方式2方式2是是11位位為一幀幀的串行行通信方方式。起始D0D1D2D3D4D5D6D7D8停止在方式2下,字字符還是是8個(gè)數(shù)數(shù)據(jù)位,,只不過(guò)過(guò)增加了一一個(gè)第9數(shù)據(jù)8.3MCS-51串行通通信工作作方式及及其應(yīng)用用在發(fā)送數(shù)數(shù)據(jù)時(shí),,應(yīng)預(yù)先先在SCON的的TB8位中把把第9數(shù)據(jù)據(jù)位的的內(nèi)容容準(zhǔn)備備好。。這可可使用用如下下指令令完成成:SETBTB8;TB8位置““1””CLRTB8;TB8位置““0””發(fā)送數(shù)數(shù)據(jù)((D0~D7)由MOV指令令向SBUF寫寫入,,而D8位的內(nèi)內(nèi)容則則由硬硬件電電路從從TB8中直接接送到到發(fā)送送移位位寄存存器的的第9位,并以以此來(lái)來(lái)啟動(dòng)動(dòng)串行行發(fā)送送。一一個(gè)字字符幀幀發(fā)送送完畢畢后,,將TI位位置““1””,其其它過(guò)過(guò)程與與方式式1相相同。。方式2的接接收過(guò)過(guò)程也也與方方式1基本本相似似,所所不同同的只只在第第9數(shù)數(shù)據(jù)位位上。。8.3MCS-51串串行通通信工工作方方式及及其應(yīng)應(yīng)用方式2,串串行口口把接接收到到的前前8個(gè)個(gè)數(shù)據(jù)據(jù)位送送入SBUF,,把第第9數(shù)數(shù)據(jù)位位送入入RB8。方式2的波波特率率是固固定的的,且有有兩種種。一一種是是晶振振頻率率的三三十二二分之之一;;另一一種是是晶振振頻率率的六六十四四分之之一。。波特率=2SMOD64×fOSC⑵方方式3方式3同樣樣是11位位為一一幀的的串行行通信信方式式,其其通信信過(guò)程程與方方式2完全全相同同,所所不同同的僅僅在于于波特特率。。方式3的波波特率率可由8.3MCS-51串串行通通信工工作方方式及及其應(yīng)應(yīng)用

TXDRXD8031主機(jī)TXDRXD80310#從機(jī)TXDRXD80311#從機(jī)TXDRXD8031n#從機(jī)主從式多機(jī)通信連接方式單片機(jī)機(jī)的多多機(jī)通通信是是指一一臺(tái)主主機(jī)和和多臺(tái)臺(tái)從機(jī)機(jī)之間間的通通信,,其連連接如如從主8.4單單片機(jī)機(jī)多機(jī)機(jī)通信信把多機(jī)機(jī)通信信的過(guò)過(guò)程總總結(jié)如如下::1)全部從從機(jī)初始化化為工作方方式2或方方式3,置置位SM2,允許許中斷。2)主機(jī)置置位RB8,發(fā)送送要尋址的的從機(jī)地址址。3)所有從從機(jī)均接收收主機(jī)發(fā)送送的地址,,并各自進(jìn)進(jìn)入中斷服服務(wù)程序,,進(jìn)行地址址比較。4)被尋址址的從機(jī)確確認(rèn)后,把把自身的SM2清清0,并向向主機(jī)返回回地址供主主機(jī)核對(duì)。。5)核對(duì)無(wú)無(wú)誤后,主主機(jī)向被尋尋址的從機(jī)機(jī)發(fā)送命令令,通知從從機(jī)是進(jìn)行行數(shù)據(jù)接收收還是進(jìn)行行數(shù)據(jù)發(fā)送送。6)主從機(jī)機(jī)之間進(jìn)行行數(shù)據(jù)通信信。8.4單單片機(jī)多機(jī)機(jī)通信從機(jī)狀態(tài)字字格式為::

ERR

0

0

0

0

0

TRDY

RRDY其中:ERR=1,,從機(jī)接收收到非法命命令;TRDY=1,從機(jī)機(jī)發(fā)送準(zhǔn)備備就緒;RRDY=1,從機(jī)機(jī)接收準(zhǔn)備備就緒。通信程序包包括主機(jī)程程序和從機(jī)機(jī)程序兩部部分。應(yīng)用舉例———主從式式多機(jī)通信信8.4單單片機(jī)多機(jī)機(jī)通信主機(jī)程序N接收數(shù)據(jù)塊塊NYY主機(jī)子程序序命令從機(jī)復(fù)復(fù)位從機(jī)應(yīng)答發(fā)送命令字字從機(jī)應(yīng)答N命令令正正確確??命令令分分類類00H((發(fā)發(fā)))01H((收收))從機(jī)機(jī)接接收收就就緒緒??發(fā)送送數(shù)數(shù)據(jù)據(jù)塊塊返回回N從機(jī)機(jī)發(fā)發(fā)送送就就緒緒?

溫馨提示

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

評(píng)論

0/150

提交評(píng)論