




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、彭周華15.1 5.1 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器T0T0、T1T15.1.1 5.1.1 定時(shí)定時(shí)/ /計(jì)數(shù)器的結(jié)構(gòu)和工作原理計(jì)數(shù)器的結(jié)構(gòu)和工作原理5.1.2 5.1.2 定時(shí)定時(shí)/ /計(jì)數(shù)器的寄存器計(jì)數(shù)器的寄存器5.1.3 5.1.3 定時(shí)器的四種工作方式定時(shí)器的四種工作方式5.1.4 5.1.4 定時(shí)計(jì)數(shù)器的應(yīng)用程序設(shè)計(jì)定時(shí)計(jì)數(shù)器的應(yīng)用程序設(shè)計(jì)5.1.5 5.1.5 小小 結(jié)結(jié)5.2 5.2 串行接口串行接口2n測(cè)量控制系統(tǒng),常常要求有一些測(cè)量控制系統(tǒng),常常要求有一些定時(shí)器定時(shí)器, ,以實(shí)現(xiàn)定時(shí)以實(shí)現(xiàn)定時(shí)控制、定時(shí)測(cè)量或延時(shí)動(dòng)作,同時(shí)要求有控制、定時(shí)測(cè)量或延時(shí)動(dòng)作,同時(shí)要求有計(jì)數(shù)器計(jì)數(shù)器
2、能對(duì)能對(duì)外部事件計(jì)數(shù)。外部事件計(jì)數(shù)。n實(shí)現(xiàn)定時(shí)計(jì)數(shù)的實(shí)現(xiàn)定時(shí)計(jì)數(shù)的方法方法有有3 3種種(1 1)軟件定時(shí))軟件定時(shí)- -占用占用CPUCPU時(shí)間,減低時(shí)間,減低CPUCPU的利用率的利用率(2 2)硬件定時(shí))硬件定時(shí)- -延時(shí)時(shí)間固定,修改不方便。延時(shí)時(shí)間固定,修改不方便。(3 3)可編程定時(shí))可編程定時(shí)/ /計(jì)數(shù)器(硬件定時(shí),軟件設(shè)置)計(jì)數(shù)器(硬件定時(shí),軟件設(shè)置)3n5151系列單片機(jī)有系列單片機(jī)有2 2個(gè)個(gè)1616位定時(shí)位定時(shí)/ /計(jì)數(shù)器:計(jì)數(shù)器:T0T0和和T1T1 ;n2 2個(gè)定時(shí)器都有定時(shí)或事件計(jì)數(shù)的功能,可用于定個(gè)定時(shí)器都有定時(shí)或事件計(jì)數(shù)的功能,可用于定時(shí)控制、延時(shí)、對(duì)外部事件計(jì)
3、數(shù)和檢測(cè)等場(chǎng)合;時(shí)控制、延時(shí)、對(duì)外部事件計(jì)數(shù)和檢測(cè)等場(chǎng)合;n定時(shí)定時(shí)/ /計(jì)數(shù)器實(shí)際上是計(jì)數(shù)器實(shí)際上是1616位加位加1 1計(jì)數(shù)器。計(jì)數(shù)器。 T0 T0由由2 2個(gè)個(gè)8 8位持殊功能寄存器位持殊功能寄存器TH0TH0和和TL0TL0構(gòu)成,構(gòu)成, T1 T1由由2 2個(gè)個(gè)8 8位持殊功能寄存器位持殊功能寄存器TH1TH1和和TL1TL1構(gòu)成。構(gòu)成。nT0T0和和T1T1都可由軟件設(shè)置為都可由軟件設(shè)置為定時(shí)或計(jì)數(shù)定時(shí)或計(jì)數(shù)工作方式;工作方式;nT0T0和和T1T1受受2 2個(gè)特殊功能寄存器個(gè)特殊功能寄存器TMODTMOD和和TCONTCON控制。控制。 4振蕩源 12T0引腳SKC/ T=0C/
4、T=1TH0 TL0 中斷TF0TR0GATEINT0&11S打向上,定時(shí); S打向下,計(jì)數(shù):計(jì)數(shù)滿,標(biāo)志置位,產(chǎn)生中斷。TR0=1,GATE=0時(shí),定時(shí)/計(jì)數(shù)器直接啟動(dòng)工作; TR0=1,GATE=1時(shí),啟動(dòng)受INT0控制。5定時(shí)工作方式時(shí),定時(shí)器脈沖由單片機(jī)內(nèi)部振蕩器經(jīng)12分頻后產(chǎn)生的。每經(jīng)過(guò)一個(gè)機(jī)器周期定時(shí)器(T0或T1)的數(shù)值加1,直至計(jì)數(shù)滿產(chǎn)生溢出。例如:當(dāng)8051采用12MHz晶體時(shí),每個(gè)機(jī)器周期為1s,計(jì)5 個(gè)計(jì)數(shù)周期即為5s,即定時(shí)5s 。6計(jì)數(shù)工作方式時(shí),計(jì)數(shù)脈沖信號(hào)來(lái)自計(jì)數(shù)工作方式時(shí),計(jì)數(shù)脈沖信號(hào)來(lái)自T T0 0(P3.4)(P3.4)和和T T1 1(P3.5)(
5、P3.5)引腳。引腳。當(dāng)輸入脈沖信號(hào)產(chǎn)生由當(dāng)輸入脈沖信號(hào)產(chǎn)生由1 1至至0 0的下降沿時(shí),定時(shí)器的值加的下降沿時(shí),定時(shí)器的值加1 1;在每個(gè)機(jī)器周期在每個(gè)機(jī)器周期CPUCPU采樣采樣T T0 0和和T T1 1的輸入電平。若前一個(gè)的輸入電平。若前一個(gè)機(jī)器周期采樣值為高,下一個(gè)采樣周期值為低,則計(jì)數(shù)器機(jī)器周期采樣值為高,下一個(gè)采樣周期值為低,則計(jì)數(shù)器加加 1 1。檢測(cè)跳變需要檢測(cè)跳變需要2 2個(gè)機(jī)器周期,故最高計(jì)數(shù)頻率個(gè)機(jī)器周期,故最高計(jì)數(shù)頻率f=f=foscfosc/24/24。為了確保某個(gè)電平在變化之前至少被采樣一次,要求電平為了確保某個(gè)電平在變化之前至少被采樣一次,要求電平保持時(shí)間至少是一
6、個(gè)完整的機(jī)器周期。保持時(shí)間至少是一個(gè)完整的機(jī)器周期。TcyTcyTcy: 機(jī)器周期機(jī)器周期7n工作模式寄存器工作模式寄存器TMODTMOD(89H),(89H),控制寄存器控制寄存器TCONTCON(88H)88H)1. 1. TMOD TMOD用于控制用于控制T0T0和和T1T1的工作方式。其各位的定義如下:的工作方式。其各位的定義如下:定時(shí)器T0 定時(shí)器T1M0M1GATEM0M1GATED0D1D2 D3D4D5D6 D7C/ TC/ T8GATEGATEC/TC/TM1M1 M0M0GATEGATEC/ TM1M1M0M0GATE=0,TRx=1時(shí),即可啟動(dòng)定時(shí)器工作;GATE=1,I
7、NTx=1且TRx=1時(shí),才可啟動(dòng)定時(shí)器工作。C/TC/T=1,為計(jì)數(shù)器方式;C/T=0C/T=0,為定時(shí)器方式。nM1M0M1M0:M1M0=00:工作方式0(13位方式)。M1M0=01:工作方式1(16位方式)。M1M0=10:工作方式2(8位自動(dòng)再裝入方式)。M1M0=11:工作方式3(T0為2個(gè)8位方式)。9INT0方式下沿/低電平 INT0請(qǐng)求有/無(wú) INT1方式下沿/ 低電平 INT1 請(qǐng)求有/無(wú) T0 工作啟/停 T0 請(qǐng)求有/無(wú) T1工作啟/停 T1 請(qǐng)求有/無(wú) IT0 IE0IT1IE1TR0 TF0 TR1 TF1T1T0外部中斷2.2.控制寄存器控制寄存器TCON(88
8、H) TCON(88H) 10nTF1TF1:T1溢出中斷請(qǐng)求標(biāo)志。TF1=1,T1有溢出中斷請(qǐng)求。TF1=0,T1無(wú)溢出中斷請(qǐng)求。nTR1TR1:T1運(yùn)行控制位。TR1=1,啟動(dòng)T1工作。TR1=0,停止T1工作n TF0TF0:T0溢出中斷請(qǐng)求標(biāo)志。TF0=1,T0有溢出中斷請(qǐng)求。TF0=0,T0無(wú)溢出中斷請(qǐng)求。n TR0TR0:T0運(yùn)行控制位。TR0=1,啟動(dòng)T0工作。TR0=0,停止T0工作。11n 對(duì)TMOD寄存器的M1、M0位的設(shè)置,可選擇工作方式0-3;以下用THX、TLX(X=0或1)表示TH1、TL1、TH0、TL0。T0(或T1)工作于13位定時(shí)計(jì)數(shù)方式。16位寄存器(TH
9、X+TLX)只用13位,TLX的高3位未用。振蕩源 12Tx引腳SKC/ T=0C/ T=1THx TLx 中斷TFxTRxGATEINTx&118位低5位12n當(dāng)TLX的低5位溢出時(shí),向THX進(jìn)位;而THX溢出時(shí),硬件置位TFX。n定時(shí)/計(jì)數(shù)溢出與否,可查詢TFx進(jìn)行判斷;如果開(kāi)中斷則產(chǎn)生溢出中斷。n 方式0 最大計(jì)數(shù)值為 213 8192個(gè)脈沖;用于定時(shí)工作時(shí),定時(shí)時(shí)間為:t(213一Tx初值) 機(jī)器周期13n16位定時(shí)計(jì)數(shù)方式,寄存器THx和TLx以16位參與操作。n最大計(jì)數(shù) 21665536(個(gè)脈沖) 定時(shí)工作方式時(shí),定時(shí)時(shí)間為: t(216一Tx初值) 機(jī)器周期14n8位的可
10、自動(dòng)重裝載的定時(shí)/計(jì)數(shù)方式。16位的計(jì)數(shù)器被拆成兩個(gè)8位,其中TLx用作8位計(jì)數(shù)器, THx用以保持計(jì)數(shù)初值。當(dāng)TLx計(jì)數(shù)溢出,置位TFx,THx中的初值自動(dòng)裝入TLx繼續(xù)計(jì)數(shù),循環(huán)重復(fù)計(jì)數(shù)。振蕩源 12Tx引腳SKC/ T=0C/ T=1 TLx 中斷TFxTRxGATEINTx&11 THx15最大計(jì)數(shù)值為:最大計(jì)數(shù)值為:2828256(256(個(gè)脈沖個(gè)脈沖) )。 定時(shí)工作方式時(shí),定時(shí)時(shí)間為:定時(shí)工作方式時(shí),定時(shí)時(shí)間為: t t(256(256一一TxTx初值初值) ) 機(jī)器周期機(jī)器周期n這種工作方式可省去用戶重載常數(shù)的操作,并可產(chǎn)生這種工作方式可省去用戶重載常數(shù)的操作,并可產(chǎn)生
11、精確的定時(shí)時(shí)間。精確的定時(shí)時(shí)間。16僅適用于T0TL0和TH0被分成為兩個(gè)互相獨(dú)立的8位計(jì)數(shù)器。TL0可作為定時(shí)或計(jì)數(shù)方式。占用定時(shí)器0的各控制位、引腳和中斷源。即、GATE、TR0、TF0控制位以及引腳T0和INT0引腳。TH0只能用作定時(shí)功能,占用定時(shí)器1的控制位TR1和中斷標(biāo)志位TF1,其啟動(dòng)和關(guān)閉僅受TRl的控制。這種情況下,T1仍可工作于方式0、1、2,但不能使用中斷方式。實(shí)際中只有將T1用做串行口的波特率發(fā)生器時(shí),T0才工作在方式3,以便增加一個(gè)定時(shí)器。 17n定時(shí)/計(jì)數(shù)器0(方式3):2個(gè)8位計(jì)數(shù)器。振蕩源 12T0引腳SC/ T=0C/ T=1TR0GATEINT0&1
12、1K TL0 中斷TF01/12foscK TH0 中斷TF11/12foscTR1181、定時(shí)/計(jì)數(shù)器初值的計(jì)算和載入定時(shí)器/計(jì)數(shù)器不同工作方式,其最大計(jì)數(shù)值(模值)不同,由于采用加1計(jì)數(shù),因此計(jì)數(shù)初值應(yīng)為負(fù)值,計(jì)算機(jī)中負(fù)數(shù)是采用補(bǔ)碼表示。n初值的求法:定時(shí)方式:初值 = -t / MC補(bǔ) =模t / MC采用12MHZ晶振時(shí),MC=1us;6MHZ晶振, MC=2us。定時(shí)時(shí)間機(jī)器周期=12/foscn計(jì)數(shù)方式:初值 =模要計(jì)數(shù)的值X。19例: 計(jì)算T0 計(jì)數(shù)100個(gè)脈沖的初值00111111TH0高8位00111XXXTL0低5位初值=2000H64H=1F9CH1F9CH0001 11
13、11 1001 1100 B 用指令裝入初值:MOVMOV TH0,#0FCH;MOVMOV TL0,#1CH;(xxx用0填入)初值=10000H-64H=FF9CH用指令裝入計(jì)數(shù)初值:MOVMOV TH0,#0FFHMOVMOV TL0,#9CH20方式方式2 2(8 8位自動(dòng)再裝入方式)位自動(dòng)再裝入方式): :初值=100H64H=9CH初值既要裝入TH0,也要裝入TL0:MOV TH0,#9CH MOV TL0,#9CH21n定時(shí)/計(jì)數(shù)器是可編程部件,使用前應(yīng)先對(duì)其內(nèi)部寄存器進(jìn)行設(shè)置-這稱(chēng)為初始化。定時(shí)計(jì)數(shù)器的初始化步驟:1)根據(jù)定時(shí)時(shí)間要求,計(jì)算計(jì)數(shù)器初值;2)設(shè)置工作方式控制字,送
14、TMOD寄存器;3)設(shè)置初值,送到THX和TLX寄存器中;4)啟動(dòng)定時(shí)(或計(jì)數(shù)),即置位TRX。n如果工作于中斷方式,需要置位EA(中斷總開(kāi)關(guān))及ETX(允許定時(shí)/計(jì)數(shù)器中斷),并編中斷服務(wù)程序。22例:利用T1完成100ms的定時(shí),當(dāng)P1輸出1時(shí),發(fā)光二極管亮, 晶振6MHz,要求每隔100ms,1左移一次循環(huán)點(diǎn)亮。采用方式1定時(shí),先計(jì)算計(jì)數(shù)初值:6MHz晶體,機(jī)器周期MC=2s n計(jì)數(shù)值: 100ms/2s=50000=C350Hn定時(shí)器初值:(C350H)補(bǔ) =10000H-C350H=3CB0HM0M0M1M1GATEGATEM0M0M1M1GATEGATEC/ TC/ TT1 方式1
15、 :TMOD=10H23ORG 00HMOV TMOD,#10H ;T1工作于定時(shí)方式1MOV A,#01H ;置初值,第一個(gè)LED亮NEXT:MOV P1,AMOV TH1,#3CHMOV TL1,#0B0H ;定時(shí)100ms SETB TR1 AGAI: JBC TF1,SHI ;100ms到轉(zhuǎn)SHI,并清TF1SJMP AGAISHI: RL ASJMP NEXT24ORG 0000H AJMP MAIN ;單片機(jī)復(fù)位后從0000H開(kāi)始執(zhí)行ORG 001BH ;T1中斷入口AJMP TIME1 ;轉(zhuǎn)到T1 中斷服務(wù)程序ORG 0050H ;主程序MAIN:MOV A,#01H MOV P
16、1,A ;置初值,第一個(gè)LED亮MOV TMOD,#10H ;T1工作于定時(shí)方式1MOV TH1,#3CHMOV TL1,#0B0H ;定時(shí)100msSETB EA ;中斷總允許SETB TR1 ;啟動(dòng)T1工作SETB ET1 ;允許T1中斷WAIT:SJMP WAIT ;等待中斷25TIME1:RL A ;左移一位 MOV P1,A ;下一個(gè)發(fā)光二極管亮MOV TH1,#3CHMOV TL1,#0B0H ;重裝計(jì)數(shù)值RETI ;中斷返回以上程序執(zhí)行結(jié)果,八個(gè)LED一直循環(huán)輪流點(diǎn)亮。26例:在P1.7端接一個(gè)發(fā)光二極管LED,要求利用定時(shí)控制使LED亮一秒滅一秒,周而復(fù)始,設(shè)fosc=6MHZ
17、。89C51P1.7+5VLED分析:16位定時(shí)最大 65536*2us=131.072ms,顯然不能滿足要求,可用以下兩種方法解決。P1.0T11s27n采用T0產(chǎn)生周期為200ms脈沖,即P1.0每100ms取反一次作為T(mén)1的計(jì)數(shù)脈沖,T1對(duì)下降沿計(jì)數(shù),因此T1計(jì)5個(gè)脈沖正好1s。nT0定時(shí)、采用方式1:初值 X0= 65536100*103/2 得:X=3CB0 H;nT1計(jì)數(shù)、采用方式2:計(jì)數(shù)初值X1 =2565=FBH TMOD=61H;TH0=3CH;TL0=0B0H;TH1=TL1=0FBH。n兩個(gè)定時(shí)/計(jì)數(shù)器均采用查詢方式: 285-29P1.7=0,P1.0=1T0:定時(shí)方式
18、1T1:計(jì)數(shù)方式2P1.7求反裝T1初值,TR1=1裝T0初值,TR0=1100ms到? P1.0求反計(jì)滿5次? YNYNLED滅高電平脈沖脈沖取反LED取反ORGORG 0000H 0000HMAINMAIN:CLRCLR P1.7 P1.7SETB SETB P1.0P1.0MOVMOV TMOD TMOD,#61H#61HMOVMOV TH1 TH1,#0FBH#0FBHMOVMOV TL1 TL1,#0FBH#0FBHSETBSETB TR1 TR1LOOP1LOOP1:CPL CPL P1.7P1.7 LOOP2 LOOP2:MOVMOV TH0 TH0,#3CH#3CHMOVMOV
19、 TL0 TL0,#0B0H#0B0HSETBSETB TR0 TR0 LOOP3LOOP3:JBCJBC TF0TF0,LOOP4LOOP4SJMPSJMP LOOP3 LOOP3 LOOP4 LOOP4:CPLCPL P1.0 P1.0JBCJBC TF1 TF1,LOOP1LOOP1AJMPAJMP LOOP2LOOP2ENDEND程序中用JBC指令對(duì)定時(shí)/計(jì)數(shù)溢出標(biāo)志位進(jìn)行檢測(cè),當(dāng)標(biāo)志位為1時(shí)跳轉(zhuǎn)并清標(biāo)志。30T0T0每隔每隔100ms100ms中斷一次,利用軟件對(duì)中斷一次,利用軟件對(duì)T0T0的中斷次數(shù)進(jìn)行計(jì)的中斷次數(shù)進(jìn)行計(jì)數(shù),中斷數(shù),中斷1010次次即實(shí)現(xiàn)了即實(shí)現(xiàn)了1 1秒的定時(shí)。秒
20、的定時(shí)。ORG 0000HORG 0000HAJMPAJMP MAIN MAIN ;主程序;主程序ORG 000BH ORG 000BH ;T0T0中斷服務(wù)程序入口中斷服務(wù)程序入口 AJMPAJMP TIMER0 TIMER0ORG 0030H ORG 0030H ;主程序開(kāi)始;主程序開(kāi)始 MAINMAIN:CLRCLR P1.7 P1.7MOVMOV TMOD TMOD,#01H#01HMOVMOV TH0 TH0,#3CH #3CH ;T0T0定時(shí)定時(shí)100ms100msMOVMOV TL0 TL0,#0B0H#0B0HSETBSETB ET0 ET0SETBSETB EA EA 3132
21、MOVMOV R4 R4,#0AH #0AH ;中斷;中斷1010次計(jì)數(shù)器次計(jì)數(shù)器SETBSETB TR0 TR0SJMPSJMP ;等待中斷;等待中斷TIMER0TIMER0:DJNZDJNZ R4 R4,RET0RET0MOVMOV R4 R4,#0AH #0AH ;重置;重置1010次計(jì)數(shù)值次計(jì)數(shù)值CPLCPL P1.7 P1.7 ;LEDLED取反取反RET0RET0:MOVMOV TH0 TH0,#3CH #3CH ;定時(shí)初值重裝載;定時(shí)初值重裝載MOVMOV TL0 TL0,#0B0H#0B0HSETBSETB TR0 TR0RETIRETI n定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器應(yīng)用應(yīng)用非
22、常非常廣泛廣泛,如定時(shí)采樣、時(shí)間測(cè)量、,如定時(shí)采樣、時(shí)間測(cè)量、產(chǎn)生音響、作脈沖源、制作日歷時(shí)鐘、測(cè)量波形的頻產(chǎn)生音響、作脈沖源、制作日歷時(shí)鐘、測(cè)量波形的頻率和占空比、檢測(cè)電機(jī)轉(zhuǎn)速等,因此應(yīng)很好掌握。率和占空比、檢測(cè)電機(jī)轉(zhuǎn)速等,因此應(yīng)很好掌握。n5151系列單片機(jī)有兩個(gè)系列單片機(jī)有兩個(gè)1616位的定時(shí)位的定時(shí)/ /計(jì)數(shù)器,有四種不計(jì)數(shù)器,有四種不同的工作方式,歸納于表中同的工作方式,歸納于表中(P105) (P105) 。n使用定時(shí)使用定時(shí)/ /計(jì)數(shù)器前要先計(jì)數(shù)器前要先初始化初始化;設(shè)置方式;設(shè)置方式控制字控制字TMODTMOD,計(jì)數(shù)初值,計(jì)數(shù)初值THxTHx,TLxTLx;啟動(dòng)工作啟動(dòng)工作TR
23、xTRx;中斷;中斷方式,還需方式,還需開(kāi)中斷開(kāi)中斷(EAEA和和ETxETx)。)。n定時(shí)定時(shí)/ /計(jì)數(shù)器是加計(jì)數(shù)器是加1 1計(jì)數(shù),初值為負(fù)數(shù),用補(bǔ)碼表示。計(jì)數(shù),初值為負(fù)數(shù),用補(bǔ)碼表示。n計(jì)數(shù)產(chǎn)生溢出(計(jì)數(shù)初值寄存器回零),置位計(jì)數(shù)產(chǎn)生溢出(計(jì)數(shù)初值寄存器回零),置位TFxTFx , , 可以通過(guò)程序查詢;如果允許中斷,會(huì)產(chǎn)生中斷??梢酝ㄟ^(guò)程序查詢;如果允許中斷,會(huì)產(chǎn)生中斷。3334n串行通訊串行通訊是是CPUCPU跟外界進(jìn)行信息交換的一種基本方式。跟外界進(jìn)行信息交換的一種基本方式。n單片機(jī)用于數(shù)據(jù)采集或工業(yè)控制時(shí),往往作為數(shù)據(jù)采單片機(jī)用于數(shù)據(jù)采集或工業(yè)控制時(shí),往往作為數(shù)據(jù)采集和工業(yè)控制的前
24、端設(shè)備遠(yuǎn)離主機(jī),現(xiàn)場(chǎng)數(shù)據(jù)采用集和工業(yè)控制的前端設(shè)備遠(yuǎn)離主機(jī),現(xiàn)場(chǎng)數(shù)據(jù)采用串串行通訊行通訊的方式發(fā)往中央控制主機(jī)進(jìn)行處理,以降低通的方式發(fā)往中央控制主機(jī)進(jìn)行處理,以降低通訊成本,提高通訊可靠性。訊成本,提高通訊可靠性。35n 計(jì)算機(jī)與外界的信息交換稱(chēng)為計(jì)算機(jī)與外界的信息交換稱(chēng)為通訊通訊。數(shù)據(jù)通信方式。數(shù)據(jù)通信方式有兩種:有兩種:并行通信并行通信與與串行通信串行通信;并行通信:并行通信:所傳送數(shù)據(jù)的各位同時(shí)發(fā)送或接收。所傳送數(shù)據(jù)的各位同時(shí)發(fā)送或接收。 特點(diǎn):特點(diǎn): 速度快速度快, ,適合近距離傳輸適合近距離傳輸, ,傳輸線多。如計(jì)算機(jī)并口,傳輸線多。如計(jì)算機(jī)并口,打印機(jī)。打印機(jī)。 計(jì)算機(jī)計(jì)算機(jī)或外
25、設(shè)D0D1D2D3D4D5D7D6GNDD0D1D2D3D4D5D7D6GND36串行通信:串行通信:所傳送數(shù)據(jù)的各位按順序所傳送數(shù)據(jù)的各位按順序一位一位一位一位地發(fā)送或接收。地發(fā)送或接收。如:如:只需只需2 2根數(shù)據(jù),根數(shù)據(jù),1 1根地線,共根地線,共3 3根即可實(shí)現(xiàn)雙向通信。根即可實(shí)現(xiàn)雙向通信。 特點(diǎn):特點(diǎn):成本低,硬件方便,適合遠(yuǎn)距離通信,傳輸速度低成本低,硬件方便,適合遠(yuǎn)距離通信,傳輸速度低如:如:RS-232C,RS-485.RS-232C,RS-485.計(jì)算機(jī)計(jì)算機(jī)或外設(shè)GNDTXDRXDGNDRXDTXD1001011037n通信協(xié)議:通信協(xié)議:通信雙方的通信約定,什么時(shí)候開(kāi)始發(fā)
26、送,什么通信雙方的通信約定,什么時(shí)候開(kāi)始發(fā)送,什么時(shí)候發(fā)送完畢,同步方式,糾錯(cuò)方式;時(shí)候發(fā)送完畢,同步方式,糾錯(cuò)方式;n幀:幀:串行通信完成一次完整通信的過(guò)程。串行通信完成一次完整通信的過(guò)程。從開(kāi)始到結(jié)束的數(shù)從開(kāi)始到結(jié)束的數(shù)據(jù)稱(chēng)據(jù)稱(chēng)一幀數(shù)據(jù)一幀數(shù)據(jù)。串行通訊串行通訊分類(lèi)分類(lèi):n按按幀信息的格式幀信息的格式串行通信分為串行通信分為同步通信同步通信和和異步通信。異步通信。38n異步通訊的一幀異步通訊的一幀數(shù)據(jù)格式數(shù)據(jù)格式 一個(gè)起始位一個(gè)起始位00表示字符的開(kāi)始,然后是表示字符的開(kāi)始,然后是5 58 8位數(shù)據(jù)即該字符的代碼,規(guī)定低位在前,高位在位數(shù)據(jù)即該字符的代碼,規(guī)定低位在前,高位在后,接下來(lái)是奇
27、偶校驗(yàn)位后,接下來(lái)是奇偶校驗(yàn)位( (可省略可省略) ),最后以停止,最后以停止位位11表示字符的結(jié)束。表示字符的結(jié)束。39D0D1D2 D3 D4 D5 D6 D7P10起始位數(shù)據(jù)位(58位)校驗(yàn)位停止位優(yōu)點(diǎn):優(yōu)點(diǎn):硬件結(jié)構(gòu)簡(jiǎn)單。硬件結(jié)構(gòu)簡(jiǎn)單。缺點(diǎn):缺點(diǎn):傳輸速度慢。傳輸速度慢。P1第n幀字符n-1幀n+1幀0D0D0 D1 D2 D3 D4 D5 D6 D7P10起始位數(shù)據(jù)位(58位)校驗(yàn)位停止位n在在同步通信同步通信中,發(fā)送方在數(shù)據(jù)開(kāi)始之處就用同步字符中,發(fā)送方在數(shù)據(jù)開(kāi)始之處就用同步字符( (常常約定約定1 12 2個(gè)字節(jié)個(gè)字節(jié)) )指示指示一幀的開(kāi)始一幀的開(kāi)始 ,由時(shí)鐘來(lái)實(shí)現(xiàn)發(fā)送端,由時(shí)
28、鐘來(lái)實(shí)現(xiàn)發(fā)送端和接收端同步。接收方一旦檢測(cè)到與規(guī)定相同的同步字符,和接收端同步。接收方一旦檢測(cè)到與規(guī)定相同的同步字符,就連續(xù)按順序接受若干個(gè)數(shù)據(jù),最后發(fā)校驗(yàn)字節(jié)。就連續(xù)按順序接受若干個(gè)數(shù)據(jù),最后發(fā)校驗(yàn)字節(jié)。SYN字符2數(shù)據(jù)1數(shù)據(jù)2.數(shù)據(jù)n連續(xù)傳送n 個(gè)數(shù)據(jù)校驗(yàn)SYN字符1同步通信的數(shù)據(jù)幀格式同步通信的數(shù)據(jù)幀格式特點(diǎn):特點(diǎn):n數(shù)據(jù)傳送效率高。沒(méi)有起始、結(jié)束標(biāo)志,一次傳送多個(gè)數(shù)據(jù)。數(shù)據(jù)傳送效率高。沒(méi)有起始、結(jié)束標(biāo)志,一次傳送多個(gè)數(shù)據(jù)。n對(duì)硬件對(duì)硬件( (時(shí)鐘嚴(yán)格同步時(shí)鐘嚴(yán)格同步) )要求較高。要求較高。41n按按通信方向通信方向分類(lèi)分類(lèi):?jiǎn)喂?、半雙工、全雙工通信方式單工、半雙工、全雙工通信方式 單
29、工方式單工方式: : 只能發(fā)送只能發(fā)送/ /接收,這種單向傳送方式稱(chēng)單工接收,這種單向傳送方式稱(chēng)單工方式。方式。如:如:通信的一端只有發(fā)送器,或只有接收器。通信的一端只有發(fā)送器,或只有接收器。 發(fā)送器甲機(jī)接收器乙機(jī)42發(fā)送器甲機(jī)接收器發(fā)送器乙機(jī)接收器半雙工方式:半雙工方式:能雙向傳送的通信方式稱(chēng)雙工方式。能雙向傳送的通信方式稱(chēng)雙工方式。 數(shù)據(jù)可以雙向傳送,但不能同時(shí)發(fā)送和接收,只能分時(shí)接數(shù)據(jù)可以雙向傳送,但不能同時(shí)發(fā)送和接收,只能分時(shí)接收或發(fā)送的通信方式,稱(chēng)為半(準(zhǔn))雙工收或發(fā)送的通信方式,稱(chēng)為半(準(zhǔn))雙工 。如:如:每端口有一個(gè)發(fā)送器和一個(gè)接收器,因使用同一根數(shù)據(jù)每端口有一個(gè)發(fā)送器和一個(gè)接收
30、器,因使用同一根數(shù)據(jù)線,要通過(guò)換向器轉(zhuǎn)換方向。線,要通過(guò)換向器轉(zhuǎn)換方向。43全雙工方式全雙工方式 能同時(shí)發(fā)送和接收數(shù)據(jù)的通信方式稱(chēng)全雙工。能同時(shí)發(fā)送和接收數(shù)據(jù)的通信方式稱(chēng)全雙工。如:如:通信雙方用兩個(gè)獨(dú)立的收通信雙方用兩個(gè)獨(dú)立的收/ /發(fā)器單獨(dú)連接。發(fā)器單獨(dú)連接。發(fā)送器甲機(jī)接收器發(fā)送器乙機(jī)接收器44 因?yàn)橐驗(yàn)镃PUCPU處理的是并行數(shù)據(jù),在發(fā)送端,串行接口將處理的是并行數(shù)據(jù),在發(fā)送端,串行接口將CPUCPU送出的并行數(shù)據(jù)送出的并行數(shù)據(jù)串行數(shù)據(jù);在接收端,串行接口將接收串行數(shù)據(jù);在接收端,串行接口將接收到串行數(shù)據(jù)到串行數(shù)據(jù)并行數(shù)據(jù),送往并行數(shù)據(jù),送往CPUCPU處理。處理。串行接口電路應(yīng)實(shí)現(xiàn)不同
31、串行通信方式下的數(shù)據(jù)格式化任串行接口電路應(yīng)實(shí)現(xiàn)不同串行通信方式下的數(shù)據(jù)格式化任務(wù)。務(wù)。如:如:在在異步方式異步方式下自動(dòng)生成起始、終止方式的下自動(dòng)生成起始、終止方式的幀數(shù)據(jù)格式幀數(shù)據(jù)格式在在同步方式同步方式下在待傳送的數(shù)據(jù)塊前加上下在待傳送的數(shù)據(jù)塊前加上同步字符同步字符 串行接口應(yīng)具備對(duì)數(shù)據(jù)傳輸速率(波特率)的控制選擇能串行接口應(yīng)具備對(duì)數(shù)據(jù)傳輸速率(波特率)的控制選擇能力,即具有波特率發(fā)生器。力,即具有波特率發(fā)生器。45在發(fā)送時(shí),對(duì)傳送的數(shù)據(jù)自動(dòng)生成校驗(yàn)位或校驗(yàn)碼;在發(fā)送時(shí),對(duì)傳送的數(shù)據(jù)自動(dòng)生成校驗(yàn)位或校驗(yàn)碼;在接收端,能檢查校驗(yàn)位或校驗(yàn)碼,確定傳送中是否在接收端,能檢查校驗(yàn)位或校驗(yàn)碼,確定傳
32、送中是否有誤碼。有誤碼。 46波特率波特率(Baud RateBaud Rate)- -通信中用以表示數(shù)據(jù)傳送速率。通信中用以表示數(shù)據(jù)傳送速率。單位單位時(shí)間內(nèi)傳送的信息量。以每秒傳送的二進(jìn)制位數(shù)時(shí)間內(nèi)傳送的信息量。以每秒傳送的二進(jìn)制位數(shù)bpsbps。例:例:100100字符字符/ /秒,秒,1 1個(gè)字符個(gè)字符1111位位(起始、停止、校驗(yàn)、數(shù)據(jù)起始、停止、校驗(yàn)、數(shù)據(jù)) 波特率為:波特率為:10010011=1100bps 11=1100bps 平均每位傳送占用時(shí)間平均每位傳送占用時(shí)間: Td = 1/1100=0.909ms: Td = 1/1100=0.909ms波特率發(fā)生器波特率發(fā)生器發(fā)送
33、時(shí),在發(fā)送時(shí)鐘的作用下將移位寄存器的數(shù)據(jù)串行移出;發(fā)送時(shí),在發(fā)送時(shí)鐘的作用下將移位寄存器的數(shù)據(jù)串行移出;接收時(shí),在接收時(shí)鐘的作用下將通信線上的數(shù)據(jù)移入移位寄接收時(shí),在接收時(shí)鐘的作用下將通信線上的數(shù)據(jù)移入移位寄存器,能存器,能產(chǎn)生發(fā)送時(shí)鐘和接收時(shí)鐘產(chǎn)生發(fā)送時(shí)鐘和接收時(shí)鐘的電路稱(chēng)的電路稱(chēng)波特率發(fā)生器波特率發(fā)生器。為了提高采樣的分辨率,準(zhǔn)確定位數(shù)據(jù)的上升沿下降沿,時(shí)為了提高采樣的分辨率,準(zhǔn)確定位數(shù)據(jù)的上升沿下降沿,時(shí)鐘頻率總是高于波特率的若干倍,這個(gè)倍數(shù)稱(chēng)為鐘頻率總是高于波特率的若干倍,這個(gè)倍數(shù)稱(chēng)為波特率因子波特率因子。47n 通信速率和通信距離與通信速率和通信距離與傳輸線的電氣特性傳輸線的電氣特性
34、有關(guān);有關(guān);通信速率和通信距離這兩個(gè)方面是相互制約的,降低通信通信速率和通信距離這兩個(gè)方面是相互制約的,降低通信速率,可以提高通信距離。不同的通信距離,串行通信電速率,可以提高通信距離。不同的通信距離,串行通信電路有不同的連接方法。路有不同的連接方法。(1 1)近距離通信電路(板級(jí))近距離通信電路(板級(jí)) RXDRXD TXD TXD GND GNDRXDRXDTXDTXDGNDGND48(2)較遠(yuǎn)距離傳送電路(15m)RXDTXDGND電平轉(zhuǎn)換RXDTXDGNDRXDTXDGND電平轉(zhuǎn)換RXDTXDGND微機(jī)微機(jī)或其他設(shè)備RS-232CRS-232C49 (3)遠(yuǎn)距離傳送電路發(fā)送:發(fā)送:數(shù)字
35、信號(hào)通過(guò)調(diào)制器(數(shù)字信號(hào)通過(guò)調(diào)制器(ModemModem)變成模擬信號(hào)通過(guò)電話線傳送到對(duì)方)變成模擬信號(hào)通過(guò)電話線傳送到對(duì)方; ;接收:接收:接收方通過(guò)解調(diào)器將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)接收。接收方通過(guò)解調(diào)器將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)接收。微機(jī)接口調(diào)制解調(diào)器調(diào)制解調(diào)器接口微機(jī)電話分機(jī)電話分機(jī)n測(cè)量控制系統(tǒng)中,計(jì)算機(jī)通信經(jīng)常采用異步串行通信方式n常用的異步總線標(biāo)準(zhǔn)有三種:RS-232C RS-449(RS-422 RS-423 RS-485)20mA電流環(huán)n傳輸速率與距離: RS-232C: 速率:20Kbit/S, 最大通信距離 : 15m RS-422: 10Mbit/s, : 300m 90Kb
36、it/s, :1200m51n抗干擾能力 采用標(biāo)準(zhǔn)的通信接口,本身具有一定的抗干擾能力,但是工業(yè)現(xiàn)場(chǎng)的情況往往很惡劣,因而要根據(jù)具體情況進(jìn)行選擇。RS-232C:一般場(chǎng)合,常用在實(shí)驗(yàn)室;RS-422: 抗共模信號(hào)比較強(qiáng)(差動(dòng)輸入);光纖: 抗電磁干擾較強(qiáng)。52n美國(guó)電子工業(yè)協(xié)會(huì)(EIA)公布的一種異步通信標(biāo)準(zhǔn)。RS232C標(biāo)準(zhǔn)是:設(shè)備之間通信的距離不大于15米;最大傳輸速率20KB/S采用負(fù)邏輯:1:-3V-15V 0:+3V - +15V連接器:9針D型連接器(早期25針);154326789GNDTXDDTRRXDDSRDCDRTSCTSRI53n握手信號(hào)(與Modem連接時(shí)使用)RTS:
37、請(qǐng)求發(fā)送信號(hào),輸出;CTS:清除傳送,對(duì)RTS的響應(yīng),輸入;DCD:載波檢測(cè),輸入;DSR:數(shù)據(jù)通信準(zhǔn)備就緒,輸入;DTR:數(shù)據(jù)終端就緒,輸出。nRS-232C的EIA電平與TTL電平的轉(zhuǎn)換當(dāng)計(jì)算機(jī)采用RS-232標(biāo)準(zhǔn)時(shí)必須通過(guò)電平變換,如: MC1488/1489、MAX23254nMAX232 MAX232 是是EIAEIA和和TTLTTL雙向電平轉(zhuǎn)換芯片。內(nèi)部具有雙向電平轉(zhuǎn)換芯片。內(nèi)部具有電壓提升電路,并有兩路接收器和發(fā)送器。只需單一電壓提升電路,并有兩路接收器和發(fā)送器。只需單一+5V+5V電源。電源。C1+C1-C2+C2-V+V-MAX232R1INT1INT2INT1OUTT2OU
38、TR2INR1OUTR2OUT+5V1F1F1F1F1FTTL/CMOSTTL/CMOSRS-232RS-23255 RXD TXD GNDRXDTXDGND8xx518xx51TTLTTL56 8xx51GNDRXDTXDTTLC1+C1-C2+C2-V+V-MAX232R1INT1INT2INT1OUTT2OUTR2INR1OUTR2OUT154326789RS-232PC機(jī)154326789TXDRXDRS-23257n5151單片機(jī)有一個(gè)可編程的全雙工異步串行通信接口,它單片機(jī)有一個(gè)可編程的全雙工異步串行通信接口,它可作可作UARTUART(異步接收和發(fā)送器)用,也可作(異步接收和發(fā)送
39、器)用,也可作同步移位寄同步移位寄存器存器,其,其幀格式可有幀格式可有8 8位、位、1010位或位或l l l l位位,并能設(shè)置各種波,并能設(shè)置各種波特率。特率。一、串行口的結(jié)構(gòu)一、串行口的結(jié)構(gòu)n單片機(jī)通過(guò)引腳單片機(jī)通過(guò)引腳RXD(P3.0)RXD(P3.0)數(shù)據(jù)接收端和引腳數(shù)據(jù)接收端和引腳TXD(P3.l)TXD(P3.l)數(shù)據(jù)發(fā)送端與外界進(jìn)行通信。數(shù)據(jù)發(fā)送端與外界進(jìn)行通信。n有兩個(gè)物理上獨(dú)立的有兩個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器接收、發(fā)送緩沖器SBUFSBUF,它們占用,它們占用同一地址同一地址99H99H,可同時(shí)發(fā)送、接收數(shù)據(jù)。,可同時(shí)發(fā)送、接收數(shù)據(jù)。發(fā)送緩沖器發(fā)送緩沖器只能寫(xiě)入,不能讀出
40、,只能寫(xiě)入,不能讀出,CPUCPU寫(xiě)寫(xiě)SBUFSBUF,一方面,一方面修改發(fā)送寄存器,同時(shí)啟動(dòng)數(shù)據(jù)串行發(fā)送;修改發(fā)送寄存器,同時(shí)啟動(dòng)數(shù)據(jù)串行發(fā)送;接收緩沖器接收緩沖器只能讀出、不能寫(xiě)入。讀只能讀出、不能寫(xiě)入。讀SBUFSBUF,就是讀接收,就是讀接收寄存器。寄存器。58發(fā)送SBUF(99H)門(mén)88 圖5.13 串行口結(jié)構(gòu)框圖 RXD(P3.0)TXD(P3.1)中斷接收SBUF(99H)定時(shí)器T1分頻器發(fā)送控制器接收控制器串寄行存控器制 SCON (98H)輸入移位寄存器TIRI內(nèi) 部 總 線fosc21波特率發(fā)生送器SHIFTSHIFTn 串行控制寄存器串行控制寄存器 SCONSCON,存放
41、串行口的存放串行口的控制和狀態(tài)信息控制和狀態(tài)信息,通過(guò)設(shè)置、讀取寄存器的位信息管理串行通信。通過(guò)設(shè)置、讀取寄存器的位信息管理串行通信。如:如:設(shè)置設(shè)置通信方式、中斷標(biāo)志;通信方式、中斷標(biāo)志;n 電源控制寄存器電源控制寄存器PCONPCON的最高位的最高位SMODSMOD為串行口波特率的為串行口波特率的倍增控制位。倍增控制位。n 波特率發(fā)生器波特率發(fā)生器可以有兩種選擇:可以有兩種選擇:1. 1. 定時(shí)器定時(shí)器T1T1作波特率發(fā)生器,改變計(jì)數(shù)初值就可以改變串作波特率發(fā)生器,改變計(jì)數(shù)初值就可以改變串行通信的速率,稱(chēng)為可變波特率。行通信的速率,稱(chēng)為可變波特率。2. 2. 以內(nèi)部時(shí)鐘的分頻器作波特率發(fā)生
42、器,因內(nèi)部時(shí)鐘頻率一以內(nèi)部時(shí)鐘的分頻器作波特率發(fā)生器,因內(nèi)部時(shí)鐘頻率一定,稱(chēng)為定,稱(chēng)為固定波特率固定波特率。60n甲方發(fā)送時(shí),甲方發(fā)送時(shí),CPUCPU執(zhí)行指令執(zhí)行指令 MOVMOV SBUF , A SBUF , A ,數(shù)據(jù)并行送入,數(shù)據(jù)并行送入SBUF SBUF ,啟動(dòng)了,啟動(dòng)了發(fā)送過(guò)程,在發(fā)送時(shí)鐘發(fā)送過(guò)程,在發(fā)送時(shí)鐘 shiftshift的控制下由低位到高位一位一位發(fā)送。乙方在的控制下由低位到高位一位一位發(fā)送。乙方在接收時(shí)鐘接收時(shí)鐘 shift shift 的控制下由低位到高位順序進(jìn)入移位寄存器的控制下由低位到高位順序進(jìn)入移位寄存器SBUF SBUF ;n甲方一幀數(shù)據(jù)發(fā)送完畢,甲方一幀數(shù)據(jù)
43、發(fā)送完畢,SBUFSBUF為空,置位發(fā)送中斷標(biāo)志為空,置位發(fā)送中斷標(biāo)志TITI,可作為查詢標(biāo),可作為查詢標(biāo)志(或引起中斷),志(或引起中斷),CPUCPU可再發(fā)送下一幀數(shù)據(jù)可再發(fā)送下一幀數(shù)據(jù) 。shiftMOV A , SBUF串行數(shù)據(jù) SBUFSBUFCPUCPUshiftMOV SBUF , A并行數(shù)據(jù) 甲方(發(fā)送)乙方(接收)并行數(shù)據(jù)n 乙方收到一幀數(shù)據(jù),即接收緩沖器滿,置位接收中斷標(biāo)乙方收到一幀數(shù)據(jù),即接收緩沖器滿,置位接收中斷標(biāo)志志RIRI,該位可作為查詢標(biāo)志(或引起接收中斷),該位可作為查詢標(biāo)志(或引起接收中斷),CPUCPU通過(guò)通過(guò) MOV A ,SBUF MOV A ,SBUF
44、 指令將這幀數(shù)據(jù)并行讀入。指令將這幀數(shù)據(jù)并行讀入。由上述可知:由上述可知: 甲、乙方的移位時(shí)鐘頻率應(yīng)相同,即應(yīng)具有相同的波特甲、乙方的移位時(shí)鐘頻率應(yīng)相同,即應(yīng)具有相同的波特率,否則會(huì)造成數(shù)據(jù)丟失。率,否則會(huì)造成數(shù)據(jù)丟失。 發(fā)送方:先發(fā)數(shù)據(jù),再查標(biāo)志發(fā)送方:先發(fā)數(shù)據(jù),再查標(biāo)志TITI;(;(先發(fā)后檢查先發(fā)后檢查) 接收方:先查標(biāo)志接收方:先查標(biāo)志RIRI,再收數(shù)據(jù)。(,再收數(shù)據(jù)。(先檢查后收先檢查后收) CPUCPU通過(guò)指令和通過(guò)指令和SBUFSBUF并行交換數(shù)據(jù),但不能控制數(shù)據(jù)并行交換數(shù)據(jù),但不能控制數(shù)據(jù)的串行移位(的串行移位(自動(dòng)進(jìn)行自動(dòng)進(jìn)行),只能查詢標(biāo)志位來(lái)確定數(shù)據(jù)),只能查詢標(biāo)志位來(lái)確
45、定數(shù)據(jù)的移位是否完成。的移位是否完成。62n5151單片機(jī)串行口是一個(gè)可編程接口,通過(guò)兩個(gè)特殊功能單片機(jī)串行口是一個(gè)可編程接口,通過(guò)兩個(gè)特殊功能寄存器控制:寄存器控制: 串行口控制寄存器串行口控制寄存器SCONSCON(98H)(98H)電源控制寄存器電源控制寄存器PCONPCON(97H) (97H) 63n串行通信的模式選擇、接收和發(fā)送控制,指示串串行通信的模式選擇、接收和發(fā)送控制,指示串行口的中斷標(biāo)志;行口的中斷標(biāo)志;n其格式如下其格式如下: :64SM0SM0SM1 SM1 SM2SM2RENRENTB8TB8RB8RB8TITIRIRI方式選擇方式選擇多機(jī)多機(jī)控制控制串行接收串行接收
46、允許允許/ / 禁止禁止欲發(fā)的欲發(fā)的第九位第九位收到的收到的第九位第九位發(fā)送中斷發(fā)送中斷有有/ /無(wú)無(wú)接收中斷接收中斷有有/ /無(wú)無(wú)0 0-0 0-方式方式0, 0 1-0, 0 1-方式方式1 11 0-1 0-方式方式2, 1 1-2, 1 1-方式方式3 30-0-禁止接收禁止接收, 1-, 1-允許接收允許接收 在方式在方式2,32,3中,中,RB8RB8是接受機(jī)收到的第是接受機(jī)收到的第9 9位數(shù)據(jù),位數(shù)據(jù),該數(shù)據(jù)來(lái)自發(fā)送機(jī)的該數(shù)據(jù)來(lái)自發(fā)送機(jī)的TB8TB8。 方式方式1 1時(shí),時(shí),RB8RB8接受的是停止位接受的是停止位 方式方式0 0時(shí),時(shí),RB8RB8不使用不使用在方式在方式2,3
47、2,3中,要發(fā)送的中,要發(fā)送的第第9 9位數(shù)據(jù)位數(shù)據(jù)。0 0:數(shù)據(jù):數(shù)據(jù) 1 1:地址:地址SM0SM0SM1 SM1 SM2SM2RENRENTB8TB8RB8RB8TITIRIRI方式選擇方式選擇多機(jī)多機(jī)控制控制串行接收串行接收允許允許/ / 禁止禁止欲發(fā)的欲發(fā)的第九位第九位收到的收到的第九位第九位發(fā)送中斷發(fā)送中斷有有/ /無(wú)無(wú)接收中斷接收中斷有有/ /無(wú)無(wú)65SM0SM0SM1 SM1 SM2SM2RENRENTB8TB8RB8RB8TITIRIRI方式選擇方式選擇多機(jī)多機(jī)控制控制串行接收串行接收允許允許/ / 禁止禁止欲發(fā)的欲發(fā)的第九位第九位收到的收到的第九位第九位發(fā)送中斷發(fā)送中斷有有
48、/ /無(wú)無(wú)接收中斷接收中斷有有/ /無(wú)無(wú)66發(fā)送前必須用軟件清零,發(fā)送完一幀數(shù)據(jù)后,由硬件置發(fā)送前必須用軟件清零,發(fā)送完一幀數(shù)據(jù)后,由硬件置11,如果再發(fā)送,必須用軟件再清零。,如果再發(fā)送,必須用軟件再清零。接收前接收前, ,必須用軟件清零,接收到一幀數(shù)據(jù)后由硬件自動(dòng)必須用軟件清零,接收到一幀數(shù)據(jù)后由硬件自動(dòng)置置11。如果再接收,必須用軟件清零。如果再接收,必須用軟件清零。SM0SM0SM1 SM1 SM2SM2RENRENTB8TB8RB8RB8TITIRIRI方式選擇方式選擇多機(jī)多機(jī)控制控制串行接收串行接收允許允許/ / 禁止禁止欲發(fā)的欲發(fā)的第九位第九位收到的收到的第九位第九位發(fā)送中斷發(fā)送
49、中斷有有/ /無(wú)無(wú)接收中斷接收中斷有有/ /無(wú)無(wú)n當(dāng)選擇方式當(dāng)選擇方式2 2或方式或方式3 3時(shí):時(shí): TB8=1TB8=1作為地址幀尋找從機(jī)作為地址幀尋找從機(jī) TB8=0TB8=0作為數(shù)據(jù)幀進(jìn)行通信;作為數(shù)據(jù)幀進(jìn)行通信; 若接收到的第九位數(shù)據(jù)若接收到的第九位數(shù)據(jù)RB8=0RB8=0,不置位,不置位RIRI,即不引起接收中斷,不接收,即不引起接收中斷,不接收數(shù)據(jù)幀,繼續(xù)監(jiān)聽(tīng);數(shù)據(jù)幀,繼續(xù)監(jiān)聽(tīng); 若接收到的若接收到的RB8=1RB8=1,置位,置位RIRI,引起接收中斷,中斷程序中判斷所接收的,引起接收中斷,中斷程序中判斷所接收的地址幀和本機(jī)的地址是否符合地址幀和本機(jī)的地址是否符合: :若不符合
50、,維持若不符合,維持SM2=1SM2=1,繼續(xù)監(jiān)聽(tīng);若符合,繼續(xù)監(jiān)聽(tīng);若符合,則清則清SM2SM2,接收對(duì)放發(fā)來(lái)的后續(xù)信息。,接收對(duì)放發(fā)來(lái)的后續(xù)信息。綜上所述,SM2的作用為:(1)方式2,3:發(fā)送端SM2=1的情形下,接受端的響應(yīng): 接受端SM2=1,若RB8=1,激活RI,引起接收中斷; 若RB8=0,不激活RI,不引起中斷。 接受端SM2=0,無(wú)論RB8=1還是RB8=0均激活RI引起接收中斷。(2)方式0: SM2應(yīng)設(shè)置為0。68nPCONPCON的格式如下:串行通信只用其中的最高位的格式如下:串行通信只用其中的最高位SMODSMODIDLPDGF0GF1XXXSMODPCONPCON
51、87HnSMOD : SMOD : 波特率加倍位。波特率加倍位。 在串行通訊方式在串行通訊方式 1 1、 2 2、 3 3計(jì)算波特率時(shí):計(jì)算波特率時(shí): SMOD SMOD 0 0波特率不加倍波特率不加倍; ; SMOD SMOD 1 1波特率加倍。波特率加倍。nGF1GF1、GF0GF0:通用標(biāo)志位;通用標(biāo)志位;nPDPD:掉電方式。:掉電方式。PD=1PD=1時(shí),激活掉電工作方式。時(shí),激活掉電工作方式。nIDLIDL:待機(jī)方式。待機(jī)方式。IDL=1IDL=1時(shí),激活待機(jī)工作方式。時(shí),激活待機(jī)工作方式。PCONPCON:無(wú)位地址,只能按字節(jié)尋址。初始化時(shí)無(wú)位地址,只能按字節(jié)尋址。初始化時(shí)SMO
52、D=0SMOD=0。 69n5151系列單片機(jī)的串行通信有四種工作方式,通過(guò)編系列單片機(jī)的串行通信有四種工作方式,通過(guò)編程進(jìn)行選擇。程進(jìn)行選擇。70l RXDRXD為串行數(shù)據(jù)的發(fā)送端或接收端為串行數(shù)據(jù)的發(fā)送端或接收端, TXD, TXD提供移位的時(shí)提供移位的時(shí)鐘脈沖,輸出頻率為鐘脈沖,輸出頻率為foscfosc/12/12。l 波特率固定:為波特率固定:為foscfosc/12 (/12 (foscfosc為單片機(jī)晶振頻率為單片機(jī)晶振頻率) )l 數(shù)據(jù)格式為數(shù)據(jù)格式為8 8位,低位在前,高位在后;位,低位在前,高位在后;l 發(fā)送過(guò)程:發(fā)送過(guò)程:以寫(xiě)以寫(xiě)SBUFSBUF開(kāi)始,當(dāng)開(kāi)始,當(dāng)8 8位數(shù)
53、據(jù)傳送完畢,位數(shù)據(jù)傳送完畢,TITI置置1 1,然后發(fā)送下一幀數(shù)據(jù)。,然后發(fā)送下一幀數(shù)據(jù)。l 接收過(guò)程:接收過(guò)程:必須先設(shè)置必須先設(shè)置REN=1REN=1和和RI=0RI=0,當(dāng),當(dāng)8 8位數(shù)據(jù)接收位數(shù)據(jù)接收完畢,完畢,RIRI置置1 1,此時(shí),可通過(guò)讀,此時(shí),可通過(guò)讀SBUFSBUF指令,將數(shù)據(jù)讀入指令,將數(shù)據(jù)讀入CPUCPU。718051RXDTXD728051RXDTXD74LS164ABCLKP1.0/CLRD0D7(1 1)數(shù)據(jù)輸出典型應(yīng)用)數(shù)據(jù)輸出典型應(yīng)用SBUF738051RXDTXD74LS165ABCLKP1.0SH/LDD0D7(1 1)數(shù)據(jù)輸入典型應(yīng)用)數(shù)據(jù)輸入典型應(yīng)用S
54、BUFn以以TXDTXD為串行數(shù)據(jù)的發(fā)送端,為串行數(shù)據(jù)的發(fā)送端,RXDRXD為數(shù)據(jù)的接收端;為數(shù)據(jù)的接收端;n每幀數(shù)據(jù)由每幀數(shù)據(jù)由1 1個(gè)起始位個(gè)起始位0 0,八個(gè)數(shù)據(jù)位和,八個(gè)數(shù)據(jù)位和1 1個(gè)停止位個(gè)停止位1 1 共共1010位構(gòu)成,其中起始位和停止位在發(fā)送時(shí)是自動(dòng)生成的。位構(gòu)成,其中起始位和停止位在發(fā)送時(shí)是自動(dòng)生成的。74D0D1D2D3D4D5D6D7起始停止8051RXDTXDnT1T1提供移位時(shí)鐘,是波特率可變方式。提供移位時(shí)鐘,是波特率可變方式。波特率波特率=(2SMOD/32)(T1的溢出率)X為T(mén)1的計(jì)數(shù)初值。xfoscSMOD25612/32275定時(shí)器T1分頻器Fosc/1
55、2SMODn發(fā)送過(guò)程: n接受過(guò)程: 76n以以TXDTXD為串行數(shù)據(jù)的發(fā)送端,為串行數(shù)據(jù)的發(fā)送端,RXDRXD為數(shù)據(jù)的接收端;為數(shù)據(jù)的接收端;n每幀數(shù)據(jù)由每幀數(shù)據(jù)由1111位構(gòu)成:位構(gòu)成:1 1個(gè)起始位個(gè)起始位0 0,8 8個(gè)數(shù)據(jù)位個(gè)數(shù)據(jù)位 ,1 1個(gè)個(gè)可編程位可編程位( (第第9 9數(shù)據(jù)位數(shù)據(jù)位) ) 和和1 1個(gè)停止位。個(gè)停止位。 發(fā)送時(shí),第發(fā)送時(shí),第9 9數(shù)據(jù)位(數(shù)據(jù)位(TB8TB8)可設(shè)置為)可設(shè)置為0 0或或1 1; 接收時(shí),第接收時(shí),第9 9數(shù)據(jù)位進(jìn)入數(shù)據(jù)位進(jìn)入SCONSCON的的RB8RB8。 778051RXDTXDD0D1D2D3D4D5D6D7起始停止D8TB8n波特率固
56、定:波特率固定:n發(fā)送過(guò)程發(fā)送過(guò)程: :以寫(xiě)以寫(xiě)SBUFSBUF開(kāi)始,當(dāng)數(shù)據(jù)傳送完畢,開(kāi)始,當(dāng)數(shù)據(jù)傳送完畢,TITI置置1 1,申請(qǐng)中斷。申請(qǐng)中斷。波特率 oscSMODf64278n接受過(guò)程:接受過(guò)程:先設(shè)置先設(shè)置REN=1REN=1和和RI=0RI=0,當(dāng),當(dāng)9 9位數(shù)據(jù)接收完畢,位數(shù)據(jù)接收完畢,移位寄存器內(nèi)容裝入移位寄存器內(nèi)容裝入SBUFSBUF和和RB8RB8,并且,并且RIRI置置1 1,此時(shí),可,此時(shí),可通過(guò)讀通過(guò)讀SBUFSBUF指令,將數(shù)據(jù)讀入指令,將數(shù)據(jù)讀入CPUCPU。n 數(shù)據(jù)格式同方式數(shù)據(jù)格式同方式2 2,所不同的是,所不同的是算方式同算方式同方式方式 1 1。79波特率
57、波特率=(2SMOD/32)(T1的溢出率)X為T(mén)1的計(jì)數(shù)初值。xfoscSMOD25612/322串行通信程序的編程要點(diǎn):串行通信程序的編程要點(diǎn):(1 1)波特率設(shè)置:)波特率設(shè)置:串行口的波特率有兩種方式:串行口的波特率有兩種方式: 固定波特率(方式固定波特率(方式0 0、2 2) 可變波特率(方式可變波特率(方式1 1、3 3)注意:注意:使用可變波特率時(shí),先確定使用可變波特率時(shí),先確定T T1 1的計(jì)數(shù)初值,并對(duì)的計(jì)數(shù)初值,并對(duì)T1T1進(jìn)行初始化。進(jìn)行初始化。(2 2)設(shè)置控制字()設(shè)置控制字(SCONSCON、PCONPCON)若為接受需要置若為接受需要置REN=1,REN=1,清清TI,RITI,RI中斷標(biāo)志。中斷標(biāo)志。80(3 3)響應(yīng)方式選擇)響應(yīng)方式選擇:串行通信的工作方式:查詢:串行通信的工作方式:查詢/ /中斷中斷 查詢方式查詢方式: : 查查RIRI、TI TI 是否為是否為11。發(fā)送過(guò)程:發(fā)送過(guò)程:發(fā)送一個(gè)字符發(fā)送一個(gè)字符查詢查詢T1T1發(fā)送下一個(gè)字符發(fā)送下一個(gè)字符接受過(guò)程:接受過(guò)程:查詢查詢RIRI 讀入數(shù)據(jù)讀入數(shù)據(jù)查詢查詢RIRI 讀入下一個(gè)數(shù)據(jù)讀入下一個(gè)數(shù)據(jù) 中斷方式:如果預(yù)先開(kāi)了中斷,當(dāng)中斷方式:如果預(yù)先開(kāi)了中斷,當(dāng)TITI、RI RI 為為“1”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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國(guó)際關(guān)系學(xué)院《工程力學(xué)與機(jī)械設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 河北環(huán)境工程學(xué)院《護(hù)理學(xué)基礎(chǔ)技術(shù)(一)》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京航空航天大學(xué)金城學(xué)院《細(xì)胞生物學(xué)課程設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州城市職業(yè)學(xué)院《戰(zhàn)略管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東新安職業(yè)技術(shù)學(xué)院《生物化學(xué)及實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 長(zhǎng)春師范大學(xué)《汽車(chē)底盤(pán)構(gòu)造與維修》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西華澳商貿(mào)職業(yè)學(xué)院《移動(dòng)通信技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 大學(xué)生畢業(yè)實(shí)習(xí)計(jì)劃
- 大一新生軍訓(xùn)心得感悟(28篇)
- 農(nóng)村亂占耕地建房問(wèn)題整治工作匯報(bào)范文(3篇)
- 外研社一起英語(yǔ)四年級(jí)下冊(cè)課文
- 學(xué)校辦公室主任述職報(bào)告
- 《列夫·托爾斯泰》-完整版PPT
- 高考古代詩(shī)歌鑒賞復(fù)習(xí)教案
- 負(fù)數(shù)的認(rèn)識(shí)1202
- After-Effects影視特效設(shè)計(jì)教程完整版全套ppt課件
- 中國(guó)鐵塔建設(shè)維護(hù)工作培訓(xùn)PPT通用通用課件
- 新視野大學(xué)英語(yǔ)第三版Book 2 Unit 1 Text A
- 醫(yī)療設(shè)備清單
- SHD干燥機(jī)說(shuō)明書(shū)(英)
- 藍(lán)色卡通風(fēng)格研學(xué)旅行報(bào)告PPT講座學(xué)習(xí)
評(píng)論
0/150
提交評(píng)論