單片機(jī)第七章_第1頁(yè)
單片機(jī)第七章_第2頁(yè)
單片機(jī)第七章_第3頁(yè)
單片機(jī)第七章_第4頁(yè)
單片機(jī)第七章_第5頁(yè)
已閱讀5頁(yè),還剩36頁(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)介

1、本章要求:本章要求:熟悉熟悉MCSMCS5151串行口的基本結(jié)構(gòu)和工作串行口的基本結(jié)構(gòu)和工作原理,掌握原理,掌握MCSMCS5151串行口的四種工作方式及其串行口的四種工作方式及其應(yīng)用,熟練掌握串行口控制寄存器各位的含義及應(yīng)用,熟練掌握串行口控制寄存器各位的含義及使用方法,了解單片機(jī)多機(jī)通信的工作原理,熟使用方法,了解單片機(jī)多機(jī)通信的工作原理,熟悉和掌握單片機(jī)通信程序的設(shè)計(jì)方法。悉和掌握單片機(jī)通信程序的設(shè)計(jì)方法。一、通信的基本方式一、通信的基本方式 并行通信:并行通信:數(shù)據(jù)的各位同時(shí)傳送。傳送距離小于數(shù)據(jù)的各位同時(shí)傳送。傳送距離小于30米。米。并行通信并行通信串行通信串行通信串行通信:串行通信

2、:數(shù)據(jù)的各位逐位送出,只需一對(duì)傳送線即數(shù)據(jù)的各位逐位送出,只需一對(duì)傳送線即可完成傳送。傳送距離:幾米可完成傳送。傳送距離:幾米幾千公里。幾千公里。二、串行通信的工作方式二、串行通信的工作方式異步通信異步通信同步通信同步通信1、異步通信:、異步通信:數(shù)據(jù)按字符傳送,每一個(gè)字符均按固定的字符格式傳送,又?jǐn)?shù)據(jù)按字符傳送,每一個(gè)字符均按固定的字符格式傳送,又被稱為幀。被稱為幀。字符的幀格式字符的幀格式每一個(gè)字符幀包含每一個(gè)字符幀包含起始位:起始位:數(shù)據(jù)位:數(shù)據(jù)位:校驗(yàn)位:校驗(yàn)位:停止位:停止位:數(shù)據(jù)位、數(shù)據(jù)位、 校驗(yàn)位、校驗(yàn)位、 停止位四部分。停止位四部分。起始位、起始位、用用“0” 表示,表示,1位

3、位58位,位,低位在前,高位在后低位在前,高位在后1位或無(wú)位或無(wú)用用“1”表示,表示,1位、位、1.5位或位或2位位串行通信的波特率串行通信的波特率傳送數(shù)據(jù)位的速率,一般指每秒種傳送二進(jìn)制代碼的位數(shù)。傳送數(shù)據(jù)位的速率,一般指每秒種傳送二進(jìn)制代碼的位數(shù)。單位:?jiǎn)挝唬篵ps(波特)。(波特)。例:要求每秒傳送例:要求每秒傳送120120個(gè)字符幀,每幀為個(gè)字符幀,每幀為1010位。(位。(1 18 81 1)解:解: 波特率波特率=120=12010=120010=1200波特波特每位數(shù)據(jù)傳送時(shí)間每位數(shù)據(jù)傳送時(shí)間 有效數(shù)據(jù)位傳輸速率有效數(shù)據(jù)位傳輸速率1/12001/1200 0.83ms0.83ms

4、2、同步通信:、同步通信:數(shù)據(jù)按塊傳送,包括同步字符、數(shù)據(jù)塊。數(shù)據(jù)按塊傳送,包括同步字符、數(shù)據(jù)塊。1201208 8960960位位/ /秒秒三、串行通信的制式三、串行通信的制式單工單工半雙工半雙工全雙工全雙工數(shù)據(jù)流數(shù)據(jù)流(c)全雙工方式)全雙工方式(a)單工方式)單工方式數(shù)據(jù)流數(shù)據(jù)流接收器接收器接收器接收器接收器接收器發(fā)送器發(fā)送器發(fā)送器發(fā)送器發(fā)送器發(fā)送器(b)半雙工方式)半雙工方式數(shù)據(jù)流數(shù)據(jù)流接收器接收器接收器接收器發(fā)送器發(fā)送器發(fā)送器發(fā)送器圖圖92 串行通信傳輸方式串行通信傳輸方式四、四、通用異步接收通用異步接收/發(fā)送器(發(fā)送器(UART)用于數(shù)據(jù)串、并轉(zhuǎn)換的串行接口電路。用于數(shù)據(jù)串、并轉(zhuǎn)換

5、的串行接口電路。發(fā)送器發(fā)送器接收器接收器控制器控制器 主要功能主要功能 數(shù)據(jù)串行化數(shù)據(jù)串行化/反串行化反串行化 格式信息的插入和濾除格式信息的插入和濾除 錯(cuò)誤校驗(yàn)錯(cuò)誤校驗(yàn)數(shù)據(jù)反串行化數(shù)據(jù)反串行化數(shù)據(jù)串行化數(shù)據(jù)串行化全雙工的串行口全雙工的串行口P3.0(RXD)、)、P3.1 (TXD) 能同時(shí)進(jìn)行發(fā)送和接收。既可能同時(shí)進(jìn)行發(fā)送和接收。既可作作UART用用,也可,也可作同步移位寄存器作同步移位寄存器使用,其使用,其幀格式可有幀格式可有8位、位、10位位和和11位位,并能設(shè)置各種波特率。,并能設(shè)置各種波特率。MCS-51單片機(jī)的串行口主要由單片機(jī)的串行口主要由2個(gè)物理上獨(dú)立的串個(gè)物理上獨(dú)立的串行數(shù)

6、據(jù)緩沖器行數(shù)據(jù)緩沖器SBUF(接收緩沖器和發(fā)送緩沖器)、(接收緩沖器和發(fā)送緩沖器)、輸入移位寄存器和控制器輸入移位寄存器和控制器等組成。等組成。一、串行口結(jié)構(gòu)一、串行口結(jié)構(gòu)一、串行口結(jié)構(gòu)一、串行口結(jié)構(gòu)圖圖97 串行口內(nèi)部結(jié)構(gòu)示意簡(jiǎn)圖串行口內(nèi)部結(jié)構(gòu)示意簡(jiǎn)圖MCS-51單片機(jī)的串行口主要由單片機(jī)的串行口主要由2個(gè)物理上獨(dú)立的串行數(shù)據(jù)緩沖器個(gè)物理上獨(dú)立的串行數(shù)據(jù)緩沖器SBUF、輸、輸入移位寄存器和控制器入移位寄存器和控制器等組成等組成。 串行口的發(fā)送和接收是對(duì)串行口的發(fā)送和接收是對(duì)SBUF進(jìn)行進(jìn)行讀或?qū)懽x或?qū)懖僮魍瓿傻模僮魍瓿傻?,它它們共用一個(gè)地址們共用一個(gè)地址99H(SBUF)。發(fā)送:發(fā)送:對(duì)于

7、對(duì)于發(fā)送發(fā)送緩沖器,緩沖器, 只能寫不能讀只能寫不能讀,MOV SBUF,A對(duì)于對(duì)于接收接收緩沖器,緩沖器, 只能讀不能寫,只能讀不能寫, MOV A ,SBUF執(zhí)行執(zhí)行寫發(fā)送緩沖器寫發(fā)送緩沖器命令:命令:MOV SBUF,A即啟動(dòng)發(fā)送即啟動(dòng)發(fā)送,接收:接收: 當(dāng)當(dāng)RI=“0 ”時(shí),置允許接收位時(shí),置允許接收位 REN “1”時(shí),時(shí),即啟動(dòng)接收即啟動(dòng)接收,執(zhí)行讀命令執(zhí)行讀命令MOV A,SBUF時(shí),即可從接收時(shí),即可從接收SBUF取出信息取出信息并由內(nèi)部總線送并由內(nèi)部總線送CPU。發(fā)送完一幀,使中斷標(biāo)志發(fā)送完一幀,使中斷標(biāo)志TI置置“1”。接收完一幀,使中斷標(biāo)志接收完一幀,使中斷標(biāo)志RI置置“

8、1”。當(dāng)當(dāng) TI“0”時(shí)時(shí)二、串行接口控制寄存器二、串行接口控制寄存器1、串行控制寄存器、串行控制寄存器SCON 98H見表格見表格7-1位地址位地址9F9E9D9C9B9A9998SCONSM1SM2RENTB8RB8TIRI接收中斷標(biāo)志接收中斷標(biāo)志發(fā)送中斷標(biāo)志發(fā)送中斷標(biāo)志接收數(shù)據(jù)第接收數(shù)據(jù)第9位位發(fā)送數(shù)據(jù)第發(fā)送數(shù)據(jù)第9位位接收控制接收控制0:禁止接收:禁止接收1:允許接收:允許接收多機(jī)通信多機(jī)通信0:?jiǎn)螜C(jī)對(duì)單:?jiǎn)螜C(jī)對(duì)單機(jī)機(jī)1:多機(jī)通信:多機(jī)通信位地址位地址9F9E9D9C9B9A9998SCONSM1SM2RENTB8RB8TIRISM0SM0SMl工作方式工作方式方式簡(jiǎn)單描述方式簡(jiǎn)單描述

9、波特率波特率000同步移位寄存器同步移位寄存器I/Ofosc/1201110位位UART可變可變10211位位UART fosc/32 或或 fosc/6411311位位UART可變可變1、串行控制寄存器、串行控制寄存器SCON 98H(1 1)SM0SM0,SM1SM1:串行口工作方式選擇位:串行口工作方式選擇位(2 2)SM2SM2:多機(jī)通信控制位,用于方式:多機(jī)通信控制位,用于方式2 2,3 3SM2 =0 不允許多機(jī)通信不允許多機(jī)通信1 允許多機(jī)通信允許多機(jī)通信(在方式(在方式0,SM20 )SM0SM1SM2RENTB8RB8TIRISCON(3)REN:允許接收控制位允許接收控制位

10、REN =0 禁止禁止接收接收1 允許允許接收接收(4)TB8:發(fā)送的第發(fā)送的第9位數(shù)據(jù)位位數(shù)據(jù)位 可用作校驗(yàn)位或地址可用作校驗(yàn)位或地址/數(shù)據(jù)標(biāo)識(shí)位數(shù)據(jù)標(biāo)識(shí)位 (多機(jī)通信時(shí))(多機(jī)通信時(shí))TB8 =0 數(shù)據(jù)幀數(shù)據(jù)幀1 地址幀地址幀(5)RB8:接收的第接收的第9位數(shù)據(jù)位位數(shù)據(jù)位 可以是約定的校驗(yàn)位或地址可以是約定的校驗(yàn)位或地址/數(shù)據(jù)標(biāo)識(shí)位數(shù)據(jù)標(biāo)識(shí)位 (多機(jī)通信時(shí))(多機(jī)通信時(shí))在方式在方式1,若,若SM2=1,RB8中是收到的停止位中是收到的停止位在方式在方式0,RB8不用不用串行接收開關(guān)串行接收開關(guān)SM0 SM1 SM2 REN TB8RB8TIRISCON(6)TI:串行口發(fā)送中斷請(qǐng)求標(biāo)志

11、位串行口發(fā)送中斷請(qǐng)求標(biāo)志位(7)RI:串行口接收中斷請(qǐng)求標(biāo)志位串行口接收中斷請(qǐng)求標(biāo)志位 硬件置硬件置 1 (發(fā)送或接收完一幀數(shù)據(jù)(發(fā)送或接收完一幀數(shù)據(jù)) 軟件清軟件清 0 (中斷方式,查詢方式(中斷方式,查詢方式 ) 2、電源控制寄存器、電源控制寄存器 PCON 87H3、中斷允許控制寄存器、中斷允許控制寄存器 IE A8HSMOD 波特率波特率選擇位選擇位SMOD=1時(shí),方時(shí),方式式1、2和和3的波特的波特率加倍率加倍PCONEAES IESM0 SM1 SM2 REN TB8RB8TIRI三、串行口的工作方式三、串行口的工作方式(1 1)SM0 SM1SM0 SM10 00 0(2 2)數(shù)

12、據(jù)幀格式:)數(shù)據(jù)幀格式:一幀一幀8 8位,無(wú)起始位和停止位。位,無(wú)起始位和停止位。(3 3)波特率)波特率 B B = fosc/12 = fosc/12(4 4)RXDRXD(P3.0P3.0):):數(shù)據(jù)輸入數(shù)據(jù)輸入/ /輸出端。輸出端。 TXDTXD(P3.1P3.1):):同步脈沖輸出端同步脈沖輸出端,每個(gè)脈沖對(duì)應(yīng)一個(gè)數(shù)據(jù)位。,每個(gè)脈沖對(duì)應(yīng)一個(gè)數(shù)據(jù)位。(5 5)發(fā)送過程:)發(fā)送過程: TI=0TI=0,1 1、 方式方式0 0:同步移位寄存器同步移位寄存器I/OI/O方式,方式, 用于擴(kuò)展并行用于擴(kuò)展并行I/I/O接口接口。MOV SBUFMOV SBUF,A A 指令啟動(dòng)發(fā)送,指令啟動(dòng)

13、發(fā)送, 一幀發(fā)送結(jié)束,一幀發(fā)送結(jié)束,TITI置置1 1。接收過程:接收過程:REN = 1REN = 1且且 RI = 0RI = 0,啟動(dòng)接收,啟動(dòng)接收,一幀接收完畢,一幀接收完畢,(RXDRXD)(RXDRXD)將將接收數(shù)據(jù)裝入接收數(shù)據(jù)裝入SBUFSBUF ,RIRI置置1 1。 發(fā)送時(shí)序發(fā)送時(shí)序?qū)懭雽懭隨BUFRXD輸出輸出TXDTID0D1D2D3D4D5D6D7寫寫REN=1RI=0RXD輸入輸入RI 接收時(shí)序接收時(shí)序(a)(b) 數(shù)據(jù)從數(shù)據(jù)從RXD(P3.0)引腳串行輸出)引腳串行輸出/輸入輸入, 低位低位在在先先,高位高位在在后后; TXD(P3.1)引腳輸出移位脈沖,其頻率為)

14、引腳輸出移位脈沖,其頻率為foc/12; 發(fā)送發(fā)送/接收完一幀后,相應(yīng)的中斷請(qǐng)求標(biāo)志位接收完一幀后,相應(yīng)的中斷請(qǐng)求標(biāo)志位TI/RI置置1。 串行口方式串行口方式0的應(yīng)用的應(yīng)用 在串行方式在串行方式0時(shí),通過外接串入并出或并入串出的移位時(shí),通過外接串入并出或并入串出的移位寄存器芯片(如寄存器芯片(如74LS164、74LS165 )將串行口轉(zhuǎn)換成)將串行口轉(zhuǎn)換成并行口使用。并行口使用。并行并行I/O口的一種擴(kuò)展方式口的一種擴(kuò)展方式P3.0P3.1P1.08031D1RXDTXDD2CP74LS164CLR 1 2 8 9并行輸出并行輸出P3.0P3.1P1.08031QRXDTXDCP74LS1

15、659 152 1圖圖(b) 方式方式0擴(kuò)展并行輸入口擴(kuò)展并行輸入口并行輸入并行輸入P1.1圖圖(a) 方式方式0擴(kuò)展并行輸出口擴(kuò)展并行輸出口方式方式0擴(kuò)展并行輸出口擴(kuò)展并行輸出口RXD +5V 8031TXD 74LS1649999fedcbagfbagdce8888cpcpcpcpDSADSBQ0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 g f e d c b a 74LS164DSADSBQ0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 74LS164DSADSBQ0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 74LS164DSADSBQ0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 g

16、f e d c b a g f e d c b a g f e d c b a 2 2、 方式方式1 1:(1 1)SM0 SM1SM0 SM10 10 1(2 2)數(shù)據(jù)幀格式:)數(shù)據(jù)幀格式:一幀一幀1010位,位,1 1位起始位位起始位8 8位數(shù)據(jù)位位數(shù)據(jù)位1 1位停止位。位停止位。(3 3)波特率)波特率 B=(2B=(2SMOD/32)/32)T1T1溢出率溢出率(4 4) RXDRXD:接收數(shù)據(jù)端。接收數(shù)據(jù)端。 TXDTXD:發(fā)送數(shù)據(jù)端。發(fā)送數(shù)據(jù)端。(5 5)發(fā)送過程:)發(fā)送過程: TI=0 TI=0,1010位異步收位異步收/ /發(fā)發(fā)MOV SBUFMOV SBUF,A A 指令啟動(dòng)

17、發(fā)送,指令啟動(dòng)發(fā)送, 一幀發(fā)送結(jié)束,一幀發(fā)送結(jié)束,TITI置置1 1。接收過程:接收過程:REN = 1REN = 1且且 RI = 0RI = 0,啟動(dòng)接收,啟動(dòng)接收,一幀接收完畢,一幀接收完畢, 若滿足若滿足 RI RI0 0 SM2 SM20 0 或或 接收到的停止位為接收到的停止位為1 1則則本次接收有效本次接收有效,將,將接收數(shù)據(jù)裝入接收數(shù)據(jù)裝入SBUFSBUF,停止位裝入,停止位裝入RB8RB8,并并使使RIRI置置1 1;否則丟棄接收數(shù)據(jù),不置位;否則丟棄接收數(shù)據(jù),不置位RIRI。(TXDTXD)(RXDRXD)寫入寫入SBUF采樣采樣(a) 發(fā)送時(shí)序圖發(fā)送時(shí)序圖TXD數(shù)據(jù)輸出數(shù)

18、據(jù)輸出TID0D1D2D3D4D5D6D7停止位停止位起始位起始位RXD輸入數(shù)據(jù)輸入數(shù)據(jù)(b) 接收時(shí)序圖接收時(shí)序圖D0D1D2D3D4D5D6D7停止位停止位起始位起始位RI檢測(cè)檢測(cè)負(fù)跳變負(fù)跳變當(dāng)當(dāng)REN=1REN=1,CPUCPU開始采樣開始采樣RXDRXD引腳負(fù)跳變信號(hào),若出現(xiàn)負(fù)跳變,才引腳負(fù)跳變信號(hào),若出現(xiàn)負(fù)跳變,才進(jìn)入數(shù)據(jù)接收狀態(tài),在接收移位脈沖同步下,開始接收一幀數(shù)據(jù)。進(jìn)入數(shù)據(jù)接收狀態(tài),在接收移位脈沖同步下,開始接收一幀數(shù)據(jù)。數(shù)據(jù)采樣在每個(gè)數(shù)據(jù)位中間數(shù)據(jù)采樣在每個(gè)數(shù)據(jù)位中間, ,連續(xù)采樣連續(xù)采樣3 3次次, ,并并3 3中取中取2 2保留采樣值。保留采樣值。方式方式1發(fā)送、接收時(shí)序

19、圖發(fā)送、接收時(shí)序圖(2 2)波特率)波特率 方式方式2 2:B=(2B=(2SMOD/64)/64)fosc fosc 。 方式方式3 3:B=(2B=(2SMOD/32)/32)T1T1溢出率溢出率(3 3) RXDRXD:接收數(shù)據(jù)端。接收數(shù)據(jù)端。 TXDTXD:發(fā)送數(shù)據(jù)端。發(fā)送數(shù)據(jù)端。(4 4)發(fā)送過程:)發(fā)送過程:TI=0TI=0, 3 3、 方式方式2 2和方式和方式3 3:(1 1)數(shù)據(jù)幀格式:)數(shù)據(jù)幀格式:一幀一幀1111位,位,1 1位起始位位起始位9 9位數(shù)據(jù)位位數(shù)據(jù)位1 1位停止位。位停止位。 1111位異步收位異步收/ /發(fā)發(fā)先裝待發(fā)送數(shù)據(jù)第先裝待發(fā)送數(shù)據(jù)第9 9位至位至T

20、B8,TB8,一幀發(fā)送結(jié)束,一幀發(fā)送結(jié)束,TITI置置1 1。接收過程:接收過程:REN = 1REN = 1且且 RI = 0RI = 0,啟動(dòng)接收,啟動(dòng)接收,一幀接收完畢,一幀接收完畢, 若滿足若滿足 RI RI0 0 SM2 SM20 0 或或 接收到的第接收到的第9 9位數(shù)據(jù)為位數(shù)據(jù)為1 1則則本次接收有效本次接收有效,將,將接收數(shù)據(jù)裝入接收數(shù)據(jù)裝入SBUFSBUF,第,第9 9位數(shù)據(jù)裝入位數(shù)據(jù)裝入RB8RB8,并使并使RI=1RI=1;否則丟棄接收數(shù)據(jù),不置位;否則丟棄接收數(shù)據(jù),不置位RIRI。第第9 9位數(shù)據(jù)位在位數(shù)據(jù)位在TB8/RB8TB8/RB8中,常用作校驗(yàn)位和多機(jī)通訊標(biāo)識(shí)位

21、。中,常用作校驗(yàn)位和多機(jī)通訊標(biāo)識(shí)位。 由由MOV SBUFMOV SBUF,A A 指令啟動(dòng)發(fā)送,指令啟動(dòng)發(fā)送,(TXDTXD)(RXDRXD)方式方式2、3發(fā)送發(fā)送/接收時(shí)序圖接收時(shí)序圖發(fā)發(fā)送送時(shí)時(shí)序序?qū)懭雽懭隨BUFTXD輸出輸出TIRXD輸入輸入接接收收時(shí)時(shí)序序RID0D1D2D3D4D5D6TB8停止位停止位起始位起始位D7D0D1D2D3D4D5D6RB8停止位停止位起始位起始位D7檢測(cè)檢測(cè)負(fù)跳變負(fù)跳變串行口四種工作方式中斷條件串行口四種工作方式中斷條件在在TI0時(shí)時(shí),發(fā)送完一幀數(shù)據(jù),發(fā)送完一幀數(shù)據(jù),TI置置1,響應(yīng)后,響應(yīng)后軟件清軟件清0接收:接收:發(fā)送:發(fā)送:在在 RENREN1

22、 1,同時(shí),同時(shí) RIRI0 0 時(shí)時(shí)方式方式0方式方式1方式方式2、3接收完一幀數(shù)據(jù)接收完一幀數(shù)據(jù)RI 置置 1響應(yīng)后軟件清響應(yīng)后軟件清0 RI RI0 0 SM2 SM20 0 或接收或接收到的停止位為到的停止位為1 1接收有效,接收有效,RIRI置置1 1響應(yīng)后軟件清響應(yīng)后軟件清0 RI RI0 0 SM2 SM20 0 或接收或接收到的第到的第9 9位數(shù)據(jù)為位數(shù)據(jù)為1 1接收有效,接收有效,RIRI置置1 1響應(yīng)后軟件清響應(yīng)后軟件清0四、四、串行口波特率的設(shè)定串行口波特率的設(shè)定波特率固定,波特率固定,方式方式2 2:方式方式0 0:B B fosc/12fosc/12可選的兩種波特率,

23、可選的兩種波特率, B B (2(2SMOD /64)/64)fosc fosc 方式方式1 1、3 3:波特率可變波特率可變,用定時(shí)器用定時(shí)器T1T1作波特率發(fā)生器。作波特率發(fā)生器。B = (2B = (2SMOD/32) /32) T1 T1溢出率。溢出率。T1T1溢出率溢出率 即即T1T1每秒鐘溢出幾次每秒鐘溢出幾次1/T11/T1的溢出周期的溢出周期T1T1的溢出周期的溢出周期 T1T1的定時(shí)時(shí)間的定時(shí)時(shí)間設(shè)設(shè)T1T1工作在方式工作在方式2 2,計(jì)數(shù)器初值為,計(jì)數(shù)器初值為X;X;(2 - 初值)初值)TPnB =B =2 2SMOD3232(2 - 初值)初值)TPn1 1= =2 2

24、SMOD3232foscfosc1212(256256X X)四、四、串行口波特率的設(shè)定串行口波特率的設(shè)定(方式(方式1 1、3 3 )= =2 2SMOD3232foscfosc1212(256256X X)B B在方式在方式1 1、3 3,根據(jù)波特率選擇,根據(jù)波特率選擇T1T1工作方式,計(jì)算時(shí)間常數(shù)。工作方式,計(jì)算時(shí)間常數(shù)。例、要求通信波特率例、要求通信波特率1200 bit/s1200 bit/s,求計(jì)數(shù)器初值,求計(jì)數(shù)器初值TH1TH1設(shè)設(shè)SMODSMOD0 0, foscfosc11.059 MHZ11.059 MHZ= =1 1323211.05911.0591212(256256T

25、H1TH1)12001200TH1TH1232232E8HE8H當(dāng)波特率很低時(shí),當(dāng)波特率很低時(shí),T1T1選方式選方式1 1,需考慮,需考慮T1T1重裝時(shí)間常數(shù)時(shí)間。重裝時(shí)間常數(shù)時(shí)間。= =2 2SMOD32321 1T1T1定時(shí)時(shí)間定時(shí)時(shí)間B B(2(2SMOD/32) /32) T1 T1溢出溢出率率波特率波特率(方式方式1、3)fosc=6Mfosc=12M fosc = 11.059MSMODT1方式方式初值初值SMODT1方式方式初值初值SMODT1方式方式初值初值62.5k 12FFH 19.2k 1 2 FEH 12FDH9.6k 1 2 FDH 02FDH4.8k 0 2 FDH

26、12F3H02FAH2.4k 02FAH12F3H02F4H1.2k02F3H02E6H02E8H60002E6H02CCH02D0H30002CCH0298H02A0H1100272H01FEEBH01FEFFH55H01FFEBH 表格表格 7-2 常用波特率和定時(shí)器常用波特率和定時(shí)器T1初值關(guān)系表初值關(guān)系表五、單片機(jī)的多機(jī)通訊TXDRXD80310#從機(jī)TXDRXD主機(jī)TXDRXD80311#從機(jī)TXDRXD8031n#從機(jī)單片機(jī)的多機(jī)通信(方式單片機(jī)的多機(jī)通信(方式2、方式、方式3)(1)主機(jī))主機(jī)SM20;所有從機(jī);所有從機(jī)SM21,以便接收主機(jī)發(fā)來(lái)的地址。,以便接收主機(jī)發(fā)來(lái)的地址。

27、(2)主機(jī)給從機(jī)發(fā)送地址時(shí),第)主機(jī)給從機(jī)發(fā)送地址時(shí),第9位上發(fā)位上發(fā)1(TB81),以指示從),以指示從機(jī)接收地址。機(jī)接收地址。(3)所有從機(jī)在)所有從機(jī)在SM2=1,RB81,RI0時(shí)接收主機(jī)發(fā)來(lái)的從機(jī)地時(shí)接收主機(jī)發(fā)來(lái)的從機(jī)地址,進(jìn)入相應(yīng)的中斷服務(wù)程序,并和本機(jī)地址比較,確認(rèn)是否為址,進(jìn)入相應(yīng)的中斷服務(wù)程序,并和本機(jī)地址比較,確認(rèn)是否為被尋址從機(jī)。被尋址從機(jī)。(4)被尋址從機(jī)通過指令清除)被尋址從機(jī)通過指令清除SM2,以正常接收數(shù)據(jù),并向主機(jī)發(fā),以正常接收數(shù)據(jù),并向主機(jī)發(fā)回接收到的從機(jī)地址,供主機(jī)核對(duì)。未被尋址的從機(jī)保持回接收到的從機(jī)地址,供主機(jī)核對(duì)。未被尋址的從機(jī)保持SM21,并退出各自

28、中斷。,并退出各自中斷。(5)完成主機(jī)和被尋址從機(jī)之間的數(shù)據(jù)通信,被尋址從機(jī)在通信完)完成主機(jī)和被尋址從機(jī)之間的數(shù)據(jù)通信,被尋址從機(jī)在通信完成后重新使成后重新使SM21,并退出中斷服務(wù)程序,等待下次通信。,并退出中斷服務(wù)程序,等待下次通信。MOV THx,#X MOV TLx,#X 寫寫PCON,設(shè)置波特率倍數(shù)關(guān)系,設(shè)置波特率倍數(shù)關(guān)系 串行口初始化步驟:串行口初始化步驟:寫寫TMOD,設(shè)定定時(shí)器工作方式,設(shè)定定時(shí)器工作方式設(shè)置計(jì)數(shù)器初值,選定串口波特率設(shè)置計(jì)數(shù)器初值,選定串口波特率寫寫IE,開放相應(yīng)中斷,開放相應(yīng)中斷寫寫TCON,啟動(dòng)定時(shí)器,啟動(dòng)定時(shí)器MOV TMOD,# 方式字方式字 SET

29、B EASETB ESSETB TRx寫寫SCON,設(shè)定串口工作方式,設(shè)定串口工作方式MOV SCON,# 方式字方式字 MOV PCON,# 00(80H) 例例1 1、串行口方式、串行口方式0 0的應(yīng)用的應(yīng)用RXD +5V 8031TXD 74LS1649999fedcbagfbagdce8888cpcpcpcpDSADSBQ0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 g f e d c b a 74LS164DSADSBQ0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 74LS164DSADSBQ0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 74LS164DSADSBQ0 Q1 Q2 Q

30、3 Q4 Q5 Q6 Q7 g f e d c b a g f e d c b a g f e d c b aORG0200HDIR: MOVR7,04HMOVR0,50HMOVSCON,00HDL0: MOVA,R0MOVDPTR,DTABMOVC A,ADPTRMOVSBUF,ADL1: JNBTI,DL1CLRTIINCR0DJNZR7,DL0SJMPDTAB:DB3FH,06H;”0”,”1”DB5BH,4FH;”2”,”3”DB66H,6DH;”4”,”5”DB7DH,07H;”6”,”7”DBFH,67H;”8”,”9”DB77H,7CH;”A”,”B”DB39H,5EH;”C”,

31、”D”DB79H,71H;”E”,”F”END(1 1)查詢方式:)查詢方式:ORG0000HAJMPMNORG0023HAJMPSINTMN:MOVR0,50HMOVSCON,00H MOVIE,90HMOVDPTR,DTABMOVA,R0MOVC A,ADPTRMOVSBUF,ADL1: CJNER0,53H,DL1CLRESSJMPSINT: CLRTIINCR0MOVA,R0MOVC A,ADPTRMOVSBUF,ARETI(1 1) 中斷方式:中斷方式:DTAB:DB3FH,06H;”0”,”1”DB5BH,4FH;”2”,”3”DB66H,6DH;”4”,”5”DB7DH,07H;

32、”6”,”7”DBFH,67H;”8”,”9”DB77H,7CH;”A”,”B”DB39H,5EH;”C”,”D”DB79H,71H;”E”,”F”END例例2、串行口自發(fā)自收程序(實(shí)驗(yàn)四)、串行口自發(fā)自收程序(實(shí)驗(yàn)四) 直接將直接將80318031的發(fā)送端的發(fā)送端TXDTXD與接收端相連接,并采用方與接收端相連接,并采用方式式3 3進(jìn)行串行數(shù)據(jù)傳送,共發(fā)送進(jìn)行串行數(shù)據(jù)傳送,共發(fā)送1616個(gè)數(shù)據(jù)個(gè)數(shù)據(jù)00000F0F,接收端,接收端接收數(shù)據(jù)置于接收數(shù)據(jù)置于40404FH4FH單元內(nèi)。單元內(nèi)。TXD/P3.1RXD/P3.0 80311.若將若將TMODTMOD中內(nèi)容設(shè)置為中內(nèi)容設(shè)置為#23H

33、#23H (MOV MOV TMODTMOD,#23H#23H),將),將SETB TR1 SETB TR1 用兩用兩個(gè)空指令取代,定時(shí)器能否正常工個(gè)空指令取代,定時(shí)器能否正常工作?作?2.計(jì)算波特率值。計(jì)算波特率值。3.修改修改SCONSCON值為值為#0F8H#0F8H,#0F0H#0F0H,結(jié)果如何?能否成功?結(jié)果如何?能否成功?思考題:思考題: ORG 0000HSTART: LJMP MAIN ORG 0023H LJMP TRNT ORG 003FHMAIN: MOV SP,60H MOV R0,40H MOV TL1,0F0H MOV TH1,0F0H MOV TMOD,20H

34、SETB TR1 MOV IE,90H MOV SCON,0D0H MOV A,00H MOV SBUF,A CJNE A,10H, CLR ES SJMP ORG0070HTRNT: JBTI,TRANS JBRI,RECIE RETITRANS: INC A MOV SBUF,A CLR TI RETIRECIE: MOV R0,SBUF INC R0 CLR RI RETI END 89C5189C51串行口按雙工方式收發(fā)串行口按雙工方式收發(fā)ASCIIASCII字符,最高位用來(lái)作奇偶校驗(yàn)位字符,最高位用來(lái)作奇偶校驗(yàn)位, ,采用奇校驗(yàn)方式,要求傳送的波特率為采用奇校驗(yàn)方式,要求傳送的波特率

35、為1200bps1200bps,并設(shè)發(fā)送數(shù)據(jù)區(qū)的首地址為,并設(shè)發(fā)送數(shù)據(jù)區(qū)的首地址為20H20H,接收數(shù)據(jù)區(qū)的首地址為,接收數(shù)據(jù)區(qū)的首地址為40H40H。編寫有關(guān)通信程序(串口采用方式。編寫有關(guān)通信程序(串口采用方式1 1)。)。 例例7-4ORG0000HAJMPMAINORG0023HAJMPSBRIORG0100HMAIN: MOV TMOD,#20H;定時(shí)器;定時(shí)器1設(shè)為方式設(shè)為方式2MOV TL, #0F4H;定時(shí)器初值;定時(shí)器初值MOV TH1, #0F4HSETB TR1;啟動(dòng)定時(shí)器;啟動(dòng)定時(shí)器1MOV SCON,#50H;串行口設(shè)為方式;串行口設(shè)為方式1,REN1MOV R0,

36、#20H;發(fā)送數(shù)據(jù)區(qū)首址;發(fā)送數(shù)據(jù)區(qū)首址MOV R1, #40H;接收數(shù)據(jù)區(qū)首址;接收數(shù)據(jù)區(qū)首址ACALL SOUT;輸出一個(gè)字符;輸出一個(gè)字符SETBES;開中斷;開中斷SETBEASJMP $;等待中斷;等待中斷ORG 0200HSBRI:JNB RI,SENDACALL SINSJMP NEXTSEND: ACALL SOUTNEXT: RETICJNECJNER0,#30H,$R0,#30H,$CLRCLRESES發(fā)送子程序:發(fā)送子程序: SOUTSOUT: CLRCLRTITIMOVMOVA A,R0R0;取發(fā)送數(shù)據(jù)到;取發(fā)送數(shù)據(jù)到A AMOVMOVC C,P P;奇偶標(biāo)志位送;奇偶

37、標(biāo)志位送C CCPLCPLC C;奇校驗(yàn);奇校驗(yàn)MOVMOVAcc.7Acc.7,C C;加到;加到ASCIIASCII碼高位碼高位INCINCR0R0;修改發(fā)送數(shù)據(jù)指針;修改發(fā)送數(shù)據(jù)指針MOVMOVSBUFSBUF,A A;發(fā)送;發(fā)送ASCIIASCII碼碼RETRET接收子程序:接收子程序: SINSIN:CLRCLRRIRIMOVMOVA A,SBUFSBUF;讀出接收緩沖區(qū)內(nèi)容;讀出接收緩沖區(qū)內(nèi)容MOVMOVC C,P P;奇偶標(biāo)志位送;奇偶標(biāo)志位送C CCPLCPLC C;奇校驗(yàn);奇校驗(yàn)ANLANLA A,#7FH#7FH;刪去校驗(yàn)位;刪去校驗(yàn)位MOVMOVR1R1,A A;讀入接收緩沖區(qū);讀入接收緩沖區(qū)INCINCR1R1;修改接收數(shù)據(jù)指針;修改接收數(shù)據(jù)指針RETRETJCJCERRERR 編制一個(gè)發(fā)送程序,將片內(nèi)編制一個(gè)發(fā)送程序,將片內(nèi)RAMRAM中中50H50H5FH5FH的數(shù)據(jù)串行發(fā)送,串行口的數(shù)據(jù)串行發(fā)送,串行口設(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ù)覽,若沒有圖紙預(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)論