第十二章 串行口_第1頁
第十二章 串行口_第2頁
第十二章 串行口_第3頁
第十二章 串行口_第4頁
第十二章 串行口_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第12章章 8051串行口及串行口及 串行通信技術(shù)串行通信技術(shù) 主要內(nèi)容主要內(nèi)容1、串行通信基本知識(shí)、串行通信基本知識(shí)2、串行口及其應(yīng)用、串行口及其應(yīng)用3、RS-232C標(biāo)準(zhǔn)接口總線標(biāo)準(zhǔn)接口總線 及串行通信硬件設(shè)計(jì)及串行通信硬件設(shè)計(jì)4、8051與與8051點(diǎn)對(duì)點(diǎn)異步通信點(diǎn)對(duì)點(diǎn)異步通信5、8051與與PC機(jī)間通信軟件的設(shè)計(jì)機(jī)間通信軟件的設(shè)計(jì)6、PC機(jī)與多個(gè)單片機(jī)間的通信機(jī)與多個(gè)單片機(jī)間的通信12.0 串行通信概述串行通信概述 并行通信的特點(diǎn)并行通信的特點(diǎn):短距離、高速度,傳輸線多。:短距離、高速度,傳輸線多。 串行通信的特點(diǎn)串行通信的特點(diǎn):傳輸線少,方便、長距離傳輸。:傳輸線少,方便、長距離傳

2、輸。 本章主要介紹本章主要介紹: 1、8051串行口的結(jié)構(gòu)、原理及應(yīng)用;串行口的結(jié)構(gòu)、原理及應(yīng)用; 2、單片機(jī)之間的串行通信;、單片機(jī)之間的串行通信; 3、單片機(jī)與、單片機(jī)與PC機(jī)之間的串行通信;機(jī)之間的串行通信; 4、通信接口電路和軟件設(shè)計(jì)等。、通信接口電路和軟件設(shè)計(jì)等。12.1 串行通信基本知識(shí)串行通信基本知識(shí) 主要內(nèi)容:串行通信的傳輸方式、通信方式和通主要內(nèi)容:串行通信的傳輸方式、通信方式和通信協(xié)議。信協(xié)議。12. 1. 2 串行通信的傳輸方式串行通信的傳輸方式1、單工方式、單工方式 2、半雙工方式、半雙工方式3、全雙工方式、全雙工方式12. 1. 3 串行通信的通信方式串行通信的通信方

3、式 異步通信、同步通信異步通信、同步通信一、異步通信一、異步通信 異步通信的含義:異步通信的含義:發(fā)送端和接收端不是同一個(gè)時(shí)發(fā)送端和接收端不是同一個(gè)時(shí)鐘,可以不同時(shí),即不同步。鐘,可以不同時(shí),即不同步。 異步通信的幀格式(由異步通信的幀格式(由4部分組成):部分組成):起始位、數(shù)據(jù)位、奇偶校驗(yàn)位、停止位。起始位、數(shù)據(jù)位、奇偶校驗(yàn)位、停止位。 異步通信的特點(diǎn)異步通信的特點(diǎn):(1)每幀傳送一個(gè)字符(字節(jié)),字符間不一定相連;)每幀傳送一個(gè)字符(字節(jié)),字符間不一定相連;(2)系統(tǒng)簡單可靠、造價(jià)低,)系統(tǒng)簡單可靠、造價(jià)低,(3)傳輸速度較低。)傳輸速度較低。二、同步通信二、同步通信 同步通信的含義:

4、同步通信的含義:發(fā)送端和接收端使用同一個(gè)時(shí)鐘,同步發(fā)、收。發(fā)送端和接收端使用同一個(gè)時(shí)鐘,同步發(fā)、收。 同步通信的幀格式:同步通信的幀格式:由同步字符和多個(gè)(大量)連續(xù)的數(shù)據(jù)構(gòu)成。由同步字符和多個(gè)(大量)連續(xù)的數(shù)據(jù)構(gòu)成。 同步通信的特點(diǎn)同步通信的特點(diǎn):傳輸速度高、系統(tǒng)復(fù)雜、造價(jià)高。傳輸速度高、系統(tǒng)復(fù)雜、造價(jià)高。三、波特率三、波特率 是描述是描述數(shù)據(jù)傳輸速率數(shù)據(jù)傳輸速率的物理量。的物理量。定義為:定義為:每秒鐘傳送的二進(jìn)制代碼的位數(shù)。每秒鐘傳送的二進(jìn)制代碼的位數(shù)。 單位:單位:比特(比特(b/s)12. 1. 4 串行通信協(xié)議串行通信協(xié)議(異步協(xié)議)(異步協(xié)議) 協(xié)議:協(xié)議:是對(duì)數(shù)據(jù)傳送方式的規(guī)定

5、。是對(duì)數(shù)據(jù)傳送方式的規(guī)定。 幀格式幀格式1、起始位、起始位2、數(shù)據(jù)位:、數(shù)據(jù)位:58位位3、奇偶校驗(yàn)位:、奇偶校驗(yàn)位:1位位4、停止位:、停止位:12位位5、波特率、波特率6、握手信號(hào)、握手信號(hào)12.2 串行口及應(yīng)用串行口及應(yīng)用 8051有一可編程的有一可編程的全雙工全雙工串行通信接口,可串行通信接口,可用作用作異步串行通信異步串行通信,也可用,也可用作同步移位寄存器作同步移位寄存器;可;可單機(jī)單機(jī)通信通信,也可,也可多機(jī)通信多機(jī)通信;其;其幀格式幀格式有有8位、位、10位、位、11位;位;可可設(shè)置不同波特率設(shè)置不同波特率。 12. 2. 1 8051串行口串行口 一、一、 8051串行口結(jié)構(gòu)

6、串行口結(jié)構(gòu)1、發(fā)送部分、發(fā)送部分 發(fā)送寄存器發(fā)送寄存器SBUF、發(fā)送移位寄存器(并、發(fā)送移位寄存器(并串)串)2、接收部分、接收部分 接收移位寄存器(接收移位寄存器(串串并并) 、接收寄存器、接收寄存器SBUF3、時(shí)鐘部分、時(shí)鐘部分(產(chǎn)生波特率)(產(chǎn)生波特率) 定時(shí)器定時(shí)器T1、分頻器(、分頻器(2、16分頻)等分頻)等 8051串行口結(jié)構(gòu)串行口結(jié)構(gòu)1、發(fā)送部分、發(fā)送部分 2、接收部分、接收部分 3、時(shí)鐘部分、時(shí)鐘部分發(fā)送發(fā)送接收接收二、二、 串行口控制字及控制寄存器串行口控制字及控制寄存器 控制串行通信的寄存器有控制串行通信的寄存器有SCON、PCON1、串行通信控制寄存器、串行通信控制寄存

7、器SCON 地址:地址:98H 格式如下格式如下SM0、SM1:串行口工作方式選擇位。:串行口工作方式選擇位。組合如下所示:組合如下所示:SM2:多機(jī)通信控制位。:多機(jī)通信控制位。1:多機(jī)通信;:多機(jī)通信;0:單機(jī)通信:單機(jī)通信REN:允許接收控制位。:允許接收控制位。1:允許接收;:允許接收;0:禁止接收:禁止接收TB8:發(fā)送的第:發(fā)送的第9位數(shù)據(jù)。位數(shù)據(jù)??蔀槠媾紮z驗(yàn)位,或多機(jī)通可為奇偶檢驗(yàn)位,或多機(jī)通信特征位(信特征位(1:示地址;:示地址;0:示數(shù)據(jù)):示數(shù)據(jù))RB8:接收到的第:接收到的第9位數(shù)據(jù)。位數(shù)據(jù)。TI、RI:分別示發(fā)送和接收中斷標(biāo)志。:分別示發(fā)送和接收中斷標(biāo)志。需軟件編程清

8、需軟件編程清0。 多機(jī)通信的方法:多機(jī)通信的方法:1、實(shí)現(xiàn)的條件:、實(shí)現(xiàn)的條件:各個(gè)從機(jī)的各個(gè)從機(jī)的SM2設(shè)置為設(shè)置為1。 當(dāng)當(dāng)SM2=1時(shí):若接收到的時(shí):若接收到的RB8=1則保留接收到的則保留接收到的數(shù)據(jù);若接收到的數(shù)據(jù);若接收到的RB8=0則丟棄接收到的數(shù)據(jù)。則丟棄接收到的數(shù)據(jù)。2、主機(jī)先發(fā)送欲通信的從機(jī)的地址,并且、主機(jī)先發(fā)送欲通信的從機(jī)的地址,并且TB8為為1。 這時(shí)各個(gè)從機(jī)均可接收此地址,對(duì)于目標(biāo)從機(jī),這時(shí)各個(gè)從機(jī)均可接收此地址,對(duì)于目標(biāo)從機(jī),則對(duì)自己的則對(duì)自己的SM2清清0,其它從機(jī)保留,其它從機(jī)保留SM2=1。3、主機(jī)再發(fā)送數(shù)據(jù),并且、主機(jī)再發(fā)送數(shù)據(jù),并且TB8為為0。 這時(shí)目

9、標(biāo)從機(jī)正常接收數(shù)據(jù),其它從機(jī)均丟棄接這時(shí)目標(biāo)從機(jī)正常接收數(shù)據(jù),其它從機(jī)均丟棄接收到的數(shù)據(jù)。收到的數(shù)據(jù)。三、三、 串行通信工作方式串行通信工作方式 8051有有4種工作方式,有種工作方式,有3種幀格式,波特率可變。種幀格式,波特率可變。1、串行口方式、串行口方式0 方式方式0為同步移位寄存器輸入為同步移位寄存器輸入/輸出方式輸出方式,常用于擴(kuò),常用于擴(kuò)展展I/O口。口。 此時(shí),此時(shí),SM0=0、SM1=0 (1)方式)方式0的特點(diǎn):的特點(diǎn):1)一幀僅有)一幀僅有8位數(shù)據(jù),無起始和結(jié)束位,低位在前。位數(shù)據(jù),無起始和結(jié)束位,低位在前。2)RXD引腳用于傳送數(shù)據(jù),引腳用于傳送數(shù)據(jù),TXD用于傳送時(shí)鐘。

10、用于傳送時(shí)鐘。3)波特率固定,其值為)波特率固定,其值為 osc/12。 (2)方式)方式0發(fā)送發(fā)送 用于擴(kuò)展并行輸出口用于擴(kuò)展并行輸出口,用,用74LS164芯片。芯片。 啟動(dòng)輸出啟動(dòng)輸出(發(fā)送)(發(fā)送)用用“向向SBUF寫寫數(shù)據(jù)指令數(shù)據(jù)指令”。用用RXD引腳引腳傳送數(shù)據(jù),傳送數(shù)據(jù),TXD引腳引腳傳送時(shí)鐘。傳送時(shí)鐘。 74LS164可級(jí)連多片??杉?jí)連多片。 (3)方式)方式0接收接收 用于擴(kuò)展并行輸入口用于擴(kuò)展并行輸入口,用,用74LS165芯片。芯片。 啟動(dòng)輸入啟動(dòng)輸入(接收):(接收):REN置置1(且(且RI=0)。 用用RXD引引腳傳送數(shù)據(jù),腳傳送數(shù)據(jù),用用TXD引腳引腳傳送時(shí)鐘。傳

11、送時(shí)鐘。 74LS165可級(jí)連多片??杉?jí)連多片。移位移位/置數(shù)置數(shù)時(shí)鐘禁止時(shí)鐘禁止 162、串行口方式、串行口方式1 方式方式1是真正用于串行發(fā)送和接收,為是真正用于串行發(fā)送和接收,為10位通用異位通用異步接口。步接口。 此時(shí),此時(shí),SM0=0、SM1=1 (1)特點(diǎn):)特點(diǎn):1)一幀有)一幀有10位,位,1位起始,位起始,8位數(shù)據(jù)位,位數(shù)據(jù)位,1位停止位。位停止位。接收時(shí)接收時(shí)停止位進(jìn)入停止位進(jìn)入SCON的的RB8。2)RXD引腳引腳用于接收用于接收數(shù)據(jù),數(shù)據(jù),TXD引腳引腳用于發(fā)送用于發(fā)送數(shù)據(jù)。數(shù)據(jù)??梢酝瑫r(shí)進(jìn)行收、發(fā)??梢酝瑫r(shí)進(jìn)行收、發(fā)。3)波特率可變,由)波特率可變,由T1的溢出率決定

12、的溢出率決定。 (2)方式)方式1發(fā)送發(fā)送啟動(dòng)發(fā)送啟動(dòng)發(fā)送: 用用“向向SBUF寫數(shù)據(jù)指令寫數(shù)據(jù)指令”便啟動(dòng)了發(fā)送。數(shù)據(jù)從便啟動(dòng)了發(fā)送。數(shù)據(jù)從TXD引腳送出。數(shù)據(jù)發(fā)完后引腳送出。數(shù)據(jù)發(fā)完后TI置置1。 發(fā)送時(shí)序如下圖所示。發(fā)送時(shí)序如下圖所示。 (3)方式)方式1接收接收1)接收條件:)接收條件:SCON中的中的REN置置12)接收過程:)接收過程: REN置置1后,串行口對(duì)接收引腳后,串行口對(duì)接收引腳RXD檢檢測(cè),當(dāng)測(cè),當(dāng)RXD由高變低時(shí)開始移位接收;接收完后將由高變低時(shí)開始移位接收;接收完后將停止位裝入停止位裝入RB8中。中。3)接收的數(shù)據(jù)有效的條件:)接收的數(shù)據(jù)有效的條件: a)RI=0;

13、 b)SM2=0,或者,或者SM2=1并且并且RB8=1 滿足以上滿足以上2條,條,則將則將8位數(shù)據(jù)裝入位數(shù)據(jù)裝入SBUF中,并且中,并且RI 置置1。有以下情況之一則數(shù)據(jù)無效:有以下情況之一則數(shù)據(jù)無效: a) RI=1; b) SM2=1并且并且RB8=0 注意:除了方式注意:除了方式2、3的多機(jī)通信之外,的多機(jī)通信之外,SM2應(yīng)清應(yīng)清0 接收時(shí)序如下圖所示。接收時(shí)序如下圖所示。3、串行口方式、串行口方式2和方式和方式3 此時(shí),此時(shí),SM0=1、SM1=0、1 (1)特點(diǎn):)特點(diǎn):1)一幀有)一幀有11位。位。1位起始,位起始,8位數(shù)據(jù)位,位數(shù)據(jù)位,1位校驗(yàn)位校驗(yàn)/特征特征位(接收時(shí)位(接收

14、時(shí)該位進(jìn)入該位進(jìn)入SCON的的RB8),),1位停止位。位停止位。2)RXD引腳引腳用于接收用于接收數(shù)據(jù),數(shù)據(jù),TXD引腳引腳用于發(fā)送用于發(fā)送數(shù)據(jù)。數(shù)據(jù)。可以同時(shí)進(jìn)行收、發(fā)??梢酝瑫r(shí)進(jìn)行收、發(fā)。3)方式)方式2波特率固定有兩種值;方式波特率固定有兩種值;方式3波特率可變,由波特率可變,由T1的溢出率決定的溢出率決定。4)可以進(jìn)行多機(jī)通信。)可以進(jìn)行多機(jī)通信。 (2)方式)方式2、3的發(fā)送與接收的發(fā)送與接收 與方式與方式1類似,從略。時(shí)序如下圖所示,僅多了類似,從略。時(shí)序如下圖所示,僅多了1位。位。發(fā)送時(shí)序發(fā)送時(shí)序接收時(shí)序接收時(shí)序四、波特率設(shè)計(jì)四、波特率設(shè)計(jì) 波特率是串行通信協(xié)議中的一個(gè)重要內(nèi)容

15、。波特率是串行通信協(xié)議中的一個(gè)重要內(nèi)容。 在在8051單片機(jī)串行通信的單片機(jī)串行通信的4種工作方式中種工作方式中,方式方式0和和方式方式2的波特率固定,方式的波特率固定,方式1和方式和方式3的波特率可變,的波特率可變,由由T1的溢出率確定。的溢出率確定。1、方式、方式0的波特率的波特率 波特率產(chǎn)生原理如下圖所示。波特率產(chǎn)生原理如下圖所示。波特率值波特率值= osc/12書中用書中用,示數(shù)據(jù)關(guān)系示數(shù)據(jù)關(guān)系2、方式、方式2的波特率的波特率 波特率產(chǎn)生原理如下圖所示。波特率產(chǎn)生原理如下圖所示。 波特率值波特率值=(2SMOD /64 ) osc SMOD是是PCON中的最高位,中的最高位,稱為波特率

16、加倍位,稱為波特率加倍位,為為1時(shí)加倍時(shí)加倍。3、方式、方式1和方式和方式3的波特率的波特率 波特率產(chǎn)生原理如下圖所示。波特率產(chǎn)生原理如下圖所示。 波特率值波特率值=(2SMOD /32 )(T1T1溢出率)溢出率)T1T1溢出率溢出率=1/=1/定時(shí)時(shí)間定時(shí)時(shí)間t t=(2N-初值初值X)*機(jī)器周期機(jī)器周期Tcy =(2N-初值初值X)12/12/ osc 波特率值波特率值=(2SMOD /32 ) osc/ /(1212(2N-X) = = osc(SMOD+1SMOD+1)/ /(384384(2N-X) 初值初值X=X= 2N - osc(SMOD+1SMOD+1)/ /(384384

17、波特率值)波特率值) 1313 T1 T1以模式以模式0 0工作工作 81928192N= 16N= 16 T1 T1以模式以模式1 1工作工作 對(duì)應(yīng)對(duì)應(yīng) 2N = 65536= 65536 8 8 T1 T1以模式以模式2 2工作工作 256256注意:注意:T1T1以模式以模式0 0、1 1工作時(shí),(工作時(shí),(1 1)需要編寫中斷處理程)需要編寫中斷處理程序,在程序中需重新賦初值;(序,在程序中需重新賦初值;(2 2)且有時(shí)間誤差,可)且有時(shí)間誤差,可調(diào)整初值補(bǔ)償。調(diào)整初值補(bǔ)償。 T1T1以模式以模式2 2工作無這些問題。工作無這些問題。 常用的波常用的波特率與特率與T1的初的初值、值、S

18、MOD、振蕩頻率等振蕩頻率等參數(shù)的對(duì)應(yīng)關(guān)參數(shù)的對(duì)應(yīng)關(guān)系如表系如表9-2所示。所示。 例例12-1 8051單片機(jī)的時(shí)鐘振蕩頻率為單片機(jī)的時(shí)鐘振蕩頻率為11.0592MHz,選用定時(shí)器選用定時(shí)器T1工作于模式工作于模式2作為波特率發(fā)生器,波特作為波特率發(fā)生器,波特率為率為2400b/s。求。求T1的初值的初值X,并編寫初始化程序段。,并編寫初始化程序段。解:設(shè)波特率加倍位解:設(shè)波特率加倍位SMOD=0 X=256-11.0592 106 (0+1)/(384(0+1)/(3842400)2400) =244 =244 =F4H =F4H 初始化程序段:初始化程序段: :MOV TMOD,#20H

19、MOV TH1,#0F4HMOV TL1,#0F4HSETB TR1 : 12. 2. 1 8051串行口的應(yīng)用串行口的應(yīng)用 討論討論4種方式的應(yīng)用。種方式的應(yīng)用。 串行口各種方式傳送數(shù)據(jù),可以用中斷方式,也串行口各種方式傳送數(shù)據(jù),可以用中斷方式,也可以用查詢的方式,無論哪種方式,均需借助于中可以用查詢的方式,無論哪種方式,均需借助于中斷標(biāo)志斷標(biāo)志TI和和RI。一、串行口方式一、串行口方式0的應(yīng)用的應(yīng)用 方式方式0為同步移位寄存器輸入為同步移位寄存器輸入/輸出方式輸出方式,用于擴(kuò)展,用于擴(kuò)展I/O口??凇?例例12-2 用用8051串行口外接串行口外接CD4049或或74LS164串串入入-并

20、出移位寄存器,擴(kuò)展并出移位寄存器,擴(kuò)展8位并行口。位并行口。8位并行口位并行口的每位都接一個(gè)發(fā)光二極管,要求發(fā)光二極管從左的每位都接一個(gè)發(fā)光二極管,要求發(fā)光二極管從左到右他延遲的輪流顯示,并且不斷循環(huán)。設(shè)發(fā)光二到右他延遲的輪流顯示,并且不斷循環(huán)。設(shè)發(fā)光二極管為共陰極接法,如下圖所示。極管為共陰極接法,如下圖所示。 STB為高電平時(shí)允許并行輸出為高電平時(shí)允許并行輸出選通選通串入串入并出移位寄存器并出移位寄存器解:采用中斷方式發(fā)送;解:采用中斷方式發(fā)送;逐位輸出高電平逐位輸出高電平使二極管輪使二極管輪流發(fā)光;顯示延時(shí)通過調(diào)用延時(shí)子程序?qū)崿F(xiàn)。流發(fā)光;顯示延時(shí)通過調(diào)用延時(shí)子程序?qū)崿F(xiàn)。 程序如下:程序如

21、下: 中斷服務(wù)子程序中斷服務(wù)子程序SETB P1.0LCALL DELAYCLR TIRR ACLR P1.0MOV SBUF, ARETI 主程序主程序 ORG 0023H LJMP SBR ORG 0030H MOV SCON,#0 SETB ES SETB EA MOV A,#80H CLR P1.0 MOV SBUF,A SJMP $SBR:循環(huán)右移循環(huán)右移二、串行口方式二、串行口方式1的發(fā)送和接收的發(fā)送和接收 例例12-5 用用8051的的串行口以方式串行口以方式1發(fā)送發(fā)送ASCII數(shù)據(jù)塊,數(shù)據(jù)塊,要求波特率為要求波特率為1200b/s,進(jìn)行校驗(yàn)進(jìn)行校驗(yàn)。試編寫。試編寫采用查詢采用查

22、詢方式方式發(fā)送的程序。設(shè)數(shù)據(jù)在片內(nèi)發(fā)送的程序。設(shè)數(shù)據(jù)在片內(nèi)RAM的的20H3FH單單元元, osc=11.0592MHz。解解:(:(1)最高位作校驗(yàn)位,最高位作校驗(yàn)位,采用奇校驗(yàn)采用奇校驗(yàn),P最高位最高位 (2)用定時(shí)器用定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器1以模式以模式2定時(shí)定時(shí),作為波特率,作為波特率 發(fā)生器;計(jì)算初值,由發(fā)生器;計(jì)算初值,由初值初值X=X= 2N - osc(SMOD+1SMOD+1)/ /(384384波特率值)波特率值)這里這里 N=8, osc=11.0592MHz 波特率為波特率為1200b/s, 取取 SMOD=0 PCON=00H得得 初值初值X=232D=0X=232D=

23、0E8H。 (3)TMOD=00100000B=20H (4)SCON=01000000B=40H(5)程序清單:)程序清單: 主程序主程序 MOV TMOD,#20HMOV TL1,#0E8HMOV TH1,#0E8HSETB TR1MOV SCON,#40HMOV R0,#20HMOV R7,#32MOV A,R0LCALL SP-OUTJNB P, ERRORINC R0DJNZ R7, LP :串行口發(fā)送子程序串行口發(fā)送子程序 MOV C,P CPL C MOV ACC.7, C MOV SBUF,A JNB TI, $ CLR TI RETERROR: (略)(略)SP-OUT: P

24、為為0說明發(fā)送出的數(shù)據(jù)中有說明發(fā)送出的數(shù)據(jù)中有偶數(shù)個(gè)偶數(shù)個(gè)1,是錯(cuò)誤的。,是錯(cuò)誤的。LP: 例例12-6 用用8051的串行口以方式的串行口以方式1接收帶奇偶校驗(yàn)位接收帶奇偶校驗(yàn)位的數(shù)據(jù)塊(與上題配合)。試編寫采用查詢方式的的數(shù)據(jù)塊(與上題配合)。試編寫采用查詢方式的程序,接收的數(shù)據(jù)放在片內(nèi)程序,接收的數(shù)據(jù)放在片內(nèi)RAM的的20H3FH單元。單元。 osc=11.0592MHz。解解:(:(1)最高位為校驗(yàn)位(采用奇校驗(yàn)),最高位為校驗(yàn)位(采用奇校驗(yàn)),應(yīng)去掉應(yīng)去掉 (2)用定時(shí)器用定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器1以模式以模式2定時(shí)定時(shí),作為波特率,作為波特率 發(fā)生器;計(jì)算初值,由發(fā)生器;計(jì)算初值,由初

25、值初值X=X= 2N - osc(SMOD+1SMOD+1)/ /(384384波特率值)波特率值)這里這里 N=8, osc=11.0592MHz 波特率為波特率為1200b/s, 取取 SMOD=0 PCON=00H得得 初值初值X=232D=0X=232D=0E8H。 (3)TMOD=00100000B=20H (4)SCON=01010000B=50H(5)程序清單:)程序清單: 主程序主程序MOV SCON,#50H MOV PCON,#0MOV TMOD,#20HMOV TL1,#0E8HMOV TH1,#0E8HSETB TR1MOV R0,#20HMOV R7,#32LCALL

26、 SP-INJC ERRORMOV R0,AINC R0DJNZ R7, LP :串行口接收子程序串行口接收子程序 JNB RI, $ CLR RI MOV SBUF,A MOV C,P CPL C ANL A,#7FH RETERROR: (略)(略)SP-IN:LP: C為為1說明接收的數(shù)據(jù)有說明接收的數(shù)據(jù)有偶數(shù)個(gè)偶數(shù)個(gè)1,是錯(cuò)誤的(因采用奇校驗(yàn))。,是錯(cuò)誤的(因采用奇校驗(yàn))。 例例12-4 8031串行口按雙工方式收發(fā)串行口按雙工方式收發(fā)ASCII字符,最高字符,最高位用來作奇偶校驗(yàn)位,位用來作奇偶校驗(yàn)位,采用奇校驗(yàn)采用奇校驗(yàn),要求傳送的波特率,要求傳送的波特率為為1200b/s,用中斷

27、方式收發(fā)用中斷方式收發(fā),試編寫程序。設(shè)發(fā)送的,試編寫程序。設(shè)發(fā)送的數(shù)據(jù)的首地址為數(shù)據(jù)的首地址為20H,接收的數(shù)據(jù)放在從,接收的數(shù)據(jù)放在從40H開始的單開始的單元。單片機(jī)的振蕩頻率為元。單片機(jī)的振蕩頻率為 osc=6MHz。解:(解:(1)最高位作校驗(yàn)位,最高位作校驗(yàn)位,采用奇校驗(yàn)采用奇校驗(yàn),P最高位最高位 (2)用定時(shí)器用定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器1以模式以模式2定時(shí)定時(shí),作為波特率,作為波特率 發(fā)生器;計(jì)算初值,由發(fā)生器;計(jì)算初值,由初值初值X=X= 2N - osc(SMOD+1SMOD+1)/ /(384384波特率值)波特率值)這里這里 N=8, osc=6MHz 波特率為波特率為1200b

28、/s, 取取 SMOD=0, PCON=00H得得 初值初值X=243D=0X=243D=0F3H。 (3)TMOD=00100000B=20H (4)SCON=01010000B=50H (4)程序清單:)程序清單: 主程序主程序ORG 0000HMOV TMOD,#20HMOV TL1,#0F3HMOV TH1,#0F3HSETB TR1MOV SCON,#50HMOV PCON,#0MOV R0,#20HMOV R1,#40HLCALL SOUTSETB ESSETB EASJMP $ 接收子程序接收子程序CLR RIMOV A,SBUFMOV C,PCPL CANL A,#7FHMOV

29、 R1, AINC R1RETSIN:SEND:NEXT: 中斷服務(wù)程序中斷服務(wù)程序ORG 0023HJNB RI, SENDLCALL SINSJMP NEXTLCALL SOUTRETI 發(fā)送子程序發(fā)送子程序CLR TIMOV A,R0MOV C, PCPL CMOV ACC.7, CMOV SUBF, AINC R0RETSOUT:接收優(yōu)接收優(yōu)先級(jí)高先級(jí)高采用的是奇校采用的是奇校驗(yàn)驗(yàn)三、串行口方式三、串行口方式2、3的發(fā)送與接收的發(fā)送與接收 串行口方式串行口方式2與方式與方式3基本相同,只是波特率不同?;鞠嗤?,只是波特率不同。幀格式為幀格式為11位,傳送位,傳送9位數(shù)據(jù),第位數(shù)據(jù),第9位數(shù)據(jù)為奇偶檢位數(shù)據(jù)為奇偶檢驗(yàn)位或多機(jī)通信特征位,也稱作驗(yàn)位或多機(jī)通信特征位,也稱作程控位程控位。 例例12-8 用第用第9個(gè)數(shù)據(jù)位作奇偶校驗(yàn)位,編寫個(gè)數(shù)據(jù)位作奇偶校驗(yàn)位,編寫串行串行口方式口方式2的發(fā)送的發(fā)送程序。設(shè)欲發(fā)送的數(shù)據(jù)在片內(nèi)程序。設(shè)欲發(fā)送的數(shù)據(jù)在片內(nèi)RAM的的 505FH中。中。解:解:(1)TB

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論