版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、北京交通大學(xué)1本章主要內(nèi)容本章主要內(nèi)容 串行數(shù)據(jù)通信基本原理串行數(shù)據(jù)通信基本原理 MCS-51MCS-51單片機(jī)串行口單片機(jī)串行口 串行口應(yīng)用舉例串行口應(yīng)用舉例 多機(jī)通信原理多機(jī)通信原理北京交通大學(xué)2 計(jì)算機(jī)的兩種方式數(shù)據(jù)傳送:計(jì)算機(jī)的兩種方式數(shù)據(jù)傳送:并行并行和和串行串行 并行傳送的特點(diǎn):并行傳送的特點(diǎn): 各數(shù)據(jù)位同時(shí)傳送,傳送速度快、效率高。各數(shù)據(jù)位同時(shí)傳送,傳送速度快、效率高。但需要的數(shù)據(jù)線多,因此傳送成本高。并行數(shù)據(jù)但需要的數(shù)據(jù)線多,因此傳送成本高。并行數(shù)據(jù)傳送的距離通常小于傳送的距離通常小于3030米。米。 串行傳送的特點(diǎn)是:串行傳送的特點(diǎn)是: 數(shù)據(jù)傳送按位順序進(jìn)行,最少只需一根傳輸
2、數(shù)據(jù)傳送按位順序進(jìn)行,最少只需一根傳輸線即可完成,成本低線即可完成,成本低, ,但速度慢。串行數(shù)據(jù)傳送但速度慢。串行數(shù)據(jù)傳送的距離可以從幾米到幾千公里。的距離可以從幾米到幾千公里。北京交通大學(xué)3串行數(shù)據(jù)傳送又分為串行數(shù)據(jù)傳送又分為異步傳送異步傳送和和同步傳送同步傳送兩種方式。兩種方式。在單片機(jī)中,主要使用異步傳送方式。在單片機(jī)中,主要使用異步傳送方式。北京交通大學(xué)4 1. 1. 異步串行通信的字符格式異步串行通信的字符格式 異步串行數(shù)據(jù)通信以字符為單位,即一次異步串行數(shù)據(jù)通信以字符為單位,即一次傳送一個(gè)字符傳送一個(gè)字符。異步通信的數(shù)據(jù)格式為:異步通信的數(shù)據(jù)格式為:一位起始位位起始位一位奇偶校驗(yàn)
3、位一位奇偶校驗(yàn)位1、1.5、2位停止位位停止位 一幀信息58位數(shù)據(jù)位位數(shù)據(jù)位北京交通大學(xué)5 1 1位起始位(為低電平);位起始位(為低電平); 5 58 8位數(shù)據(jù)位(緊跟著起始位),表示位數(shù)據(jù)位(緊跟著起始位),表示要傳送的有效數(shù)據(jù)(低位在前);要傳送的有效數(shù)據(jù)(低位在前); 1 1位奇偶校驗(yàn)位(可有可無);位奇偶校驗(yàn)位(可有可無); 1 1、1.51.5或或2 2位停止位(為高電平)。位停止位(為高電平)。 從起始位開始到停止位結(jié)束的時(shí)間間隔稱從起始位開始到停止位結(jié)束的時(shí)間間隔稱為為一幀一幀。就是一個(gè)字符的完整通信格式。就是一個(gè)字符的完整通信格式。因此也把串行通信的字符格式稱為因此也把串行通
4、信的字符格式稱為幀格式幀格式北京交通大學(xué)6 例如,采用串行異步通信方式傳送例如,采用串行異步通信方式傳送ASCIIASCII碼字符碼字符55,規(guī)定為,規(guī)定為7 7位數(shù)據(jù)位,位數(shù)據(jù)位,1 1位偶校驗(yàn)位,位偶校驗(yàn)位,1 1位停止位停止位,無空閑位。位,無空閑位。 由于由于55的的ASCIIASCII碼為碼為35H35H,其對(duì)應(yīng),其對(duì)應(yīng)7 7位數(shù)據(jù)位為位數(shù)據(jù)位為01101010110101,如按低位在前、高位在后順序排列應(yīng)為,如按低位在前、高位在后順序排列應(yīng)為10101101010110。前面加。前面加1 1位起始位,后面配上偶校驗(yàn)位位起始位,后面配上偶校驗(yàn)位1 1位位0 0,最后面加,最后面加1
5、1位停止位位停止位1 1,因此傳送的字符格式,因此傳送的字符格式為為01010110010101011001,其對(duì)應(yīng)的波形如圖所示。,其對(duì)應(yīng)的波形如圖所示。低位在前低位在前高位在后高位在后起始起始停止停止偶偶校校驗(yàn)驗(yàn)北京交通大學(xué)72.2.串行通信的數(shù)據(jù)通路形式串行通信的數(shù)據(jù)通路形式串行數(shù)據(jù)通信有以下幾種數(shù)據(jù)通路形式:串行數(shù)據(jù)通信有以下幾種數(shù)據(jù)通路形式:?jiǎn)喂喂ば问叫问? : A A發(fā)發(fā),B,B接。接。半雙工半雙工形式形式: : A A發(fā)或接發(fā)或接, , B B接或發(fā)。接或發(fā)。全雙工全雙工形式形式: : A A發(fā)、接,發(fā)、接,B B接、發(fā)。接、發(fā)。ABABAB北京交通大學(xué)8 3. 3.串行通信的
6、傳送速率串行通信的傳送速率 傳送速率傳送速率 : 用于說明數(shù)據(jù)傳送的快慢。用于說明數(shù)據(jù)傳送的快慢。波特率(波特率(BaudBaud):每秒傳送二進(jìn)制代碼位數(shù):每秒傳送二進(jìn)制代碼位數(shù) 即每秒傳送一個(gè)數(shù)據(jù)位就是一波特:即每秒傳送一個(gè)數(shù)據(jù)位就是一波特:常用的波特率有:常用的波特率有:7575,110110,300300,600600,12001200,24002400,48004800,96009600,1920019200。1 1波特波特=1bps(=1bps(位位/ /秒)秒)北京交通大學(xué)9 設(shè)數(shù)據(jù)傳送的速率每秒為設(shè)數(shù)據(jù)傳送的速率每秒為120120個(gè)字符,個(gè)字符,每個(gè)字符包含每個(gè)字符包含1010
7、個(gè)代碼位(個(gè)代碼位(1 1個(gè)起始個(gè)起始位,位,1 1個(gè)停止位,個(gè)停止位,8 8個(gè)數(shù)據(jù)位)個(gè)數(shù)據(jù)位) 波特率波特率=10 x120b/s=1200bps=10 x120b/s=1200bps 每一位代碼的傳送時(shí)間每一位代碼的傳送時(shí)間=1/1200=0.833ms=1/1200=0.833ms北京交通大學(xué)10 4.4.串行通信接口電路串行通信接口電路 串行數(shù)據(jù)通信中主要有兩個(gè)技術(shù)問題串行數(shù)據(jù)通信中主要有兩個(gè)技術(shù)問題數(shù)據(jù)傳送數(shù)據(jù)傳送: :數(shù)據(jù)傳送主要解決傳送中的數(shù)據(jù)傳送主要解決傳送中的 標(biāo)準(zhǔn)、格式及工作方式等問題標(biāo)準(zhǔn)、格式及工作方式等問題數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換: :數(shù)據(jù)轉(zhuǎn)換是指數(shù)據(jù)的數(shù)據(jù)轉(zhuǎn)換是指數(shù)據(jù)的串并
8、轉(zhuǎn)換串并轉(zhuǎn)換北京交通大學(xué)11串行接口電路基本組成邏輯框圖如下串行接口電路基本組成邏輯框圖如下:串行輸入串行輸入 時(shí)鐘時(shí)鐘 復(fù)位復(fù)位并行輸出并行輸出并行輸入并行輸入 時(shí)鐘時(shí)鐘 串行輸出串行輸出控制信號(hào)控制信號(hào)狀態(tài)、控狀態(tài)、控制信息制信息接收器發(fā)送器控制部件北京交通大學(xué)12通用異步接收發(fā)送器(通用異步接收發(fā)送器(UARTUART) 北京交通大學(xué)13異步串行通信常用接口異步串行通信常用接口 TTLTTL電平直接連接電平直接連接RS-232C:RS-232C: 傳輸速度為傳輸速度為20kbit/s20kbit/s,傳輸距離,傳輸距離1515英尺英尺RS-422RS-422、RS-485RS-485:
9、傳輸速度為傳輸速度為10Mbit/s10Mbit/s,傳輸距離,傳輸距離300m300m1200m1200m并能抑制共模信號(hào)干擾并能抑制共模信號(hào)干擾20mA20mA電流環(huán):電流環(huán): 能降低對(duì)噪聲敏感程度能降低對(duì)噪聲敏感程度光纖光纖: : 光纖介質(zhì)可減少噪聲干擾,光電隔離提高光纖介質(zhì)可減少噪聲干擾,光電隔離提高安全性安全性北京交通大學(xué)14 MCS-51MCS-51單片機(jī)單片機(jī)片內(nèi)有一個(gè)片內(nèi)有一個(gè)全雙工全雙工串行口串行口(P3.0P3.0接收、接收、P3.1P3.1發(fā)送)發(fā)送) 功能:功能:異步串行通信異步串行通信 其中:發(fā)送和接收的速率與其中:發(fā)送和接收的速率與移位時(shí)鐘同步,移位時(shí)鐘同步, 移位
10、脈沖的速率為波特率。移位脈沖的速率為波特率。說明:定時(shí)器說明:定時(shí)器T1T1作為串行通信作為串行通信波特率發(fā)生器波特率發(fā)生器。北京交通大學(xué)15TI發(fā)送中斷標(biāo)志發(fā)送中斷標(biāo)志RI接收中斷,允許接收接收中斷,允許接收REN串行口中斷串行口中斷1.1.串行口寄存器結(jié)構(gòu)串行口寄存器結(jié)構(gòu)發(fā)送寄存器發(fā)送寄存器(只能寫只能寫)接收寄存器接收寄存器(只能讀只能讀)(P3.1)(P3.0)SBUF全雙工方式進(jìn)全雙工方式進(jìn)行通信,這兩個(gè)寄行通信,這兩個(gè)寄存器共用一個(gè)地址存器共用一個(gè)地址(99H)。)。北京交通大學(xué)16雙緩沖結(jié)構(gòu),防止雙緩沖結(jié)構(gòu),防止產(chǎn)生重疊錯(cuò)誤產(chǎn)生重疊錯(cuò)誤MOV SBUF,AMOV A,SBUF北京
11、交通大學(xué)17例如:說明:串行接收采用雙緩沖結(jié)構(gòu),以避免在數(shù)據(jù)說明:串行接收采用雙緩沖結(jié)構(gòu),以避免在數(shù)據(jù)接收過程中出現(xiàn)接收過程中出現(xiàn)幀重疊幀重疊錯(cuò)誤錯(cuò)誤, ,但發(fā)送數(shù)據(jù)時(shí),由于但發(fā)送數(shù)據(jù)時(shí),由于CPUCPU是主動(dòng)的,不會(huì)發(fā)生幀重疊錯(cuò)誤是主動(dòng)的,不會(huì)發(fā)生幀重疊錯(cuò)誤, ,因此發(fā)送電因此發(fā)送電路就不需要雙緩沖結(jié)構(gòu)。路就不需要雙緩沖結(jié)構(gòu)。 2.2.串行通信控制有關(guān)的寄存器串行通信控制有關(guān)的寄存器 SCONSCON:串行控制,用來設(shè)定串行口的工作方式:串行控制,用來設(shè)定串行口的工作方式 PCONPCON:電源控制,可控制波特率。:電源控制,可控制波特率。 IEIE: 設(shè)置串行中斷允許。設(shè)置串行中斷允許。啟
12、動(dòng)發(fā)送啟動(dòng)發(fā)送 :MOV MOV SBUFSBUF,A A ;SBUF SBUF (A A)啟動(dòng)接收啟動(dòng)接收 :MOV AMOV A,SBUFSBUF ;A A (SBUFSBUF)北京交通大學(xué)北京交通大學(xué)18 (1 1)串行控制寄存器)串行控制寄存器SCONSCON SCON格式如下:SM0 SM1 SM2 REN TB8 RB8 TI RI (98H) 9F 9E 9D 9C 9B 9A 99 98 工工作作方方式式選選擇擇位位多多機(jī)機(jī)通通信信控控制制位位允允許許接接收收控控制制位位發(fā)發(fā)送送數(shù)數(shù)據(jù)據(jù)第第九九位位接接收收數(shù)數(shù)據(jù)據(jù)第第九九位位發(fā)發(fā)送送中中斷斷標(biāo)標(biāo)志志接接收收中中斷斷標(biāo)標(biāo)志志北京
13、交通大學(xué)19各位功能說明如下:各位功能說明如下:SM0 SM1SM0 SM1:串口工作方式選擇位:串口工作方式選擇位 00 00 方式方式0: 0: 同步移位寄存器同步移位寄存器 波特率波特率= =主振頻率主振頻率/12/1201 01 方式方式1: 81: 8位異步,波特率可變位異步,波特率可變10 10 方式方式2 2:9 9位異步位異步 波特率波特率= =主振頻率主振頻率/32 /32 或主振頻率或主振頻率/64/6411 11 方式方式3 3:9 9位異步,波特率可變位異步,波特率可變北京交通大學(xué)20 REN=1REN=1:允許串行接收:允許串行接收, ,用軟件置位或清除。用軟件置位或
14、清除。 TB8TB8:發(fā)送數(shù)據(jù)位:發(fā)送數(shù)據(jù)位8 8即: D0 D7 D8 TB8/RB8D8D80 0:表示數(shù)據(jù)幀;:表示數(shù)據(jù)幀; D8D81 1:表示地址幀:表示地址幀在工作方式、在工作方式、3 3中,中,TB8TB8是發(fā)送的第位數(shù)據(jù),是發(fā)送的第位數(shù)據(jù), 由軟件置位(由軟件置位(SETB TB8SETB TB8)或復(fù)位()或復(fù)位(CLR TB8CLR TB8)在雙機(jī)通信中,該位作為奇偶校驗(yàn)位;在雙機(jī)通信中,該位作為奇偶校驗(yàn)位;在多機(jī)通信中用來表示在多機(jī)通信中用來表示D7-D0D7-D0是地址幀或數(shù)據(jù)幀是地址幀或數(shù)據(jù)幀北京交通大學(xué)21 RB8RB8:接收數(shù)據(jù)位:接收數(shù)據(jù)位8 8TITI:發(fā)送中
15、斷標(biāo)志:發(fā)送中斷標(biāo)志。 在工作方式和中,該位是接收到的第位數(shù)據(jù)。在工作方式和中,該位是接收到的第位數(shù)據(jù)。 方式方式1 1,SM2=0SM2=0,停止位。方式,停止位。方式0 0,不用。,不用。在多機(jī)通信中是在多機(jī)通信中是地址幀(地址幀(RB8=1RB8=1)和和數(shù)據(jù)幀數(shù)據(jù)幀 (RB8=0RB8=0)的標(biāo)識(shí)位。的標(biāo)識(shí)位。在方式中,發(fā)送完第在方式中,發(fā)送完第8 8位數(shù)據(jù)后,該位由硬件置位;位數(shù)據(jù)后,該位由硬件置位;在其它方式中,在發(fā)送停止位之前,該位由在其它方式中,在發(fā)送停止位之前,該位由硬件置位硬件置位,申請(qǐng)中斷,申請(qǐng)中斷,CPUCPU響應(yīng)中斷后,可以發(fā)送下一幀數(shù)據(jù)。響應(yīng)中斷后,可以發(fā)送下一幀數(shù)
16、據(jù)。該位必須由該位必須由軟件清零軟件清零。北京交通大學(xué)22 RIRI:接收中斷標(biāo)志。:接收中斷標(biāo)志。在方式中,接收完第在方式中,接收完第8 8位數(shù)據(jù)后,該位由硬件置位位數(shù)據(jù)后,該位由硬件置位在其它方式中,在接收到停止位的一半時(shí),在其它方式中,在接收到停止位的一半時(shí),該位由該位由硬件置位硬件置位(還需考慮(還需考慮SM2SM2的設(shè)定),的設(shè)定),申請(qǐng)中斷,申請(qǐng)中斷,CPUCPU響應(yīng)中斷后,可以接收下一幀響應(yīng)中斷后,可以接收下一幀數(shù)據(jù)。該位也必須由數(shù)據(jù)。該位也必須由軟件清零軟件清零。北京交通大學(xué)23 SM2SM2:多機(jī)通信控制位,主要用于方式:多機(jī)通信控制位,主要用于方式2 2、3 3中中。在方式
17、在方式0 0中中,SM2SM2設(shè)置為設(shè)置為0 0,不用,不用TB8TB8和和RB8RB8 在方式在方式1 1中中:當(dāng):當(dāng)SM2SM20 0,則,則RB8RB8是接收到的停止位;是接收到的停止位; 當(dāng)當(dāng)SM2SM21 1,則只有接收到有效的停止位時(shí),則只有接收到有效的停止位時(shí),RIRI才被激活。才被激活。在方式在方式2 2、3 3中中, TB8TB8和和RB8RB8為發(fā)送和接收的第九位數(shù)據(jù),為發(fā)送和接收的第九位數(shù)據(jù),當(dāng)當(dāng)SM2SM20 0時(shí)時(shí), ,則不論則不論RB8RB8為還是為還是1, 1,都將前都將前8 8位位數(shù)據(jù)數(shù)據(jù)裝裝入入SBUFSBUF中中, ,表示接收到命令或數(shù)據(jù),并產(chǎn)生中斷請(qǐng)求。表
18、示接收到命令或數(shù)據(jù),并產(chǎn)生中斷請(qǐng)求。當(dāng)當(dāng)SM2SM21 1時(shí),只有當(dāng)接收到的第九位數(shù)據(jù)時(shí),只有當(dāng)接收到的第九位數(shù)據(jù) RB8=1RB8=1時(shí)時(shí), , 才將接收到的前才將接收到的前8 8位數(shù)據(jù)送入位數(shù)據(jù)送入SBUF,SBUF,表示接收到表示接收到地址幀地址幀; ; 當(dāng)當(dāng)RB8RB80 0時(shí)時(shí), ,將接收到的前將接收到的前8 8位數(shù)據(jù)丟棄。位數(shù)據(jù)丟棄。北京交通大學(xué)24 說明說明:1. 1.用軟件可以改變?cè)O(shè)置用軟件可以改變?cè)O(shè)置SCONSCON內(nèi)容,并在下一內(nèi)容,并在下一條指令的第一個(gè)周期的條指令的第一個(gè)周期的S1P1S1P1期間才鎖存到期間才鎖存到SCONSCON中。中。2. 2.一幀發(fā)送完,發(fā)送中斷
19、標(biāo)志置位(一幀發(fā)送完,發(fā)送中斷標(biāo)志置位(TITI),向),向CPUCPU請(qǐng)求中斷。請(qǐng)求中斷。一幀接收完,接收中斷標(biāo)志置位(一幀接收完,接收中斷標(biāo)志置位(RIRI),向),向CPUCPU請(qǐng)求中斷。請(qǐng)求中斷。北京交通大學(xué)25 它主要是為它主要是為CHMOSCHMOS型單片機(jī)的電源控型單片機(jī)的電源控制而設(shè)置的制而設(shè)置的。對(duì)對(duì)HMOSHMOS型單片機(jī),除了最型單片機(jī),除了最高位(高位(SMODSMOD)之外)之外,其它位都是虛設(shè)其它位都是虛設(shè)的的, ,SMODSMOD是串行口波特率的倍增位。是串行口波特率的倍增位。 當(dāng):當(dāng):SMODSMOD1 1時(shí),串行口波特率加倍時(shí),串行口波特率加倍系統(tǒng)復(fù)位時(shí),系統(tǒng)
20、復(fù)位時(shí),SMODSMOD0 0。可??捎上铝兄噶钤O(shè)置:由下列指令設(shè)置: MOV PCONMOV PCON,#80H #80H ;SMOD SMOD 1 1 MOV PCON MOV PCON,#00H #00H ;SMOD SMOD 0 0(2 2)電源控制寄存器)電源控制寄存器PCONPCON格式格式: :SMOD(87H)北京交通大學(xué)26 (1)方式0:同步移位寄存器方式 RXDRXD端作為數(shù)據(jù)移位的入口或出口端作為數(shù)據(jù)移位的入口或出口 TXDTXD端提供移位時(shí)鐘脈沖端提供移位時(shí)鐘脈沖, ,移位數(shù)據(jù)的發(fā)送移位數(shù)據(jù)的發(fā)送和接收以和接收以8 8位為一幀位為一幀,不設(shè)起始位和停止位,低,不設(shè)起始
21、位和停止位,低位在前高位在后,位在前高位在后,波特率是固定的波特率是固定的即一個(gè)機(jī)器周期移位一次。即一個(gè)機(jī)器周期移位一次。RXDTXDDATACLKRXDTXDDATACLK并行輸出并行輸入8051CD40968051CD4014下圖下圖 串并,并串轉(zhuǎn)換方法電路串并,并串轉(zhuǎn)換方法電路P1.0STBP1.0STBfOSC/12北京交通大學(xué)27 說明: 1.REN=1,1.REN=1,允許接收。允許接收。 RXD RXD數(shù)據(jù)輸入,數(shù)據(jù)輸入,TXDTXD移位脈移位脈(fosc/12)(fosc/12)。接收(發(fā)送)完接收(發(fā)送)完8 8位數(shù)據(jù)時(shí)硬件將位數(shù)據(jù)時(shí)硬件將RIRI(TI)TI)置位,置位,C
22、PUCPU響應(yīng)中斷,響應(yīng)中斷, 2.TI2.TI,RIRI必須由用戶程序清零。必須由用戶程序清零。 3.3.方式方式0 0時(shí):時(shí):SM2=0SM2=0,TB8TB8、RB8RB8不用不用 4. 4.擴(kuò)展擴(kuò)展I/OI/O 串行輸入,串行輸出,并串、串并轉(zhuǎn)換串行輸入,串行輸出,并串、串并轉(zhuǎn)換北京交通大學(xué)28數(shù)據(jù)輸出MOV SBUF,Afosc=1/12發(fā)送完8位數(shù)據(jù)北京交通大學(xué)29REN=“1”,方式0,RI=“0”RXD數(shù)據(jù)輸入端接收到8位數(shù)據(jù)北京交通大學(xué)30 數(shù)據(jù)發(fā)送 1.1.數(shù)據(jù)發(fā)送是由一條寫發(fā)送寄存器(數(shù)據(jù)發(fā)送是由一條寫發(fā)送寄存器(MOV SBUFMOV SBUF,A A)指令開始的。指令
23、開始的。 2.2.此后在串行口由硬件自動(dòng)加入起始位和停止位,此后在串行口由硬件自動(dòng)加入起始位和停止位,構(gòu)成一個(gè)完整的幀格式。構(gòu)成一個(gè)完整的幀格式。 3.3.然后在移位脈沖的作用下,由然后在移位脈沖的作用下,由TXDTXD端串行輸出。端串行輸出。 4.4.一個(gè)字符幀發(fā)送完后,使一個(gè)字符幀發(fā)送完后,使TXDTXD端輸出線維持高電端輸出線維持高電平,并將平,并將TITI置位,通知置位,通知CPUCPU可以發(fā)送下一個(gè)字符。可以發(fā)送下一個(gè)字符。起始起始 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 停止停止 (2)方式1 方式方式1 1的幀格式為:的幀格
24、式為:北京交通大學(xué)31 數(shù)據(jù)接收數(shù)據(jù)接收 1.1.接收數(shù)據(jù)時(shí),應(yīng)使接收數(shù)據(jù)時(shí),應(yīng)使RENREN1 1。在此前提下,。在此前提下,串行口采樣串行口采樣RXDRXD端,當(dāng)采樣到從端,當(dāng)采樣到從1 1到到0 0的跳變的跳變時(shí),就認(rèn)定是接收到了起始位。時(shí),就認(rèn)定是接收到了起始位。 2.2.隨后在移位脈沖的控制下,把接收到的數(shù)據(jù)隨后在移位脈沖的控制下,把接收到的數(shù)據(jù)位移入接收寄存器中。位移入接收寄存器中。 3.3.直到停止位到來之后把它送入到直到停止位到來之后把它送入到RB8RB8中,并中,并置位置位RIRI,通知,通知CPUCPU從從SBUFSBUF取走接收到的一個(gè)字符。取走接收到的一個(gè)字符。北京交通
25、大學(xué)32發(fā)送十位信息啟動(dòng)發(fā)送完置1REN=“1”,SM0=0,SM1=1,RI=07,8,9共3次采樣數(shù)據(jù)采樣到1變0,啟動(dòng)接收波特率16倍速率條件:1.RI=02.停止位=1,或SM2=0、停止位進(jìn)入RB8,并RI=1北京交通大學(xué)33 波特率的設(shè)定波特率的設(shè)定 方式方式1 1的波特率可變的波特率可變, ,由下式?jīng)Q定:由下式?jīng)Q定:實(shí)際使用時(shí)實(shí)際使用時(shí), ,總是先確定波特率總是先確定波特率, ,再計(jì)算再計(jì)算T1T1的計(jì)數(shù)的計(jì)數(shù)初值。即:初值。即:mod23212(256)1=12(256)soscoscfXfTX波特率定時(shí)器的溢出率mod(2)256384soscfX波特率smodsmod為為P
26、CONPCON寄存器最高位的值寄存器最高位的值,f,fOSCOSC為晶振頻率為晶振頻率, ,X X為當(dāng)為當(dāng)T1T1工作于方式工作于方式2 2(8 8位自動(dòng)加載)時(shí)的計(jì)數(shù)初值。位自動(dòng)加載)時(shí)的計(jì)數(shù)初值。其中:其中:北京交通大學(xué)34 (3) (3) 方式方式2 2和方式和方式3 3 串行口工作在方式串行口工作在方式2 2、3 3時(shí),為時(shí),為9 9位異步位異步通信口,發(fā)送和接收幀信息由通信口,發(fā)送和接收幀信息由1111位組成,位組成,即即:D0 D2 . . . D7 D8 一幀1 1位起始位位起始位(0)(0)、位數(shù)據(jù)位位數(shù)據(jù)位(D0-D7)(D0-D7)、1 1位可編程位位可編程位(D8)(D8
27、)和和1 1位停止位位停止位(1)(1)。D8D8位既可作為奇偶校驗(yàn)位位既可作為奇偶校驗(yàn)位, ,也可作為控制位使用也可作為控制位使用, ,功能由用戶確定功能由用戶確定發(fā)送時(shí)發(fā)送時(shí), ,可編程位可編程位D8D8(TB8)(TB8)可設(shè)置為可設(shè)置為0 0(CLR TB8CLR TB8)或)或1 1(SETB TB8SETB TB8)接收時(shí)接收時(shí), ,TB8TB8送入送入SCONSCON寄存器中寄存器中RB8RB8位。位。北京交通大學(xué)35方式方式2 2、3 3的區(qū)別是:的區(qū)別是:波特率設(shè)置不同波特率設(shè)置不同方式方式2 2的波特率是固定的。即:的波特率是固定的。即: 波特率波特率=fosc/32=fo
28、sc/32或或fosc/64fosc/64方式方式3 3的波特率是可變的。即:的波特率是可變的。即:mod23212 (256)soscfX波特率mod(2)256384soscfX波特率北京交通大學(xué)36波特率 fosc smod1200 11.0592 0 2 E8H2400 11.0592 0 2 F4H4800 11.0592 0 2 FAH9600 11.0592 0 2 FDH19200 11.0592 1 2 FDH 定時(shí)器1 方式 時(shí)間常數(shù)表表1 1 波特率與時(shí)間常數(shù)波特率與時(shí)間常數(shù)北京交通大學(xué)37 方式方式0 0波特率波特率= = f fOSCOSC/12/12,f fOSC
29、OSC 為主機(jī)頻率為主機(jī)頻率 方式方式2 2 SMOD=1, SMOD=1,波特率波特率= = f fOSCOSC/32;/32; SMOD=0, SMOD=0,波特率波特率= = f fOSCOSC/64;/64; 方式方式1,31,3mod23212(256)soscfX波 特 率T1溢出率溢出率=12 (256)oscfX北京交通大學(xué)38 方式方式2 2發(fā)送程序:發(fā)送程序: 以以TB8TB8為偶校驗(yàn)位,處理方法是數(shù)據(jù)寫入為偶校驗(yàn)位,處理方法是數(shù)據(jù)寫入SBUFSBUF之前,先將之前,先將P P寫入寫入TB8TB8 CLR TI ; CLR TI ;發(fā)送中斷標(biāo)志發(fā)送中斷標(biāo)志TITI清零清零
30、MOV AMOV A,R0 ;R0 ;取數(shù)據(jù)取數(shù)據(jù) MOV CMOV C,P ;P ;奇偶校驗(yàn)位送奇偶校驗(yàn)位送TB8TB8 MOV TB8 MOV TB8,C C MOV SBUF MOV SBUF,A ;A ;數(shù)據(jù)寫入,啟動(dòng)發(fā)送數(shù)據(jù)寫入,啟動(dòng)發(fā)送北京交通大學(xué)39 接收程序接收程序 若附加第九位數(shù)據(jù)為偶校驗(yàn)位,接收程序中應(yīng)作校驗(yàn)處若附加第九位數(shù)據(jù)為偶校驗(yàn)位,接收程序中應(yīng)作校驗(yàn)處理理 CLR RI ;CLR RI ;收到一幀數(shù)據(jù)后清收到一幀數(shù)據(jù)后清RIRI MOV A MOV A,SBUF ;SBUF ;前八位數(shù)據(jù)送前八位數(shù)據(jù)送A A MOV C MOV C,P ;P ;正確正確P=0P=0,R
31、B=0RB=0。P=1P=1,RB=1RB=1 JNC PD0 JNC PD0 ;P=0P=0,判,判RB8=0RB8=0否否 JNB RB8JNB RB8,ERROR ERROR ;P=1P=1,RB8=0RB8=0出錯(cuò)出錯(cuò) AJMP POK AJMP POK PD0PD0:JB RB8JB RB8,ERRO ERRO ;P=0P=0, RB8=1RB8=1出錯(cuò)出錯(cuò)POKPOK:MOVROMOVRO,A AERROR: ERROR: 北京交通大學(xué)40利用串行口工作方式利用串行口工作方式0 0擴(kuò)展擴(kuò)展I/OI/O口口 SETB P1.0 CLR P1.0 ;下降沿并入下降沿并入 SETB P1
32、.0 ;移位;移位 MOV SCON,#10H;方式;方式0,啟動(dòng)接收,啟動(dòng)接收 MOV R0,#02H ;每組字節(jié)數(shù);每組字節(jié)數(shù)2WAIT: JNB RI,WAIT CLR RI MOV A,SBUF MOV R1,A INC R1 DJNZ R0,WAIT北京交通大學(xué)41利用串行口工作方式利用串行口工作方式0 0擴(kuò)展擴(kuò)展I/OI/O口口 MOV R6,#02H MOV R0,#30H MOV SCON,#00H;方式方式0 SEND:MOV A,R0 MOV SBUF,A;啟動(dòng)發(fā)送;啟動(dòng)發(fā)送 WAIT:JNB TI,WAIT CLR TI;清發(fā)送中斷標(biāo)志;清發(fā)送中斷標(biāo)志 INC R0 DJ
33、NZ R6,WAIT北京交通大學(xué)42 三、串行口應(yīng)用舉例三、串行口應(yīng)用舉例例例 6-1 6-1 雙機(jī)通信雙機(jī)通信 設(shè)設(shè): :甲機(jī)發(fā)送乙機(jī)甲機(jī)發(fā)送乙機(jī)接收,串行口工作在接收,串行口工作在方式方式1 1,波特率為,波特率為 1200 1200 fosc=11.0592MHzfosc=11.0592MHz 硬件連接如圖硬件連接如圖 計(jì)算時(shí)間常數(shù)計(jì)算時(shí)間常數(shù) TXD RXD GNDRXDTXD GND T1T1作為波特率發(fā)生器,工作于方式作為波特率發(fā)生器,工作于方式2 2。由表。由表1 1查得時(shí)間常數(shù)為查得時(shí)間常數(shù)為E8HE8H。 圖圖 雙機(jī)通信雙機(jī)通信乙乙甲甲北京交通大學(xué)43 甲機(jī)發(fā)送程序甲機(jī)發(fā)送程
34、序 甲機(jī)將內(nèi)部甲機(jī)將內(nèi)部RAMRAM單元單元20H-3FH20H-3FH的的3232個(gè)字節(jié)的個(gè)字節(jié)的ASCIIASCII碼數(shù)據(jù),在最高位上加碼數(shù)據(jù),在最高位上加奇校驗(yàn)位奇校驗(yàn)位后,由串行后,由串行口口TXDTXD發(fā)送給乙機(jī)。即可采用發(fā)送給乙機(jī)。即可采用8 8位異步通信。位異步通信。START:MOV TMOD,#20H ;T1START:MOV TMOD,#20H ;T1為方式為方式2 2 MOV TL1,#0E8H ;MOV TL1,#0E8H ;時(shí)間常數(shù)低時(shí)間常數(shù)低8 8位位 MOV TH1,#0E8H ;MOV TH1,#0E8H ; SETB TR1 ; SETB TR1 ;啟動(dòng)啟動(dòng)T
35、1T1工作工作 MOV SCON,#01000000B ;MOV SCON,#01000000B ;串行口方式串行口方式1 1 MOV R0,#20H ;MOV R0,#20H ;數(shù)據(jù)首地址數(shù)據(jù)首地址 MOV R7,#32 ;32MOV R7,#32 ;32字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)北京交通大學(xué)44LOOP: MOV A, R0 ;LOOP: MOV A, R0 ;取數(shù)據(jù),影響取數(shù)據(jù),影響P P標(biāo)志位標(biāo)志位 MOV C, P MOV C, P ; ;置奇校驗(yàn)位置奇校驗(yàn)位 CPL CCPL C MOV ACC.7, C MOV ACC.7, C MOV SBUF,A MOV SBUF,A ; ;啟動(dòng)發(fā)送啟
36、動(dòng)發(fā)送DONE: JNB DONE: JNB TI,TI, DONE ; DONE ;等待發(fā)完一幀等待發(fā)完一幀 CLR TI ;CLR TI ;清清TI,TI,允許再發(fā)送允許再發(fā)送 INC R0 ;INC R0 ;指向下一數(shù)據(jù)指向下一數(shù)據(jù) DJNZ R7, LOOP ;DJNZ R7, LOOP ;未送完未送完, ,送下一個(gè)數(shù)送下一個(gè)數(shù) AJMP LOOP ; AJMP LOOP ;循環(huán)發(fā)送循環(huán)發(fā)送北京交通大學(xué)45 乙機(jī)接收程序乙機(jī)接收程序 與甲機(jī)發(fā)送相呼應(yīng)與甲機(jī)發(fā)送相呼應(yīng), ,接收器把接收到的接收器把接收到的3232個(gè)字節(jié)數(shù)據(jù)存放個(gè)字節(jié)數(shù)據(jù)存放在內(nèi)部在內(nèi)部RAMRAM的的20H-3FH20H
37、-3FH中中, ,波特率與晶振頻率同上。若奇校驗(yàn)波特率與晶振頻率同上。若奇校驗(yàn)出錯(cuò)出錯(cuò), ,則置進(jìn)位位則置進(jìn)位位1 1。程序如下:。程序如下:START:MOV TMOD,#20H ;T1START:MOV TMOD,#20H ;T1方式方式2 2 MOV TL,#OE8HMOV TL,#OE8H MOV TH,#OE8H MOV TH,#OE8H SETB TR1 SETB TR1 MOV R0,#20H MOV R0,#20H MOV R7,#32 MOV R7,#32LOOP:MOV SCON,#01010000B ;LOOP:MOV SCON,#01010000B ;串行口方式串行口方
38、式1,1,能接收能接收北京交通大學(xué)46DONE:JNB RI,DONE ;DONE:JNB RI,DONE ;等待接收一幀等待接收一幀 CLR RI ;CLR RI ;清清RI,RI,再接收再接收 MOV A,SBUFMOV A,SBUF ; ;取數(shù)據(jù)取數(shù)據(jù) JNB P, ERROR ;JNB P, ERROR ;校驗(yàn)錯(cuò)校驗(yàn)錯(cuò), ,轉(zhuǎn)出錯(cuò)處理轉(zhuǎn)出錯(cuò)處理ANL A,#7FH ;ANL A,#7FH ;去掉奇校驗(yàn)位去掉奇校驗(yàn)位 MOV R0,A ;MOV R0,A ;奇校驗(yàn)奇校驗(yàn), ,存數(shù)據(jù)存數(shù)據(jù) INC R0 ; INC R0 ;指向下一數(shù)據(jù)指向下一數(shù)據(jù) DJNZ R7,LOOP ; DJNZ
39、R7,LOOP ;數(shù)據(jù)塊數(shù)據(jù)塊, ,未接收完未接收完, ,循環(huán)循環(huán) AJMP LOOP ;AJMP LOOP ;循環(huán)接收循環(huán)接收ERROR: ERROR: ; ;出錯(cuò)處理出錯(cuò)處理北京交通大學(xué)47 假定甲假定甲乙兩個(gè)乙兩個(gè)MCS-51MCS-51單片機(jī)以方式單片機(jī)以方式1 1進(jìn)行串行進(jìn)行串行通信,其波特率為通信,其波特率為1200bps.1200bps.甲機(jī)發(fā)送,發(fā)送的數(shù)甲機(jī)發(fā)送,發(fā)送的數(shù)據(jù)在外部據(jù)在外部RAMRAM中中2000H-202FH2000H-202FH單元。已機(jī)接收,并單元。已機(jī)接收,并把接收到的數(shù)據(jù)塊依次存入外部把接收到的數(shù)據(jù)塊依次存入外部RAM3000HRAM3000H開始的開始
40、的區(qū)域。區(qū)域。設(shè)設(shè)f foscosc=6MHz,=6MHz,波特率波特率=1200bps=1200bps,SMOD=0SMOD=0分析:分析: 1.1.定時(shí)器定時(shí)器1 1計(jì)數(shù)初值計(jì)數(shù)初值 方式方式1 1mod23212(256)soscfX波特率0261 2 0 03 21 2( 2 5 6)XX=243=0F3H見書見書P140北京交通大學(xué)48 2.2.發(fā)送的內(nèi)容包括數(shù)據(jù)塊的首發(fā)送的內(nèi)容包括數(shù)據(jù)塊的首末地址和數(shù)據(jù)兩末地址和數(shù)據(jù)兩部分。部分。 首首末地址以查詢方式傳送(禁止串行中斷)末地址以查詢方式傳送(禁止串行中斷) 數(shù)據(jù)以中斷方式傳送(允許串行中斷)數(shù)據(jù)以中斷方式傳送(允許串行中斷) 3.
41、3.數(shù)據(jù)為數(shù)據(jù)為ASCIIASCII碼最高位為奇偶校驗(yàn)位。碼最高位為奇偶校驗(yàn)位。 當(dāng)當(dāng)A A中中1 1的個(gè)數(shù)是奇數(shù)時(shí),的個(gè)數(shù)是奇數(shù)時(shí),P=1P=1。 所以將所以將P P求反再送入最高位求反再送入最高位 北京交通大學(xué)49多機(jī)通信北京交通大學(xué)50SM2SM2的定義的定義 在方式在方式2 2、3 3中,中, TB8TB8和和RB8RB8為發(fā)送和接收的第為發(fā)送和接收的第九位數(shù)據(jù)九位數(shù)據(jù)SM2SM21 1時(shí),只有當(dāng)接收到的第九位數(shù)據(jù)時(shí),只有當(dāng)接收到的第九位數(shù)據(jù): : SM2SM20 0時(shí)時(shí), ,當(dāng)當(dāng)RB8=1RB8=1時(shí)時(shí), , 才將接收到的前才將接收到的前8 8位數(shù)據(jù)送入位數(shù)據(jù)送入SBUFSBUF, ,表示接收到地址幀表示接收到地址幀; ; 當(dāng)當(dāng)RB8RB80 0時(shí)時(shí), ,將接收到的前將接收到的前8 8位數(shù)據(jù)丟棄。位數(shù)據(jù)丟棄。則不論則不論RB8RB8為還是為還是1, 1,都將前都將前8 8位數(shù)據(jù)裝入位數(shù)據(jù)裝入SBUFSBUF中中, ,表示接收到命令或數(shù)據(jù),并產(chǎn)生中斷請(qǐng)求。表示接收到命令或數(shù)據(jù),并產(chǎn)生中斷請(qǐng)求。北京交通大學(xué)51 單片機(jī)多機(jī)通信原理單片機(jī)多機(jī)通信原理 (1 1)全部從機(jī)初始化為工作方式全部從機(jī)初始化為工作方式2 2或方式,或方式,置位置位SM2SM2,允許中斷,處于只接受地址幀。,允許中斷,處于只接受地址幀。 (2 2)主機(jī)置位
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 隧道支護(hù)結(jié)構(gòu)課程設(shè)計(jì)
- 質(zhì)量統(tǒng)計(jì)學(xué)課程設(shè)計(jì)
- 船舵課程設(shè)計(jì)尺寸
- 音樂活動(dòng)江南課程設(shè)計(jì)
- 花朵形成過程課程設(shè)計(jì)
- 質(zhì)量工程綜合課程設(shè)計(jì)
- 野餐套餐課程設(shè)計(jì)
- 除塵管網(wǎng)課程設(shè)計(jì)
- 演算公理系統(tǒng)課程設(shè)計(jì)
- 車輛課程設(shè)計(jì)福特
- 前列腺增生藥物治療
- 人工智能知識(shí)圖譜(歸納導(dǎo)圖)
- 滴滴補(bǔ)貼方案
- 民宿建筑設(shè)計(jì)方案
- 干部基本信息審核認(rèn)定表
- 2023年11月外交學(xué)院(中國外交培訓(xùn)學(xué)院)2024年度公開招聘24名工作人員筆試歷年高頻考點(diǎn)-難、易錯(cuò)點(diǎn)薈萃附答案帶詳解
- 春節(jié)行車安全常識(shí)普及
- 電機(jī)維護(hù)保養(yǎng)專題培訓(xùn)課件
- 汽車租賃行業(yè)利潤分析
- 春節(jié)拜年的由來習(xí)俗來歷故事
- 2021火災(zāi)高危單位消防安全評(píng)估導(dǎo)則
評(píng)論
0/150
提交評(píng)論