




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、學(xué)習(xí)情景五 AT89S52串行通信 學(xué)習(xí)情景五 學(xué)習(xí)目標(biāo):了解串行通信的基本知識(shí)掌握串行口的工作方式掌握波特率的設(shè)計(jì)掌握串行口工作方式的應(yīng)用掌握程序調(diào)試的基本方法和技巧。技能目標(biāo):會(huì)對(duì)串行口進(jìn)行初始化。會(huì)計(jì)算串行口通信波特率。能夠?qū)崿F(xiàn)單片機(jī)與單片機(jī)之間、單片機(jī)和PC機(jī)之間的通信。學(xué)習(xí)目標(biāo):項(xiàng)目一 單片機(jī)點(diǎn)對(duì)點(diǎn)通信第一部分 項(xiàng)目要求 利用AT89S52實(shí)現(xiàn)單片機(jī)點(diǎn)對(duì)點(diǎn)通信。要求將存放在甲機(jī)的數(shù)據(jù)存儲(chǔ)器20H27H單元中數(shù)據(jù),首先在甲機(jī)上顯示,然后發(fā)送到PC機(jī),進(jìn)而再發(fā)送到乙機(jī),以實(shí)現(xiàn)單片機(jī)與PC機(jī)和單片機(jī)與單片機(jī)之間的通信。 項(xiàng)目一 單片機(jī)點(diǎn)對(duì)點(diǎn)通信 第二部分 相關(guān)知識(shí)一、串行通信基本知識(shí)(一)
2、串行通信的基本概念單工形式:數(shù)據(jù)只能單方向從一端向另一端傳送;如:有線電視節(jié)目。發(fā)送端接收端數(shù)據(jù)線地線半雙工形式:數(shù)據(jù)可以雙向傳送,但任一時(shí)刻只能向一個(gè)方向傳送。既可分時(shí)雙向傳送數(shù)據(jù) 。如:某些對(duì)講機(jī)單工發(fā)送端接收端接收端發(fā)送端數(shù)據(jù)線地線半雙工 第二部分 相關(guān)知識(shí)一、串全雙工形式:同時(shí)雙向傳送數(shù)據(jù),因此,全雙工配置是一對(duì)單向配置,它要求兩端的通信設(shè)備都具有完整和獨(dú)立的發(fā)送和接收能力。通信效率最高,適合于計(jì)算機(jī)之間的通信。 發(fā)送端接收端接收端發(fā)送端數(shù)據(jù)線地線全雙工數(shù)據(jù)線全雙工形式:同時(shí)雙向傳送數(shù)據(jù),因此,全雙工配置是一對(duì)單向配置(二)串行通信基本通信方式 通信雙方要正確的進(jìn)行數(shù)據(jù)傳輸,需要解決何
3、時(shí)開始傳輸、何時(shí)結(jié)束傳輸,以及數(shù)據(jù)傳輸速率等問題,這就是數(shù)據(jù)傳輸中的同步問題。 通常,實(shí)現(xiàn)數(shù)據(jù)同步有兩種方式:異步通信和同步通信。 1異步通信: 數(shù)據(jù)一幀一幀地傳送。發(fā)送端和接收端可以由各自的時(shí)鐘控制數(shù)據(jù)的發(fā)送和接收,兩個(gè)時(shí)鐘源彼此獨(dú)立,互不同步。 數(shù)據(jù)的一幀:由一個(gè)字符代碼組成。 (二)串行通信基本通信方式 通信雙方要正確的進(jìn)行數(shù)據(jù)學(xué)習(xí)情景五AT89S52串行通信-PowerPoint-演示文稿課件幀格式:一個(gè)字符由四部分組成:起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位。起始位(0):位于字符幀的開頭,占用一位,用來通知接收設(shè)備一個(gè)待接收的字符開始到達(dá)。數(shù)據(jù)位:緊跟起始位后, 58位數(shù)據(jù)(規(guī)定低位在
4、前,高位在后)奇偶校驗(yàn)位(可省略),占一位,用于對(duì)字符傳送作正確性檢查,因此奇偶校驗(yàn)位是可選擇的,共有三種可能,即奇偶校驗(yàn)、偶校驗(yàn)和無校驗(yàn),由用戶根據(jù)需要選定。 停止位(1)停止位用來表征字符的結(jié)束。停止位可以是1位、1.5位或2位。接收端收到停止位后,知道上一字符已傳送完畢 幀格式:一個(gè)字符由四部分組成:起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停2. 同步通信 在一個(gè)數(shù)據(jù)塊的開頭使用同步字符。數(shù)據(jù)傳送時(shí)使用同一頻率的脈沖來實(shí)現(xiàn)發(fā)送端與接收端的嚴(yán)格時(shí)間同步。 2. 同步通信 在一個(gè)數(shù)據(jù)塊的開頭使用同步字符二、串行通信總線標(biāo)準(zhǔn)及其接口傳輸距離不同,可以選擇不同的總線標(biāo)準(zhǔn)。 89S5289S5289S5289
5、S52如果是長距離傳送,可采用RS-485標(biāo)準(zhǔn)。 短距離傳送,只需要TX、RX和GND三根線。距離在15米左右,采用RS-232標(biāo)準(zhǔn)接口。 二、串行通信總線標(biāo)準(zhǔn)及其接口傳輸距離不同,可以選擇不同的總線(一)RS-232標(biāo)準(zhǔn) RS-232C標(biāo)準(zhǔn)是美國EIA(電子工業(yè)聯(lián)合會(huì))與BELL等公司一起開發(fā)的于1969年公布的通信協(xié)議。 1. RS-232C的電氣特性數(shù)據(jù)線上的信號(hào)電平 mark(邏輯1) = -3-15V space(邏輯0) = +3+15V(2) 控制和狀態(tài)線上的信號(hào)電平 ON(邏輯0)= +3+15V(接通) OFF(邏輯1)= -3-15V(斷開)(一)RS-232標(biāo)準(zhǔn) RS-2
6、32C標(biāo)準(zhǔn)是美電平轉(zhuǎn)換 RS-232C接口采用雙極性信號(hào)、公共地線和負(fù)邏輯;不能和TTL電平直接相連,使用時(shí)必須進(jìn)行電平轉(zhuǎn)換,否則將使TTL電路燒壞,實(shí)際應(yīng)用時(shí)必須注意!在實(shí)際應(yīng)用時(shí),必須通過專用電平轉(zhuǎn)換芯片進(jìn)行電平轉(zhuǎn)換。電平轉(zhuǎn)換芯片MC1488、MC1489、 MAX232MC1488可實(shí)現(xiàn)TTLRS-232的電平轉(zhuǎn)換;MC1489可實(shí)現(xiàn)RS-232TTL的電平轉(zhuǎn)換。 MAX232芯片可完成TTL到EIA雙向電平的轉(zhuǎn)換 電平轉(zhuǎn)換89S5289S52通過MAX232實(shí)現(xiàn)RS-232C電平轉(zhuǎn)換89S5289S52通過MAX232實(shí)現(xiàn)RS-232C電平轉(zhuǎn)TTL到EIA電平的轉(zhuǎn)換 TTL到EIA電平
7、的轉(zhuǎn)換 MAX232管腳說明如下:C1+、C1-、C2+、C2- 是外接電容端;R1IN、R2IN則是2路RS-232C電平信號(hào)接收輸入端;R1OUT、R2OUT是2路轉(zhuǎn)換后的TTL電平接收信號(hào)輸出端,送80S52的RxD接收端;T1IN、T2IN是2路TTL電平發(fā)送輸入端,接80S52的TxD發(fā)送端;T1OUT、T2OUT是2路轉(zhuǎn)換后的發(fā)送RS-232C電平信號(hào)輸出端,接傳輸線;V+經(jīng)電容接電源十5V;V-經(jīng)電容接地。MAX232管腳說明如下:PC機(jī)與AT89S52單片機(jī)串行通信電路 圖中外接電解電容C1、C2、C3、C4用于電源電壓變換,提高抗干擾能力,它們可以取相同數(shù)值電容1.0 F/1
8、6 V。電容C5用于對(duì)5 V電源的噪聲干擾進(jìn)行濾波,其值一般為0.1 FAT89S52TXDRXDGNDC1+C1-C2+C2-+C1C2T1inT1outR1inR1outVGNDVCCV+MAX232+C3C5C4+5 VGNDTXDRS232RXDIBM-PCPC機(jī)與AT89S52單片機(jī)串行通信電路AT89S52TXD2. 信號(hào)接口 引腳信號(hào)名功 能1DCD載波檢測2RXD接收數(shù)據(jù)3TXD發(fā)送數(shù)據(jù)4DTR數(shù)據(jù)終端準(zhǔn)備就緒5GND信號(hào)地線6DSR數(shù)據(jù)準(zhǔn)備完成7RTS發(fā)送請(qǐng)求8CTS發(fā)送清除9RI振鈴指示2. 信號(hào)接口 引腳信號(hào)名功 能1DCD載波檢測2RX(二)AT89S52串行口結(jié)構(gòu)與控
9、制1. 串行口的結(jié)構(gòu)(二)AT89S52串行口結(jié)構(gòu)與控制SM0、SM1:串行口工作方式控制位,兩位對(duì)應(yīng)四種工作方式,如下表所示(fosc是晶振頻率)。2. 串行口控制(1)串行口控制寄存器SCON(98H)SM0、SM1:串行口工作方式控制位,兩位對(duì)應(yīng)四種工作方式SM2:多機(jī)通信控制位,主要用于方式2和方式3 當(dāng)串行口以方式2或方式3接收時(shí),如SM2=1,則只有當(dāng)接收到的第9位數(shù)據(jù)(RB8)為1,才將接收到的前8位數(shù)據(jù)送入SBUF,并置位RI產(chǎn)生中斷請(qǐng)求,否則將接收到的前8位數(shù)據(jù)丟棄。 SM2=0,不論第9位數(shù)據(jù)為0還是為1,都將前8位數(shù)據(jù)裝入SBUF中,并產(chǎn)生中斷申請(qǐng)。 在方式0時(shí),SM2=
10、0。REN:允許接收控制位 REN=1,允許接收;REN=0,禁止接收。SM2:多機(jī)通信控制位,主要用于方式2和方式3TB8:發(fā)送數(shù)據(jù)第9位方式0,此位未使用方式1,此位未使用方式2和方式3:TB8=1,說明該發(fā)送幀為地址幀。 TB8=0,說明該發(fā)送幀為數(shù)據(jù)幀RB8:接收數(shù)據(jù)第9位 方式2和方式3:RB8存放接收到的第9位數(shù)據(jù),代表接收數(shù)據(jù)的某種特征。若SM2=1,RB8=1,說明收到幀為地址幀。TB8:發(fā)送數(shù)據(jù)第9位TI:發(fā)送中斷標(biāo)志 在一幀數(shù)據(jù)發(fā)送完時(shí)置位。TI=1,申請(qǐng)中斷,中斷被響應(yīng)后,TI不能自動(dòng)清零,必須由軟件清零。RI:接收中斷標(biāo)志 在接收到一幀有效數(shù)據(jù)后,由硬件置位。RI=1,
11、申請(qǐng)中斷。RI不能自動(dòng)清零,必須由軟件清零。TI:發(fā)送中斷標(biāo)志(2)電源控制寄存器PCONPCON不能位尋址。SMOD串行口波特率的倍增位當(dāng)SMOD=1時(shí),串行口波特率加倍。系統(tǒng)復(fù)位時(shí),SMOD0。 (2)電源控制寄存器PCONPCON不能位尋址。三、AT89S52串行口工作方式(一)串行口波特率設(shè)計(jì)1. 波特率波特率的定義是每秒鐘傳送二進(jìn)制數(shù)碼的位數(shù)(亦稱比特?cái)?shù)),單位是b/s。假設(shè)數(shù)據(jù)傳送速率是120字符/s,而每個(gè)字符格式包含10個(gè)代碼(1個(gè)起始位、1個(gè)終止位、8個(gè)數(shù)據(jù)位)。這時(shí),傳送的波特率為 (10b字符)120字符s = 1200 bs每一位代碼的傳送時(shí)間Td為波特率的倒數(shù)。三、A
12、T89S52串行口工作方式2. 波特率設(shè)計(jì)方式0波特率方式0波特率 = fosc 12方式2波特率方式2波特率 = (2SMOD/64) foscSMOD為0時(shí),波特率等于振蕩器頻率的1/64SMOD為1時(shí),波特率等于振蕩器頻率的1/32。方式1和方式3的波特率串行口方式1和方式3的波特率由定時(shí)器T1或T2的溢出率和SMOD所確定。波特率= 2smod32(定時(shí)器1溢出率) 2. 波特率設(shè)計(jì)例如振蕩頻率fosc=11.0596MHZ,若SMOD=0,通信波特率為9600波特,則X=25611.0596106(1+0)/ (9600384) =253=FDH初始化程序如下:MOV TMOD,#2
13、0H ;設(shè)T1為定時(shí)方式2MOV THl,#0FDH ;設(shè)定波特率為9600bitsMOV TLl, #0FDHSETB TRl ;啟動(dòng)定時(shí)器MOV PCON,#00H ;SMOD=0MOV SCON,#50H ;串行口工作在方式1例如振蕩頻率fosc=11.0596MHZ,若SMOD=0,(二)串行口工作方式1. 工作方式0當(dāng)SM0 SMl=00時(shí),串行接口選擇工作方式0,為同步移位寄存器輸入/輸出方式,常用于擴(kuò)展I/O口。串行數(shù)據(jù)從RXD(P3.0)端輸入或輸出,同步移位脈沖由TXD(P3.1)送出,作為外接部件的同步信號(hào)。發(fā)送或接收的是8位數(shù)據(jù)(低位在前,高位在后)。其波特率固定為fos
14、c/12。 發(fā)送完置中斷標(biāo)志TI為1,請(qǐng)求中斷。在再次發(fā)送數(shù)據(jù)之前,必須由軟件清TI為0。 (二)串行口工作方式接收前置REN=1和RI=0,當(dāng)8位數(shù)據(jù)接收結(jié)束,RI被置“1”,可通過指令MOV A,SBUF將數(shù)據(jù)讀入。 下圖采用一個(gè)串入并出移位寄存器,TXD連接串行口輸出移位寄存器164的時(shí)鐘端,RXD連接164的輸入端,P1.0連接164的CLR選通端。89S5274LS164接收前置REN=1和RI=0,當(dāng)8位數(shù)據(jù)接收結(jié)束,RI被置“根據(jù)硬件連接,方式0發(fā)送數(shù)據(jù)程序如下:SETB P1.0 ;選通74LS164MOV SCON,#00H ;串口工作在方式0MOV A,#DATA MOV
15、SBUF,A ;發(fā)送數(shù)據(jù)JNB TI,$ ;等待發(fā)送完?CLR TI ;清除TI中斷標(biāo)志CLR P1.0 ;關(guān)閉74LS164根據(jù)硬件連接,方式0發(fā)送數(shù)據(jù)程序如下:2. 工作方式1工作方式1,SM0 SMl= 01,為可變波特率的8位異步通信方式。 發(fā)送數(shù)據(jù)由TXD端輸出,接收數(shù)據(jù)由RXD端輸入。 方式1以10位為一幀傳輸,設(shè)有1個(gè)起始位(0),8個(gè)數(shù)據(jù)位和1個(gè)停止位(1)。其幀格式起始位(0),8個(gè)數(shù)據(jù)位和1個(gè)停止位(1)。2. 工作方式1 發(fā)送時(shí),數(shù)據(jù)從TXD端輸出,當(dāng)數(shù)據(jù)寫入發(fā)送緩沖器SBUF后,啟動(dòng)發(fā)送器發(fā)送。當(dāng)發(fā)送完一幀數(shù)據(jù)后,置中斷標(biāo)志TI為1。方式1所傳送的波特率取決于定時(shí)器1的
16、溢出率和PCON中的SMOD位。 接收時(shí),由REN置1,允許接收,串行口采樣RXD,當(dāng)采樣由1到0跳變時(shí),確認(rèn)是起始位“0”,開始接收一幀數(shù)據(jù)。當(dāng)RI=0,且停止位為1或SM2=0時(shí),停止位進(jìn)入RB8位,同時(shí)置中斷標(biāo)志RI;否則信息將丟失。所以,方式1接收時(shí),應(yīng)先用軟件清除RI或SM2標(biāo)志。 發(fā)送時(shí),數(shù)據(jù)從TXD端輸出,當(dāng)數(shù)據(jù)寫入發(fā)送緩沖器SB【例5.1】89S52串行口按雙工方式收發(fā)ASCII字符,甲機(jī)發(fā)送的字符從外部RAM的1000H開始,檢測到結(jié)束字符0AH就結(jié)束發(fā)送,乙機(jī)將接收的字符放在內(nèi)部RAM的30H開始的空間。要求通信的波特率為9600波特,用中斷方式編寫通信程序。主程序:MOV
17、 TMOD,#20H ;定時(shí)器1設(shè)為工作方式2 MOV TLl,#0FDH ;定時(shí)器初值 MOV THl,#0FDH ;8位重裝值【例5.1】89S52串行口按雙工方式收發(fā)ASCII字符,甲SETB TRl ;啟動(dòng)定時(shí)器1 MOV SCON,#50H ;將串行口設(shè)置為方式1, REN=l MOV DPTR,#1000H ;發(fā)送數(shù)據(jù)區(qū)首址送 DPTR MOV R0, #30H ;接收數(shù)據(jù)區(qū)首址送R0SETB ES SETB EA ;開中斷ACALL SEND ;先發(fā)送一個(gè)字符 L00P: SJMP $ ;等待中斷SETB TRl ;啟動(dòng)定發(fā)送子程序SEND:CLR TI MOVA,DPTR ;取
18、發(fā)送數(shù)據(jù)到A INC DPTR ;修改發(fā)送數(shù)據(jù)指針 MOV SBUF,A ;發(fā)送ASCII碼 CJNE A,#0AH,SEN1 ;是否是結(jié)束字符 CLR ES ;關(guān)閉串口中斷SEN1:RET ;返回發(fā)送子程序中斷服務(wù)程序 ORG 0023H ;串行口中斷入口 AJMP RSI ;轉(zhuǎn)至中斷服務(wù)程序 ORG 0100HRSI:JNB RI, SEN ;TI=1,為發(fā)送中斷 ACALL REV ;RI=1,為接收中斷 SJMP NEXT ;轉(zhuǎn)至統(tǒng)一的出口SEN:ACALL SEND ;調(diào)用發(fā)送子程序NEXT: RETI ;中斷返回中斷服務(wù)程序接收子程序REV: CLR RI MOV A, SBUF
19、;讀出接收緩沖區(qū)內(nèi)容 MOV R0, A ;讀入接收緩沖區(qū) INC R0 ;修改接收數(shù)據(jù)指針 CJNE A,#0AH,RES ;是否是結(jié)束字符 CLR ES ;關(guān)閉串口中斷RES: RET ;返回接收子程序3. 工作方式2SM1 SM0= 10,串行接口選擇工作方式2。 方式2是11位異步通信方式,每幀數(shù)據(jù)由1個(gè)起始位“0”、9個(gè)數(shù)據(jù)位和1個(gè)停止位“1”共11構(gòu)成。其中發(fā)送的第9位由SCON的TB8提供,接收的第9位存在SCON的RB8位。其波特率是固定的為fosc/32或fosc/64。方式2發(fā)送:CPU執(zhí)行一條寫入SBUF的指令就啟動(dòng)串行口的發(fā)送,并把TB8的內(nèi)容裝入發(fā)送寄存器的第9位。首
20、先發(fā)送起始位0,此后每經(jīng)過一個(gè)時(shí)鐘周期產(chǎn)生一個(gè)移位脈沖,并且由TXD輸出一個(gè)數(shù)據(jù)位,當(dāng)11位數(shù)據(jù)全部發(fā)送后,使TI置1。3. 工作方式2方式2接收:接收過程和方式1類似,當(dāng)REN=1時(shí),允許串行口接收數(shù)據(jù)。數(shù)據(jù)由RXD端輸入,接收11位數(shù)據(jù)。在方式2的接收中,若RI=0, SM2=0或接收到的第9位數(shù)據(jù)為1,成立則RI=1,8位數(shù)據(jù)進(jìn)入SBUF,第九位進(jìn)入RB8。 若不滿足上述兩個(gè)條件則接收到的信息將丟失,不再恢復(fù),也不置位RI?!纠?.2】設(shè)計(jì)一個(gè)發(fā)送程序,將片內(nèi)RAM30H3FH中的數(shù)據(jù)串行發(fā)送,串行口設(shè)定為方式2狀態(tài),TB8作奇偶校驗(yàn)位。在數(shù)據(jù)寫入發(fā)送緩沖器之前,先將數(shù)據(jù)的奇偶位P寫入T
21、B8,這時(shí)第9位數(shù)據(jù)作奇偶校驗(yàn)用。方式2接收:接收過程和方式1類似,當(dāng)REN=1時(shí),允許串行口程序清單如下:TRT: MOV SCON,80H ;方式2設(shè)定 MOV PCON,80H ;取波特率為fosc/32 MOV R0,30H MOV R7,10H ;數(shù)據(jù)長度10HLOOP:MOV A,R0 ;取數(shù)據(jù)送A MOV C,PSW.0; MOV TB8,C MOV SBUF,A ;數(shù)據(jù)送SBUF,啟動(dòng)發(fā)送WAIT:JBC TI,CONT ;判斷發(fā)送結(jié)束否 SJMP WAITCONT:INC R0 DJNZ R7,LOOP RET程序清單如下:四、串行口通信應(yīng)用舉例 (一)雙機(jī)通信應(yīng)用舉例1.
22、通信雙方的協(xié)議(1)通信雙方的波特率均為9600波特,均工作在串口方式1。甲機(jī)發(fā)送,乙機(jī)接收。 (2)甲機(jī)開始發(fā)送時(shí),先發(fā)一個(gè)呼叫信號(hào)“0FH”,乙機(jī)接收后,若同意接收數(shù)據(jù)就發(fā)一個(gè)應(yīng)答信號(hào)“01H”。(3)當(dāng)甲機(jī)接到“01H”后,開始發(fā)送數(shù)據(jù)。假設(shè)發(fā)送的數(shù)據(jù)塊首地址是片內(nèi)RAM 40H,數(shù)據(jù)塊長度64H。數(shù)據(jù)塊發(fā)送結(jié)束后,發(fā)送累加校驗(yàn)和。累加校驗(yàn)和是指數(shù)據(jù)塊中每個(gè)字節(jié)的算術(shù)累加和。四、串行口通信應(yīng)用舉例 (4)乙機(jī)接收數(shù)據(jù)并存在數(shù)據(jù)緩沖區(qū)。假設(shè)數(shù)據(jù)緩沖區(qū)的首地址是片內(nèi)RAM 40H。乙機(jī)在接收過程中對(duì)接收的數(shù)據(jù)塊也作算術(shù)累加和,并與甲機(jī)發(fā)送的累加和作比較,若相等則表示接收正確,給甲機(jī)發(fā)“00H
23、”;若不等則表示接收不正確,給甲機(jī)發(fā)“FFH”,請(qǐng)求重發(fā)。 (5)甲機(jī)收到“00H”后,結(jié)束發(fā)送,否則將數(shù)據(jù)重發(fā)一次。(4)乙機(jī)接收數(shù)據(jù)并存在數(shù)據(jù)緩沖區(qū)。假設(shè)數(shù)據(jù)緩沖區(qū)的首地址是2查詢方式下的通信程序甲機(jī)發(fā)送子程序:ATX: MOV TMOD,#20H ;設(shè)T1為定時(shí)方式2 MOV THl,#0FDH ;設(shè)定波特率為9600bits MOV TLl, #0FDH MOV PCON,#00H SETB TRl ;啟動(dòng)定時(shí)器T1 MOV SCON,#50H ;串行口初始化ATXl: MOV A,#0FH ;發(fā)送呼叫信號(hào) MOV SUBF,AATWl: JBC TI, ATRl SJMP ATWl
24、;等待發(fā)送出去ATR1:JBC RI,ATR2 ;等待乙機(jī)應(yīng)答 SJMP ATRl2查詢方式下的通信程序ATR2: MOV A, SBUF ;接收應(yīng)答信號(hào) XRL A, #01H JNZ ATX1;乙機(jī)未準(zhǔn)備好,繼續(xù)呼叫ATX2: MOV R0,#40H ;數(shù)據(jù)塊首地址送R0 MOV R2,#64H ;數(shù)據(jù)塊長度送R2 MOV R3 ,#00H ;清校驗(yàn)和寄存器ATX3: MOV A,R0 ;發(fā)送一個(gè)數(shù)據(jù)字節(jié) MOV SBUF, A MOV A,R3 ADD A,R0 ;求校驗(yàn)和 MOV R3,A INC R0 ;修改地址指針 ATR2: MOV A, SBUF ;接收應(yīng)答信號(hào)ATW2:JBC
25、 TI,ATX4 SJMP ATW2ATX4: DJNZ R2,ATX3;判數(shù)據(jù)塊發(fā)送完否 MOV A,R3 ;發(fā)送校驗(yàn)和 MOV SBUF,A ATW3:JBC TI, ATR3 SJMP ATW3ATR3: JBC RI,ATR4 ;等待乙機(jī)應(yīng)答 SJMP ATR3ATR4: MOV A, SBUF JNZ ATX2 ;若乙機(jī)回答出錯(cuò),則重發(fā) RET ATW2:JBC TI,ATX4接收子程序:BRXD:MOV TMOD,#20H ;設(shè)T1為定時(shí)方式2 MOV THl, #0FDH ;設(shè)定波特率為9600bits MOV TLl, #0FDH MOV PCON,#00H SETB TRl
26、;啟動(dòng)定時(shí)器T1 MOV SCON,#50H ;串行口設(shè)為方式1BRXl: JBC RI, BRX2 ;等待甲機(jī)呼叫信號(hào) SJMP BRXlBRX2: MOV A,SBUF XRL A,#0FH JNZ BRXl ;判呼叫信號(hào)是否正確BTXl: MOV A, #01 H ;發(fā)應(yīng)答信號(hào) MOV SBUF,A接收子程序:BWl: JBC TI, BRX3 SJMP BWlBRX3:MOV R0, #40H;R0指向接收數(shù)據(jù)緩沖區(qū)首址 MOV R2, #64H ;數(shù)據(jù)塊長度送R2 MOV R3, #00H ;校驗(yàn)和單元清零BRX4:JBC RI, BRX5 SJMP BRX4BRX5:MOV A, SBUF MOV R0, A ;接收的數(shù)據(jù)轉(zhuǎn)存 INC R0 ADD A, R3 ;求校驗(yàn)和 MOV R3, A DJNZ R2, BRX4 ;判數(shù)據(jù)塊接收完否BW
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 質(zhì)量工程師考試通關(guān)秘籍試題及答案
- 中級(jí)會(huì)計(jì)考試復(fù)習(xí)建議與試題答案
- 紡織機(jī)械實(shí)踐技能試題及答案
- 中國廚師聘用合同范例
- 鄉(xiāng)村小院售賣合同范例
- 二手車店合同范例
- 人事調(diào)動(dòng)合同范例
- 三人養(yǎng)殖合同范例
- 低溫牛奶供貨合同范例
- 質(zhì)量工程師考試的需求試題及答案
- 公務(wù)員考試-經(jīng)濟(jì)基礎(chǔ)知識(shí)模擬題-計(jì)量經(jīng)濟(jì)學(xué)-協(xié)整與誤差修正模型
- 五年級(jí)下冊(cè)數(shù)學(xué)教案 - 8.1《復(fù)式條形統(tǒng)計(jì)圖》 北師大版
- 2025年二建《建筑工程管理與實(shí)務(wù)》考前必刷必練題庫500題(含真題、重點(diǎn)題)
- 2025云南師范大學(xué)輔導(dǎo)員考試題庫
- 學(xué)生健康檔案管理制度
- 2024年-GIS考試復(fù)習(xí)題庫(含答案)
- 4.2《 依法履行義務(wù)》教學(xué)設(shè)計(jì) -2024-2025學(xué)年統(tǒng)編版道德與法治八年級(jí)下冊(cè)
- 教師語言與溝通藝術(shù)知到智慧樹章節(jié)測試課后答案2024年秋溫州大學(xué)
- 學(xué)生常見病預(yù)防
- 中國糖尿病防治指南(2024版)解讀
- 協(xié)力安全管理
評(píng)論
0/150
提交評(píng)論