單片機(jī)UAR串行接口_第1頁(yè)
單片機(jī)UAR串行接口_第2頁(yè)
單片機(jī)UAR串行接口_第3頁(yè)
單片機(jī)UAR串行接口_第4頁(yè)
單片機(jī)UAR串行接口_第5頁(yè)
已閱讀5頁(yè),還剩88頁(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)介

第七章UART串行接口

串行通信是CPU與外界交換信息的一種基本通信方式。為了實(shí)現(xiàn)串行通信,絕大多數(shù)單片機(jī)都配置了UART串行接口。17.1串行通信概述

計(jì)算機(jī)與外界的信息交換稱為通信?;镜耐ㄐ欧绞接袃煞N。并行通信(parallelcommunication):所傳送數(shù)據(jù)的各位同時(shí)發(fā)送或接收。串行通信(serialcommunication):所傳送數(shù)據(jù)的各位按順序一位一位地發(fā)送或接收。2在并行通信中,一個(gè)并行數(shù)據(jù)占多少位二進(jìn)制數(shù),就要多少根傳輸線,這種方式的特點(diǎn)是通信速度快,但傳輸線多,價(jià)格較貴,適合近距離傳輸。

串行通信僅需1~2根傳輸線,故在長(zhǎng)距離傳輸數(shù)據(jù)時(shí)比較經(jīng)濟(jì),但由于它每次只能傳送1位,所以傳送速度較慢。3圖7.1基本通信方式圖示47.1.1同步通信和異步通信方式串行通信分同步和異步兩種方式。51.異步通信ASYNC

在異步通信中數(shù)據(jù)或字符是逐幀(frame)傳送的。幀定義為一個(gè)字符的完整的通信格式,通常也稱為幀格式。最常見(jiàn)的幀格式一般是先用一個(gè)起始位“0”表示字符的開(kāi)始;然后是5~8位數(shù)據(jù),規(guī)定低位在前,高位在后;其后是奇偶校驗(yàn)位;最后是停止位,用以表示字符的結(jié)束,停止位可以是1位、1.5位、2位,不同的計(jì)算機(jī)規(guī)定有所不同。從起始位開(kāi)始到停止位結(jié)束就構(gòu)成完整的1幀。6起始位——通信線上沒(méi)有數(shù)據(jù)傳送時(shí),為高電平(邏輯1);當(dāng)要發(fā)送數(shù)據(jù)時(shí),首先發(fā)1個(gè)低電平信號(hào)(邏輯0),此信號(hào)稱為“起始位”,表示開(kāi)始傳輸1幀數(shù)據(jù)。數(shù)據(jù)位——起始位之后的位即數(shù)據(jù)位。數(shù)據(jù)位可以是5、6、7或8位(不同計(jì)算機(jī)的規(guī)定不同),上圖的數(shù)據(jù)位為8位。一般從最低位開(kāi)始傳送,最高位在最后。7奇偶校驗(yàn)位——數(shù)據(jù)位之后的位為奇偶校驗(yàn)位(有的方式具有)。此位可用于判別字符傳送的正確性,其有3種可能的選擇,即奇、偶、無(wú)校驗(yàn),用戶可根據(jù)需要選擇(在有的格式中,該位可省略)。在80C51單片機(jī)中,此位還可以用來(lái)確定該幀字符信息的性質(zhì)(地址或數(shù)據(jù))。停止位——校驗(yàn)位后為停止位,用于表示1幀結(jié)束,用高電平(邏輯1)表示。停止位可以是1、1.5或2位,不同計(jì)算機(jī)的規(guī)定有所不同。8異步通信的主要特點(diǎn)如下:進(jìn)行串行通信的單片機(jī)的時(shí)鐘相互獨(dú)立;其時(shí)鐘頻率可以不相同;在通信時(shí)不要求有同步時(shí)鐘信號(hào)。由于異步通信是逐幀進(jìn)行傳輸?shù)?,各位之間的時(shí)間間隔應(yīng)該相同,所以必須保證2個(gè)單片機(jī)之間有相同的傳送波特率。如果傳送波特率不同,則時(shí)間間隔不同;當(dāng)誤差超過(guò)5%時(shí),就不能正常進(jìn)行通信。由于信息傳輸可以是隨時(shí)不間斷地進(jìn)行的,因而幀與幀之間的時(shí)間間隔可以是不固定的,間隙處為高電平。9 由于異步通信每傳送一幀有固定格式,通信雙方只需按約定的幀格式來(lái)發(fā)送和接收數(shù)據(jù),所以硬件結(jié)構(gòu)比同步通信方式簡(jiǎn)單。此外,它還能利用校驗(yàn)位檢測(cè)錯(cuò)誤,所以這種通信方式應(yīng)用較廣泛。在單片機(jī)中主要是采用異步通信方式。102.同同步通通信SYNC在同步步通信信中,,數(shù)據(jù)據(jù)或字字符開(kāi)開(kāi)始處處是用用一同同步字字符來(lái)來(lái)指示示(一一般約約定為為l~~2個(gè)個(gè)字符符),,以實(shí)實(shí)現(xiàn)發(fā)發(fā)送端端和接接收端端同步步,一一旦檢檢測(cè)到到約定定同步步字符符,下面就就連續(xù)續(xù)、順順序地地發(fā)送送和接接收數(shù)數(shù)據(jù)。11由于同同步通通信數(shù)數(shù)據(jù)塊塊傳送送時(shí)去去掉了了每個(gè)個(gè)數(shù)字字都必必須具具有的的字符符開(kāi)始始和結(jié)結(jié)束的的標(biāo)志志,且且它一一次可可以發(fā)發(fā)送一一個(gè)數(shù)數(shù)據(jù)段段(多多個(gè)數(shù)數(shù)據(jù))),因因此,,其速度度高于于異步步通信信;但這這種方方式要要求接接收和和發(fā)送送時(shí)鐘鐘嚴(yán)格格保持同同步,在通通信時(shí)時(shí)通常常要求求有同同步時(shí)時(shí)鐘信信號(hào),,對(duì)硬硬件結(jié)結(jié)構(gòu)要要求較較高。。由于于這種種方式式易于于進(jìn)行行串行行外圍圍擴(kuò)展展,所所以目目前很很多型型號(hào)的的單片片機(jī)都都增加加了串串行同同步通通信接接口,,如目目前已已得到到廣泛泛應(yīng)用用的I2C串行行總線線和SPI串行行接口口等。。127.1.2串串行行通信信的數(shù)數(shù)據(jù)傳傳送速速率傳送速速率是指數(shù)數(shù)據(jù)傳傳送的的速度度。用b/s或或bps((比特特/秒秒)表表示,,稱為為比特率率。在二二進(jìn)制制的情情況下下,比比特率率與波波特率率數(shù)值值相等等,因因而在在單片片機(jī)的的串行行通信信中,,常稱稱為波特率率。假如數(shù)數(shù)據(jù)傳傳送的的速率率為120個(gè)字字符每每秒,,每個(gè)個(gè)字符符由1個(gè)起起始位位、8個(gè)數(shù)數(shù)據(jù)位位和1個(gè)停停止位位組成成,則則其傳傳送波波特率率為::10b×120/s=1200b/s=1200波波特每一位位的傳傳送時(shí)時(shí)間即即為波波特率率的倒倒數(shù)::13異步通通信的的數(shù)據(jù)據(jù)傳送送速率率一般般為50b/s~100kb/s,常常用于于計(jì)算算機(jī)到到CRT終終端,,以及及雙機(jī)機(jī)或多多機(jī)之之間的的通信信等。。147.1.3串串行行通信信的方方式在串行行通信信中,,數(shù)據(jù)據(jù)是在在兩機(jī)機(jī)之間間傳送送的。。按照照數(shù)據(jù)據(jù)傳送送方向向,串串行通通信可可分為為單工工(Simplex)制制式、、半雙雙工((halfduplex))制式式和全全雙工工(fullduplex)制制式。。15圖7..2串串行通通信方方式示示意圖圖(1))單工工制式式在單工工制式式下,,數(shù)據(jù)據(jù)在甲甲機(jī)和和乙機(jī)機(jī)之間間只允允許單方向向傳送。。兩機(jī)機(jī)之間間只需需1條條數(shù)據(jù)據(jù)線。。16(2))半雙雙工制制式在半雙雙工制制式下下,數(shù)數(shù)據(jù)在在甲機(jī)機(jī)和乙乙機(jī)之之間允允許雙雙方向向傳送送,但但它們們之間間只有有一個(gè)個(gè)通信信回路路,接收和和發(fā)送送不能同同時(shí)進(jìn)行,,只能能分時(shí)時(shí)發(fā)送送和接接收((即甲甲機(jī)發(fā)發(fā)送,,乙機(jī)機(jī)接收收,或或者乙乙機(jī)發(fā)發(fā)送,,甲機(jī)機(jī)接收收),,因而而兩機(jī)機(jī)之間間只需需1條條數(shù)據(jù)據(jù)線。。17(3))全雙雙工制制式在全雙雙工制制式下下,甲甲、乙乙兩機(jī)機(jī)之間間數(shù)據(jù)據(jù)的發(fā)發(fā)送和和接收收可以以同時(shí)時(shí)進(jìn)行行,稱稱為““全雙雙工傳傳送””。全全雙工工形式式的串串行通通信必必須使使用2條數(shù)數(shù)據(jù)線線。不管哪哪種形形式的的串行行通信信,在在兩機(jī)機(jī)之間間均應(yīng)應(yīng)有公共地地線。18*信信號(hào)號(hào)的調(diào)調(diào)制與與解調(diào)調(diào)當(dāng)異步步通信信的距距離在在15m之之內(nèi)時(shí)時(shí),計(jì)計(jì)算機(jī)機(jī)之間間可以以直接接進(jìn)行行通信信。而而當(dāng)傳傳輸距距離較較遠(yuǎn)時(shí)時(shí),通通常是是用電電話線線傳送送。由由于電電話線線頻帶帶不夠夠?qū)?,,再加加上遠(yuǎn)遠(yuǎn)距離離傳輸輸時(shí)信信號(hào)不不可避避免地地衰減減,因因而使使信號(hào)號(hào)發(fā)生生明顯顯的畸畸變。。在發(fā)送時(shí)要用用調(diào)制器器(modulator))把數(shù)數(shù)字信信號(hào)轉(zhuǎn)轉(zhuǎn)換為為模擬擬信號(hào)號(hào),并并加以以放大大再傳傳送,,這個(gè)個(gè)過(guò)程程叫做做調(diào)制制。在接收時(shí),再用解調(diào)器器(demodulator))檢測(cè)測(cè)此模模擬信信號(hào),,并把把它轉(zhuǎn)轉(zhuǎn)換成成數(shù)字字信號(hào)號(hào)再送送入計(jì)計(jì)算機(jī)機(jī)接口口,這這個(gè)過(guò)過(guò)程即即解調(diào)調(diào)。197.1.4通通信信協(xié)議議通信協(xié)協(xié)議是是指在在計(jì)算算機(jī)之之間進(jìn)進(jìn)行數(shù)數(shù)據(jù)傳傳輸時(shí)時(shí)的一一些約約定,,包括括通信信方式式、波波特率率、命命令碼碼的約約定等等。為為保證證計(jì)算算機(jī)之之間能能準(zhǔn)確確、可可靠地地通信信,相相互之之間必必須遵遵循統(tǒng)統(tǒng)一的的通信信協(xié)議議。在在通信信之前前一定定要先先設(shè)置置好通通信協(xié)協(xié)議。。207.280C51串行口口簡(jiǎn)介80C51的串行口口是一個(gè)可編程的全全雙工串行行通信接口口,通過(guò)軟件件編程它可可以作通用用異步接收收和發(fā)送器器UART(UniversalAsynchronousReceiver/Transmitter)用,也也可作同步步移位寄存存器用。其其幀格式可可有8位、、10位和和11位,,并能設(shè)置各各種波特率率,使用靈活活方便。217.2.1串行行口結(jié)構(gòu)與與工作原理理80C51串行口主主要由接收與發(fā)送送緩沖寄存器器SBUF、輸入移位位寄存器以以及串行控控制寄存器器SCON等組成。波波特率發(fā)生生器可以利利用定時(shí)器器T1或T2控制發(fā)發(fā)送和接收收的速率。。SCON用于存放串串行口的控控制和狀態(tài)態(tài)信息;發(fā)送數(shù)據(jù)緩緩沖寄存器器SBUF用于存放準(zhǔn)準(zhǔn)備發(fā)送出出去的數(shù)據(jù)據(jù);接收數(shù)據(jù)緩緩沖寄存器器SBUF用于接收由由外部輸入入到輸入移移位寄存器器中的數(shù)據(jù)據(jù)。80C51串行行口正是通通過(guò)對(duì)上述述專(zhuān)用寄存存器的設(shè)置置、檢測(cè)與與讀取來(lái)管管理串行通通信的。22圖7.3串串行口口結(jié)構(gòu)框圖圖23在進(jìn)行串行行通信時(shí),,外界數(shù)據(jù)據(jù)通過(guò)引腳腳RXD((P3.0)輸入。。輸入數(shù)據(jù)據(jù)首先逐位位進(jìn)入輸入入移位寄存存器,由串串行數(shù)據(jù)轉(zhuǎn)轉(zhuǎn)換為并行行數(shù)據(jù),然然后再送入入接收寄存存器。在接接收寄存器器中采用了了雙緩沖結(jié)結(jié)構(gòu),以避避免在接收收到第2幀幀數(shù)據(jù)前,,CPU未未及時(shí)響應(yīng)應(yīng)接收寄存存器前一幀幀的中斷請(qǐng)請(qǐng)求,沒(méi)把把前一幀數(shù)數(shù)據(jù)讀走,,而造成2幀數(shù)據(jù)重重疊的錯(cuò)誤誤。在發(fā)送送時(shí),串行行數(shù)據(jù)通過(guò)過(guò)引腳TXD(P3.1)輸輸出。由于于CPU是是主動(dòng)的,,因此不會(huì)會(huì)產(chǎn)生寫(xiě)重重疊問(wèn)題,,一般不需需要雙緩沖沖器結(jié)構(gòu)。。要發(fā)送的的數(shù)據(jù)通過(guò)過(guò)發(fā)送控制制器控制邏邏輯門(mén)電路路逐位輸出出。247.2.2串行行口寄存器器與串行口工工作有關(guān)的的寄存器共共有6個(gè),,分別是串串行口控制制寄存器SCON、接收與發(fā)發(fā)送緩沖寄寄存器SBUF、電源控制制寄存器PCON、中斷允許許控制寄存存器IE、中斷優(yōu)先先級(jí)寄存器器IP。251.串行口口控制寄存存器SCON串行口控制制寄存器SCON用用于串行通通信的方式式選擇、接接收和發(fā)送送控制,并并可反映串串行口的工工作狀態(tài)。。SCON9FH9EH9DH9CH9BH9AH99H98H(98H)SM0SM1SM2RENTB8RB8TIRI26SCON..7和SCON.6位SM0和SM1——串行方方式選擇位位表7.1串串行口口工作方式式選擇SM0SM1工作方式功能描述波特率00010011方式0方式1方式2方式38位同步移位寄存器10位UART11位UART11位UARTfosc/12可變fosc/64和fosc/32可變27SCON.5位SM2——多機(jī)通通信控制位位。在方式2和和方式3中中,SM2主要用于進(jìn)進(jìn)行多機(jī)通通信控制。。當(dāng)串行口口以方式2或方式3接收時(shí),,如果SM2=1,允許多機(jī)機(jī)通信,且且接收到第第9位RB8為0時(shí)時(shí),則RI不置1不不接收主機(jī)機(jī)發(fā)來(lái)的數(shù)數(shù)據(jù);如果果SM2=1,且RB8為1,則則RI置1,產(chǎn)生中中斷請(qǐng)求,,將接收到到的8位數(shù)數(shù)據(jù)送入SBUF。。當(dāng)SM2=0時(shí),,不論RB8為0還還是1,都都將收到的的8位數(shù)據(jù)據(jù)送入SBUF,并并產(chǎn)生中斷斷。在方式1中中,當(dāng)處于于接收狀態(tài)態(tài)時(shí),若SM2=1,則只有接接收到有效效的停止位位時(shí),RI才置1。。在方式0中,SM2應(yīng)置0。28SCON.4位REN——允許串串行接收位位。REN=1時(shí),允許接接收;REN=O時(shí),禁止接接收。由軟軟件置位或或清除。29SCON.3位TB8——發(fā)送數(shù)數(shù)據(jù)的第9位(D8)。在方式2或或方式3中中,根據(jù)需需要由軟件件置位或復(fù)復(fù)位。雙機(jī)機(jī)通信時(shí),,它可約定定作奇偶校校驗(yàn)位;在在多機(jī)通信信中,可作作為區(qū)別地地址幀或數(shù)數(shù)據(jù)幀的標(biāo)標(biāo)識(shí)位。一一般由指令令設(shè)定地址幀時(shí),設(shè)TB8為1;而設(shè)定數(shù)據(jù)幀時(shí),設(shè)TB8為0。方式0和方方式1中沒(méi)沒(méi)用該位。。30SCON.2位RB8——接收數(shù)數(shù)據(jù)的第9位(D8)。在方式2或或方式3中中,RB8的狀態(tài)與TB8相呼應(yīng),(如可以是是約定的奇奇偶校驗(yàn)位位,也可以以是約定的的地址/數(shù)數(shù)據(jù)標(biāo)識(shí)位位)。例如如,當(dāng)SM2=1時(shí)時(shí),如果RB8為0,則說(shuō)明明收到的是是數(shù)據(jù)幀。。31SCON.1位TI——發(fā)送中中斷標(biāo)志位位。在方式0中中,發(fā)送完完8位數(shù)據(jù)據(jù)后,由硬硬件置位;;在其他方方式中,在在發(fā)送停止止位之初由由硬件置位位。TI=1時(shí),可申請(qǐng)請(qǐng)中斷,也也可供軟件件查詢用。。在任何方式式中,都必必須由軟件件來(lái)清除TI。SCON.0位RI——接收中中斷標(biāo)志位位。在方式0中中,接收完完8位數(shù)據(jù)據(jù)后,由硬硬件置位;;在其他方方式中,在在接收停止止位的中間間,由硬件件置位。RI=1時(shí),可申請(qǐng)請(qǐng)中斷,也也可供軟件件查詢用。。在任何方式式中,都必必須由軟件件清除RI。32SCON的的低2位與與中斷有關(guān)關(guān)。SCON的的地址為98H,可可以位尋址址。復(fù)位時(shí)時(shí),SCON的所有有位均清0。332.?dāng)?shù)據(jù)緩緩沖寄存器器SBUF數(shù)據(jù)緩沖寄寄存器SBUF實(shí)際上是2個(gè)寄存器器:發(fā)送數(shù)據(jù)緩緩沖寄存器器和接收數(shù)據(jù)緩緩沖寄存器器。接收與發(fā)發(fā)送緩沖寄寄存器SBUF采用用同一個(gè)地地址代碼99H,其其寄存器名名亦同樣為為SBUF。CPU通過(guò)不同同的操作命命令,區(qū)別別這2個(gè)寄寄存器,所所以不會(huì)因因?yàn)榈刂反a相同而而產(chǎn)生錯(cuò)誤誤。當(dāng)CPU發(fā)發(fā)出寫(xiě)SBUF命令令時(shí),即向發(fā)發(fā)送緩沖寄寄存器中裝裝載新的信信息,同時(shí)時(shí)啟動(dòng)數(shù)據(jù)據(jù)串行發(fā)送送;當(dāng)CPU發(fā)出出讀SBUF命令時(shí),即讀接接收緩沖寄寄存器的內(nèi)內(nèi)容。343.電源控控制寄存器器PCON電源控制寄寄存器PCON主要要用于電源源控制,PCON的的最高位SMOD是是串行口的的波特率倍倍增位:當(dāng)SMOD為1時(shí),波特率率加倍;當(dāng)SMOD為O時(shí),波特率率不變。PCOND7D6D5D4D3D2D1D0(87H)SMOD———GF1GF0PDIDL354.中斷允允許控制寄寄存器IE中斷允許控控制寄存器器IE用于控制與與管理單片片機(jī)的中斷斷系統(tǒng)。IE的ES位用于控制制串行口的的中斷:當(dāng)ES=O時(shí),禁止串行口中斷斷;當(dāng)ES=1時(shí),允許串行口中斷斷。365.中斷優(yōu)優(yōu)先級(jí)寄存存器IP中斷優(yōu)先級(jí)級(jí)寄存器IP用于管理單單片機(jī)中各各中斷源中中斷優(yōu)先級(jí)級(jí)。IP的PS位用于設(shè)置置串行口中中斷的優(yōu)先先級(jí):當(dāng)PS=0時(shí),串行口口中斷為低優(yōu)先級(jí);當(dāng)PS=1時(shí),串行口口中斷為高優(yōu)先級(jí)。377.2.380C51的的幀格式80C51串行口通通過(guò)編程可可設(shè)置四種種工作方式式及三種幀幀格式。38方式0以8位數(shù)據(jù)為為一幀,不設(shè)起始始位和停止止位,先發(fā)發(fā)送或接收收最低位。。方式1以10位為一一幀傳輸,設(shè)有有1個(gè)起始始位“0””、8個(gè)數(shù)數(shù)據(jù)位和1個(gè)停止位位“1”。。39方式2和3以11位為一幀傳傳輸,設(shè)有有1個(gè)起始位““0”、8個(gè)數(shù)據(jù)位、、1個(gè)可編程位位(第9數(shù)據(jù)位)D8和1個(gè)停止位““1”??删幊涛籇8由軟件置““1”或清“0”,該位可作作檢驗(yàn)位,,也可作它它用。407.2.4波特特率的設(shè)置置在串行通信信前,首先先要設(shè)置收/發(fā)發(fā)雙方對(duì)發(fā)發(fā)送或接收收的數(shù)據(jù)傳傳送速率,即波特率。通過(guò)軟件件對(duì)80C51串行行口編程可可設(shè)定4種種工作方式式。這4種種方式波特特率的計(jì)算算方法不同同:方式0和方方式2的波波特率是固定的,而方式1和方方式3的波波特率是可變的,由定時(shí)時(shí)器T1或或T2(AT89S52)的的溢出率控控制。411.方方式0和方方式2的波波特率方式0中,每個(gè)機(jī)機(jī)器周期發(fā)發(fā)送或接收收1位數(shù)據(jù)據(jù),且不受SMOD的影影響。方式2的波特率取取決于PCON中SMOD之之值。當(dāng)SMOD=0時(shí),,波特率為為fosc的1/64;若SMOD=1,則則波特率為為fosc的1/32,即::422.方式1和方式3的波特率率80C51串行口方方式1和方方式3的波波特率由定定時(shí)器T1的溢出率率與SMOD的值決決定,即::T1溢出率率取決于計(jì)計(jì)數(shù)速率和和定時(shí)器的的預(yù)置值。。計(jì)數(shù)速率與與TMOD寄存器中中C/T的的狀態(tài)有關(guān)關(guān)。當(dāng)C/T==0時(shí),計(jì)數(shù)速率率=fosc/12;當(dāng)C/T=1時(shí),計(jì)數(shù)速率率取決于外部部輸入時(shí)鐘頻頻率。43當(dāng)定時(shí)器T1作波特率發(fā)發(fā)生器使用時(shí)時(shí),通常是選選用自動(dòng)重裝載方方式,即方式2。設(shè)計(jì)數(shù)初值值為X,那么么每過(guò)(256—X)個(gè)個(gè)機(jī)器周期,,定時(shí)器1就就會(huì)產(chǎn)生一次次溢出。為了了避免因溢出出而產(chǎn)生不必必要的中斷,,此時(shí)應(yīng)禁止止T1中斷。。溢出周期為為:溢出率為溢出出周期之倒數(shù)數(shù),所以:則定時(shí)器T1方式2的初初始值為:44表7.2定定時(shí)器T1的常用波特特率串行口工作方式

波特率(kbps)foscMHzSMOD定時(shí)器1C/T模式初值方式0100012××××方式2375121×××方式1,362.512102FFH19.211.059102FDH9.611.059002FDH4.811.059002FAH2.411.059002F4H1.211.059002E8H0.11600272H0.1112001FFEBH45【例1】已知知80C51單片機(jī)時(shí)鐘鐘振蕩頻率為為11.0592MHz選用定時(shí)器器T1工作方方式2作波特特率發(fā)生器,,波特率為2400波特特,求時(shí)間常常數(shù)。解:設(shè)波特率率控制位SMOD=0,定時(shí)器T1的時(shí)間常數(shù)數(shù)為:所以TH1==TL1=F4H。46由于上述公式式包含除法,,所以當(dāng)晶振振頻率與波特特率不同時(shí),,計(jì)算值有時(shí)時(shí)會(huì)有一定誤差。例如,如果果晶振頻率為為12MHz,波特率要要求為2400,在SMOD=0時(shí)時(shí),TH1=F3H,波波特率的實(shí)際際計(jì)算值為2404,誤誤差為0.11%。但如如果2個(gè)單片片機(jī)的波特率率相同,例如如均為2404,則不會(huì)會(huì)影響通信;;如果2個(gè)單片片機(jī)的波特率率誤差超過(guò)2.5%,則則可能會(huì)引起起通信錯(cuò)誤。。47AT89S52單片機(jī)的的定時(shí)器T2也可作為波波特率發(fā)生器器。487.3串串行通信工作作方式通過(guò)軟件編程程可使串行通通信有4種工工作方式。497.3.1方方式0在方式0下,串行口作作同步移位寄存存器用,以8位數(shù)數(shù)據(jù)為1幀,,先發(fā)送或接接收最低位,,每個(gè)機(jī)器周周期發(fā)送或接接收一位,故故其波特率是是固定的,為為fosc//12。串行行數(shù)據(jù)由RXD(P3.0))端輸入或輸輸出。同步移移位脈沖由TXD(P3.1))端送出。這這種方式常用用于擴(kuò)展I/O口。采用用不同的指令令實(shí)現(xiàn)輸入或或輸出。50(1)發(fā)送送當(dāng)執(zhí)行“MOVSBUF,A”指令時(shí),CPU將1字字節(jié)的數(shù)據(jù)寫(xiě)寫(xiě)入發(fā)送緩沖沖寄存器SBUF(99H),串行行口即把8位位數(shù)據(jù)以fosc/12的波特率從RXD端送送出(低位在前))。發(fā)送完成成后,置中斷斷標(biāo)志位TI為1。如要要繼續(xù)發(fā)送應(yīng)應(yīng)將TI清0。51(2)接收收由于REN是串行口允許許接收控制位位,因此在準(zhǔn)準(zhǔn)備接收時(shí),,首先要用軟軟件置REN為1,使其其允許接收;;然后,執(zhí)行行“MOVA,SBUF”指令,,CPU即開(kāi)開(kāi)始從RXD端以fosc/12波波特率輸入數(shù)數(shù)據(jù)(低位在在前),當(dāng)接接收到8位數(shù)數(shù)據(jù)時(shí),置中中斷標(biāo)志RI為1。讀取取數(shù)據(jù)后,一一定要將RI清0。52串行控制寄存存器中,TB8和RB8位在方式0中未用。每每當(dāng)發(fā)送或接接收完8位數(shù)數(shù)據(jù)時(shí),由硬硬件將發(fā)送中中斷TI或接接收中斷RI標(biāo)志置位。。不管是中斷方方式還是查詢?cè)兎绞?,都不不?huì)清除TI或RI標(biāo)志志,必須用軟軟件清0。在方式0中,,SM2位必須須為0。53圖7.3串串行口結(jié)構(gòu)構(gòu)框圖547.3.2方方式1在方式1下,串行口為為10位通用用異步接口。。發(fā)送或接收收1幀數(shù)據(jù),,包括1位起起始位“0””、8位數(shù)據(jù)據(jù)位和1位停停止位“1””,其傳送波波特率可調(diào)。。55(1)發(fā)送送當(dāng)執(zhí)行“MOVSBUF,A”指令時(shí),CPU將1字字節(jié)的數(shù)據(jù)寫(xiě)寫(xiě)入發(fā)送緩沖沖寄存器SBUF(99H),就啟啟動(dòng)發(fā)送器發(fā)發(fā)送,數(shù)據(jù)從從引腳TXD(P3.1)端輸出。。當(dāng)發(fā)送完1幀數(shù)數(shù)據(jù)后,TI標(biāo)志置1,在中斷方式式下將申請(qǐng)中中斷,通知CPU可以發(fā)發(fā)送下一個(gè)數(shù)數(shù)據(jù)。如要繼繼續(xù)發(fā)送,必必須將TI清清0。56圖7.3串串行口結(jié)構(gòu)構(gòu)框圖57(2)接收收接收時(shí),先使使REN置1,使串行口處處于允許接收收狀態(tài),RI標(biāo)志為0,,串行口采樣樣引腳RXD(P3.0)。當(dāng)采樣樣到1至0的的跳變時(shí),確確認(rèn)是起始位位“0”,就就開(kāi)始接收1幀數(shù)據(jù)。當(dāng)當(dāng)停止位到來(lái)來(lái)時(shí),RB8位置1,同同時(shí),中斷標(biāo)標(biāo)志位RI也也置1,在中中斷方式下將將申請(qǐng)中斷,,通知CPU從SBUF取走接收到到的1個(gè)數(shù)據(jù)據(jù)。不管是中斷方方式,還是查查詢方式,都不會(huì)清除TI或RI標(biāo)標(biāo)志,必須用用軟件清0。。587.3.3方方式2和和方式3方式2和方式式3均為11位異步通信方方式,只是波波特率的設(shè)置置方法不同,,其余完全相相同。這兩種種方式發(fā)送或或接收1幀的的信息包括1位起始位““0”、8位位數(shù)據(jù)位、1位可編程位位和1位停止止位“1”。。其信息傳送送波特率與SMOD有關(guān)關(guān)。59(1)發(fā)送送發(fā)送前,首先先根據(jù)通信協(xié)議由軟件設(shè)置TB8(如作作奇偶校驗(yàn)位位或地址/數(shù)數(shù)據(jù)標(biāo)識(shí)位)),然后,將將要發(fā)送的數(shù)數(shù)據(jù)寫(xiě)入SBUF即可啟啟動(dòng)發(fā)送器。。發(fā)送過(guò)程是由由執(zhí)行任何一一條以SBUF作為目的的寄存器的指指令而啟動(dòng)的的(寫(xiě)SBUF指指令),把8位數(shù)數(shù)據(jù)裝入SBUF,同時(shí)時(shí),串行口還還自動(dòng)把TB8裝到發(fā)送送移位寄存器器的第9位數(shù)數(shù)據(jù)位置上,,并通知發(fā)送送控制器要求求進(jìn)行一次發(fā)發(fā)送,然后即即從TXD((P3.1))端輸出1幀幀數(shù)據(jù)。60圖7.3串串行口結(jié)構(gòu)構(gòu)框圖61(2)接收收在接收時(shí),先先置位REN為為1,使串行口處處于允許接收收狀態(tài),同時(shí)時(shí)還要將RI清0。在滿滿足這個(gè)條件件的前提下,,再根據(jù)SM2的狀態(tài)((因?yàn)镾M2是方式2和和方式3的多多機(jī)通信控制制位)和所接接收到的RB8的狀態(tài),,才能決定此此串行口在信信息到來(lái)后是是否會(huì)使RI置1。如果果RI置1,,在中斷方式式下將申請(qǐng)中中斷,接收數(shù)數(shù)據(jù)。當(dāng)SM2=0時(shí),不管RB8為0還是是為1,RI都置1,此此串行口將接接收發(fā)來(lái)的信信息。當(dāng)SM2=1,且RB8為1時(shí),表示在多多機(jī)通信情況況下,接收的的信息為地址幀,此時(shí)RI置置1。串行口口將接收發(fā)來(lái)來(lái)的地址。當(dāng)SM2=1,且RB8為0時(shí),表示接收收的信息為數(shù)據(jù)幀,但不是發(fā)給本本從機(jī)的,此時(shí)RI不不置1,因而而SBUF中中所接收的數(shù)數(shù)據(jù)幀將丟失失。62在方式2和方方式3下,同同樣不管是中中斷方式,還還是查詢方式式,都不會(huì)清清除TI或RI標(biāo)志。在在發(fā)送和接收收之后,也都都必須用軟件清TI和RI位。。637.3.4多多機(jī)通信信80C51的的方式2和方式式3有一個(gè)專(zhuān)門(mén)的的應(yīng)用領(lǐng)域,,即多機(jī)通信。這一功能使使它可以方便便地應(yīng)用于集集散式分布系系統(tǒng)中。這種種系統(tǒng)采用一一臺(tái)主機(jī)和多多臺(tái)從機(jī)。圖7.4多多機(jī)通信連連接圖64多機(jī)通信的實(shí)實(shí)現(xiàn),主要靠靠主、從機(jī)之之間正確地設(shè)設(shè)置與判斷多多機(jī)通信控制制位SM2和和發(fā)送或接收收的第9數(shù)據(jù)據(jù)位(D8))。在編程前,首先要給各從從機(jī)定義地址址編號(hào),如分別為00H、01H、02H……。當(dāng)主主機(jī)想發(fā)送一一數(shù)據(jù)塊給幾幾個(gè)從機(jī)中的的一個(gè)時(shí),它它首先送出一個(gè)個(gè)地址字節(jié),以辨認(rèn)從機(jī)機(jī)。地址字節(jié)節(jié)和數(shù)據(jù)字節(jié)節(jié)可用第9數(shù)數(shù)據(jù)位(TB8)來(lái)區(qū)別,地址為1,數(shù)數(shù)據(jù)為0。所以,在主機(jī)發(fā)送地址幀時(shí)時(shí),地址/數(shù)數(shù)據(jù)標(biāo)識(shí)位TB8應(yīng)設(shè)置置為“1”,,以表示是地地址幀。如:MOV SCON,#0D8H;設(shè)設(shè)串行口為方方式3,TB8置“1”,準(zhǔn)備發(fā)發(fā)地址65此時(shí),所有的的從機(jī)初始化化時(shí)均置SM2=1,使使它們只處于于接收地址幀幀的狀態(tài)。如:MOVSCON,,#0F0H;置串行口口為方式3,,SM2=1,允許許接收當(dāng)從機(jī)接收到到從主機(jī)發(fā)來(lái)來(lái)的信息后,,第9位RB8若為“1”,則置位位中斷標(biāo)志RI,并在中中斷后判斷主主機(jī)送來(lái)的地地址與本從機(jī)機(jī)地址是否相相符。若相符符,則被尋址址的從機(jī)就清清除其SM2標(biāo)志,即SM2=0,準(zhǔn)備接收即即將從主機(jī)送送來(lái)的數(shù)據(jù)幀幀;未被選中的從從機(jī)仍保持SM2=1。66當(dāng)主機(jī)發(fā)送數(shù)數(shù)據(jù)幀時(shí),應(yīng)應(yīng)置TB8==0。此時(shí),,雖然各從機(jī)機(jī)都能接收到到,但由于TB8==0,所以只只有SM2==0的那個(gè)被被尋址的從機(jī)機(jī)才能接收到到數(shù)據(jù),那些未被選中中的從機(jī)將不不理睬進(jìn)入到到串行口的數(shù)數(shù)據(jù)字節(jié),繼繼續(xù)進(jìn)行它們們自己的工作作,直到一個(gè)個(gè)新的地址字字節(jié)到來(lái),這這樣就實(shí)現(xiàn)了了主機(jī)控制的的主從機(jī)之間間的通信。綜上所述,通信只能在主主從機(jī)之間進(jìn)進(jìn)行,從機(jī)之之間的通信只只有經(jīng)主機(jī)才才能實(shí)現(xiàn)。67多機(jī)之間的通通信過(guò)程可歸歸納如下:(1)主、從從機(jī)均初始化化為方式2或或方式3,置置SM2=1,允許中斷。。(2)主機(jī)置TB8=1,發(fā)送要尋址的的從機(jī)地址。(3)所有從從機(jī)均接收主主機(jī)發(fā)送的地地址,并進(jìn)行行地址比較。。(4)被尋址址的從機(jī)確認(rèn)認(rèn)地址后,置置本機(jī)SM2=0,向主機(jī)返回回地址,供主主機(jī)核對(duì)。(5)核對(duì)無(wú)無(wú)誤后,主機(jī)機(jī)向被尋址的的從機(jī)發(fā)送命命令,通知從從機(jī)接收或發(fā)發(fā)送數(shù)據(jù)。(6)通信只只能在主、從從機(jī)之間進(jìn)行行,兩個(gè)從機(jī)機(jī)之間的通信信需通過(guò)主機(jī)機(jī)作中介。(7)本次通通信結(jié)束后,,主、從機(jī)重重置SM2==1,主機(jī)可可再對(duì)其他從從機(jī)尋址。68在實(shí)際應(yīng)用中中,因?yàn)閱纹瑱C(jī)功能有限限,因而在較較大的測(cè)控系系統(tǒng)中,常常常把單片機(jī)應(yīng)應(yīng)用系統(tǒng)作為為前端機(jī)(下下位機(jī)或從機(jī)機(jī))直接用于于控制對(duì)象的的數(shù)據(jù)采集與與控制,而把把PC機(jī)作為為中央處理機(jī)機(jī)(上位機(jī)或或主機(jī))用于于數(shù)據(jù)處理和和對(duì)下位機(jī)的的監(jiān)控管理。。它們之間的的信息交換主主要是采用串串行通信,此此時(shí)單片機(jī)可可直接利用其其串行接口,,而PC機(jī)可可利用其配備備的8250或8251、16450等可編程程串行接口芯芯片。實(shí)現(xiàn)單片機(jī)與與PC機(jī)串行行通信的關(guān)鍵鍵是在通信協(xié)協(xié)議的約定上上要一致,例如,應(yīng)設(shè)定相同的波波特率及幀格格式等。在正式工工作之前,雙雙方應(yīng)先互發(fā)發(fā)聯(lián)絡(luò)信號(hào),,以確保通信信收發(fā)數(shù)據(jù)的的準(zhǔn)確性。697.4串串行口應(yīng)用舉舉例本節(jié)將介紹串串行口在作I/O擴(kuò)展及及一般異步通通信和多機(jī)通通信中的應(yīng)用用原理及實(shí)例例。707.4.1用用串行口口擴(kuò)展I/O口串行口的方式式0主要用于擴(kuò)展并行行I/O口。此處將給出出實(shí)用線路和和簡(jiǎn)單的控制制指令。71例7.1用用并行輸入入8位移位寄寄存器74HC165擴(kuò)展16位并并行輸入口。編程實(shí)現(xiàn)從從16位擴(kuò)展展口讀入20字節(jié)數(shù)據(jù),,并把它們轉(zhuǎn)轉(zhuǎn)存到內(nèi)部RAM的50H~63H中。圖7.5利利用串行口擴(kuò)擴(kuò)展輸入口72解:在此采用用74HC165與單片片機(jī)相連實(shí)現(xiàn)現(xiàn)I/O口擴(kuò)擴(kuò)展,是利用用80C51的3根口線線擴(kuò)展為16根輸入口線線的實(shí)用電路路,其由2塊塊74HC165串接而而成。74HC165是是并入串出移移位寄存器((也可選用其其他同樣功能能的CMOS器件)。圖圖中,CK為時(shí)鐘脈脈沖輸入端,,D0~D7為并行輸入端端,SIN、QH分別為數(shù)據(jù)的的輸入、輸出出端。前級(jí)的數(shù)據(jù)據(jù)輸出端QH與后級(jí)的信號(hào)號(hào)輸入端SIN相連。S/L=0時(shí),允允許并行置入入數(shù)據(jù);S/L=1時(shí),,允許串行移移位。73MOV R7,#20;;設(shè)置讀讀入字節(jié)數(shù)MOV R0,#50H ;設(shè)片內(nèi)內(nèi)RAM指針針SETBF0 ;設(shè)設(shè)置讀入字節(jié)節(jié)奇偶數(shù)標(biāo)志志RCV0:CLRP1.0;;允許并行行置入數(shù)據(jù)SETBP1.0;;允許串行行移位RCV1:MOVSCON,#10H;;設(shè)串行口方方式0并啟動(dòng)動(dòng)接收J(rèn)NB RI,$;;等待接收一一幀數(shù)據(jù)CLR RI ;清接接收中斷標(biāo)志志MOV A,,SBUF;;取緩沖沖器數(shù)據(jù)MOV @R0,AINC R0CPL F0JB F0,,RCV2;;判是否接接收完偶數(shù)幀幀,接收完則則DEC R7重重新并行置入入SJMPRCV1;;否則再接接收一幀RCV2:DJNZR7,RCV0 ;判判是否已讀入入預(yù)定的字節(jié)節(jié)數(shù)……;;對(duì)讀入數(shù)據(jù)據(jù)進(jìn)行處理74程序中F0用用來(lái)作讀入字字節(jié)數(shù)的奇偶偶性標(biāo)志。由由于每次由擴(kuò)擴(kuò)展口并行置置入到移位寄寄存器的是2個(gè)字節(jié)數(shù)據(jù)據(jù),置入1次次,串行口應(yīng)應(yīng)接收2幀數(shù)數(shù)據(jù)。故已接接收的數(shù)據(jù)字字節(jié)數(shù)為奇數(shù)數(shù)時(shí)F0=0,不再并行行置入數(shù)據(jù)就就直接啟動(dòng)接接收過(guò)程;否否則F0=1,在啟動(dòng)接接收過(guò)程前,,應(yīng)該先在外外部移位寄存存器中置入新新的數(shù)據(jù)。75【例7.2】】用2片片8位串入并并出移位寄存存器74HC164作擴(kuò)擴(kuò)展輸出口。。編程使這16個(gè)發(fā)光二極極管交替為間間隔點(diǎn)亮狀態(tài)態(tài),循環(huán)交替替時(shí)間為2s。圖7.6利利用串行口口擴(kuò)展輸出接接口7674HC164是串行輸輸入、并行輸輸出移位寄存存器。Q0~~Q7為并行行輸出端;A、B為串行行輸入端;CLR為清除除端,零電平平時(shí),使74HC164輸出清“0”;CK為為時(shí)鐘脈沖輸輸入端,在CK脈沖的上上升沿作用下下實(shí)現(xiàn)移位。。在CK=0,CLR==1時(shí),74HC164保持原來(lái)數(shù)數(shù)據(jù)狀態(tài)。由于74HC164無(wú)并并行輸出控制制端,在串行行輸入過(guò)程中中其輸出端的的狀態(tài)會(huì)不斷斷變化,故在在某些使用場(chǎng)場(chǎng)合,在74HC164與輸出裝置置之間還應(yīng)加加上輸出可控控的緩沖級(jí)((如74HC244),,以便在串行行輸入過(guò)程結(jié)結(jié)束后再輸出出。圖中的輸輸出裝置是16位發(fā)光二二極管。由于于74HC164在低電電平輸出時(shí)允允許通過(guò)的電電流可達(dá)8mA,故不需需再加驅(qū)動(dòng)電電路。77ST: MOV SCON,#00H ;設(shè)設(shè)串行口為方方式0MOV A,,#55H;;二極管管間隔點(diǎn)亮初初值LP2:MOV R0,#2;;輸出口字字節(jié)數(shù)CLR P1.0;;對(duì)74HC164清清0SETBP1.0;;允許數(shù)數(shù)據(jù)串行移位位LP1:MOV SBUF,A;;啟動(dòng)串串行口發(fā)送JNB TI,$;;等待1幀幀發(fā)送結(jié)束CLR TI ;清清串行口發(fā)送送中斷標(biāo)志位位DJNZR0,LP1 ;判斷斷預(yù)定字節(jié)數(shù)數(shù)發(fā)送完否LCALLDEL2s ;調(diào)調(diào)延時(shí)2s子子程序(略))CPL A;;交替替點(diǎn)亮二極管管SJMPLP2;;循環(huán)顯示示78從理論上講,,74HC164或74HC165可以無(wú)限地地串級(jí)上去,,進(jìn)一步擴(kuò)展展輸入/輸出出并行口,但但這種擴(kuò)展方方法,輸入//輸出的速度度不高,移位位時(shí)鐘頻率為為fosc//12。若fosc=12MHz,,則每移1位位需1μs。。797.4.2用用串串行口進(jìn)行異異步通信圖7.7雙雙機(jī)異步通通信連接圖80【例7.3】】編程把把甲機(jī)片內(nèi)RAM的60H~7FH單元中的數(shù)數(shù)據(jù)塊從串行行口輸出。定定義在工作方方式3下發(fā)送送,TB8用用作奇偶校驗(yàn)驗(yàn)位。采用定定時(shí)器T1方方式2作波特特率發(fā)生器,,波特率為4800,fosc=11.0592MHz,,定時(shí)器初始始預(yù)置值TH1=TL1=0FAH。編程使乙機(jī)從從甲機(jī)接收32個(gè)字節(jié)數(shù)數(shù)據(jù)塊,并存存入片外1000H~101FH單單元。接收過(guò)過(guò)程中要求判判奇偶校驗(yàn)標(biāo)標(biāo)志RB8。。若出錯(cuò),則則置F0標(biāo)志志為1,若正正確則置F0標(biāo)志為0,,然后返回。。81解:編寫(xiě)發(fā)送送子程序如下下:MOV TMOD,#20H ;設(shè)設(shè)置定時(shí)器T1為方式2MOV TL1,#0FAH ;設(shè)設(shè)預(yù)置值MOV TH1,#0FAHSETBTR1;;啟動(dòng)定時(shí)器器T1MOV SCON,#0C0H;;設(shè)置串行口口為方式3MOV PCON,#00H;;SMOD==0MOV R0,#60H ;設(shè)數(shù)據(jù)據(jù)決指針MOV R7,#20H ;設(shè)數(shù)據(jù)據(jù)長(zhǎng)度20HTRS:MOVA,@R0;;取數(shù)據(jù)據(jù)送至AMOV C,,PMOV TB8,C;;奇偶位P送至TB8MOV SBUF,A;;數(shù)據(jù)送送至SBUF,啟動(dòng)發(fā)送送WAIT:JNBTI,$;;判1幀是是否發(fā)送完CLR TIINC R0 ;更新新數(shù)據(jù)單元DJNZR7,TRS ;循環(huán)環(huán)發(fā)送至結(jié)束束RET;;返回82在進(jìn)行雙機(jī)通通信時(shí),兩機(jī)機(jī)應(yīng)用相同的的工作方式和和波特率,因因而接收子程程序編程如下下:MOV TMOD,#20H ;設(shè)設(shè)置定時(shí)器T1為方式2MOV TL1,#0FAH ;設(shè)設(shè)預(yù)置值MOV TH1,#0FAHSETBTR1;;啟動(dòng)定時(shí)器器T1MOV SCON,#0C0H;;設(shè)置串行口口為方式3MOV PCON,#00H ;SMOD=0MOV DPTR,#1000H;;設(shè)置數(shù)據(jù)據(jù)塊指針MOV R7,#20H ;設(shè)數(shù)據(jù)據(jù)塊長(zhǎng)度SETBREN;;允許接收WAIT:JNBRI,$;;判斷1幀幀是否接收完完CLR RIMOV A,,SBUF;;讀入1幀數(shù)據(jù)JNB PSW.0,PZ ;奇偶偶位P為0,,則轉(zhuǎn)JNB RB8,ERR ;P=1,RB8=0,則出錯(cuò)錯(cuò)SJMPYES;;二者全為1,則正確83PZ: JB RB8,,ERR;;二者全為0,則正確;;P=0,RB8=1,,則出錯(cuò)YES:MOVX@@DPTR,,A ;正確確,存放數(shù)據(jù)據(jù)INC DPTR;;修改地址指指針DJNZR7,WAIT ;判斷斷數(shù)據(jù)塊接收收完否CLR PSW.5;;接收正確確,且接收完完,清F0標(biāo)標(biāo)志RET;;返回ERR:SETBPSW.5;;出錯(cuò),,則置F0標(biāo)標(biāo)志為1RET;;返回上例是在方式式3下進(jìn)行收收發(fā),用奇偶偶位進(jìn)行校驗(yàn)驗(yàn)。8485在方式1下進(jìn)進(jìn)行雙機(jī)通信信,用累加和和進(jìn)行校驗(yàn)的的方法?!纠?.4】】設(shè)甲機(jī)機(jī)發(fā)送乙機(jī)接接收,波特率率為2400波特,兩機(jī)機(jī)晶振均為6MHz。要要求甲機(jī)將外外部數(shù)據(jù)存儲(chǔ)儲(chǔ)器4000H~40FFH單元的的內(nèi)容向乙機(jī)機(jī)發(fā)送,在發(fā)發(fā)送數(shù)據(jù)之前前將數(shù)據(jù)塊長(zhǎng)長(zhǎng)度發(fā)送給乙乙機(jī),發(fā)送完完256B后后,向乙機(jī)發(fā)發(fā)送一個(gè)累加加校驗(yàn)和。乙機(jī)接收甲機(jī)機(jī)發(fā)送的數(shù)據(jù)據(jù),并寫(xiě)入以以300H為為首址的外部部數(shù)據(jù)存儲(chǔ)器器中。首先接接收數(shù)據(jù)長(zhǎng)度度,接著接收收數(shù)據(jù),當(dāng)接接收完256B后,接收收校驗(yàn)碼,進(jìn)進(jìn)行累加和校校驗(yàn)。數(shù)據(jù)傳傳送結(jié)束時(shí),,向甲機(jī)發(fā)送送一個(gè)狀態(tài)字字節(jié),表示傳傳送是正確或或出錯(cuò)。86解

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論