版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2025/1/1518.1
80C51單片機(jī)的中斷系統(tǒng)5.1.180C51中斷系統(tǒng)的結(jié)構(gòu)
CPU進(jìn)行工作A時(shí)發(fā)生了事件B,請(qǐng)求CPU馬上處理
CPU暫時(shí)中斷當(dāng)前工作A,轉(zhuǎn)去處理事件B
事件B處理完后,回到工作A被中斷的地方繼續(xù)處理A工作
中斷的概念中斷源中斷請(qǐng)求
中斷服務(wù)中斷返回中斷系統(tǒng)與子程序調(diào)用相似但有本質(zhì)的區(qū)別●子程序調(diào)用是固定的,專(zhuān)用指令,位置固定。注意中斷與子程序調(diào)用的不同點(diǎn)●中斷的執(zhí)行是隨機(jī)的,沒(méi)有調(diào)用指令,任何位置。中斷工作方式的優(yōu)點(diǎn):
1)外設(shè)與CPU可并行工作
CPU與多個(gè)外設(shè)同時(shí)工作,互不干擾
2)實(shí)現(xiàn)了實(shí)時(shí)處理、實(shí)時(shí)控制
CPU能及時(shí)處理外部信息,如數(shù)據(jù)采集,監(jiān)控
3)能及時(shí)處理隨機(jī)故障
2025/1/153
8.1.180C51中斷系統(tǒng)的結(jié)構(gòu)5個(gè)中斷源、2個(gè)優(yōu)先級(jí)2025/1/154中斷源8.1.280C51的中斷源外部中斷0(INT0)外部中斷1(INT1)T0溢出中斷(TF0)T1溢出中斷(TF1)串行口中斷(RI或TI)2025/1/155中斷允許控制中斷源的開(kāi)放和屏蔽由IE控制(1,開(kāi)放;0,禁止)
76543210IEEAESET1EX1ET0EX0字節(jié)地址:A8HEX0:外中斷0允許ET0:T0中斷允許
EX1:外中斷1允許ET1:T1中斷允許ES:串口中斷允許
EA:CPU中斷允許
2025/1/156中斷優(yōu)先級(jí)控制中斷優(yōu)先級(jí)由IP控制(1,高級(jí);0,低級(jí))
76543210IPPSPT1PX1PT0PX0字節(jié)地址:B8HPX0:外中斷0優(yōu)先級(jí)
PT0:T0中斷優(yōu)先級(jí)PX1:外中斷1優(yōu)先級(jí)PT1:T1中斷優(yōu)先級(jí)PS:串口中斷優(yōu)先級(jí)同一優(yōu)先級(jí)的自然順序:自高至低:INT0、TO、INT1、T1、串口。
2025/1/157中斷優(yōu)先級(jí)遵循的原則幾個(gè)中斷同時(shí)申請(qǐng),先響應(yīng)高級(jí)的中斷正進(jìn)行的中斷服務(wù),同級(jí)或低級(jí)中斷不能對(duì)其中斷,但可以被高級(jí)中斷所中斷。
為此,中斷系統(tǒng)內(nèi)設(shè)有對(duì)應(yīng)高、低2個(gè)優(yōu)先級(jí)狀態(tài)觸發(fā)器(用戶(hù)不能尋址)。狀態(tài)觸發(fā)器的復(fù)位由中斷返回指令RETI控制。中斷服務(wù)程序入口地址和優(yōu)先級(jí)外中斷0:0003H定時(shí)器0:000BH外中斷1:0013H定時(shí)器1:001BH串口:0023H2025/1/1598.2
80C51單片機(jī)中斷處理過(guò)程8.2.1中斷響應(yīng)條件和時(shí)間中斷響應(yīng)條件有中斷請(qǐng)求
相應(yīng)的中斷允許位為1CPU開(kāi)中斷(即EA=1)
遇下面情況之一將不被響應(yīng)(此間中斷條件失效,中斷丟失)
正在處理同級(jí)或高級(jí)中斷
當(dāng)前查詢(xún)周期不是所執(zhí)行指令的最后一個(gè)機(jī)器周期
正在執(zhí)行RETI或訪問(wèn)IE或IP
的指令
2025/1/1510中斷響應(yīng)時(shí)間中斷響應(yīng)至少需要3個(gè)完整的機(jī)器周期(3~8個(gè))!受阻時(shí)要附加3~5個(gè)機(jī)器周期(無(wú)同級(jí)或高級(jí)中斷正進(jìn)行)
查詢(xún)周期不是當(dāng)前指令的最后機(jī)器周期(如MUL,+3)查詢(xún)周期恰逢RETI類(lèi)指令(且后跟MUL指令+5)2025/1/15118.2.2中斷響應(yīng)過(guò)程
CPU響應(yīng)中斷過(guò)程將相應(yīng)優(yōu)先級(jí)狀態(tài)觸發(fā)器置1(阻斷后來(lái)同級(jí)或低級(jí)中斷)執(zhí)行硬件LCALL指令(PC入棧,中斷服務(wù)程序入口址送PC
)執(zhí)行中斷服務(wù)程序
編寫(xiě)中斷服務(wù)程序注意中斷服務(wù)程序入口存放指令LJMP或AJMP現(xiàn)場(chǎng)保護(hù)與現(xiàn)場(chǎng)恢復(fù)ORG0000HLJMPMAINORG0003HLJMPINT0;轉(zhuǎn)外中斷0ORG000BH;沒(méi)有用定時(shí)器0中斷,在此放一條RETI
;萬(wàn)一“不小心”產(chǎn)生了中斷,RETI;也不會(huì)有太大的后果。ORG0030HMAIN:……;主程序開(kāi)始2025/1/15138.2.3中斷返回中斷服務(wù)程序最后指令必須是RETI,其功能:將斷點(diǎn)從堆棧彈送PC,CPU從原斷點(diǎn)繼續(xù)執(zhí)行將相應(yīng)優(yōu)先級(jí)狀態(tài)觸發(fā)器清0,恢復(fù)原來(lái)工作狀態(tài)注意不能用RET代替RETI
中斷服務(wù)程序中PUSH和POP必須成對(duì)使用程序如下:
ORG0000HSTART:LJMPMAIN;跳轉(zhuǎn)到主程序
ORG0003HLJMPINTO;轉(zhuǎn)到中斷服務(wù)程序
ORG0030H;主程序MAIN:CLRIT0;設(shè)為電平觸發(fā)方式SETBEA;CPU開(kāi)放中斷
SETBEX0;允許Int0中斷
MOVDPTR,#1000H;設(shè)置數(shù)據(jù)區(qū)地址指針
ORG0200H;中斷服務(wù)程序INT0:PUSHPSW;保護(hù)現(xiàn)場(chǎng)
PUSHACCCLRP3.0;由P3.0輸出0NOPNOPSETBP3.0MOVP1,#0FFH;置P1口為輸入
MOVA,P1;輸入數(shù)據(jù)
MOVX@DPTR,A;存入數(shù)據(jù)存儲(chǔ)器
INCDPTR;修改數(shù)據(jù)指針,指向下一個(gè)單元
……POPACC;恢復(fù)現(xiàn)場(chǎng)
POPPSWRETI2025/1/15168.2.4中斷程序舉例【例5-1】單外部中斷源示例ORG0000HSTART:LJMPMAIN
ORG0003H
LJMPINTO
ORG0030HMAIN:CLRIT0;電平
SETBEA
SETBEX0
MOVDPTR,#1000H
…
…
主程序:2025/1/1517中斷服務(wù)程序:ORG0200HINT0:PUSHPSWPUSHACCCLRP3.0;由P3.0輸出0NOPNOPSETBP3.0MOVP1,#0FFH;置P1口為輸入
MOVA,P1;輸入數(shù)據(jù)
MOVX@DPTR,A;存入數(shù)據(jù)存儲(chǔ)器
INCDPTR;修改數(shù)據(jù)指針,指向下一個(gè)單元
…
…POPACC;恢復(fù)現(xiàn)場(chǎng)
POPPSWRETI2025/1/1518【例】多外部中斷源示例中斷服務(wù)程序:
ORG0003HLJMPINSE0
ORG0013HLJMPINSE1
…
…INSE0:PUSHPSW;XI0中斷服務(wù)
PUSHACC
…
…POPACCPOPPSWRETI(轉(zhuǎn)下頁(yè))
2025/1/1519INSE1:PUSHPSW(接上頁(yè))
PUSHACCJBP1.0,DV1;P1.0為1,轉(zhuǎn)XI1中斷服務(wù)程序
JBP1.1,DV2;P1.1為1,轉(zhuǎn)XI2中斷服務(wù)程序
JBP1.2,DV3;P1.2為1,轉(zhuǎn)XI3中斷服務(wù)程序
JBP1.3,DV4;P1.3為1,轉(zhuǎn)XI4中斷服務(wù)程序INRET:POPACCPOPPSWRETIDV1:…
…
;XI1中斷服務(wù)程序
AJMPINRET
…
…DV4:…
…
;XI4中斷服務(wù)程序
AJMPINRET
2025/1/15208.2.5定時(shí)/計(jì)數(shù)器工作原理定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)和工作原理TH1、TL1TH0、TL0TCONTMOD計(jì)數(shù)脈沖源2025/1/1522定時(shí)/計(jì)數(shù)器的工作原理實(shí)質(zhì)是16位加1計(jì)數(shù)器定時(shí)器模式時(shí),是對(duì)內(nèi)部機(jī)器周期計(jì)數(shù)。計(jì)數(shù)值乘以機(jī)器周期就是定時(shí)時(shí)間計(jì)數(shù)器模式時(shí),是對(duì)外部事件計(jì)數(shù)。脈沖由T0(P3.4)或T1(P3.5)引腳輸入。
注意:(若計(jì)數(shù)值為N,計(jì)數(shù)初值為X)溢出信號(hào)使TF0或TF1置1,并發(fā)出中斷請(qǐng)求,16位時(shí)有:
N=65536-X,或X=65536-N12MHz晶振時(shí),計(jì)數(shù)頻率低于0.5MHz
2025/1/15238.2.6
定時(shí)/計(jì)數(shù)器的控制工作方式寄存器TMOD
76543210TMODGATEC/TM1M0GATEC/TM1M0字節(jié)地址:89HGATE:門(mén)控位。GATE=0時(shí),只要TRx為1,就可啟動(dòng)計(jì)數(shù)器工作;GATA=1時(shí),定時(shí)器的啟動(dòng)還要加上INTx引腳為高電平這一條件。
C/T:模式選擇位。清0為定時(shí)模式,置1為計(jì)數(shù)方式。M1M0:工作方式設(shè)置位??稍O(shè)置四種工作方式。定時(shí)/計(jì)數(shù)器的控制示意圖2025/1/1525M1M0工作方式說(shuō)明00方式013位定時(shí)/計(jì)數(shù)器01方式116位定時(shí)/計(jì)數(shù)器10方式28位自動(dòng)重裝定時(shí)/計(jì)數(shù)器11方式3T0分成兩個(gè)獨(dú)立的8位定時(shí)/計(jì)數(shù)器;T1此方式停止計(jì)數(shù)注意:TMOD不能進(jìn)行位尋址
2025/1/1526控制寄存器TCON
76543210TCONTF1TR1TF0TR0字節(jié)地址:88HTFx:Tx溢出標(biāo)志位。響應(yīng)中斷后TFx有硬件自動(dòng)清0。用軟件設(shè)置TFx可產(chǎn)生同硬件置1或清0同樣的效果。TRx:Tx運(yùn)行控制位。置1時(shí)開(kāi)始工作;清0時(shí)停止工作。TRx要由軟件置1或清0(即啟動(dòng)與停止要由軟件控制)。2025/1/15278.2.7
定時(shí)/計(jì)數(shù)器的工作方式T0、T1有4種工作方式(0、1、2)。方式0:13位方式
2025/1/1528C/T=1時(shí),則為計(jì)數(shù)模式,有:
X=213-N=8192-NC/T=0時(shí),則為定時(shí)模式,有:
X=213-N=8192-N,N=t/Tcy【例】若計(jì)數(shù)個(gè)數(shù)N為2,求計(jì)數(shù)初值。公式法計(jì)算:X=8192-2=8190=1FFEH求補(bǔ)法計(jì)算:對(duì)0000000000010B取反加1為:
1111111111110B(1FFEH)初值計(jì)算:公式法
求補(bǔ)法:X=對(duì)N求補(bǔ)2025/1/1529門(mén)控位作用當(dāng)GATE=0時(shí)僅由TR0控制與門(mén)的開(kāi)啟。與門(mén)輸出1時(shí),控制開(kāi)關(guān)接通,計(jì)數(shù)開(kāi)始;當(dāng)GATE=1時(shí)與門(mén)的開(kāi)啟由INT0和TR0共同控制。這種方式可以用來(lái)測(cè)量INT0引腳上正脈沖的寬度。
注意:方式0的計(jì)數(shù)初值高8位和低5位確定麻煩
,實(shí)際應(yīng)用中常由16位的方式1取代。2025/1/1530方式1:16位方式
X=216-N=65536-N計(jì)數(shù)范圍:1~65536
計(jì)數(shù)初值要分成2個(gè)字節(jié)分別送入TH0、TL02025/1/1531【例】若要求定時(shí)器T0工作于方式1,定時(shí)時(shí)間為1ms,當(dāng)晶振為6MHz時(shí),求送入TH0和TL0的計(jì)數(shù)初值各為多少?應(yīng)怎樣送入TH0和TL0?由于晶振為6MHz,所以機(jī)器周期Tcy為2μS,因此:N=t/Tcy=1×10-3/2×10-6=500X=216-N=65536-500=65036=FE0CH也可以利用以下2條指令完成:MOVTL0,#(65536-500)MOD256;余數(shù)為計(jì)數(shù)初值的低字節(jié)MOVTH0,#(65536-500)/256;商為計(jì)數(shù)初值的高字節(jié)用傳送指令分別將FEH送入TH0中,0CH送入TL0中即可。2025/1/1532方式2:8位自動(dòng)重裝方式
X=28-N=256-N計(jì)數(shù)范圍:1~256
特別適合與脈沖信號(hào)發(fā)生器2025/1/1533方式3:(僅T0有此方式,T1的方式3將停止計(jì)數(shù))
TL0進(jìn)行8位定時(shí)/計(jì)數(shù)TH0進(jìn)行8位定時(shí)(T1方式2時(shí),可出借TR1、TF1)2025/1/15348.2.8
定時(shí)/計(jì)數(shù)器用于外部中斷擴(kuò)展例:用T0擴(kuò)展一個(gè)外部中斷源。將T0設(shè)置為計(jì)數(shù)器方式,按方式2工作,TH0、TL0的初值均為0FFH,T0允許中斷,CPU開(kāi)放中斷。其初始化程序如下:
MOVTMOD,#06H;置T0為計(jì)數(shù)器方式2MOVTL0,#0FFH;置計(jì)數(shù)初值
MOVTH0,#0FFHSETBTR0;啟動(dòng)T0工作
SETBEA;CPU開(kāi)中斷
SETBET0;允許T0中斷
…
…T0外部引腳上出現(xiàn)一個(gè)下降沿信號(hào)時(shí),TL0計(jì)數(shù)加1,產(chǎn)生溢出,將TF0置1,向CPU發(fā)出中斷請(qǐng)求…
…
2025/1/1535初始化程序應(yīng)完成:對(duì)TMOD賦值,以確定T0和T1的工作方式;求初值,并寫(xiě)入TH0、TL0或TH1、TL1;中斷方式時(shí),要對(duì)IE賦值,開(kāi)放中斷;使TR0或TR1置位,啟動(dòng)定時(shí)/計(jì)數(shù)器工作。2025/1/1536計(jì)數(shù)應(yīng)用【例】有一包裝流水線,產(chǎn)品每計(jì)數(shù)24瓶時(shí)發(fā)出一個(gè)包裝控制信號(hào)。試編寫(xiě)程序完成這一計(jì)數(shù)任務(wù)。用T0完成計(jì)數(shù),用P1.0發(fā)出控制信號(hào)。確定方式字:T0在計(jì)數(shù)的方式2時(shí):M1M0=10,GATE=0,C/T=1方式控制字為06H
求計(jì)數(shù)初值X:N=24X=256-24=232=E8H應(yīng)將E8H送入TH0和TL0中2025/1/1537ORG0000HLJMPMAIN
ORG000BHLJMPDVT0
ORG0100HMAIN:MOVTMOD,#06H;置T0計(jì)數(shù)方式2MOVTH0,#0E8H;裝入計(jì)數(shù)初值
MOVTL0,#0E8HSETBET0;T0開(kāi)中斷
SETBEA;CPU開(kāi)中斷
SETBTR0;啟動(dòng)T0SJMP$;等待中斷DVT0:SETBP1.0NOPNOPCLRP1.0RETIEND主程序
中斷服務(wù)程序
2025/1/1538定時(shí)應(yīng)用
定時(shí)時(shí)間較小時(shí)(小于65ms)。晶振為12MHz時(shí),Tcy為1μS??芍苯硬捎梅绞?完成定時(shí)任務(wù)。
【例】利用定時(shí)/計(jì)數(shù)器T0的方式1,產(chǎn)生10ms的定時(shí),并使P1.0引腳上輸出周期為20ms的方波,采用中斷方式,設(shè)系統(tǒng)的晶振頻率為12MHz。確定方式字:T0在定時(shí)的方式1時(shí):M1M0=01,GATE=0,C/T=0方式控制字為01H
求計(jì)數(shù)初值X:Tcy為1μSN=10ms/1μS=10
000X=65536-10000=D8F0H應(yīng)將D8送TH0,F0H送TL0
2025/1/1539ORG0000HLJMPMAIN
ORG000BHLJMPDVT0
ORG0100HMAIN:MOVTMOD,#01H;置T0方式1MOVTH0,#0D8H;裝入計(jì)數(shù)初值
MOVTL0,#0F0HSETBET0;T0開(kāi)中斷
SETBEA;CPU開(kāi)中斷
SETBTR0;啟動(dòng)T0SJMP$;等待中斷DVT0:CPLP1.0MOVTH0,#0D8HMOVTL0,#0F0HRETIEND主程序
中斷服務(wù)程序
2025/1/1540采用軟件查詢(xún)方式完成的源程序如下:ORG0000HLJMPMAIN;跳轉(zhuǎn)到主程序
ORG0100H;主程序
MAIN:MOVTMOD,#01H;置T0工作于方式1LOOP:MOVTH0,#0D8H;裝入計(jì)數(shù)初值
MOVTL0,#0F0HSETBTR0;啟動(dòng)定時(shí)器T0JNBTF0,$;TF0=0,查詢(xún)等待
CLRTF0;清TF0CPLP1.0;P1.0取反輸出
SJMPLOOPEND2025/1/1541
定時(shí)時(shí)間較大時(shí)(大于65ms)。實(shí)現(xiàn)方法:一是采用1個(gè)定時(shí)器定時(shí)一定的間隔(如20ms),然后用軟件進(jìn)行計(jì)數(shù);二是采用2個(gè)定時(shí)器級(jí)聯(lián),其中一個(gè)定時(shí)器用來(lái)產(chǎn)生周期信號(hào)(如20ms為周期),然后將該信號(hào)送入另一個(gè)計(jì)數(shù)器的外部脈沖輸入端進(jìn)行脈沖計(jì)數(shù)。
【例】編寫(xiě)程序,實(shí)現(xiàn)用定時(shí)/計(jì)數(shù)器T0定時(shí),使P1.7引腳輸出周期為2s的方波。設(shè)系統(tǒng)的晶振頻率為12MHz。確定方式字:T0在定時(shí)的方式1時(shí):M1M0=01,GATE=0,C/T=0方式控制字為01H
求計(jì)數(shù)初值X:Tcy為1μSN=20ms/1μS=20
000X=65536-20000=4E20H應(yīng)將4E送TH0,20H送TL0
采用定時(shí)20ms,然后再計(jì)數(shù)50次的方法實(shí)現(xiàn)2025/1/1542ORG0000HLJMPMAIN
ORG000BHLJMPDVT0
ORG0030HMAIN:MOVTMOD,#01H;置T0方式1MOVTH0,#4EH;裝入計(jì)數(shù)初值
MOVTL0,#20H;首次計(jì)數(shù)值
MOVR7,#50
;計(jì)數(shù)50次SETBET0;T0開(kāi)中斷
SETBEA;CPU開(kāi)中斷
SETBTR0;啟動(dòng)T0SJMP$;等待中斷DVT0:DJNZR7,NT0MOVR7,#50CPLP1.7NT0:MOVTH0,#4EHMOVTL0,#20HSETBTR0RETIEND主程序
中斷服務(wù)程序
2025/1/1543門(mén)控位的應(yīng)用【例5】測(cè)量INT0引腳上出現(xiàn)的正脈沖寬度,并將結(jié)果(以機(jī)器周期的形式)存放在30H和31H兩個(gè)單元中。
將T0設(shè)置為方式1的定時(shí)方式,且GATE=1,計(jì)數(shù)器初值為0,將TR0置1。
INT0引腳上出現(xiàn)高電平時(shí),加1計(jì)數(shù)器開(kāi)始對(duì)機(jī)器周期計(jì)數(shù)。INT0引腳上信號(hào)變?yōu)榈碗娖綍r(shí),停止計(jì)數(shù)然后讀出TH0、TL0的值2025/1/1544ORG0000HAJMPMAINORG0200HMAIN:MOVTMOD,#09H;置T0為定時(shí)器方式1,GATE=1MOVTH0,#00H;置計(jì)數(shù)初值
MOVTL0,#00HMOVR0,#31H;置地址指針初值(指向低字節(jié))
L1:JBP3.2,L1;高電平等待
SETBTR0;當(dāng)INT0由高變低時(shí)使TR0=1,準(zhǔn)備好
L2:JNBP3.2,L2;等待INT0變高L3:JBP3.2,L3;已變高,啟動(dòng)定時(shí),直到INT0變低CLRTR0;INT0由高變低,停止定時(shí)
MOV@R0,TL0;存結(jié)果
DECR0MOV@R0,TH0SJMP$END2025/1/15458.3
80C51單片機(jī)的串行口通信:并行通信與串行通信
并行通信特點(diǎn):傳送控制簡(jiǎn)單、速度快,但傳輸線較多,成本高。8.3.1概述2025/1/1546
串行通信特點(diǎn):傳送控制復(fù)雜、速度慢,傳輸線少,成本低2025/1/1547異步通信與同步通信收、發(fā)設(shè)備時(shí)鐘獨(dú)立,以字符(幀)為單位傳輸
串行通信異步通信
2025/1/1548
異步通信幀格式起始位(1位);數(shù)據(jù)位(8位);奇偶校驗(yàn)位(1位,可無(wú)校驗(yàn)位);停止位(1位)。
特點(diǎn)易于實(shí)現(xiàn)效率不高同步通信(發(fā)、收時(shí)鐘直接連接,效率高。板內(nèi)元件間的SPI接口)
2025/1/1549串行通信的傳輸方向單工
半雙工
全雙工80C51有1個(gè)全雙工串行口
2025/1/1550信號(hào)的調(diào)制與解調(diào)DTE:數(shù)據(jù)終端設(shè)備DCE:數(shù)據(jù)通信設(shè)備調(diào)制解調(diào)器調(diào)制解調(diào)2025/1/1551串行通信的錯(cuò)誤校驗(yàn)奇偶校驗(yàn)發(fā)送字符時(shí),數(shù)據(jù)位尾隨1位奇偶校驗(yàn)位(1或0)。奇校驗(yàn)時(shí),數(shù)據(jù)中“1”的個(gè)數(shù)與校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為奇數(shù);偶校驗(yàn)時(shí),數(shù)據(jù)中“1”的個(gè)數(shù)與校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為偶數(shù)。接收字符時(shí),對(duì)“1”的個(gè)數(shù)進(jìn)行校驗(yàn),若發(fā)現(xiàn)不一致,則說(shuō)明傳輸數(shù)據(jù)過(guò)程中出現(xiàn)了差錯(cuò)。2025/1/1552代碼和校驗(yàn)發(fā)送方將所發(fā)數(shù)據(jù)塊求和(或各字節(jié)異或),產(chǎn)生的校驗(yàn)和字節(jié)附加到數(shù)據(jù)塊的末尾。接收方在接收數(shù)據(jù)時(shí)要對(duì)數(shù)據(jù)塊(除校驗(yàn)字節(jié)外)求和(或各字節(jié)異或),將所得的結(jié)果與收到的“校驗(yàn)和”進(jìn)行比較,相符則無(wú)差錯(cuò),否則就認(rèn)為傳送過(guò)程出現(xiàn)了差錯(cuò)。2025/1/1553傳輸速率與傳輸距離傳輸速率比特率:每秒鐘傳送的信息量。單位:位/秒(bps)波特率:每秒鐘傳送碼元數(shù)目,單位:波特(Baud)
基帶傳輸(每個(gè)碼元帶有“1”或“0”這1bit信息,傳碼率與傳信率相同),波特率和比特率是相同的。
常用波特率為:2400、4800、9600、14.4K、19.2K等
傳輸距離與傳輸速率的關(guān)系傳輸距離隨波特率的增加而減小。2025/1/1554串行通信接口標(biāo)準(zhǔn)RS-232C定義的是DTE與DCE間的接口標(biāo)準(zhǔn)。機(jī)械特性DB-25(陽(yáng)頭)連接器DB-9(陽(yáng)頭)連接器陽(yáng)頭通常用于計(jì)算機(jī)側(cè),陰頭用于連接線側(cè)
2025/1/1555功能特性插針序號(hào)信號(hào)名稱(chēng)功能信號(hào)方向1
PGND保護(hù)接地
2(3)TXD發(fā)送數(shù)據(jù)(串行輸出)DTE→DCE
3(2)RXD接收數(shù)據(jù)(串行輸入)DTE←DCE
4(7)RTS請(qǐng)求發(fā)送DTE→DCE
5(8)CTS允許發(fā)送DTE←DCE
6(6)DSRDCE就緒(數(shù)據(jù)建立就緒)DTE←DCE
7(5)
SGND信號(hào)接地
8(1)DCD載波檢測(cè)DTE←DCE
20(4)DTRDTE就緒(數(shù)據(jù)終端準(zhǔn)備就緒)DTE→DCE
22(9)RI振鈴指示DTE←DCE2025/1/1556電氣特性RS-232C采用負(fù)邏輯電平,規(guī)定(-3~-25V)為邏輯“1”,(+3~+25V)為邏輯“0”。-3V~+3V是未定義的過(guò)渡區(qū)。試比較:電平轉(zhuǎn)換電路(如MAX232)。
2025/1/1557過(guò)程特性遠(yuǎn)程通信,需要調(diào)制解調(diào)器2025/1/1558近程通信,不需要調(diào)制解調(diào)器無(wú)聯(lián)絡(luò)線方式聯(lián)絡(luò)線短接(偽連接)方式
2025/1/1559
RS-232C電平與TTL電平轉(zhuǎn)換驅(qū)動(dòng)電路早期常用MC1488、MC1489
近期常用MAXM232:
片內(nèi)帶有自升壓電路僅需+5V電源內(nèi)含2個(gè)發(fā)送器,2個(gè)接收器
2025/1/1560采用RS-232C接口存在的問(wèn)題傳輸距離短、速率低
通常不超過(guò)15米,速率20Kbps
有電平偏移
RS-232收發(fā)共地,地電流會(huì)使電平偏移出現(xiàn)邏輯錯(cuò)誤??垢蓴_能力差
RS-232常用單端輸入,易混入干擾。(故用大擺幅)新標(biāo)準(zhǔn)RS-485改善了傳輸特性,應(yīng)用廣泛!2025/1/15618.3.2
80C51單片機(jī)的串行口1個(gè)全雙工串口:通信或接口擴(kuò)展
接收發(fā)送緩沖器邏輯同名、物理分開(kāi);接收雙緩沖。
2025/1/156280C51串行口的控制寄存器串行口控制寄存器SCONSM0和SM1:工作方式選擇位76543210SCONSM0SM1SM2RENTB8RB8TIRI字節(jié)地址:98HSM0SM1方式說(shuō)明波特率000移位寄存器fosc/1201110位UART(8位數(shù)據(jù))可變10211位UART(9位數(shù)據(jù))fosc/64或fosc/3211311位UART(9位數(shù)據(jù))可變2025/1/1563SM2:多機(jī)通信控制位SM2=1時(shí),接收機(jī)處于地址幀篩選狀態(tài)。若RB8=1,該地址幀信息可進(jìn)入SBUF,并使RI為1,進(jìn)而在中斷服務(wù)中再進(jìn)行地址號(hào)比較;若RB8=0,該幀不是地址幀,應(yīng)丟掉,且保持RI=0。SM2=0時(shí),接收機(jī)處于地址幀篩選被禁止?fàn)顟B(tài)。不論收到的RB8為0或1,均可以使收到的信息進(jìn)入SBUF,并使RI=1。此時(shí)的RB8通常為校驗(yàn)位。REN:串行接收使能位,軟件置1時(shí),啟動(dòng)接收過(guò)程2025/1/1564TB8:多機(jī)方式發(fā)送的第9位多機(jī)方式的地址/數(shù)據(jù)幀標(biāo)志。也可作為奇偶校驗(yàn)位。
RB8:多機(jī)方式接收的第9位多機(jī)方式的地址/數(shù)據(jù)幀標(biāo)志。也可作為奇偶校驗(yàn)位。
TI:發(fā)送中斷標(biāo)志位,要由軟件清0RI:接收中斷標(biāo)志位,要由軟件清02025/1/1565電源控制寄存器PCONSMOD:波特率倍增位。在串行口方式1、方式2、方式3時(shí),波特率與SMOD有關(guān),當(dāng)SMOD=1時(shí),波特率提高一倍。復(fù)位時(shí),SMOD=0。
76543210PCONSMOD字節(jié)地址:97H2025/1/15668.3.380C51串行口的工作方式方式0:同步移位寄存器,用于擴(kuò)展并行口RXD:輸入或輸出引腳TXD:移位脈沖輸出接收和方式都是8位波特率固定為:fosc/122025/1/1567數(shù)據(jù)輸出:
CLR用于對(duì)74LS164清0
2025/1/1568數(shù)據(jù)輸入:
S/L負(fù)脈沖將并行數(shù)據(jù)裝入,高電平時(shí)啟動(dòng)單片機(jī)進(jìn)行數(shù)據(jù)輸入。
2025/1/1569方式1:10位幀,用于雙機(jī)通信起始位:1位數(shù)據(jù)位:8位停止位:1位2025/1/1570串行發(fā)送:(寫(xiě)SBUF啟動(dòng)發(fā)送過(guò)程)
串行接收:(置REN=1啟動(dòng)接收過(guò)程)
2025/1/1571方式2和方式3:11位幀,用于多機(jī)通信起始位:1位數(shù)據(jù)位:9位停止位:1位2025/1/1572串行發(fā)送:(寫(xiě)SBUF啟動(dòng)發(fā)送過(guò)程)
串行接收:(置REN=1啟動(dòng)接收過(guò)程)
2025/1/157380C51波特率設(shè)定波特率的確定波特率的計(jì)算固定波特率:
方式0波特率=fosc/12
方式2波特率=(2SMOD/64)*
fosc可變波特率:
方式1波特率=(2SMOD/32)*(T1溢出率)
方式3波特率=(2SMOD/32)*(T1溢出率)
T1溢出率=fosc/{12×[256-(TH1)]}2025/1/1574波特率的選擇波特率要選擇標(biāo)稱(chēng)值,由于TH1的初值是整數(shù),為了減小波特率計(jì)算誤差,晶振頻率要選為11.0592MHz。
方式1和方式3波特率與TH1初值的對(duì)應(yīng)關(guān)系:
波特率/(b/s)19.2k9600480024001200TH1初值FDHFDHFAHF4HE8HSMOD100002025/1/1575串行口初始化步驟確定T1的工作方式(TMOD)計(jì)算T1的初值,裝載TH1、TL1啟動(dòng)T1(置位TR1)確定串行口工作方式(SCON)串口中斷設(shè)置(IE、IP)2025/1/15768.3.4
80C51單片機(jī)的串行口應(yīng)用利用單片機(jī)串口的并行I/O擴(kuò)展串口無(wú)通信需求時(shí)!2025/1/1577硬件連接近程連接(直連)單片機(jī)與單片機(jī)間的通信遠(yuǎn)程連接(電平轉(zhuǎn)換)2025/1/1578電平轉(zhuǎn)換器件與接線2025/1/1579通信協(xié)議串口方式1,2400Baud,T1定時(shí)方式2,晶振選11.0592MHz,查表知:TH1=TL1=F4H,SMOD=0A機(jī)發(fā)“E1”聯(lián)絡(luò),B機(jī)同意接收發(fā)“E2”響應(yīng)A機(jī)收到“E2”后,發(fā)數(shù)據(jù)塊及校驗(yàn)字節(jié)。B機(jī)接收數(shù)據(jù)塊及校驗(yàn)字節(jié),判傳輸是否正確正確時(shí)向A機(jī)發(fā)送“00H”,否則發(fā)送“FFH”A機(jī)接收到“00H”則本次傳輸結(jié)束。否則重新傳輸數(shù)據(jù)2025/1/1580流程圖2025/1/15816.3.3單片機(jī)與PC機(jī)間的通信硬件連接
直接連接交叉連接2025/1/1582通信協(xié)議串口方式1,1200Baud,T1定時(shí)方式2,晶振選11.0592MHz,查表知:TH1=TL1=E8H,SMOD=0PC機(jī)發(fā)“E1”聯(lián)絡(luò),單片機(jī)響應(yīng)后向PC機(jī)發(fā)送數(shù)據(jù)PC機(jī)再發(fā)“E1”聯(lián)絡(luò),單片機(jī)會(huì)再一次發(fā)送數(shù)據(jù)2025/1/1583程序流程【例】串口方式0應(yīng)用編程
8051單片機(jī)串行口方式0為移位寄存器方式,外接一個(gè)串入并出的移位寄存器,就可以擴(kuò)展一個(gè)并行口。ORG2000HSTART:
MOVSCON,#00H;置串行口工作方式0MOVA,#80H;最高位燈先亮
CLRP1.0;關(guān)閉并行輸出(避"暗紅"現(xiàn)象)OUT0:MOVSBUF,A;開(kāi)始串行輸出
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 超聲波和次聲波課件
- 《PDA發(fā)展與介紹》課件
- 單位管理制度展示大全【人事管理】十篇
- 單位管理制度展示大合集【人力資源管理篇】十篇
- 策略深度研究:當(dāng)前還有哪些高股息值得關(guān)注
- 全程編制棉絲絨項(xiàng)目可行性研究報(bào)告方案可用于立項(xiàng)及銀行貸款+201
- 2024-2026年中國(guó)微信公眾號(hào)市場(chǎng)調(diào)查研究及行業(yè)投資潛力預(yù)測(cè)報(bào)告
- 可行性項(xiàng)目研究報(bào)告電子類(lèi)
- 2024河南金屬及金屬礦批發(fā)市場(chǎng)前景及投資研究報(bào)告
- 2025年鹽酸酯項(xiàng)目可行性研究報(bào)告
- 2025北京朝陽(yáng)初二(上)期末數(shù)學(xué)真題試卷(含答案解析)
- 做賬實(shí)操-科學(xué)研究和技術(shù)服務(wù)業(yè)的賬務(wù)處理示例
- 2025年人教版歷史八上期末復(fù)習(xí)-全冊(cè)重難點(diǎn)知識(shí)
- 2024年國(guó)家安全員資格考試題庫(kù)及解析答案
- 山東省濱州市2023-2024學(xué)年高一上學(xué)期1月期末考試 政治 含答案
- 儀控技術(shù)手冊(cè)-自控專(zhuān)業(yè)工程設(shè)計(jì)用典型條件表
- 法務(wù)崗位招聘筆試題及解答(某大型國(guó)企)2025年
- 《慶澳門(mén)回歸盼祖國(guó)統(tǒng)一》主題班會(huì)教案
- 洗衣房工作人員崗位職責(zé)培訓(xùn)
- 廣東省深圳市光明區(qū)2022-2023學(xué)年五年級(jí)上學(xué)期數(shù)學(xué)期末試卷(含答案)
- XX小區(qū)春節(jié)燈光布置方案
評(píng)論
0/150
提交評(píng)論