版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章串行通訊接口一、串行通訊概述二、MCS51串行通訊接口三、與PC機(jī)串行接口電路四、其它通訊方式一、串行通訊概述計(jì)算機(jī)與外部(計(jì)算機(jī))交換信息稱為通訊。并行通訊——計(jì)算機(jī)數(shù)據(jù)各位同時(shí)傳送。串行通訊——數(shù)據(jù)逐位傳送。1.串行通訊的特點(diǎn)串行通訊只要一對(duì)數(shù)據(jù)線。傳輸速度慢。接口電路復(fù)雜。應(yīng)用1、長(zhǎng)距離傳送。
2、只能接收串行信號(hào)的設(shè)備或只能串行輸出設(shè)備。2.串行通訊類型串行通訊有同步和異步兩種通訊類型。3.異步串行通訊組成字符數(shù)據(jù)在傳輸時(shí),以楨為單位進(jìn)行傳輸,每一楨都包含同步信息(---指明字符的開始及結(jié)束)。
1楨數(shù)據(jù)包含有起始位(1位)、數(shù)據(jù)位(5,6,7,8位)、校驗(yàn)位(1位,可選)、結(jié)束位(1,1.5,2位)。D0D1Dn一個(gè)字符幀起始位數(shù)據(jù)位奇偶校驗(yàn)停止位1位5~8位1位1,1.5,2位異步串行通訊格式舉例起始位:1,數(shù)據(jù)位:8,停止位:1,帶奇偶校驗(yàn)無(wú)空閑位字符幀有空閑位字符幀異步通訊的特點(diǎn)(1)以字符為單位發(fā)送,字符之間的間隔不受限制;(2)由起始位和停止位使收發(fā)雙方同步;(3)通訊的精確格式(通訊協(xié)議)由收發(fā)雙方選擇。說(shuō)明:☆通訊協(xié)議
約定傳輸字符的格式。規(guī)定起始位、數(shù)據(jù)位、校驗(yàn)位、停止位的長(zhǎng)度;
約定通訊傳輸速率(波特率),收發(fā)雙方的波特率必須相等?!町惒酵ㄓ嵤?發(fā)器(UART)
實(shí)現(xiàn)并行數(shù)據(jù)
串行數(shù)據(jù)的轉(zhuǎn)換,形成楨??捎密浖?shí)現(xiàn),多用硬件實(shí)現(xiàn)。形成以楨為單位的基本傳輸結(jié)構(gòu)。
通訊波特率:取決于移位脈沖頻率。4.同步通訊
同步通訊是由一個(gè)起始同步符和若干個(gè)數(shù)據(jù)位以及一個(gè)CRC檢驗(yàn)字段組成,傳輸?shù)臄?shù)據(jù)可以以字符為單位,也可以以二進(jìn)制位為單位,因此同步傳輸也稱為數(shù)據(jù)流。(1)同步通訊以同步符作為一幀數(shù)據(jù)的起始標(biāo)志,因此在傳輸?shù)臄?shù)據(jù)中不能包含有同步符。(2)同步通訊中一般數(shù)據(jù)位可達(dá)上千位,因此傳輸效率較高,傳輸速度較快。(3)同步通訊中傳輸位數(shù)較多,要求收發(fā)時(shí)鐘嚴(yán)格同步。同步通訊的特點(diǎn)5.串行通訊的傳輸方式信號(hào)傳輸速率———波特率。指每秒傳輸?shù)亩M(jìn)制位數(shù)。常用的波特率有:110,300,600,900,1200,2400,
4800,9600,19200,38400,57600,115200,·····線路傳輸方式
1、單工方式:數(shù)據(jù)只能按一個(gè)固定方向傳輸。如:尋呼系統(tǒng)。
2、半雙工方式:可以2個(gè)方向傳送,但不能同時(shí)傳送。如:對(duì)講機(jī)。
3、全雙工方式:雙方可以同時(shí)傳送。如:電話。信號(hào)傳輸方式
1、基波傳輸方式—基波傳輸又稱基帶傳輸,按信號(hào)原樣進(jìn)行直流傳輸。這種方式適合于近距離慢速傳輸。
2、模擬載波傳輸方式—使用調(diào)制解調(diào)器將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)進(jìn)行傳輸。調(diào)制方式:
移幅鍵控(ASK)由兩種幅值正弦波表示“0”和“1”。
移頻鍵控(FSK)由兩種頻率正弦波表示“0”和“1”。
移相鍵控(PSK)由正弦波兩種相位表示“0”和“1”。6.串行通訊的校驗(yàn)方法循環(huán)冗余校驗(yàn)CRC(CyclicRedundancyCheck)CRC校驗(yàn)是用一個(gè)固定數(shù)去除信息碼得出余數(shù),將此余數(shù)附加在原信息之后,成為CRC字符。接收方用同樣的數(shù)去除含有CRC字符的信息,若接收無(wú)錯(cuò)誤,則結(jié)果為0。奇偶校驗(yàn)(ParityCheck)發(fā)送時(shí)每個(gè)字符的最高位之后附加一個(gè)奇偶校驗(yàn)位,以保證整個(gè)字符(包括奇偶校驗(yàn)位)為“1”的位數(shù)為奇數(shù)(奇校驗(yàn))或?yàn)榕紨?shù)(偶校驗(yàn))。接收時(shí)按照發(fā)送方所確定的同樣的奇偶性對(duì)收到的字符進(jìn)行校驗(yàn)。7.異步通訊收/發(fā)器(UART)的實(shí)現(xiàn)軟件實(shí)現(xiàn)書P333例9.120HRAM20H:數(shù)據(jù)起始單元LEN:數(shù)據(jù)長(zhǎng)度單元要求字符幀長(zhǎng)度11位,由P1.0送出。起始位:1數(shù)據(jù)位:7奇校驗(yàn):1停止位:2奇校驗(yàn)位:1數(shù)據(jù)位:7程序采用雙重循環(huán),外循環(huán)控制發(fā)送字符個(gè)數(shù),內(nèi)循環(huán)控制字符幀的位數(shù)。
ORG1000HSOUT: MOVR0,#20H ;取數(shù)首址NEXT: MOVR2,#0BH ;字符幀長(zhǎng)度
CLRC ;為形成起始位作準(zhǔn)備
MOVA,@R0 ;取數(shù)據(jù)
RLCA ;起始位送ACC.0 INCR0 ;下一個(gè)取數(shù)地址LOOP: MOVR1,A ;發(fā)送字符暫存R1 ANLA,#01H ;屏蔽A中高7位
ANLP1,#0FEH ;清除P1.0 ORLP1,A ;在P1.0上輸出串行數(shù)據(jù)
MOVA,R1 ;恢復(fù)A中的數(shù)
ACALLDELAY RRC ;準(zhǔn)備下一位
SETBC ;在C中形成停止位
DJNZR2,LOOP ;一幀未完,跳轉(zhuǎn)
DJNZLEN,NEXT ;一幀已完,下一幀
RETDELAY:···········硬件實(shí)現(xiàn)接收:串入并出發(fā)送:并入串出接收數(shù)據(jù)的采樣16TRxCT啟動(dòng)檢測(cè)確認(rèn)啟動(dòng)位采樣數(shù)據(jù)16T二、MCS51串行通訊接口在MCS-51芯片中,內(nèi)含一個(gè)以UART方式工作的全雙工串行通訊口,可同時(shí)收/發(fā)串行數(shù)據(jù)。芯片的P3.0=RXD為串行輸入線,P3.1=TXD為串行輸出線。內(nèi)部包含2個(gè)獨(dú)立的收/發(fā)BUF(名稱為RBUF/TBUF),統(tǒng)稱為SBUF。對(duì)TBUF是只可寫入,不可讀出,對(duì)于RBUF,只可讀出而不可寫入,故可共用一個(gè)地址99H。即SBUF地址為99H。MCS51串行通訊須解決的問題:1、如何確定串行通訊工作方式?2、如何確定串行通訊的波特率?指令:MOVA,SBUF,接收;MOVSBUF,A發(fā)送1.MCS-51中UART電路框圖波特率產(chǎn)生發(fā)送控制接收控制中斷產(chǎn)生數(shù)據(jù)采樣采樣脈沖是接收脈沖的16倍頻。16TRxCT確認(rèn)啟動(dòng)位在此3個(gè)脈沖上采樣數(shù)據(jù),3比2表決取值。采到低電平后,如連續(xù)8個(gè)都是低電平,確認(rèn)為起始位。2.串行通訊控制寄存器SCON寄存器(98H)SCON(98H)PCON(87H)SM0、SM1:通訊方式控制位。SM2:方式2/3下的主-從式多機(jī)通訊操作的控制位。REN:接收允許位,REN=0禁收,REN=1允許接收。TB8:在方式2/3下的第9位發(fā)送數(shù)據(jù),作校驗(yàn)位或在多機(jī)通訊中作地址/數(shù)據(jù)標(biāo)志位。RB8:在方式2/3下,是收到的第9位數(shù)據(jù)。TI、RI:發(fā)送/接收中斷。SM0SM1SM2RENTB8RB8TIRI9F9E9D9C9B9A9998位地址SCON通訊方式控制SM0SM1SM2RENTB8RB8TIRI9F9E9D9C9B9A9998SCONSM0SM1方式串口工作方式波特率000同步移位寄存器工作方式fosc/1201110位異步收發(fā)可變102fosc/64或fosc/32113可變11位異步收發(fā)11位異步收發(fā)10位異步收發(fā):起始位:1,數(shù)據(jù)位:8,停止位1。11位異步收發(fā):起始位:1,數(shù)據(jù)位:9,停止位1。PCON寄存器(87H)SMOD———GF1GF0PDIDL為8051設(shè)計(jì)的電源控制寄存器。SMOD=1,方式1/2/3波特率加倍。SMOD(D7):串口波特率選擇位GF1、GF0:通用標(biāo)志位。PD:掉電控制位。=0正常方式,=1掉電方式。IDL:空閑控制位。=0正常方式,=1空閑方式。PCONP338方式0:同步移位寄存器工作方式3.串行通訊的四種工作方式串行數(shù)據(jù)從RXD發(fā)送/接收;同步時(shí)鐘從TXD發(fā)出。(波特率=f0/12)主要用途:和外部同步移位寄存器連接,擴(kuò)展一個(gè)并行I/O口。8031移位寄存器TXDRXD8031移位寄存器TXDRXD發(fā)送接收方式0:同步移位寄存器工作方式SM0SM1SM2RENTB8RB8TIRISCON發(fā)送指令:MOVSBUF,A發(fā)送條件:TI=0接收條件:RI=0、REN=10000/10000發(fā)送當(dāng)執(zhí)行發(fā)送指令:MOVSBUF,A后,MCU即開始從RXD移位輸出,發(fā)送完TI=1,以供中斷或查詢,TI用軟件復(fù)位。接收當(dāng)滿足接收條件即從RXD接收數(shù)據(jù),收到8位數(shù)據(jù)后RI=1,以供中斷或查詢,MCU用MOVA,SBUF
讀入數(shù)據(jù),RI用軟件復(fù)位。接收時(shí),數(shù)據(jù)低位在前。發(fā)送:SCON=00H接收:SCON=10HP342例9.2
以方式0工作,自左至右輪流點(diǎn)亮指示燈。設(shè)串行口采用中斷方式發(fā)送。方式0-串行發(fā)送SM0SM1SM2RENTB8RB8TIRISCON0000000000H不允許接收CD4094:8位串入并出同步移位寄存器STB=0:接收串行數(shù)據(jù),鎖存并行輸出。STB=1:并行數(shù)據(jù)輸出,關(guān)閉串行數(shù)據(jù)。自左至右輪流點(diǎn)亮指示燈。主程序
ORG2000H MOVSCON,#00H;方式0
MOVIE,#90H CLRP1.0 ;STB=0
MOVA,#80H MOVSBUF,ALOOP: SJMPLOOP中斷服務(wù)程序
ORG0023H AJMPSBV ORG0100HSBV: SETBP1.0 ;
點(diǎn)亮
ACALLDELAY
CLRTI RRACLRP1.0 ;滅顯示
MOVSBUF,A RETIDELAY:………..STB=0:接收串行數(shù)據(jù),關(guān)閉并行輸出。STB=1:并行數(shù)據(jù)輸出,關(guān)閉串行數(shù)據(jù)。P343例9.3CD4014:8位并入串出同步移位寄存器P/S’=0:數(shù)據(jù)串行輸出,關(guān)閉并行輸入。P/S’=1:數(shù)據(jù)并行輸入,關(guān)閉串行輸出。方式0-串行接收要求:Kc斷開(=1)時(shí),8031等待,
Kc合上(=0)時(shí),8031輸入數(shù)據(jù)。采用查詢方式進(jìn)行數(shù)據(jù)輸入。SM0SM1SM2RENTB8RB8TIRISCON0001000010H
ORG2000HSTART:JBP1.0,$ ;KC=1,則等待
STEBP1.1 ;輸入開關(guān)量
CLRP1.1 ;開始串行輸出
MOVSCON,#10H;啟動(dòng)接收
JNBRI,$ CLRRI MOVA,SBUF MOV20H,A ;輸入數(shù)據(jù)存入20H單元
ACALLOTHER ;執(zhí)行其它程序
SJMPSTART ;準(zhǔn)備下次輸入
ENDP/S’=0:數(shù)據(jù)串行輸出,關(guān)閉并行輸入。P/S’=1:數(shù)據(jù)并行輸入,關(guān)閉串行輸出。方式1:10位異步通訊方式8位數(shù)據(jù),1位起始位,1位停止位。SM0SM1SM2RENTB8RB8TIRISCON0100/10000波特率可變,用CTC1作波特率發(fā)生器。啟動(dòng)發(fā)送:CPU執(zhí)行MOVSBUF,A送數(shù)據(jù)指令后,開始自動(dòng)從TXD發(fā)出串行數(shù)據(jù),發(fā)送完后,TI置1(需用軟件復(fù)位)。接收:(前提REN=1)串行數(shù)據(jù)從RXD輸入;對(duì)數(shù)據(jù)位每位采樣3次,至少2次采樣信號(hào)相同才予以接收,在接收第9位數(shù)據(jù)(即停止位)時(shí),若滿足條件:(SM2=0且RI=0),則將收到的數(shù)據(jù)送接收SBUF,并置RI
=1,RI需用軟件復(fù)位。(方式1發(fā)送時(shí),一般令SM2=0)方式2/3:11位異步通訊方式9位數(shù)據(jù),1位起始位,1位停止位。方式2:波特率固定(f0/32或f0/64)方式3:波特率可變,用CTC1作波特率發(fā)生器。唯一區(qū)別啟動(dòng)發(fā)送:CPU執(zhí)行
MOVSBUF,A后,開始自動(dòng)從TXD發(fā)出串行數(shù)據(jù),發(fā)送完后,TI置1。發(fā)送前TB8應(yīng)預(yù)先存入相應(yīng)的數(shù)值,構(gòu)成第9位發(fā)送的數(shù)據(jù),例如可存入奇偶校驗(yàn)的值或其它的控制數(shù)值。D0D1D7起始位9位數(shù)據(jù)位停止位TB8方式2/3:11位異步通訊方式9位數(shù)據(jù),1位起始位,1位停止位。接收:(前提REN=1)串行數(shù)據(jù)從RXD輸入;對(duì)數(shù)據(jù)位每位依舊是3取2表決,收完一楨(11位數(shù)據(jù))后,若滿足條件(SM2=0且RI=0)或者(SM2=1且RI=0且第九位數(shù)據(jù)=1)后RI置1,RI需用軟件復(fù)位。第9位數(shù)據(jù)送RB8。方式2、3時(shí),SM2根據(jù)需要置成1或0,由其可控制是否接收數(shù)據(jù)。SM0SM1SM2RENTB8RB8TIRISCON11×0/1000010×0/10000方式2方式34、串行通訊波特率設(shè)計(jì)方式0:波特率不受SMOD影響。方式1/3:Baud可變,受SMOD影響,由CTC1的溢出頻率決定(T1一般工作在定時(shí)方式)。方式2:Baud受SMOD影響。串行通訊波特率設(shè)計(jì)CTC1的溢出頻率T1為方式0:K=13T1為方式1:K=16T1為方式2、3:K=8P342:常用波特率表。思考:如晶振改為11.0592MHz,重新計(jì)算定時(shí)常數(shù)。方式1/3的波特率為:常用:T1為方式2(8位自動(dòng)重裝):K=85、串行通訊應(yīng)用串口初始化選好控制字,送入SCON和CTC1;選擇恰當(dāng)?shù)腂aud,設(shè)計(jì)好TC及SMOD,送入TH1、TL1和PCON。例:甲乙二機(jī)串行通訊,甲發(fā)乙收,設(shè)Boud=400,f0=6MHz。甲:將片外RAM首址為ADT的128字節(jié)數(shù)據(jù)順序發(fā)出。乙:將收到的128字節(jié)數(shù)據(jù)順序存放在首址為ADR的片外RAM中。設(shè)計(jì):Boud=400,f0=6MHz,串口工作方式為1,CTC1工作方式為2。SCON:
甲:01000000,即40H
乙:01010000,即50HTC=256-6000000/(384×400)=256-39=217=D9HCTC1的控制字:00100000即TMOD=20HSM0SM1SM2RENTB8RB8TIRISCONGATEC/TM1M0GATEC/TM1M0TMODT1T0設(shè)SMOD=0
ORG0000HLJMPMAIN
ORG0023HLJMPINT
ORG0100HMAIN:MOVSCON,#40H MOVPCON,#00HMOVTMOD,#20HMOVTH1,#0D9HMOVTL1,#0D9HSETBESSETBEASETBTR1MOVDPTR,#ADTMOVR0,#00HMOVXA,@DPTRMOVSBUF,AREP:SJMPREP;INT:CLRTICJNER0,#7FH,LOOPCLRES
SJMPENDTLOOP:INCR0INCDPTRMOVXA,@DPTRMOVSBUF,AENDT:RETIENDSCON=40H,TMOD=20H,TH1=TL1=D9H甲機(jī)發(fā)送程序
ORG0023HLJMPINT
ORG1000HMAIN:MOVSCON,#50HMOVTMOD,#20HMOVTH1,#0D9HMOVTL1,#0D9HMOVDPTR,#ADRMOVR0,#00HSETBTR1SETBEASETBESREP:SJMPREPINT:CLRRIMOVA,SBUFMOVX@DPTR,AINCDPTR INCR0CJNER0,#80H,LOOPCLRESLOOP:RETIENDSCON=50H,TMOD=20H,TH1=TL1=D9H乙機(jī)接收程序P344例9.4用中斷法編寫串口方式1下的發(fā)送程序。設(shè)f0=6MHz,T1作波特率發(fā)生器,波特率為2400bps。數(shù)據(jù)首地址:TBLOCK,長(zhǎng)度:LEN。要求奇校驗(yàn)位在數(shù)據(jù)第8位發(fā)送,字符塊長(zhǎng)度LEN首先發(fā)送。SM0SM1SM2RENTB8RB8TIRISCON0100000040HTMODGATEC/TM1M0GATEC/TM1M00010000020H定時(shí)常數(shù):設(shè)SMOD=1準(zhǔn)備工作:方式1:8位數(shù)據(jù)傳送方式2:8位定時(shí),自動(dòng)重裝。PCON=80H約定原數(shù)據(jù)的最高位=0。主程序: ORG2100HTBLOCKDATA20HLENDATA14HSTART:MOVTMOD,#20H MOVTL1,#0F3H MOVTH1,#0F3H MOVPCON,#80H SETBTR1 MOVSCON,#40H MOVR0,#TBLOCK MOVA,#LEN MOVR2,A MOVSBUF,A SETBEAWAIT: SETBES SJMPWAIT初始化發(fā)送LENP444,該指令對(duì)標(biāo)志位P產(chǎn)生影響.=1,A中1的個(gè)數(shù)為奇數(shù)。=0,為偶數(shù)。P位于PSW.0 ORG0023H LJMPTXSVE ORG2150HTXSVE:CLRES CLRTI
MOVA,@R0
MOVC,PSW.0
CPLC MOVACC.7,C MOVSBUF,A DJNZR2,NEXT SJMP$NEXT: INCR0 RETI END中斷程序:約定原數(shù)據(jù)的最高位=0發(fā)送完后停在此處。思考:若發(fā)完后,程序還需繼續(xù)執(zhí)行,如何修改程序?6、單片機(jī)的多機(jī)通訊多機(jī)通訊模式:星型、環(huán)型、串行總線型、主從式多機(jī)型星型環(huán)型串行總線型單片機(jī)的多機(jī)通訊(續(xù))8031
TxD
RxD
8031RxD
TxD
8031RxD
TxD
主機(jī)從機(jī)1從機(jī)n……..主機(jī)可以發(fā)送信息到任一臺(tái)從機(jī);從機(jī)只能發(fā)送信息到主機(jī),從機(jī)之間不能通訊。接口必須加驅(qū)動(dòng)和隔離,不能簡(jiǎn)單地線對(duì)線連接。主從式多機(jī)型2.串行通訊控制寄存器SCON寄存器(98H)SCON(98H)PCON(87H)SM0、SM1:通訊方式控制位。SM2:方式2/3下的主-從式多機(jī)通訊操作的控制位。REN:接收允許位,REN=0禁收,REN=1允許接收。TB8:在方式2/3下的第9位發(fā)送數(shù)據(jù),作校驗(yàn)位或在多機(jī)通訊中作地址/數(shù)據(jù)標(biāo)志位。RB8:在方式2/3下,是收到的第9位數(shù)據(jù)。TI、RI:發(fā)送/接收中斷。SM0SM1SM2RENTB8RB8TIRI9F9E9D9C9B9A9998位地址SCON多機(jī)通訊識(shí)別多機(jī)通訊運(yùn)用方式2或方式3進(jìn)行。方式2、3的發(fā)送:增加第9位數(shù)據(jù)TB8。方式2、3的接收:第9位數(shù)據(jù)送入RB8。RI=0,SM2=02.RI=0,SM2=1,且收到第9位數(shù)據(jù)=1接收條件主機(jī)發(fā)送順序:先地址后數(shù)據(jù);從機(jī)只發(fā)數(shù)據(jù)給主機(jī)。多機(jī)通訊識(shí)別主機(jī)設(shè)置:1。SM2=0,能隨時(shí)接收從機(jī)數(shù)據(jù)。2。主機(jī)發(fā)地址時(shí),TB8=1;不管從機(jī)處于什么狀態(tài)都能接收數(shù)據(jù)。發(fā)數(shù)據(jù)時(shí),TB8=0;只有SM2=0的從機(jī)才能接收數(shù)據(jù)。
從機(jī)設(shè)置:1。未收到地址前(即等待通訊時(shí)),所有從機(jī)的SM2=1,只可以接收主機(jī)發(fā)來(lái)的地址;2。從機(jī)收到地址進(jìn)行比較,地址相符的從機(jī)使SM2=0以便接收主機(jī)發(fā)送的數(shù)據(jù)。3。地址不相同的從機(jī),保持SM2=1,不能接收主機(jī)發(fā)送的數(shù)據(jù)。4。地址相符的從機(jī)也可向主機(jī)發(fā)送數(shù)據(jù)。5。從機(jī)數(shù)量=255。RI=0,SM2=02.RI=0,SM2=1,且收到第9位數(shù)據(jù)=1P352例9.7編出主機(jī)和從機(jī)通訊程序,波特率為1200bps。
通訊數(shù)據(jù)類型,一般除地址、數(shù)據(jù)外,還應(yīng)包括供主/從機(jī)識(shí)別的命令字和狀態(tài)字。主從通訊中,主機(jī)程序?yàn)橐粋€(gè),從機(jī)程序有若干個(gè),各自完成規(guī)定的功能,但其通訊部分程序,除地址號(hào)不同外,其余都相同。8031
TxD
RxD
8031RxD
TxD
8031RxD
TxD
主機(jī)從機(jī)1從機(jī)n……..通訊命令字:00—主機(jī)發(fā)送從機(jī)接收命令。
01-從機(jī)發(fā)送主機(jī)接收命令。
FF-從機(jī)復(fù)位命令,使從機(jī)的SM2=1,重新準(zhǔn)備接收地址。從機(jī)狀態(tài)字:ERR00000TRDYRRDY=0:合法命令=1:非法命令=0:從機(jī)接收未就緒=1:從機(jī)接收己就緒=0:從機(jī)發(fā)送未就緒=1:從機(jī)發(fā)送己就緒本例假設(shè)有:準(zhǔn)備工作:要求波特率為1200bps。SM0SM1SM2RENTB8RB8TIRISCON11011000D8HTMODGATEC/TM1M0GATEC/TM1M00010000020H定時(shí)常數(shù):設(shè)SMOD=0主機(jī):方式3:9位數(shù)據(jù)收發(fā)方式2:8位定時(shí),自動(dòng)重裝。PCON=00HSM0SM1SM2RENTB8RB8TIRISCON11111000F8HTMODGATEC/TM1M0GATEC/TM1M00010000020H定時(shí)常數(shù):設(shè)SMOD=0從機(jī):方式3:9位數(shù)據(jù)收發(fā)方式2:8位定時(shí),自動(dòng)重裝。PCON=00H設(shè)fo=6MHz設(shè)fo=11.0592MHz本例主從應(yīng)答要求主機(jī)發(fā)地址對(duì)應(yīng)從機(jī)返還地址命令分類地址不正確主機(jī)發(fā)命令對(duì)應(yīng)從機(jī)返還命令返還命令不正確從機(jī)接收就緒從機(jī)接收未就緒從機(jī)發(fā)送就緒01-收數(shù)命令00-發(fā)數(shù)命令從機(jī)發(fā)送未就緒發(fā)送數(shù)據(jù)塊接收數(shù)據(jù)塊開始從機(jī)程序=從機(jī)主程序+從機(jī)中斷服務(wù)程序主機(jī)程序=主機(jī)主程序+主機(jī)通訊子程序主機(jī)主程序
ORG2000HSTART:MOVTMOD,#20H MOVTL1,#0F3H MOVTH1,#0F3H SETBTR1 MOVSCON,#0D8H ;TB8=1 MOVPCON,#00H MOVR0,#40H ;發(fā)送數(shù)據(jù)塊首址
MOVR1,#20H ;存接收數(shù)據(jù)塊的首址
MOVR2,#SLAVE;被尋址從機(jī)地址
MOVR3,#00H/01H;00-主發(fā)從收命令
01-從發(fā)主收命令
MOVR4,#20H ;發(fā)送數(shù)據(jù)塊長(zhǎng)度
MOVR5,#20H ;接收數(shù)據(jù)塊長(zhǎng)度
ALCALLCOMMU ;通訊子程序
…….
SJMP$完成主機(jī)初始化工作主機(jī)通訊子程序框圖完成地址、數(shù)據(jù)命令的發(fā)送、接收及應(yīng)答判斷等工作。主機(jī)通訊子程序
ORG2100HCOMMU:MOVA,R2 ;從機(jī)地址→A MOVSBUF,A JNBRI,$ ;等待從機(jī)應(yīng)答
CLRRI MOVA,SBUF;從機(jī)應(yīng)答地址送A XRLA,R2 ;地址核對(duì)
JZMTXD2 ;相符轉(zhuǎn)MTXD1:MOVSBUF,#0FFH;發(fā)送從機(jī)復(fù)位信號(hào),TB8=1,則從機(jī)的RB8=1 SETBTB8 ;重新送地址標(biāo)志
SJMPCOMMU ;重發(fā)地址MTXD2:CLRTB8 ;命令以數(shù)據(jù)格式發(fā)送,TB8=0 MOVSBUF,R3;發(fā)命令
JNBRI,$ ;等待從機(jī)應(yīng)答返還狀態(tài)字
CLRRI狀態(tài)字含有命令是否合法的標(biāo)志位。
MOVA,SBUF ;收返還命令
JNBACC.7,MTXD3 ;核對(duì)命令無(wú)錯(cuò),則跳轉(zhuǎn)命令分類
SJMPMTXD1 ;命令收錯(cuò),則重新聯(lián)絡(luò)MTXD3:CJNER3,#00H,MRXD;從發(fā)主收--跳轉(zhuǎn)
JNBACC.0,MTXD1;從機(jī)接收未就緒,則重新聯(lián)絡(luò)MTXD4:MOVSBUF,@R0 ;從機(jī)接收就緒,開始發(fā)數(shù)據(jù)
JNBTI,$ CLRTI INCR0 DJNZR4,MTXD4 RET命令分類發(fā)送數(shù)據(jù)從機(jī)狀態(tài)字:ERR00000TRDYRRDY=0:合法命令=1:非法命令=0:從機(jī)接收未就緒=1:從機(jī)接收己就緒=0:從機(jī)發(fā)送未就緒=1:從機(jī)發(fā)送己就緒MRXD:JNBACC.1MTXD1;從機(jī)發(fā)送未就緒,從新聯(lián)絡(luò)MRXD1:JNBRI,$ CLRRI MOVA,SBUF MOV@R1,A INCR1 DJNZR5,MRXD1 RET END從機(jī)狀態(tài)字:ERR00000TRDYRRDY=0:合法命令=1:非法命令=0:從機(jī)接收未就緒=1:從機(jī)接收己就緒=0:從機(jī)發(fā)送未就緒=1:從機(jī)發(fā)送己就緒接收數(shù)據(jù)從機(jī)主程序完成從機(jī)初始化工作
ORG1000HSTART:MOVTMOD,#20H MOVTL1,#0E8H MOVTH1,#0E8H SETBTR1 MOVSCON,#0F8H;TB8=1,SM2=1 MOVPCON,#00H MOVR0,#20H ;發(fā)送數(shù)據(jù)塊首址
MOVR1,#40H ;接收數(shù)據(jù)塊首址
MOVR2,#20H;發(fā)送數(shù)據(jù)塊長(zhǎng)度
MOVR3,#20H;接收數(shù)據(jù)塊長(zhǎng)度
SETBEA SETBES CLRRI
…….
SJMP$從
機(jī)
中
斷
服
務(wù)
程
序
框
圖此框圖沒有處理復(fù)位指令。從機(jī)中斷服務(wù)程序1R0:發(fā)送數(shù)據(jù)首址R1:接收數(shù)據(jù)首址R2:發(fā)送數(shù)據(jù)塊長(zhǎng)度R3:接收數(shù)據(jù)塊長(zhǎng)度PSW.5:本機(jī)發(fā)送就緒位標(biāo)志=1發(fā)送準(zhǔn)備就緒PSW.1:本機(jī)接收就緒位標(biāo)志=1接收
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【2021屆備考】2021屆全國(guó)名校數(shù)學(xué)試題分類解析匯編(12月第三期):L單元-算法初步與復(fù)數(shù)
- 【名師一號(hào)】2020-2021學(xué)年高中英語(yǔ)選修六-雙基限時(shí)練14
- 【名師一號(hào)】2020-2021學(xué)年高中英語(yǔ)北師大版必修4-雙基限時(shí)練9
- 教師學(xué)習(xí)師德師風(fēng)工作總結(jié)4篇
- 【名師伴你行】2021屆高考化學(xué)二輪復(fù)習(xí)專題突破高考真題1-11-非金屬及其化合物
- 《灰色預(yù)測(cè)法》課件
- 2021高考英語(yǔ)單項(xiàng)選擇定時(shí)訓(xùn)練題(13)及答案
- 二年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)1000題匯編集錦
- 四年級(jí)數(shù)學(xué)(四則混合運(yùn)算)計(jì)算題專項(xiàng)練習(xí)與答案匯編
- 【師說(shuō)】2022高考語(yǔ)文大一輪全程復(fù)習(xí)構(gòu)想:課時(shí)訓(xùn)練22-第七章-語(yǔ)言文字運(yùn)用
- 第四章破產(chǎn)法(破產(chǎn)法)教學(xué)課件
- 化妝品購(gòu)銷合同范本
- PE拖拉管施工方案標(biāo)準(zhǔn)版
- 7725i進(jìn)樣閥說(shuō)明書
- 鐵路建設(shè)項(xiàng)目施工企業(yè)信用評(píng)價(jià)辦法(鐵總建設(shè)〔2018〕124號(hào))
- 銀監(jiān)會(huì)流動(dòng)資金貸款需求量測(cè)算表
- 時(shí)光科技主軸S系列伺服控制器說(shuō)明書
- 無(wú)機(jī)非金屬材料專業(yè) 畢業(yè)設(shè)計(jì)論文 年產(chǎn)240萬(wàn)平方米釉面地磚陶瓷工廠設(shè)計(jì)
- 社會(huì)組織績(jī)效考核管理辦法
- 密封固化劑配方分析
- 國(guó)際項(xiàng)目管理專業(yè)資質(zhì)認(rèn)證(ipmp)b級(jí)報(bào)告模板
評(píng)論
0/150
提交評(píng)論