版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1第七講 串行通訊電氣工程系趙志衡E-mail:2本講課程主要內(nèi)容(1)串行通訊的基本概念及MCS-51串行口的SFR(2)串行口的工作方式(3)串行口波特率的制定(4)串行口的編程方法(5)多機通訊3串行通訊的基本概念串行通訊的基本概念通訊的基本方式:n串行通訊與并行通訊n串行同步通訊、串行異步通訊 n單工、半雙工和全雙工串行通訊 4并行通訊、串行通訊并行通訊:數(shù)據(jù)各位同時傳送串行通訊:數(shù)據(jù)一位一位順序傳送5串行異步通訊、串行同步通訊 異步通訊,每個數(shù)據(jù)都要用起始位和停止位作為傳送數(shù)據(jù)開始和結(jié)束標志。同步通訊,具有數(shù)據(jù)端和時鐘端,雙方依靠時鐘同步。6MCS-51串行口的基本結(jié)構(gòu)n發(fā)送器:將發(fā)
2、送器:將CPUCPU送來的并行數(shù)據(jù),通過送來的并行數(shù)據(jù),通過發(fā)送移位寄存器變?yōu)榇袛?shù)據(jù)逐位發(fā)發(fā)送移位寄存器變?yōu)榇袛?shù)據(jù)逐位發(fā)送,并自動添加起始位、停止位和奇送,并自動添加起始位、停止位和奇偶校驗位。偶校驗位。n接收器:將接收到的串行數(shù)據(jù),經(jīng)接接收器:將接收到的串行數(shù)據(jù),經(jīng)接收移位寄存器變?yōu)椴⑿袛?shù)據(jù),去掉起收移位寄存器變?yōu)椴⑿袛?shù)據(jù),去掉起始位、停止位后,將正確數(shù)據(jù)送到接始位、停止位后,將正確數(shù)據(jù)送到接收數(shù)據(jù)緩沖器,供收數(shù)據(jù)緩沖器,供CPUCPU讀取。讀取。n控制器:接收控制器:接收CPUCPU送來的編程命令,按送來的編程命令,按選定方式實現(xiàn)對串行接口的控制。主選定方式實現(xiàn)對串行接口的控制。主要控
3、制參數(shù)有:傳送波特率的選擇、要控制參數(shù)有:傳送波特率的選擇、數(shù)據(jù)格式的選擇等。另外還與數(shù)據(jù)格式的選擇等。另外還與CPUCPU交換交換狀態(tài)信號和中斷信號。狀態(tài)信號和中斷信號。 串行接口邏輯部件框圖7串行口的基本結(jié)構(gòu)nSCON為串行口控制為串行口控制/狀態(tài)寄狀態(tài)寄存器,通過編程寫入存器,通過編程寫入SCON的的控制位可選擇串行口的工作控制位可選擇串行口的工作方式,讀出方式,讀出SCON的狀態(tài)位可的狀態(tài)位可查詢串行口的工作狀態(tài)。定查詢串行口的工作狀態(tài)。定時時/計數(shù)器計數(shù)器T1被用做串行口的被用做串行口的波特率發(fā)生器,由可控分頻波特率發(fā)生器,由可控分頻電路決定數(shù)據(jù)傳送的波特率。電路決定數(shù)據(jù)傳送的波特率
4、。串行口信息的發(fā)送串行口信息的發(fā)送/接收是通接收是通過寫過寫/讀數(shù)據(jù)緩沖器讀數(shù)據(jù)緩沖器SBUF來來實現(xiàn)的。實現(xiàn)的。8串行口的SFRn串行數(shù)據(jù)緩沖器串行數(shù)據(jù)緩沖器SBUF(99H) 串行口有兩個串行口有兩個8位數(shù)據(jù)緩沖器,一個是發(fā)送數(shù)據(jù)位數(shù)據(jù)緩沖器,一個是發(fā)送數(shù)據(jù)緩沖器緩沖器SBUF,一個是接收數(shù)據(jù)緩沖器,一個是接收數(shù)據(jù)緩沖器SBUF。它們共。它們共用一個地址用一個地址99H,發(fā)送,發(fā)送SBUF只能寫入,而接收只能寫入,而接收SBUF只能讀出。只能讀出。 通過指令區(qū)分:通過指令區(qū)分:MOV SBUF,A MOV A,SBUFn控制寄存器控制寄存器SCON (98H)SM0 SM1 SM2 REN
5、 TB8 RB8 TI RIn節(jié)電控制節(jié)電控制寄存器寄存器PCON(87H) SMOD (D7)n復(fù)位后狀態(tài)均為復(fù)位后狀態(tài)均為00H 9串行口控制寄存器SCON SM0、SM1:串行口串行口4種工作方式選擇位種工作方式選擇位 SM2:方式方式2和方式和方式3中的多機通信控制位。在方式中的多機通信控制位。在方式2和方式和方式3中,如中,如SM2=1,則當接收到的第,則當接收到的第9位數(shù)據(jù)位數(shù)據(jù)(RB8)為為0時,不激活接收中斷標志時,不激活接收中斷標志RI(RI=1)。在方。在方式式1中,如中,如SM2=1,則只有當接收到有效停止位時才,則只有當接收到有效停止位時才激活激活RI,若沒有接收到有效
6、停止位,則,若沒有接收到有效停止位,則RI清清0。在方。在方式式0中,中,SM2必須為必須為0。 REN:允許串行接收位。允許串行接收位。REN=1允許接收;允許接收; REN=0禁止接收,由軟件置位或清零。禁止接收,由軟件置位或清零。 TB8:是工作在方式是工作在方式2和和3時,要發(fā)送的第時,要發(fā)送的第9位數(shù)據(jù)。位數(shù)據(jù)??捎绍浖每捎绍浖?或清或清0。在許多的通訊協(xié)議中該位是奇偶。在許多的通訊協(xié)議中該位是奇偶校驗位。校驗位。在多機通訊中用來表示是地址幀還是數(shù)據(jù)幀,在多機通訊中用來表示是地址幀還是數(shù)據(jù)幀,TB8=1為地址幀,為地址幀,TB80為數(shù)據(jù)幀。為數(shù)據(jù)幀。10串行口控制寄存器SCONn
7、RB8:當工作在方式當工作在方式2和和3時,為接收到的第時,為接收到的第9位數(shù)據(jù)。位數(shù)據(jù)。nTI:發(fā)送中斷標志位,在方式發(fā)送中斷標志位,在方式0串行發(fā)送第串行發(fā)送第8位數(shù)據(jù)結(jié)位數(shù)據(jù)結(jié)束時由硬件置束時由硬件置1,或在其它方式串行發(fā)送停止位后置,或在其它方式串行發(fā)送停止位后置1,并申請中斷。并申請中斷。CPU響應(yīng)中斷后,可發(fā)送下一幀數(shù)據(jù),響應(yīng)中斷后,可發(fā)送下一幀數(shù)據(jù),TI必須由軟件清必須由軟件清0。nRI:為接收結(jié)束中斷標志。在方式為接收結(jié)束中斷標志。在方式0中,當接收到一中,當接收到一幀數(shù)據(jù)的第幀數(shù)據(jù)的第8位結(jié)束時,位結(jié)束時,RI=1。在其他方式中,接收。在其他方式中,接收到停止位后,到停止位后
8、,RI=1,表示可讀取接收,表示可讀取接收SBUF中的內(nèi)容。中的內(nèi)容。RI必須用軟件清必須用軟件清0。 n每次發(fā)送和接收前,要注意先將每次發(fā)送和接收前,要注意先將TI和和RI標志位清標志位清0 。 串行口作為一個中斷源,中斷入口地址只有一個串行口作為一個中斷源,中斷入口地址只有一個(0023H),當用中斷方式同時進行發(fā)送和接收時,可通過查詢當用中斷方式同時進行發(fā)送和接收時,可通過查詢TI和和RI狀態(tài),狀態(tài),確定是發(fā)送還是接收結(jié)束引起的中斷。確定是發(fā)送還是接收結(jié)束引起的中斷。 11節(jié)電控制寄存器PCON nPCON主要用于節(jié)電運行方式控制, PCON.7用做串行口波特率加倍控制位。當設(shè)定SMOD
9、=1時,波特率加倍,當SMOD=0時,波特率不加倍。 12串行口的工作方式nSM0、SM1工作方式選擇位13方式 0 :(SM0=0 SM1=0)n串行口方式串行口方式0為為8位位數(shù)據(jù)同步移位寄存器數(shù)據(jù)同步移位寄存器方式。方式。RXD引腳為同引腳為同步數(shù)據(jù)的輸入步數(shù)據(jù)的輸入/輸出輸出端,端,TXD引腳為同步引腳為同步移位脈沖輸出端。一移位脈沖輸出端。一個數(shù)據(jù)幀為個數(shù)據(jù)幀為8位,位,每每一個移位脈沖對應(yīng)數(shù)一個移位脈沖對應(yīng)數(shù)據(jù)幀的一個數(shù)據(jù)位。據(jù)幀的一個數(shù)據(jù)位。方式方式0的的波特率固定波特率固定為為fosc/12。 REN=0 寫 SBUF RXD 數(shù)據(jù)輸出 TXD TI D0 D1 D2 D3 D
10、4 D5 D6 D7 REN=1 RI=0 RXD 輸入數(shù)據(jù) RI 串行口方式 0 工作時序圖 (a) 發(fā)送時序圖 (b) 接收時序圖 TXD 14方式0的說明:n寫入寫入SCON使使REN=0,TI=0;然后執(zhí)行寫入;然后執(zhí)行寫入SBUF的指令,的指令,8位數(shù)位數(shù)據(jù)裝入發(fā)送據(jù)裝入發(fā)送SBUF,硬件啟動串行口發(fā)送器進行一次發(fā)送。通過發(fā),硬件啟動串行口發(fā)送器進行一次發(fā)送。通過發(fā)送移位寄存器將送移位寄存器將8位數(shù)據(jù)逐位送到位數(shù)據(jù)逐位送到RXD引腳,每個機器周期內(nèi)發(fā)送引腳,每個機器周期內(nèi)發(fā)送一位數(shù)據(jù)。對應(yīng)發(fā)送數(shù)據(jù)的每一位,由一位數(shù)據(jù)。對應(yīng)發(fā)送數(shù)據(jù)的每一位,由TXD引腳同步輸出一個移位引腳同步輸出一個
11、移位脈沖。發(fā)送完一幀,自動置位脈沖。發(fā)送完一幀,自動置位TI標志,并申請串行口中斷。若標志,并申請串行口中斷。若CPU響應(yīng)中斷,則將從響應(yīng)中斷,則將從0023H單元開始執(zhí)行串行口的中斷服務(wù)程序。單元開始執(zhí)行串行口的中斷服務(wù)程序。 n寫入寫入SCON使使REN = 1、RI = 0,將啟動串行口接收器開始接收。,將啟動串行口接收器開始接收。由由TXD輸出移位脈沖,每對應(yīng)一個移位脈沖,采樣一次輸出移位脈沖,每對應(yīng)一個移位脈沖,采樣一次RXD引腳信引腳信號。每個機器周期采樣一次號。每個機器周期采樣一次RXD引腳,采到的數(shù)據(jù)位送入接收移位引腳,采到的數(shù)據(jù)位送入接收移位寄存器后,接收移位寄存器左移一位。
12、接收完一幀,自動置位寄存器后,接收移位寄存器左移一位。接收完一幀,自動置位RI標標志,申請串行口中斷,并將接收下來的志,申請串行口中斷,并將接收下來的8位數(shù)據(jù)裝入接收位數(shù)據(jù)裝入接收SBUF。若。若CPU響應(yīng)中斷,則從響應(yīng)中斷,則從0023H單元開始執(zhí)行串行口的中斷服務(wù)程序。單元開始執(zhí)行串行口的中斷服務(wù)程序。n串行口方式串行口方式0常用于擴展單片機的并行常用于擴展單片機的并行I/O口,也可外口,也可外接串行同步接串行同步I/O設(shè)備。用方式設(shè)備。用方式0輸入輸入/輸出數(shù)據(jù)皆通過輸出數(shù)據(jù)皆通過RXD端,因此方式端,因此方式0為半雙工方式,只能分時進行發(fā)送為半雙工方式,只能分時進行發(fā)送和接收。和接收。
13、 15方式1(SM0=0 SM1=1) 功能說明:串行口方式1為8位數(shù)據(jù)全雙工異步通信方式。TXD為發(fā)送數(shù)據(jù)端,RXD為接收數(shù)據(jù)端。一個數(shù)據(jù)幀為10位,包含8位數(shù)據(jù)位,1個起始位“0”和1個停止位“1”。串行口用方式1工作時,使用定時器T1作為波特率發(fā)生器,波特率的設(shè)定以T1的溢出率為基準,波特率計算式為:(2SMOD/32)T1溢出率。 16方式1的時序圖 采樣 (a) 發(fā)送時序圖 串行口方式1工作時序圖 寫入 SBUF TXD 數(shù)據(jù)輸出 TI D0 D1 D2 D3 D4 D5 D6 D7 停止位 起始位 RXD 輸入數(shù)據(jù) (b) 接收時序圖 D0 D1 D2 D3 D4 D5 D6 D7
14、 停止位 起始位 RI 檢測 負跳變 REN=1, 17方式1功能說明執(zhí)行寫入執(zhí)行寫入SBUF指令,指令,將將8位數(shù)據(jù)裝入發(fā)送位數(shù)據(jù)裝入發(fā)送SBUF,并啟動發(fā)送,并啟動發(fā)送器進行一次發(fā)送器進行一次發(fā)送:先將起始位先將起始位“0”送到送到TXD引腳,再從低到引腳,再從低到高逐位發(fā)送高逐位發(fā)送8位數(shù)據(jù),最后發(fā)送停止位位數(shù)據(jù),最后發(fā)送停止位“1”。每位發(fā)送占用。每位發(fā)送占用的時間由設(shè)定的波特率決定。發(fā)送完一幀數(shù)據(jù),置位的時間由設(shè)定的波特率決定。發(fā)送完一幀數(shù)據(jù),置位TI標志,標志,申請串行口中斷。申請串行口中斷。當當REN=1時時,允許接收器準備接收。開始,以,允許接收器準備接收。開始,以16倍于波特
15、率倍于波特率的速率檢測的速率檢測RXD引腳的負跳變,當檢測到負跳變后,啟動一引腳的負跳變,當檢測到負跳變后,啟動一次接收,接收完一幀信息,判斷是否滿足條件次接收,接收完一幀信息,判斷是否滿足條件:RI = 0,而,而且停止位為且停止位為1(或或SM2=0)。若同時滿足這兩個條件,則置位。若同時滿足這兩個條件,則置位RI標志,申請串行口中斷,并將接收的標志,申請串行口中斷,并將接收的8位數(shù)據(jù)裝入接收位數(shù)據(jù)裝入接收SBUF,停止位裝入,停止位裝入RB8;否則接收無效,丟失所接收的一否則接收無效,丟失所接收的一幀信息,且不影響幀信息,且不影響RI標志。一位時間以后,接收器重新開始標志。一位時間以后,
16、接收器重新開始檢測檢測RXD端的負跳變,以準備接收下一幀數(shù)據(jù)端的負跳變,以準備接收下一幀數(shù)據(jù)。18方式2、方式3 串行口方式串行口方式2和方式和方式3皆為皆為9位數(shù)據(jù)全雙工異步位數(shù)據(jù)全雙工異步通信方式,比串行口方式通信方式,比串行口方式1增加了第增加了第9位數(shù)據(jù)位。位數(shù)據(jù)位。TXD為發(fā)送數(shù)據(jù)端,為發(fā)送數(shù)據(jù)端,RXD為接收數(shù)據(jù)端。一幀信息有為接收數(shù)據(jù)端。一幀信息有11位,包括位,包括9位數(shù)據(jù)位,位數(shù)據(jù)位,1個起始位個起始位“0”和和1個停止位個停止位“1”。發(fā)送數(shù)據(jù)的第。發(fā)送數(shù)據(jù)的第9位在位在TB8中,接收數(shù)據(jù)的第中,接收數(shù)據(jù)的第9位位存入存入RB8中。第中。第9位數(shù)據(jù)位也稱為可編程位,常用做位
17、數(shù)據(jù)位也稱為可編程位,常用做奇偶校檢位或多機通信中的地址奇偶校檢位或多機通信中的地址/數(shù)據(jù)識別位。數(shù)據(jù)識別位。 串行口的方式串行口的方式2與方式與方式3的唯一差別是波特率設(shè)的唯一差別是波特率設(shè)定方法不同,方式定方法不同,方式2的波特率以系統(tǒng)時鐘為基準,計的波特率以系統(tǒng)時鐘為基準,計算式為算式為:(2SMOD/64) fosc。方式。方式3的波特率與方式的波特率與方式1的相同,計算式為的相同,計算式為:(2SMOD/32)T1溢出率。溢出率。 19方式2、3的時序 (a) 發(fā)送時序圖 串行口方式 2、方式 3 工作時序圖 寫入 SBUF TXD 數(shù)據(jù)輸出 TI RXD 輸入數(shù)據(jù) (b) 接收時序
18、圖 RI D0 D1 D2 D3 D4 D5 D6 TB8 停止位 起始位 D7 D0 D1 D2 D3 D4 D5 D6 RB8 停止位 起始位 D7 檢測 負跳變 REN=1, 20方式2、3的功能說明n發(fā)送時,應(yīng)先將發(fā)送數(shù)據(jù)的第發(fā)送時,應(yīng)先將發(fā)送數(shù)據(jù)的第9位送入位送入TB8,再寫入,再寫入8位數(shù)據(jù)到發(fā)送位數(shù)據(jù)到發(fā)送SBUF,使發(fā)送器啟動一次發(fā)送,將一幀,使發(fā)送器啟動一次發(fā)送,將一幀數(shù)據(jù)逐位送到數(shù)據(jù)逐位送到TXD引腳引腳:發(fā)送起始位發(fā)送起始位“0”之后,再發(fā)之后,再發(fā)送送SBUF中的中的8位數(shù)據(jù),接著發(fā)送位數(shù)據(jù),接著發(fā)送TB8中的第中的第9位,最位,最后發(fā)送停止位后發(fā)送停止位“1”。一幀發(fā)
19、送結(jié)束,置位。一幀發(fā)送結(jié)束,置位TI標志,申標志,申請串行口中斷。請串行口中斷。n方式方式2和方式和方式3的接收過程和方式的接收過程和方式1的接收過程基本相的接收過程基本相同,但同,但RB8中裝入的是接收數(shù)據(jù)的第中裝入的是接收數(shù)據(jù)的第9位,而不是停止位,而不是停止位。接收有效必須同時滿足的兩個條件改為位。接收有效必須同時滿足的兩個條件改為:RI=0,且接收的第且接收的第9位數(shù)據(jù)位為位數(shù)據(jù)位為1(或或SM2=0)。當正確接收。當正確接收到一幀數(shù)據(jù)后,前面到一幀數(shù)據(jù)后,前面8位數(shù)據(jù)進入接收位數(shù)據(jù)進入接收SBUF,第,第9位位數(shù)據(jù)進入數(shù)據(jù)進入RB8。 21波特率的制定波特率的定義:串行口每秒鐘發(fā)送或
20、者接收的位數(shù)。波特率的定義:串行口每秒鐘發(fā)送或者接收的位數(shù)。串行口方式串行口方式0的波特率是固定的,為系統(tǒng)時鐘的的波特率是固定的,為系統(tǒng)時鐘的12分頻分頻(fosc/12),即每個機器周期傳送一位數(shù)據(jù)位。,即每個機器周期傳送一位數(shù)據(jù)位。串行口用方式串行口用方式2工作時,波特率為工作時,波特率為(2SMOD/64)fosc 。SMOD為為PCON中的中的D7位,即波特率加倍選擇位。方式位,即波特率加倍選擇位。方式2可有兩種波特率供選擇,當可有兩種波特率供選擇,當SMOD=0時,波特率為時,波特率為fosc/64;當當SMOD=1時,波特率則為時,波特率則為fosc/32 。串行口方式串行口方式1
21、和方式和方式3用定時器用定時器T1作為波特率發(fā)生器,作為波特率發(fā)生器,其波其波特率有多種選擇,與特率有多種選擇,與T1的溢出率有關(guān)。的溢出率有關(guān)。 波特率波特率= (2SMOD32)T1溢出率溢出率 22定時器T1產(chǎn)生波特率的計算T1溢出率:溢出率:T1溢出時間的倒數(shù)。溢出時間的倒數(shù)。nT1用于波特率發(fā)生器時一般工作于非門控定時器方式2,即常數(shù)自動重裝入方式。 TH1 = TL1為T1的時間常數(shù) TH1)(212fT18osc溢出率TH1)(25612f322oscSMOD的波特率串行口方式1和方式323定時器T1產(chǎn)生波特率的計算n串行口用方式1和方式3工作時,當需要很低的波特率時,也可選擇T
22、1工作于方式1,但需利用T1溢出中斷來實現(xiàn)軟件重裝初值,T1用方式1工作時溢出率為: N為T1溢出后用軟件重裝初值所需的機器周期數(shù)。 N) 1TL1TH(212f16osc24T1產(chǎn)生的常用波特率25波特率計算的幾點注意事項:n1)波特率的相對誤差不大于波特率的相對誤差不大于2.5%n2)注意)注意SMOD位對波特率的影響位對波特率的影響例如:通訊波特率設(shè)為例如:通訊波特率設(shè)為2400,晶振頻率為,晶振頻率為6MHz,計算,計算T1的計時常數(shù)。的計時常數(shù)。當當SMOD=0時,計時常數(shù)約為時,計時常數(shù)約為249,相對誤差,相對誤差7%。當當SMOD=1時,計時常數(shù)約為時,計時常數(shù)約為243,相對
23、誤差,相對誤差0.16%。26串行口的編程舉例n設(shè)定波特率設(shè)定波特率n設(shè)定串行口的工作方式設(shè)定串行口的工作方式n設(shè)計中斷服務(wù)程序或查詢程序設(shè)計中斷服務(wù)程序或查詢程序 注意對注意對TI、RI的處理(硬件置位、軟件清零)的處理(硬件置位、軟件清零)27MCS-51雙機串行通訊的實現(xiàn)n如何進行物理連線?n波特率的選擇?n工作方式的選擇?n如何編程實現(xiàn)?28雙機串行通訊的實現(xiàn)-1正確進行物理接線正確進行物理接線29雙機串行通訊的實現(xiàn)-2n設(shè)定一致的波特率設(shè)定一致的波特率n設(shè)定一致的串行口工作方式設(shè)定一致的串行口工作方式n分別設(shè)計中斷服務(wù)程序或查詢程序分別設(shè)計中斷服務(wù)程序或查詢程序 注意對注意對TI、R
24、I的處理的處理 (硬件置位、軟件清零)(硬件置位、軟件清零)30方式3發(fā)送50H5FH的內(nèi)容n待發(fā)送的16個字節(jié)存放在片內(nèi)RAM中 地址為50H5FHn串行口波特率為2400波特率發(fā)生器T1工作于方式2, 且SMOD=0晶振為11.0592MHz計算得到TL1的初值為F4H。n串行口工作于方式3n第9位發(fā)送奇偶校驗位31例1: 方式3發(fā)送50H5FH中內(nèi)容-1 ORG0000H;復(fù)位入口復(fù)位入口nAJMPMAINnORG0023H;串行口中斷入口串行口中斷入口nAJMPL1nORG0100H;主程序入口主程序入口nMAIN:MOVSCON,#0C0H;串行口初始化,用方式串行口初始化,用方式3
25、發(fā)送,發(fā)送,TI=0n MOV PCON,#00H;SMODSMOD=0n MOV TMOD,#20H ;T1方式方式2定時定時nMOV TL1,#0F4H ;寫入寫入T1時間常數(shù)時間常數(shù)n MOVTH1,#0F4H n SETBTR1;啟動啟動T1nSETBEAnSETBES;允許串行口中斷允許串行口中斷nMOVR0,#50H ;設(shè)數(shù)據(jù)指針設(shè)數(shù)據(jù)指針n MOV R7,#10H ;數(shù)據(jù)長度數(shù)據(jù)長度nLOOP: MOV A,R0;取一個字符取一個字符n MOV C,P;加奇偶校驗加奇偶校驗n MOV TB8,Cn MOV SBUF,A;發(fā)送一個字符發(fā)送一個字符nHERE:SJMPHERE;CPU
26、原地循環(huán),等待發(fā)送結(jié)束原地循環(huán),等待發(fā)送結(jié)束32例1: 方式3發(fā)送50H5FH中內(nèi)容-2nL1L1:n CLRTI ;中斷服務(wù)程序,中斷服務(wù)程序, 發(fā)送結(jié)束標志位清發(fā)送結(jié)束標志位清0n DJNZR7,NEXT;發(fā)送完全部字符發(fā)送完全部字符?n CLRES ;已發(fā)送完,關(guān)閉串行口中斷已發(fā)送完,關(guān)閉串行口中斷n SJMPTENDnNEXT:n INC R0 ;未發(fā)送完,修改指針未發(fā)送完,修改指針nMOV A,R0 ;取下一個字符取下一個字符nMOV C,P ;加奇偶校驗加奇偶校驗nMOV TB8,C nMOV SBUF,A;再次發(fā)送一個字符再次發(fā)送一個字符nTEND:n RETI ;中斷返回主程序
27、中斷返回主程序33例2:方式3接收n接收到的16個字節(jié)存放在片內(nèi)RAM中地址為50H5FHn串行口波特率為2400波特率發(fā)生器T1工作于方式2, 且SMOD=0晶振為11.0592MHz計算得到TL1的初值為F4H。n串行口工作于方式3奇偶校驗方式判斷接收數(shù)據(jù)是否出錯設(shè)校驗出錯標志位為F034MAIN: MAIN: MOVSCON,#0D0H ;串行口方式串行口方式3允許接收,允許接收,RI=0n MOV PCON,#00H ;SMODSMOD=0n MOV TMOD,#20H ;T1方式方式2定時定時n MOV TL1,#0F4H ;寫入寫入T1時間常數(shù)時間常數(shù)n MOVTH1,#0F4H
28、n SETBTR1 ;啟動啟動T1n LCALL AAAA LCALL AAAAn SJMP $方式3接收-查詢35方式3接收-查詢nAAAA: MOVR0,#50H;設(shè)數(shù)據(jù)指針設(shè)數(shù)據(jù)指針n MOVR7,#10H;數(shù)據(jù)長度數(shù)據(jù)長度nWAIT: JBCRI,NEXT ;查詢查詢RI標志,等待串行口接收結(jié)束標志,等待串行口接收結(jié)束n SJMPWAITnNEXT: MOVA,SBUF ;讀取一個接收字符讀取一個接收字符n JNB P,COMP ;進行奇偶校驗進行奇偶校驗n JNB RB8,ERR ;PRB8,數(shù)據(jù)出錯,數(shù)據(jù)出錯n SJMP RIGHT ;P=RB8,數(shù)據(jù)正確,數(shù)據(jù)正確nCOMP:JB RB8,ERRnRIGHT:MOV R0,A ;保存一個字符到片內(nèi)保存一個字符到片內(nèi)RAMn INC R0 ;修改指針修改指針n DJNZ R7,WAIT;全部字符接收完全
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石河子大學(xué)《食品工程原理二》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《現(xiàn)代人工智能技術(shù)》2023-2024學(xué)年期末試卷
- 石河子大學(xué)《家畜繁殖學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《自動控制理論》2021-2022學(xué)年期末試卷
- 沈陽理工大學(xué)《建筑模型制作與工藝》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《電工與電子技術(shù)實驗》2023-2024學(xué)年期末試卷
- 光伏代理商合同范本
- 沈陽理工大學(xué)《環(huán)境設(shè)計》2021-2022學(xué)年第一學(xué)期期末試卷
- 海事法院 合同解除 典型案例
- 合同到期的續(xù)簽申請書
- 質(zhì)保書模板(2024版)
- 統(tǒng)編版2024年新教材七年級上冊道德與法治8.1《認識生命》教案
- 胃癌介入治療的臨床分析與療效評價課件
- 基于LoRa通信的智能家居系統(tǒng)設(shè)計及研究
- 心臟驟停與心源性猝死的急救與護理課件
- 河南省鄭州市鄭州一八聯(lián)合國際學(xué)校2025屆物理九年級第一學(xué)期期中考試模擬試題含解析
- 地球物理勘探合同范本
- 超星爾雅學(xué)習(xí)通《人人學(xué)點營銷學(xué)(中南財經(jīng)政法大學(xué))》2024章節(jié)測試答案
- 營業(yè)線施工有關(guān)事故案例及分析
- 植物油灶具供貨安裝合同
- 車輛維修技術(shù)服務(wù)方案(2篇)
評論
0/150
提交評論