xaut 第7章 MCS-51的串行口_第1頁(yè)
xaut 第7章 MCS-51的串行口_第2頁(yè)
xaut 第7章 MCS-51的串行口_第3頁(yè)
xaut 第7章 MCS-51的串行口_第4頁(yè)
xaut 第7章 MCS-51的串行口_第5頁(yè)
已閱讀5頁(yè),還剩55頁(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ī)原理及應(yīng)用主講:梁德勝聯(lián)系方式:dsliang@辦公地點(diǎn):教五樓408室

2/4/20231第2章2.7MCS-51的串行口

1計(jì)算機(jī)串行通信基礎(chǔ)28051的串行口3

單片機(jī)串行口應(yīng)用舉例2/4/202321計(jì)算機(jī)串行通信基礎(chǔ)

隨著多微機(jī)系統(tǒng)的廣泛應(yīng)用和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的普及,計(jì)算機(jī)的通信功能愈來(lái)愈顯得重要。計(jì)算機(jī)通信是指計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換。通信有并行通信和串行通信兩種方式。在多微機(jī)系統(tǒng)以及現(xiàn)代測(cè)控系統(tǒng)中信息的交換多采用串行通信方式。2/4/20233并行通信通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線同時(shí)進(jìn)行傳送。并行通信特點(diǎn):控制簡(jiǎn)單、傳輸速度快;由于傳輸線較多,長(zhǎng)距離傳送時(shí)成本高且接收方的各位同時(shí)接收存在困難。

2/4/20234串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個(gè)地傳送。串行通信的特點(diǎn):傳輸線少,長(zhǎng)距離傳送時(shí)成本低,且可以利用電話網(wǎng)等現(xiàn)成的設(shè)備,但數(shù)據(jù)的傳送控制比并行通信復(fù)雜。

2/4/202351.1串行通信的基本概念

一、異步通信與同步通信1、異步通信異步通信是指通信的發(fā)送與接收設(shè)備使用各自的時(shí)鐘控制數(shù)據(jù)的發(fā)送和接收過(guò)程。為使雙方的收發(fā)協(xié)調(diào),要求發(fā)送和接收設(shè)備的時(shí)鐘盡可能一致。

2/4/20236

異步通信是以字符(構(gòu)成的幀)為單位進(jìn)行傳輸,字符與字符之間的間隙(時(shí)間間隔)是任意的,但每個(gè)字符中的各位是以固定的時(shí)間傳送的,即字符之間是異步的(字符之間不一定有“位間隔”的整數(shù)倍的關(guān)系),但同一字符內(nèi)的各位是同步的(各位之間的距離均為“位間隔”的整數(shù)倍)。為了實(shí)現(xiàn)一步傳輸字符的同步,采用的辦法是使傳送的每一個(gè)字符都以起始位“0”開(kāi)始,以停止位“1”結(jié)束。如此,傳送的每一個(gè)字符都以起始位來(lái)進(jìn)行收發(fā)雙方的同步。停止位和間隙作為時(shí)鐘頻率偏差的緩沖,即使雙方時(shí)鐘頻率略有偏差,總的數(shù)據(jù)流也不會(huì)因?yàn)槠畹姆e累而導(dǎo)致數(shù)據(jù)錯(cuò)位。2/4/20237異步通信的數(shù)據(jù)格式:異步通信的特點(diǎn):不要求收發(fā)雙方時(shí)鐘的嚴(yán)格一致,實(shí)現(xiàn)容易,設(shè)備開(kāi)銷較小,但每個(gè)字符要附加2~3位用于起止位,各幀之間還有間隔,因此傳輸效率不高。2/4/202382、同步通信同步通信時(shí)要建立發(fā)送方時(shí)鐘對(duì)接收方時(shí)鐘的直接控制,使雙方達(dá)到完全同步。此時(shí),傳輸數(shù)據(jù)的位之間的距離均為“位間隔”的整數(shù)倍,同時(shí)傳送的字符間不留間隙,即保持位同步關(guān)系,也保持字符同步關(guān)系。2/4/20239二、串行通信的傳輸方向1、單工單工是指數(shù)據(jù)傳輸僅能沿一個(gè)方向,不能實(shí)現(xiàn)反向傳輸。2、半雙工半雙工是指數(shù)據(jù)傳輸可以沿兩個(gè)方向,但需要分時(shí)進(jìn)行。3、全雙工全雙工是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向傳輸。

單工半雙工全雙工2/4/202310三、信號(hào)的調(diào)制與解調(diào)

利用調(diào)制器(Modulator)把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),然后送到通信線路上去,再由解調(diào)器(Demodulator)把從通信線路上收到的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。由于通信是雙向的,調(diào)制器和解調(diào)器合并在一個(gè)裝置中,這就是調(diào)制解調(diào)器MODEM。DTE:計(jì)算機(jī)終端設(shè)備;DCE:數(shù)據(jù)通訊設(shè)備2/4/202311四、串行通信的錯(cuò)誤校驗(yàn):奇偶校驗(yàn)在發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)位尾隨的1位為奇偶校驗(yàn)位(1或0)。奇校驗(yàn)時(shí),數(shù)據(jù)中“1”的個(gè)數(shù)與校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為奇數(shù);偶校驗(yàn)時(shí),數(shù)據(jù)中“1”的個(gè)數(shù)與校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為偶數(shù)。接收字符時(shí),對(duì)“1”的個(gè)數(shù)進(jìn)行校驗(yàn),若發(fā)現(xiàn)不一致,則說(shuō)明傳輸數(shù)據(jù)過(guò)程中出現(xiàn)了差錯(cuò)。2/4/202312五、傳輸速率:波特率

波特率:是串口每秒傳輸二進(jìn)制代碼的位數(shù),單位是:位/秒(bps)。如每秒鐘傳送240個(gè)字符,而每個(gè)字符格式包含10位(1個(gè)起始位、1個(gè)停止位、8個(gè)數(shù)據(jù)位),這時(shí)的比特率為:

10位×240個(gè)/秒=2400bps2/4/2023137.1.2串行通信接口標(biāo)準(zhǔn)

一、RS-232C接口RS-232C是EIA(美國(guó)電子工業(yè)協(xié)會(huì))1969年修訂RS-232C標(biāo)準(zhǔn)。RS-232C定義了數(shù)據(jù)終端設(shè)備(DTE)與數(shù)據(jù)通信設(shè)備(DCE)之間的物理接口標(biāo)準(zhǔn)。1、機(jī)械特性RS-232C接口規(guī)定使用25針連接器,連接器的尺寸及每個(gè)插針的排列位置都有明確的定義。(陽(yáng)頭)2/4/2023142、功能特性:2/4/2023153電氣特性

EIA-RS-232C對(duì)電器特性、邏輯電平和各種信號(hào)線功能都作了規(guī)定。在TxD和RxD上:邏輯1(MARK)=-3V~-15V

邏輯0(SPACE)=+3~+15在RTS、CTS、DSR、DTR和DCD等控制線上信號(hào)有效(接通,ON狀態(tài),正電壓)=+3V~+15V信號(hào)無(wú)效(斷開(kāi),OFF狀態(tài),負(fù)電壓)=-3V~-15V

2/4/202316以上規(guī)定說(shuō)明了RS-323C標(biāo)準(zhǔn)對(duì)邏輯電平的定義。對(duì)于數(shù)據(jù)(信息碼):邏輯“1”(傳號(hào))的電平低于-3V,邏輯“0”(空號(hào))的電平高于+3V;對(duì)于控制信號(hào);接通狀態(tài)(ON)即信號(hào)有效的電平高于+3V,斷開(kāi)狀態(tài)(OFF)即信號(hào)無(wú)效的電平低于-3V,也就是當(dāng)傳輸電平的絕對(duì)值大于3V時(shí),電路可以有效地檢查出來(lái),介于-3~+3V之間的電壓無(wú)意義,低于-15V或高于+15V的電壓也認(rèn)為無(wú)意義,因此,實(shí)際工作時(shí),應(yīng)保證電平在±(3~15)V之間。2/4/2023174、過(guò)程特性過(guò)程特性規(guī)定了信號(hào)之間的時(shí)序關(guān)系,以便正確地接收和發(fā)送數(shù)據(jù)。使用MODEM的遠(yuǎn)程通信2/4/202318PC與外設(shè)的RS-232直接連接最簡(jiǎn)單的RS-232數(shù)據(jù)通訊連接2/4/2023195、RS-232C電平與TTL電平轉(zhuǎn)換驅(qū)動(dòng)電路2/4/2023202/4/2023216、采用RS-232C接口存在的問(wèn)題(1)傳輸距離短,傳輸速率低

RS-232C總線標(biāo)準(zhǔn)受電容允許值的約束,使用時(shí)傳輸距離一般不要超過(guò)15米(線路條件好時(shí)也不超過(guò)幾十米)。最高傳送速率為20Kbps。(2)有電平偏移

RS-232C總線標(biāo)準(zhǔn)要求收發(fā)雙方共地。通信距離較大時(shí),收發(fā)雙方的地電位差別較大,在信號(hào)地上將有比較大的地電流并產(chǎn)生壓降。(3)抗干擾能力差

RS-232C在電平轉(zhuǎn)換時(shí)采用單端輸入輸出,在傳輸過(guò)程中當(dāng)干擾和噪聲混在正常的信號(hào)中。為了提高信噪比,RS-232C總線標(biāo)準(zhǔn)不得不采用比較大的電壓擺幅。2/4/202322二、RS-422A接口

2/4/202323RS-422A標(biāo)準(zhǔn)接口總線采用雙端電氣接口形式,通過(guò)傳輸線驅(qū)動(dòng)器,把邏輯電平變換為電位差,完成發(fā)送端的數(shù)據(jù)傳送;在終端通過(guò)傳輸線接收器,把電位差轉(zhuǎn)換為邏輯電平,完成信息接收。RS-422A每個(gè)通道需要用2條信號(hào)線,如果其中一條線為邏輯“1”狀態(tài),另一條線就為邏輯“0”。差分電路能從地線干擾中拾取有效信號(hào),差分接收器可以分辨200mV以上電位差。差分放大器可使干擾和噪聲相互抵消。可以避免或大大減弱地線干擾和電磁干擾的影響。RS-422A傳輸距離為120米時(shí),傳輸速率可達(dá)10Mbps。降低速率傳輸時(shí)(90Kbps)時(shí),傳輸距離可達(dá)1200米。

2/4/202324三、RS-485接口

2/4/202325

RS-485是RS-422A的變型:RS-422A用于全雙工,而RS-485則用于半雙工。RS-485是一種多發(fā)送器標(biāo)準(zhǔn),容許雙導(dǎo)線上一個(gè)發(fā)送器驅(qū)動(dòng)32個(gè)負(fù)載設(shè)備。

RS-485的信號(hào)傳輸采用兩線間的電壓來(lái)表示邏輯1和邏輯0。由于發(fā)送方需要兩根傳輸線,接收方也需要兩根傳輸線。傳輸線采用差動(dòng)信道,所以它的干擾抑制性極好,又因?yàn)樗淖杩沟?,無(wú)接地問(wèn)題,所以傳輸距離可達(dá)1200米,傳輸速率可達(dá)1Mbps。2/4/202326

RS-485是一點(diǎn)對(duì)多點(diǎn)的通信接口,一般采用雙絞線的結(jié)構(gòu)。普通的PC機(jī)一般不帶RS485接口,因此要使用RS-232C/RS-485轉(zhuǎn)換器。對(duì)于單片機(jī)可以通過(guò)芯片MAX485來(lái)完成TTL/RS-485的電平轉(zhuǎn)換。在計(jì)算機(jī)和單片機(jī)組成的RS-485通信系統(tǒng)中,下位機(jī)由單片機(jī)系統(tǒng)組成,主要完成工業(yè)現(xiàn)場(chǎng)信號(hào)的采集和控制,上位機(jī)為普通的PC機(jī),負(fù)責(zé)監(jiān)視下位機(jī)的運(yùn)行狀態(tài),并對(duì)其狀態(tài)信息進(jìn)行集中處理,以圖文方式顯示下位機(jī)的工作狀態(tài)以及工業(yè)現(xiàn)場(chǎng)被控設(shè)備的工作狀況。系統(tǒng)中各節(jié)點(diǎn)(包括上位機(jī))的識(shí)別是通過(guò)設(shè)置不同的站地址來(lái)實(shí)現(xiàn)的。2/4/2023277.28051的串行口

有兩個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器SBUF,它們占用同一地址99H;接收器是雙緩沖結(jié)構(gòu);發(fā)送緩沖器,因?yàn)榘l(fā)送時(shí)CPU是主動(dòng)的,不會(huì)產(chǎn)生重疊錯(cuò)誤。

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

2/4/202328SCON是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志:

7.2.28051串行口的控制寄存器

2/4/202329SM0和SM1為工作方式選擇位,可選擇四種工作方式:

2/4/202330●SM2,多機(jī)通信控制位,主要用于方式2和方式3。方式2和方式3中,如果SM2置為1,且接收到的第九位RB8為0時(shí)不激活RI。在方式0時(shí),SM2必須是0。在方式1時(shí),若SM2=1,則只有接收到有效停止位時(shí),RI才置1?!馬EN,允許串行接收位。由軟件置REN=1,則啟動(dòng)串行口接收數(shù)據(jù);若軟件置REN=0,則禁止接收?!馮B8,在方式2或方式3中,是發(fā)送數(shù)據(jù)的第九位。

可以用軟件規(guī)定其作用??梢杂米鲾?shù)據(jù)的奇偶校驗(yàn)位,或在多機(jī)通信中,作為地址幀/數(shù)據(jù)幀的標(biāo)志位。2/4/202331●RB8,在方式2或方式3中,接收到數(shù)據(jù)的第九位。作為奇偶校驗(yàn)位或地址幀/數(shù)據(jù)幀的標(biāo)志位。在方式1中,若SM2=0,則RB8是接收到的停止位。在方式0中,不使用RB8?!馮I,發(fā)送中斷標(biāo)志位。在方式0時(shí),當(dāng)串行發(fā)送完第8位數(shù)據(jù)時(shí)由硬件置位。在其它方式中,當(dāng)發(fā)送停止位的開(kāi)始時(shí)由硬件置位,向CPU發(fā)中斷申請(qǐng)。在中斷服務(wù)程序中,必須用軟件將其清0,取消此中斷申請(qǐng)?!馬I,接收中斷標(biāo)志位。在方式0時(shí),當(dāng)串行接收第8位數(shù)據(jù)結(jié)束時(shí)由硬件置位。在其它方式中,在接收到停止位的中間時(shí)刻由硬件置位,向CPU發(fā)中斷申請(qǐng),取走數(shù)據(jù)。必須在中斷服務(wù)程序中,用軟件將其清0,取消此中斷申請(qǐng)。2/4/202332PCON中只有一位SMOD與串行口工作有關(guān)

SMOD(PCON.7)波特率倍增位。在串行口方式1、方式2、方式3時(shí),波特率與SMOD有關(guān),當(dāng)SMOD=1時(shí),波特率提高一倍。復(fù)位時(shí),SMOD=0。2/4/202333

7.2.38051串行口的工作方式

一、方式0

方式0時(shí),串行口為同步移位寄存器的輸入輸出方式。主要用于擴(kuò)展并行輸入或輸出口。數(shù)據(jù)由RXD(P3.0)引腳輸入或輸出,同步移位脈沖由TXD(P3.1)引腳輸出。發(fā)送和接收均為8位數(shù)據(jù),低位在先,高位在后。波特率固定為fosc/12。

1、方式0輸出2/4/202334

2、方式0輸入2/4/202335

方式0接收和發(fā)送電路2/4/202336

二、方式1

方式1是10位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中1位起始位,8位數(shù)據(jù)位,1位停止位。

2/4/202337

(1)方式1輸出2/4/202338

(2)方式1輸入2/4/202339用軟件置REN為1,當(dāng)檢測(cè)到RXD引腳上由1到0的跳變時(shí)開(kāi)始接收過(guò)程,并復(fù)位內(nèi)部16分頻計(jì)數(shù)器,以實(shí)現(xiàn)同步。計(jì)數(shù)器除以16個(gè)狀態(tài)把一位時(shí)間等分為16份,并在計(jì)數(shù)器的第7、8、9個(gè)計(jì)數(shù)狀態(tài)時(shí)采樣RXD引腳電平,每位數(shù)值采樣3次,當(dāng)3個(gè)值中至少有2個(gè)值相同時(shí),這2個(gè)相同值才被確認(rèn)接收,可以排除噪聲干擾。2/4/202340檢測(cè)到RXD引腳輸入電平發(fā)生負(fù)跳變時(shí),則說(shuō)明起始位有效,將其移入輸入移位寄存器,并開(kāi)始接收這一幀信息的其余位。接收過(guò)程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng)RI=0,且SM2=0(或接收到的停止位為1)時(shí),將接收到的9位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收SBUF,第9位(停止位)進(jìn)入RB8,并置RI=1,向CPU請(qǐng)求中斷。2/4/202341

三、方式2和方式3

方式2或方式3時(shí)為11位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳。2/4/202342方式2和方式3時(shí)起始位1位,數(shù)據(jù)9位(含1位附加的第9位,發(fā)送時(shí)為SCON中的TB8,接收時(shí)為RB8),停止位1位,一幀數(shù)據(jù)為11位。方式2的波特率固定為晶振頻率的1/64或1/32,方式3的波特率由定時(shí)器T1的溢出率決定。

2/4/202343

(1)方式2和方式3輸出2/4/202344由“寫入SBUF信號(hào)”把8位數(shù)據(jù)寫入SBUF,同時(shí)把TB8裝到發(fā)送移位寄存器的第9位上,并通知控制器開(kāi)始發(fā)送。發(fā)送開(kāi)始時(shí),先把起始位0輸出到TXD引腳,然后發(fā)送移位寄存器的輸出位(D0)到TXD引腳。每一個(gè)移位脈沖都使輸出移位寄存器的各位右移一位,并由TXD引腳輸出。第一次移位時(shí),停止位“1”移入輸出移位寄存器的第9位上,以后每次移位,左邊都移入0。當(dāng)停止位移至輸出位時(shí),左邊其余位全為0,檢測(cè)電路檢測(cè)到這一條件時(shí),使控制電路進(jìn)行最后一次移位,并置TI=1,向CPU請(qǐng)求中斷。2/4/202345

(2)方式2和方式3輸入2/4/202346接收過(guò)程由檢測(cè)到RXD引腳的負(fù)跳變開(kāi)始。當(dāng)檢測(cè)到負(fù)跳變時(shí),16分頻計(jì)數(shù)器立即復(fù)位,同時(shí)把1FFH寫入輸入移位寄存器。計(jì)數(shù)器的16個(gè)狀態(tài)把一位時(shí)間等分為16份,并在計(jì)數(shù)器的第7、8、9個(gè)計(jì)數(shù)狀態(tài)時(shí)采樣RXD引腳電平。如果起始位有效,則將其移入輸入移位寄存器,并開(kāi)始接收這一幀信息的其余位。接收時(shí),數(shù)據(jù)從右邊移入輸入移位寄存器。在起始位0移到最左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng)滿足(1)當(dāng)RI=0,且SM2=0;(2)接收到的第9位數(shù)據(jù)為1時(shí),將接收到的9位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收SBUF,第9位進(jìn)入RB8,并置RI=1,向CPU請(qǐng)求中斷。2/4/202347四、波特率的計(jì)算在串行通信中,收發(fā)雙方對(duì)發(fā)送或接收數(shù)據(jù)的速率要有約定。通過(guò)軟件可對(duì)單片機(jī)串行口編程為四種工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時(shí)器T1的溢出率來(lái)決定。串行口的四種工作方式對(duì)應(yīng)三種波特率。由于輸入的移位時(shí)鐘的來(lái)源不同,所以,各種方式的波特率計(jì)算公式也不相同。2/4/2023481、方式0時(shí),發(fā)送和接收的波特率是固定的,波特率等于振蕩頻率的1/12.

方式0的波特率=fosc/122、方式2時(shí),發(fā)送和接收的波特率也是固定的,但是與PCON中的SMOD位有關(guān):

方式2的波特率=(2SMOD/64)·fosc

2/4/2023493、方式1和方式3的波特率是可變的。其與定時(shí)器的溢出率和SMOD位有關(guān)。

方式1和方式3的波特率=T1的溢出率/n

當(dāng)SMOD=0時(shí),n=32;當(dāng)SMOD=1時(shí),n=16;因此:

方式1和方式3的波特率=(2SMOD/32)·(T1溢出率)

T1的溢出率指T1每秒溢出的次數(shù),取決于T1的計(jì)數(shù)速率和T1的預(yù)置初值。2/4/202350

當(dāng)T1作為波特率發(fā)生器時(shí),為了避免引起不必要的中斷,最典型的用法是使T1工作在自動(dòng)再裝入的8位定時(shí)器方式即方式2,此時(shí),計(jì)數(shù)速率為fosc/12。T1溢出率取決于TH1中的計(jì)數(shù)值。

T1溢出率=fosc/(12×(256-(TH1)))

方式1和方式3的波特率

=(2SMOD/32)·(T1溢出率)=(2SMOD/32)·(fosc/(12×(256-(TH1))))=(fosc·2SMOD)/(384×(256-TH1))

反過(guò)來(lái),T1的初值計(jì)算公式為:

(TH1)=256-((fosc·2SMOD)/(384x波特率))2/4/202351在單片機(jī)的應(yīng)用中,常用的晶振頻率為:12MHz和11.0592MHz。所以,選用的波特率也相對(duì)固定。常用的串行口波特率以及各參數(shù)的關(guān)系如表所示。2/4/202352具體步驟如下:確定T1的工作方式(編程TMOD寄存器);計(jì)算T1的初值,裝載TH1、TL1;啟動(dòng)T1(編程TCON中的TR1位);確定串行口控制(編程SCON寄存器);串行口在中斷方式工作時(shí),要進(jìn)行中斷設(shè)置(編程IE、IP寄存器)。使用串行口之前,應(yīng)對(duì)其進(jìn)行初始化,主要是設(shè)置產(chǎn)生波特率的定時(shí)器1、串行口控制和中斷控制。2/4/202353【例】將內(nèi)部RAM50H~5FH中的數(shù)據(jù)從串口輸出,串行接口以方式2工作,TB8作奇偶校驗(yàn)位。數(shù)據(jù)寫入發(fā)送緩沖器之前要將數(shù)據(jù)的奇偶位寫入TB8(利用查詢方式和中斷方式分別實(shí)現(xiàn))。2/4/202354查詢方式程序如下:

LOOP0:MOVSCON,#80H;方式2MOVPCON,#80H;波特率倍增

MOVR0,#50HMOVR7,#10HLOOP1:MOVA,@R0MOVC,PMOVTB8,CMOVSBUF,AWAIT:JBCTI,LOOP2SJMPWAIT;等待發(fā)送完成

LOOP2:INCR0DJNZR7,LOOP1RET2/4/202355

ORG0000HLJMPMAINORG0023HLJMPSERIALINTORG0100HMAIN:MOVSCON,#80H;方式2MOVPCON,#80H;波特率倍增

MOVR0,#50HMOVR7,#10H

SETBESSETBEAMOVA,@R0MOVC,P中斷方式程序如下:2/4/202356MOVTB8,CMOVSBUF,ASJMP$SERIALINT:CLRTIDJNZR7,LOOP1CLRESSJMPENDTTLOOP1:INCR0MOVA,@R0MOVC,PMOVTB8,CMOVSBUF,AENDTT:RETI2/4/202357【例】以RB8作奇偶校驗(yàn)位的接收程序,連續(xù)接受16個(gè)數(shù)據(jù)存放在內(nèi)部Rom50H開(kāi)始的連續(xù)16個(gè)單元。設(shè)串行接口以方式3工作。MCS-51和外設(shè)

溫馨提示

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