版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片機原理與應用4.3MCS-51串行口及串行通信技術
串行通信基本知識單片機串行口的結構及其工作原理單片機串行口的四種工作方式多機通訊串行口的編程實例單片機原理與應用串行通訊技術是單片機系統(tǒng)開發(fā)中常用的技術之一,串行口也是單片機常規(guī)內部集成的功能。近幾年來,雖然新的通訊技術、手段不斷出現,但串行通訊技術由于它技術成熟、開發(fā)方便而一直都被廣泛應用于工控場合。51系列單片機中集成了全雙工的串行端口。通過定時器來設定通訊的波特率,通過設置幾個寄存器來設定工作方式。
單片機原理與應用并行通信與串行通信通信:CPU與外設、計算機之間交換信息通信方式:串行、并行1、并行通信
同一時刻數據的各位并行(同時)地傳送,如按字節(jié)傳送,一次同時傳8位。優(yōu)點:處理速度快缺點:占口線多,線路復雜,成本高傳輸距離短,小于20M單片機原理與應用握手線計算機計算機或外設單片機原理與應用2、串行通信數據一位一位地依次傳送,只要少數幾條線就可交換信息。優(yōu)點:線路簡單(可利用電話線,降低成本) 適用于遠距離傳輸缺點:速度比較慢計算機計算機或外設串行通信的錯誤校驗串行通信信號傳送的過程中,容易受到各種干擾信號的干擾,而產生錯誤。如下圖所示:單片機原理與應用為了檢查并糾正這些錯誤,通信的雙方應該采取一些校驗措施。單片機串行通信中常用的幾種校驗措施有:1、奇偶校驗在發(fā)送數據時,數據位尾隨的1位為奇偶校驗位(1或0)。奇校驗時,數據中“1”的個數與校驗位“1”的個數之和應為奇數;偶校驗時,數據中“1”的個數與校驗位“1”的個數之和應為偶數。接收字符時,對“1”的個數進行校驗,若發(fā)現不一致,則說明傳輸數據過程中出現了差錯。2、代碼和校驗代碼和校驗是發(fā)送方將所發(fā)數據塊求和(或各字節(jié)異或),產生一個字節(jié)的校驗字符(校驗和)附加到數據塊末尾。接收方接收數據同時對數據塊(除校驗字節(jié)外)求和(或各字節(jié)異或),將所得的結果與發(fā)送方的“校驗和”進行比較,相符則無差錯,否則即認為傳送過程中出現了差錯。單片機原理與應用3、循環(huán)冗余(CRC)校驗
循環(huán)冗余碼(CRC)是最常用的一種差錯校驗碼,其特征是:信息字段和校驗字段的長度可以任意指定。
CRC碼又稱為多項式碼。這是因為任何一個由二進制數位串組成的代碼都可以和一個只含有0和1兩個系數的多項式建立一一對應的關系。例如,代碼1011011對應的多項式為x6+x4+x3+x+1,而多項式x5+x4+x2+x對應的代碼為110110。
k位要發(fā)送的信息位可對應于一個(k-1)次多項式K(x),r位冗余位對應于一個(r-1)次多項式R(x)。由k位信息位后面加上r位冗余位組成的n=k+r位碼字則對應于一個(n-1)次多項式T(x)=xr?K(x)+R(x)。
根據代數理論,多項式T(x)存在且僅存在一個r次多項式G(x),使得:T(x)=xr?K(x)+R(x)=A(x)?G(x)
其中G(x)=g0x0+g1x1+g2x2+…+gr-1xr-1+grxr
稱為生成多項式,對應的二進制代碼稱為生成碼。數據通信中利用這一原理,在發(fā)送方通過指定的G(x)產生CRC校驗碼,接收方利用相同的多項式G(x)驗證收到的信息的正確性。單片機原理與應用【例4.6】信息字段代碼為1011001,對應多項式為m(x)=x6+x4+x3+1,假設生成多項式為g(x)=x4+x3+1,則對應的g(x)的代碼為11001,x4?m(x)=x10+x8+x7+x4對應的代碼記為10110010000,采用多項式除法:得到余數1010,即校驗字段為1010,因此,形成的傳輸碼為:1011001
1010信息碼校驗碼單片機原理與應用接收端在收到發(fā)送方發(fā)送過來的信息后,用同樣的生成碼進行校驗,即用接收到的信息碼除以生成碼,如果能夠除盡,則正確,否則出錯。這種校驗方法糾錯能力強,常用于對磁盤信息的傳輸,存儲區(qū)的完整性校驗,安全性要求較高的通信系統(tǒng)中等。單片機原理與應用單片機原理與應用4.3MCS-51串行口及串行通信技術
串行通信基本知識單片機串行口的結構及其工作原理單片機串行口的四種工作方式多機通訊串行口的編程實例單片機原理與應用串行口的結構單片機原理與應用從圖中可看出,接收器是雙緩沖結構,在前一個字節(jié)被從接收緩沖器SBUF讀出之前,第二個字節(jié)即開始被接收(串行輸入至移位寄存器),但是,在第二個字節(jié)接收完畢而前一個字節(jié)CPU未讀取時,會丟失前一個字節(jié)。串行口的發(fā)送和接收都是以特殊功能寄存器SBUF的名義進行讀或寫的。當向SBUF發(fā)“寫”命令時(執(zhí)行“MOVSBUF,A”指令),即是向發(fā)送緩沖器SBUF裝載并開始由TXD引腳向外發(fā)送一幀數據,發(fā)送完便使發(fā)送中斷標志位TI=1。單片機原理與應用
在滿足串行口接收中斷標志位RI(SCON.0)=0的條件下,置允許接收位REN(SCON.4)=1就會接收一幀數據進入移位寄存器,并裝載到接收SBUF中,同時使RI=1。當發(fā)讀SBUF命令時(執(zhí)行“MOVA,SBUF”命令),便由接收緩沖器(SBUF)取出信息通過89C51內部總線送CPU。對于發(fā)送緩沖器,因為發(fā)送時CPU是主動的,不會產生重疊錯誤,一般不需要用雙緩沖器結構來保持最大傳送速率。單片機原理與應用串行口控制寄存器(1)串行口狀態(tài)控制寄存器SCON
用來控制串行通信的方式選擇、接收,指示串行口的中斷狀態(tài)。寄存器SCON既可字節(jié)尋址也可位尋址,字節(jié)地址為98H,位地址為98H~9FH。其格式如下:單片機原理與應用①SM0和SM1(SCON.7,SCON.6)——串行口工作方式選擇位。兩個選擇位對應4種通信方式,如表7-1所示。其中,fosc是振蕩頻率。單片機原理與應用⑵SM2(SCON.5)—允許方式2、3中的多處理機通信位。方式0時,SM2=0。方式1時,若SM2=l,只有接收到有效的停止位,接收中斷RI才置1。方式2和方式3時,若SM2=1,則只有當接收到的第9位數據(RB8)為1時,才將接收到的前8位數據送入緩沖器SBUF中,并把RI置1、同時向CPU申請中斷;如果接收到的第9位數據(RB8)為0,RI置0,將接收到的前8位數據丟棄。而當SM2=0時,則不論接收到的笫九位數據是0或1,都將前8位數據裝入SBUF中,并申請中斷。
單片機原理與應用⑶REN(SCON.4)——允許串行接收位。
REN=1時,允許串行接收;REN=0時,禁止串行接收。用軟件置位/清除。⑷TB8(SCON.3)——方式2和方式3中要發(fā)送的第9位數據。 在通信協(xié)議中,常規(guī)定TB8作為奇偶校驗位。在80C51多機通信中,TB8=0用來表示數據幀;TB8=1表示是地址幀。 用軟件置位/清除。⑸RB8(SCON.2)——方式2和方式3中接收到的第9位數據。方式1中接收到的是停止位。方式0中不使用這一位。
單片機原理與應用⑹TI——發(fā)送中斷標志位。 方式0中,在發(fā)送第8位末尾置位;在其它方式時,在發(fā)送停止位開始時設置。 由硬件置位,用軟件清除。⑺RI——接收中斷標志位。 方式0中,在接收第8位末尾置位;在其它方式時,在接收停止位中間設置。 由硬件置位,用軟件清除。 系統(tǒng)復位后,SCON中所有位都被清除。單片機原理與應用(2)PCON(87H)電源控制寄存器PCON中只有SMOD位與串行口工作有關,其它位與掉電方式有關。其格式如下:
在串行口方式1、方式2和方式3時,波特率和SMOD成正比,亦即當SMOD=1時,波特率提高一倍。復位時,SMOD=0。
D7
D6
D5
D4
D3
D2
D1
D0SMOD———
GF1
GF0
PD
IDL單片機原理與應用⒊串行數據寄存器SBUF
包含在物理上是隔離的兩個8位寄存器:發(fā)送數據寄存器和接收數據寄存器,它們共用一個地址——99H。其格式如下:讀SBUF(MOV A,SBUF),訪問接收數據寄存器;寫SBUF(MOVSBUF,A),訪問發(fā)送數據寄存器。
D7
D6
D5
D4
D3
D2
D1
D0
SD7
SD6
SD5
SD4
SD3
SD2
SD1
SD0單片機原理與應用4.3MCS-51串行口及串行通信技術
串行通信基本知識
單片機串行口的結構及其工作原理
單片機串行口的四種工作方式多機通訊串行口的編程實例單片機原理與應用串行口的四種工作方式在串行口控制寄存器SCON中,SM0和SM1位決定串行口的工作方式。80C51串行口共有四種工作方式。可有8位、10位或11位幀格式。方式0以8位數據為一幀,不設起始位和停止位,先發(fā)送或接收最低位。其幀格式如下:單片機原理與應用方式1以10位為一幀傳輸,設有1個起始位(0),8個數據位和1個停止位(1)。其幀格式為:單片機原理與應用方式2和方式3以11位為1幀傳輸,設有1個起始位(0),8個數據位,1個附加第9位和1個停止位(1)。其幀格式為:附加第9位(D8)由軟件置1或清0。發(fā)送時在TB8中,接收時送RB8中。單片機原理與應用1)
串行口方式0—同步移位寄存器方式當SM0=0、SM1=0時,串行口選擇方式0。這種工作方式實質上是一種同步移位寄存器方式。數據傳輸波特率固定為(1/12)fosc由RXD(P3.0)引腳輸入或輸出數據由TXD(P3.1)引腳輸出同步移位時鐘接收/發(fā)送的是8位數據,傳輸時低位在前a、輸出用串行口工作方式0擴展的并行輸出電路如下圖所示:單片機原理與應用
當一個數據寫入SBUF后,串行數據將由RxD逐位移出;TxD輸出移位時鐘,頻率=fosc1/12;時序如下圖所示:
注意:每送出8位數據TI就自動置1,再次發(fā)送前需要用軟件清零TI。單片機原理與應用b、輸入
用串行口工作方式0擴展的并行輸入電路如下圖所示:單片機原理與應用
串行數據由RxD逐位移入SBUF中,串行數據將由RxD逐位移入;TxD輸出移位時鐘,頻率=fosc1/12;時序如下圖所示:單片機原理與應用單片機原理與應用2)串行口方式1----8位UART當SM0=0、SM1=l時,串行口選擇方式1。數據傳輸波特率由T1的溢出決定,可用程序設定。由TXD(P3.1)引腳發(fā)送數據。由RXD(P3.0)引腳接收數據。發(fā)送或接收一幀信息為10位:1位起始位(0)、8位數據位(低位在前)和l位停止位(1)。在接收時,停止位進入SCON的RB8串行口方式1的發(fā)送和接收時序如下圖所示a、輸出串行口以方式1發(fā)送數據時,數據位由TXD端輸出,發(fā)送一幀信息為10位,其中1位起始位,8位數據位(先低位后高位),1位停止位。CPU執(zhí)行1條寫入發(fā)送緩沖器的指令后,就會啟動發(fā)送器發(fā)送,發(fā)送完數據后,置中斷標志TI為1。時序如下圖所示:單片機原理與應用b、輸入用軟件置REN為1時,接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測到RXD引腳輸入電平發(fā)生負跳變時,則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數據從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時,控制電路進行最后一次移位。當RI=0,且SM2=0(或接收到的停止位為1)時,將接收到的9位數據的前8位數據裝入接收SBUF,第9位(停止位)進入RB8,并置RI=1,向CPU請求中斷。時序如下圖所示:單片機原理與應用單片機原理與應用3)串行口方式2和3—9位UART當SM0=1、SM1=0時,串行口選擇方式2;當SM1=1、SM0=1時,串行口選擇方式3。由TXD(P3.l)引腳發(fā)送數據。由RXD(P3.0)引腳接收數據。發(fā)送或接收一幀信息為11位:1位起始位(0)、8位數據位(低位在前)、1位可編程位和1位停止位(l)發(fā)送時可編程位TB8可設置為1或0,接收時可編程位進入SCON寄存器的RB8位。方式2的波特率是固定的,為振蕩器頻率的1/32或1/64。方式3的波特率則由T1的溢出決定,可用程序設定。
a、輸出發(fā)送開始時,先把起始位0輸出到TXD引腳,然后發(fā)送移位寄存器的輸出位(D0)到TXD引腳。每一個移位脈沖都使輸出移位寄存器的各位右移一位,并由TXD引腳輸出。當發(fā)送完1幀數據時置TI=1,向CPU請求中斷。在發(fā)送下1幀數據之前,必須將TI清0。時序如下圖所示:單片機原理與應用b、輸入接收時,數據從右邊移入輸入移位寄存器,在起始位0移到最左邊時,控制電路進行最后一次移位。當RI=0,且SM2=0(或接收到的第9位數據為1)時,接收到的數據裝入接收緩沖器SBUF和RB8(接收數據的第9位),置RI=1,向CPU請求中斷。如果條件不滿足,則數據丟失,且不置位RI,繼續(xù)搜索RXD引腳的負跳變。時序如下圖所示:單片機原理與應用4)四種工作方式下的波特率發(fā)生器1、方式0
波特率由振蕩器的頻率(fosc)確定:波特率為fosc/12。2、方式2
波特率由振蕩器的頻率(fosc)和SMOD位所確定:3、方式1和3
方式1和3時的波特率由定時器T1和T2的溢出率和SMOD(PCON.7)所確定。單片機原理與應用單片機原理與應用定時器T1模式2的初始值X:單片機原理與應用例7-1:89C51單片機時鐘振蕩頻率為11.0592MHz,選用定時器T1工作模式2作為波特率發(fā)生器,波特率為2400b/s,求初值。解:設置波特率控制為(SMOD)=0所以,(TH1)=(TL1)=F4H。單片機原理與應用系統(tǒng)晶體振蕩頻率選為11.0592MHz就是為了使初值為整數,從而產生精確的波特率。如果串行通信選用很低的波特率,可將定時器T1置于模式0或模式1,即13位或16位定時方式;但在這種情況下,T1溢出時,需要中斷服務程序重裝初值。中斷響應時間和執(zhí)行指令時間會使波特率產生一定的誤差,可用改變初值的辦法加以調整。單片機原理與應用4.3MCS-51串行口及串行通信技術
串行通信基本知識
單片機串行口的結構及其工作原理單片機串行口的四種工作方式
多機通訊串行口的編程實例單片機原理與應用4)多處理機通信方式某些應用系統(tǒng)中,往往需要對多個對象進行控制,采用一個單片微機來控制系統(tǒng)中一個對象,然后采用多處理機通信方式實現應用系統(tǒng)的整個功能。在串行口控制寄存器SCON中,設有多處理機通信位SM2(SCON.5)。當串行口以方式2或方式3接收時,若SM2=1,只有當接收到的第9位數據(RB8)為1時,才將數據送入接收緩沖器SBUF,并使RI置1,申請中斷,否則數據將丟失;若SM2=0,則無論第9位數據(RB8)是1還是0,都能將數據裝入SBUF,并且發(fā)中斷。利用這一特性,便可實現主機與多個從機之間的串行通信。下圖為多機通信連線示意圖,系統(tǒng)中左邊的80C51為主機,其余的為1~n號從機,并保證每臺從機在系統(tǒng)中的編號是惟一的。單片機原理與應用單片機原理與應用系統(tǒng)初始化時,將所有從機中的SM2位均設置為1,并處于允許串行口中斷接收狀態(tài)。 主機欲與某從機通信,先向所有從機發(fā)出所選從機的地址,從機地址符合后,接著才發(fā)送命令或數據。
·在主機發(fā)地址時,置第9位數據(RB8)為1,表示主機發(fā)送的是地址幀; ·當主機呼叫某從機聯絡正確后,主機發(fā)送命令或數據幀時,將第9位數據(RB8)清0。單片機原理與應用各從機由于SM2置1,將響應主機發(fā)來的第9位數據(RB8)為1的地址信息。從機響應中斷后,有兩種不同的操作: ·若從機的地址與主機點名的地址不相同,則該從機將繼續(xù)維持SM2為l,從而拒絕接收主機后面發(fā)來的命令或數據信息,等待主機的下一次點名。
·若從機的地址與主機點名的地址相同,該從機將本機的SM2清0,繼續(xù)接收主機發(fā)來的命令或數據,響應中斷。
單片機原理與應用4.3MCS-51串行口及串行通信技術
串行通信基本知識
單片機串行口的結構及其工作原理單片機串行口的四種工作方式多機通訊
串行口的編程實例【例】用8031串行口外接74LS165移位寄存器擴展8位輸入口,輸入數據由8個開關提供,另有一個開關K提供聯絡信號。電路示意如圖
所示。當開關K合上時,表示要求輸入數據。根據輸入的8位開關量,處理不同的程序。單片機原理與應用根據題意編寫的程序如下:START:JBP1.0,$ ;開關K未合上,等待SETBP1.1 ;165并行輸入數據CLRP1.1 ;開始串行移位MOVSCON,#10H;串行口模式0并啟動接收JNBRI,$ ;查詢RICLRRI ;查詢結束,清RIMOVA,SBUF ;輸入數據……
;根據處理不同任務SJMPSTART ;準備下一次接收。單片機原理與應用【例】
利用串行口進行雙機通信。設1號機是發(fā)送方,2號機是接收方,如下圖所示:單片機原理與應用二者之間的通信約定(協(xié)議)如下所述:(1)當1號機發(fā)送時,先發(fā)送一個“E1”聯絡信號,2號機收到后回答一個“E2”應答信號,表示同意接收。(2)當1號機收到應答信號“E2”后,開始發(fā)送數據,每發(fā)送一個數據字節(jié)都要計算“校驗和”,假定數據塊長度為16個字節(jié),起始地址為40H,一個數據塊發(fā)送完畢后立即發(fā)送“校驗和”。(3)2號機接收數據并轉存到數據緩沖區(qū),起始地址也為40H,每接收到一個數據字節(jié)便計算一次“校驗和”,當收到一個數據塊后,再接收1號機發(fā)來的“校驗和”,并將它與2號機求出的校驗和進行比較。若兩者相等,說明接收正確,2號機回答00H;若兩者不相等,說明接收不正確,2號機回答0FFH,請求重發(fā)。(4)1號機接到00H后結束發(fā)送。若收到的答復非零,則重新發(fā)送數據一次。(5)雙方約定采用串行口方式1進行通信,一幀信息為10位,其中有1個起始位、8個數據位和一個停止位;波特率為2400波特,T1工作在定時器方式2,振蕩頻率選用11.0592MHZ。單片機原理與應用解:根據題意計算可得TH1=TL1=0F4H,PCON寄存器的SMOD位為0。1號機處理流程如下圖所示:單片機原理與應用2號機處理流程如下圖所示:單片機原理與應用發(fā)送程序清單如下:ASTART:CLREAMOVTMOD,#20H ;定時器1置為方式2
MOVTH1,#0F4H ;裝載定時器初值,波特率2400
MOVTL1,#0F4HMOVPCON,#00HSETBTR1 ;啟動定時器
MOVSCON,#50H ;設定串口方式1,且準備接收應答信號ALOOP1:MOVSBUF,#0E1H ;發(fā)聯絡信號
JNBTI,$ ;等待一幀發(fā)送完畢
CLRTI ;允許再發(fā)送
JNBRI,$ ;等待2號機的應答信號
CLRRI ;允許再接收
MOVA,SBUF ;2號機應答后,讀至AXRLA,#0E2H ;判斷2號機是否準備完畢
JNZALOOP1 ;2號機未準備好,繼續(xù)聯絡ALOOP2:MOVR0,#40H ;2號機準備好,設定數據塊地址指針初值單片機原理與應用
MOVR7,#10H ;設定數據塊長度初值
MOVR6,#00H ;清校驗和單元ALOOP3:MOVSBUF,@R0 ;發(fā)送一個數據字節(jié)
MOVA,R6ADDA,@R0 ;求校驗和
MOVR6,A ;保存校驗和
INCR0JNBTI,$CLRTIDJNZR7,ALOOP3 ;整個數據塊是否發(fā)送完畢
MOVSBUF,R6 ;發(fā)送校驗和
JNBTI,$CLRTIJNBRI,$ ;等待2號機的應答信號
CLRRIMOVA,SBUF ;2號機應答,讀至AJNZALOOP2 ;2號機應答“錯誤”,轉重新發(fā)送
RET ;2號機應答“正確”,返回單片機原理與應用接收程序清單如下:BSTART:CLREAMOVTMOD,#20HMOVTH1,#0F4HMOVTL1,#0F4HMOVPCON,#00HSETBTR1MOVSCON,#50H ;設定串口方式1,且準備接收BLOOP1:JNBRI,$ ;等待1號機的聯絡信號
CLRRIMOVA,SBUF ;收到1號機信號
XRLA,#0E1H ;判是否為1號機聯絡信號
JNZBLOOP1 ;不是1號機聯絡信號,再等待
MOVSBUF,#0E2H;是1號機聯絡信號,發(fā)應答信號
JNBTI,$CLRTIMOVR0,#40H ;設定數據塊地址指針初值單片機原理與應用
MOVR7,#10H ;設定數據塊長度初值
MOVR6,#00H ;清校驗和單元BLOOP2:JNBRI,$CLRRIMOVA,SBUFMOV@R0,A ;接收數據轉儲
INCR0ADDA,R6 ;求校驗和
MOVR6,ADJNZR7,BLOOP2 ;判數據塊是否接收完畢
JNBRI,$ ;完畢,接收1號機發(fā)來的校驗和
CLRRIMOVA,SBUFXRLA,R6 ;比較校驗和
JZEND1 ;校驗和相等,跳至發(fā)正確標志
MOVSBUF,#0FFH ;校驗和不相等,發(fā)錯誤標志
JNBTI,$ ;轉重新接收
CLRTIEND1:MOVSBUF,#00HRET單片機原理與應用【例】如圖所示的多機通信系統(tǒng)中有如下約定:(1)系統(tǒng)中最多允許接有255臺從機,它們的地址分別為00H—FEH。(2)地址FFH是對所有從機都起作用的一條控制命令:命令各從機恢復SM2=1的狀態(tài)。(3)主機發(fā)送的控制命令代碼為:
00H–要求從機接收數據塊01H–要求從機發(fā)送數據塊 其它–非法命令(4)數據塊長度、16個字節(jié)單片機原理與應用(5)從機狀態(tài)字格式為:其中:若ERR=1,從機接收到非法命令若TRDY=1,從機發(fā)送準備就緒若RRDY=1,從機接收準備就緒單片機原理與應用主機在接收或發(fā)送完一個數據塊后可返回主程序,完成其它任務。從機部分以串行口中斷服務程序的方式給出。若從機未作好接收或發(fā)送數據的準備,就從中斷程序中返回,在主程序中作好準備。系統(tǒng)采用T1作為波特率發(fā)生器,主機和從機中對定時器初始化的程序從略。主機和從機的程序流程見后。單片機原理與應用主機的程序流程單片機原理與應用從機的程序流程單片機原理與應用⑴主機串行通信子程序入口參數: (R0)——主機發(fā)送的數據塊首址 (R1)——主機接收的數據塊首址 (R2)——被尋址從機地址 (R3)——主機命令 (R4)——數據塊長度程序代碼為:MSIO:MOVSCON,#0D8H ;設串行口模式3,允許接收,TB8置1MSIO1:MOVA,R2 ;發(fā)送地址幀
MOV SBUF,AJNB RI,$ ;等待從機應答
CLRRIMOVA,SBUFXRL A,R2 ;判應答地址是否相符
JZMSIO3MSIO2:MOVSBUF,#0FFH ;重新聯絡
SETBTB8單片機原理與應用
SJMP MSIO1MSIO3:CLRTB8 ;地址符合,準備送命令
MOVSBUF,R3 ;送命令
JNBRI,$ ;等待從機應答
CLRRIMOVA,SBUFJNBACC.7,MSI04 ;判命令是否出錯
SJMPMSIO2 ;若從機接收命令出錯,重新聯絡MSIO4:CJNER3,#00,MSIO5;不是要求從機接收數據,則跳轉
JNBACC.0,MSIO2;從機接收數據準備就緒否?LP–TX:MOVSBUF,@R0 ;主機發(fā)送數據塊
JNB TI,$ ;等待發(fā)送完一幀
CLRTIINCR0DJNZR4,LP–TXRETMSIO5:JNBACC.1,MSIO2 ;從機發(fā)送數據準備就緒否?單片機原理與應用LP–RX:JNBRI,$;主機接收數據塊
CLRRIMOVA,SBUFMOV@R1,AINCR1DJNZR4,LP–RXRET單片機原理與應用若主機向10號從機發(fā)送數據塊,數據塊放置在內部RAM區(qū)的40H~4FH單元中,則調用上述子程序MSIO的方法是:MOVR2,#0AHMOVR3,#0MOVR4,#10HMOVR0,#40HLCALLMSIO單片機原理與應用⑵從機串行通信子程序從機的串行通信采用中斷控制起動方式。在串行通信起動后,仍采用查詢方式來接收或發(fā)送數據塊。從機的程序中還包括定時器1和串行口的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 甲亢的飲食治療方法
- 2025年非金屬相關成型、加工機械項目合作計劃書
- 手外傷患者的營養(yǎng)支持
- 外科管道護理質量控制與持續(xù)改進
- 個案護理經驗分享
- 休克早期識別與干預
- 環(huán)境安全:醫(yī)院感染控制基礎
- 吸痰機使用課件
- 消防安全知識二十條
- 大腦中動脈閉塞的護理
- 安裝預制檢查井施工方案
- DB11T 2491-2025 文物保護工程勘察規(guī)范 長城
- 急性心肌梗死治療課件
- 樹木砍伐安全培訓課件
- 風電場冬季防火知識培訓課件
- 中國郵政2025南通市秋招綜合管理職能類崗位面試模擬題及答案
- 源網荷儲一體化項目并網調試實施方案
- 《〈京津冀建設工程計價依據-預算消耗量定額〉城市地下綜合管廊工程》第一冊土建工程
- 兒科護理課件模板
- UPS不間斷電源課件教學
- 2024年江蘇省鹽城市護理三基業(yè)務知識考試復習試卷及答案
評論
0/150
提交評論