第5章-單片機的定時計數(shù)器與串行接口_第1頁
第5章-單片機的定時計數(shù)器與串行接口_第2頁
第5章-單片機的定時計數(shù)器與串行接口_第3頁
第5章-單片機的定時計數(shù)器與串行接口_第4頁
第5章-單片機的定時計數(shù)器與串行接口_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、彭周華15.1 5.1 定時定時/ /計數(shù)器計數(shù)器T0T0、T1T15.1.1 5.1.1 定時定時/ /計數(shù)器的結(jié)構(gòu)和工作原理計數(shù)器的結(jié)構(gòu)和工作原理5.1.2 5.1.2 定時定時/ /計數(shù)器的寄存器計數(shù)器的寄存器5.1.3 5.1.3 定時器的四種工作方式定時器的四種工作方式5.1.4 5.1.4 定時計數(shù)器的應用程序設(shè)計定時計數(shù)器的應用程序設(shè)計5.1.5 5.1.5 小小 結(jié)結(jié)5.2 5.2 串行接口串行接口2n測量控制系統(tǒng),常常要求有一些測量控制系統(tǒng),常常要求有一些定時器定時器, ,以實現(xiàn)定時以實現(xiàn)定時控制、定時測量或延時動作,同時要求有控制、定時測量或延時動作,同時要求有計數(shù)器計數(shù)器

2、能對能對外部事件計數(shù)。外部事件計數(shù)。n實現(xiàn)定時計數(shù)的實現(xiàn)定時計數(shù)的方法方法有有3 3種種(1 1)軟件定時)軟件定時- -占用占用CPUCPU時間,減低時間,減低CPUCPU的利用率的利用率(2 2)硬件定時)硬件定時- -延時時間固定,修改不方便。延時時間固定,修改不方便。(3 3)可編程定時)可編程定時/ /計數(shù)器(硬件定時,軟件設(shè)置)計數(shù)器(硬件定時,軟件設(shè)置)3n5151系列單片機有系列單片機有2 2個個1616位定時位定時/ /計數(shù)器:計數(shù)器:T0T0和和T1T1 ;n2 2個定時器都有定時或事件計數(shù)的功能,可用于定個定時器都有定時或事件計數(shù)的功能,可用于定時控制、延時、對外部事件計

3、數(shù)和檢測等場合;時控制、延時、對外部事件計數(shù)和檢測等場合;n定時定時/ /計數(shù)器實際上是計數(shù)器實際上是1616位加位加1 1計數(shù)器。計數(shù)器。 T0 T0由由2 2個個8 8位持殊功能寄存器位持殊功能寄存器TH0TH0和和TL0TL0構(gòu)成,構(gòu)成, T1 T1由由2 2個個8 8位持殊功能寄存器位持殊功能寄存器TH1TH1和和TL1TL1構(gòu)成。構(gòu)成。nT0T0和和T1T1都可由軟件設(shè)置為都可由軟件設(shè)置為定時或計數(shù)定時或計數(shù)工作方式;工作方式;nT0T0和和T1T1受受2 2個特殊功能寄存器個特殊功能寄存器TMODTMOD和和TCONTCON控制。控制。 4振蕩源 12T0引腳SKC/ T=0C/

4、T=1TH0 TL0 中斷TF0TR0GATEINT0&11S打向上,定時; S打向下,計數(shù):計數(shù)滿,標志置位,產(chǎn)生中斷。TR0=1,GATE=0時,定時/計數(shù)器直接啟動工作; TR0=1,GATE=1時,啟動受INT0控制。5定時工作方式時,定時器脈沖由單片機內(nèi)部振蕩器經(jīng)12分頻后產(chǎn)生的。每經(jīng)過一個機器周期定時器(T0或T1)的數(shù)值加1,直至計數(shù)滿產(chǎn)生溢出。例如:當8051采用12MHz晶體時,每個機器周期為1s,計5 個計數(shù)周期即為5s,即定時5s 。6計數(shù)工作方式時,計數(shù)脈沖信號來自計數(shù)工作方式時,計數(shù)脈沖信號來自T T0 0(P3.4)(P3.4)和和T T1 1(P3.5)(

5、P3.5)引腳。引腳。當輸入脈沖信號產(chǎn)生由當輸入脈沖信號產(chǎn)生由1 1至至0 0的下降沿時,定時器的值加的下降沿時,定時器的值加1 1;在每個機器周期在每個機器周期CPUCPU采樣采樣T T0 0和和T T1 1的輸入電平。若前一個的輸入電平。若前一個機器周期采樣值為高,下一個采樣周期值為低,則計數(shù)器機器周期采樣值為高,下一個采樣周期值為低,則計數(shù)器加加 1 1。檢測跳變需要檢測跳變需要2 2個機器周期,故最高計數(shù)頻率個機器周期,故最高計數(shù)頻率f=f=foscfosc/24/24。為了確保某個電平在變化之前至少被采樣一次,要求電平為了確保某個電平在變化之前至少被采樣一次,要求電平保持時間至少是一

6、個完整的機器周期。保持時間至少是一個完整的機器周期。TcyTcyTcy: 機器周期機器周期7n工作模式寄存器工作模式寄存器TMODTMOD(89H),(89H),控制寄存器控制寄存器TCONTCON(88H)88H)1. 1. TMOD TMOD用于控制用于控制T0T0和和T1T1的工作方式。其各位的定義如下:的工作方式。其各位的定義如下:定時器T0 定時器T1M0M1GATEM0M1GATED0D1D2 D3D4D5D6 D7C/ TC/ T8GATEGATEC/TC/TM1M1 M0M0GATEGATEC/ TM1M1M0M0GATE=0,TRx=1時,即可啟動定時器工作;GATE=1,I

7、NTx=1且TRx=1時,才可啟動定時器工作。C/TC/T=1,為計數(shù)器方式;C/T=0C/T=0,為定時器方式。nM1M0M1M0:M1M0=00:工作方式0(13位方式)。M1M0=01:工作方式1(16位方式)。M1M0=10:工作方式2(8位自動再裝入方式)。M1M0=11:工作方式3(T0為2個8位方式)。9INT0方式下沿/低電平 INT0請求有/無 INT1方式下沿/ 低電平 INT1 請求有/無 T0 工作啟/停 T0 請求有/無 T1工作啟/停 T1 請求有/無 IT0 IE0IT1IE1TR0 TF0 TR1 TF1T1T0外部中斷2.2.控制寄存器控制寄存器TCON(88

8、H) TCON(88H) 10nTF1TF1:T1溢出中斷請求標志。TF1=1,T1有溢出中斷請求。TF1=0,T1無溢出中斷請求。nTR1TR1:T1運行控制位。TR1=1,啟動T1工作。TR1=0,停止T1工作n TF0TF0:T0溢出中斷請求標志。TF0=1,T0有溢出中斷請求。TF0=0,T0無溢出中斷請求。n TR0TR0:T0運行控制位。TR0=1,啟動T0工作。TR0=0,停止T0工作。11n 對TMOD寄存器的M1、M0位的設(shè)置,可選擇工作方式0-3;以下用THX、TLX(X=0或1)表示TH1、TL1、TH0、TL0。T0(或T1)工作于13位定時計數(shù)方式。16位寄存器(TH

9、X+TLX)只用13位,TLX的高3位未用。振蕩源 12Tx引腳SKC/ T=0C/ T=1THx TLx 中斷TFxTRxGATEINTx&118位低5位12n當TLX的低5位溢出時,向THX進位;而THX溢出時,硬件置位TFX。n定時/計數(shù)溢出與否,可查詢TFx進行判斷;如果開中斷則產(chǎn)生溢出中斷。n 方式0 最大計數(shù)值為 213 8192個脈沖;用于定時工作時,定時時間為:t(213一Tx初值) 機器周期13n16位定時計數(shù)方式,寄存器THx和TLx以16位參與操作。n最大計數(shù) 21665536(個脈沖) 定時工作方式時,定時時間為: t(216一Tx初值) 機器周期14n8位的可

10、自動重裝載的定時/計數(shù)方式。16位的計數(shù)器被拆成兩個8位,其中TLx用作8位計數(shù)器, THx用以保持計數(shù)初值。當TLx計數(shù)溢出,置位TFx,THx中的初值自動裝入TLx繼續(xù)計數(shù),循環(huán)重復計數(shù)。振蕩源 12Tx引腳SKC/ T=0C/ T=1 TLx 中斷TFxTRxGATEINTx&11 THx15最大計數(shù)值為:最大計數(shù)值為:2828256(256(個脈沖個脈沖) )。 定時工作方式時,定時時間為:定時工作方式時,定時時間為: t t(256(256一一TxTx初值初值) ) 機器周期機器周期n這種工作方式可省去用戶重載常數(shù)的操作,并可產(chǎn)生這種工作方式可省去用戶重載常數(shù)的操作,并可產(chǎn)生

11、精確的定時時間。精確的定時時間。16僅適用于T0TL0和TH0被分成為兩個互相獨立的8位計數(shù)器。TL0可作為定時或計數(shù)方式。占用定時器0的各控制位、引腳和中斷源。即、GATE、TR0、TF0控制位以及引腳T0和INT0引腳。TH0只能用作定時功能,占用定時器1的控制位TR1和中斷標志位TF1,其啟動和關(guān)閉僅受TRl的控制。這種情況下,T1仍可工作于方式0、1、2,但不能使用中斷方式。實際中只有將T1用做串行口的波特率發(fā)生器時,T0才工作在方式3,以便增加一個定時器。 17n定時/計數(shù)器0(方式3):2個8位計數(shù)器。振蕩源 12T0引腳SC/ T=0C/ T=1TR0GATEINT0&1

12、1K TL0 中斷TF01/12foscK TH0 中斷TF11/12foscTR1181、定時/計數(shù)器初值的計算和載入定時器/計數(shù)器不同工作方式,其最大計數(shù)值(模值)不同,由于采用加1計數(shù),因此計數(shù)初值應為負值,計算機中負數(shù)是采用補碼表示。n初值的求法:定時方式:初值 = -t / MC補 =模t / MC采用12MHZ晶振時,MC=1us;6MHZ晶振, MC=2us。定時時間機器周期=12/foscn計數(shù)方式:初值 =模要計數(shù)的值X。19例: 計算T0 計數(shù)100個脈沖的初值00111111TH0高8位00111XXXTL0低5位初值=2000H64H=1F9CH1F9CH0001 11

13、11 1001 1100 B 用指令裝入初值:MOVMOV TH0,#0FCH;MOVMOV TL0,#1CH;(xxx用0填入)初值=10000H-64H=FF9CH用指令裝入計數(shù)初值:MOVMOV TH0,#0FFHMOVMOV TL0,#9CH20方式方式2 2(8 8位自動再裝入方式)位自動再裝入方式): :初值=100H64H=9CH初值既要裝入TH0,也要裝入TL0:MOV TH0,#9CH MOV TL0,#9CH21n定時/計數(shù)器是可編程部件,使用前應先對其內(nèi)部寄存器進行設(shè)置-這稱為初始化。定時計數(shù)器的初始化步驟:1)根據(jù)定時時間要求,計算計數(shù)器初值;2)設(shè)置工作方式控制字,送

14、TMOD寄存器;3)設(shè)置初值,送到THX和TLX寄存器中;4)啟動定時(或計數(shù)),即置位TRX。n如果工作于中斷方式,需要置位EA(中斷總開關(guān))及ETX(允許定時/計數(shù)器中斷),并編中斷服務程序。22例:利用T1完成100ms的定時,當P1輸出1時,發(fā)光二極管亮, 晶振6MHz,要求每隔100ms,1左移一次循環(huán)點亮。采用方式1定時,先計算計數(shù)初值:6MHz晶體,機器周期MC=2s n計數(shù)值: 100ms/2s=50000=C350Hn定時器初值:(C350H)補 =10000H-C350H=3CB0HM0M0M1M1GATEGATEM0M0M1M1GATEGATEC/ TC/ TT1 方式1

15、 :TMOD=10H23ORG 00HMOV TMOD,#10H ;T1工作于定時方式1MOV A,#01H ;置初值,第一個LED亮NEXT:MOV P1,AMOV TH1,#3CHMOV TL1,#0B0H ;定時100ms SETB TR1 AGAI: JBC TF1,SHI ;100ms到轉(zhuǎn)SHI,并清TF1SJMP AGAISHI: RL ASJMP NEXT24ORG 0000H AJMP MAIN ;單片機復位后從0000H開始執(zhí)行ORG 001BH ;T1中斷入口AJMP TIME1 ;轉(zhuǎn)到T1 中斷服務程序ORG 0050H ;主程序MAIN:MOV A,#01H MOV P

16、1,A ;置初值,第一個LED亮MOV TMOD,#10H ;T1工作于定時方式1MOV TH1,#3CHMOV TL1,#0B0H ;定時100msSETB EA ;中斷總允許SETB TR1 ;啟動T1工作SETB ET1 ;允許T1中斷WAIT:SJMP WAIT ;等待中斷25TIME1:RL A ;左移一位 MOV P1,A ;下一個發(fā)光二極管亮MOV TH1,#3CHMOV TL1,#0B0H ;重裝計數(shù)值RETI ;中斷返回以上程序執(zhí)行結(jié)果,八個LED一直循環(huán)輪流點亮。26例:在P1.7端接一個發(fā)光二極管LED,要求利用定時控制使LED亮一秒滅一秒,周而復始,設(shè)fosc=6MHZ

17、。89C51P1.7+5VLED分析:16位定時最大 65536*2us=131.072ms,顯然不能滿足要求,可用以下兩種方法解決。P1.0T11s27n采用T0產(chǎn)生周期為200ms脈沖,即P1.0每100ms取反一次作為T1的計數(shù)脈沖,T1對下降沿計數(shù),因此T1計5個脈沖正好1s。nT0定時、采用方式1:初值 X0= 65536100*103/2 得:X=3CB0 H;nT1計數(shù)、采用方式2:計數(shù)初值X1 =2565=FBH TMOD=61H;TH0=3CH;TL0=0B0H;TH1=TL1=0FBH。n兩個定時/計數(shù)器均采用查詢方式: 285-29P1.7=0,P1.0=1T0:定時方式

18、1T1:計數(shù)方式2P1.7求反裝T1初值,TR1=1裝T0初值,TR0=1100ms到? P1.0求反計滿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指令對定時/計數(shù)溢出標志位進行檢測,當標志位為1時跳轉(zhuǎn)并清標志。30T0T0每隔每隔100ms100ms中斷一次,利用軟件對中斷一次,利用軟件對T0T0的中斷次數(shù)進行計的中斷次數(shù)進行計數(shù),中斷數(shù),中斷1010次次即實現(xiàn)了即實現(xiàn)了1 1秒的定時。秒

20、的定時。ORG 0000HORG 0000HAJMPAJMP MAIN MAIN ;主程序;主程序ORG 000BH ORG 000BH ;T0T0中斷服務程序入口中斷服務程序入口 AJMPAJMP TIMER0 TIMER0ORG 0030H ORG 0030H ;主程序開始;主程序開始 MAINMAIN:CLRCLR P1.7 P1.7MOVMOV TMOD TMOD,#01H#01HMOVMOV TH0 TH0,#3CH #3CH ;T0T0定時定時100ms100msMOVMOV TL0 TL0,#0B0H#0B0HSETBSETB ET0 ET0SETBSETB EA EA 3132

21、MOVMOV R4 R4,#0AH #0AH ;中斷;中斷1010次計數(shù)器次計數(shù)器SETBSETB TR0 TR0SJMPSJMP ;等待中斷;等待中斷TIMER0TIMER0:DJNZDJNZ R4 R4,RET0RET0MOVMOV R4 R4,#0AH #0AH ;重置;重置1010次計數(shù)值次計數(shù)值CPLCPL P1.7 P1.7 ;LEDLED取反取反RET0RET0:MOVMOV TH0 TH0,#3CH #3CH ;定時初值重裝載;定時初值重裝載MOVMOV TL0 TL0,#0B0H#0B0HSETBSETB TR0 TR0RETIRETI n定時定時/ /計數(shù)器計數(shù)器應用應用非

22、常非常廣泛廣泛,如定時采樣、時間測量、,如定時采樣、時間測量、產(chǎn)生音響、作脈沖源、制作日歷時鐘、測量波形的頻產(chǎn)生音響、作脈沖源、制作日歷時鐘、測量波形的頻率和占空比、檢測電機轉(zhuǎn)速等,因此應很好掌握。率和占空比、檢測電機轉(zhuǎn)速等,因此應很好掌握。n5151系列單片機有兩個系列單片機有兩個1616位的定時位的定時/ /計數(shù)器,有四種不計數(shù)器,有四種不同的工作方式,歸納于表中同的工作方式,歸納于表中(P105) (P105) 。n使用定時使用定時/ /計數(shù)器前要先計數(shù)器前要先初始化初始化;設(shè)置方式;設(shè)置方式控制字控制字TMODTMOD,計數(shù)初值,計數(shù)初值THxTHx,TLxTLx;啟動工作啟動工作TR

23、xTRx;中斷;中斷方式,還需方式,還需開中斷開中斷(EAEA和和ETxETx)。)。n定時定時/ /計數(shù)器是加計數(shù)器是加1 1計數(shù),初值為負數(shù),用補碼表示。計數(shù),初值為負數(shù),用補碼表示。n計數(shù)產(chǎn)生溢出(計數(shù)初值寄存器回零),置位計數(shù)產(chǎn)生溢出(計數(shù)初值寄存器回零),置位TFxTFx , , 可以通過程序查詢;如果允許中斷,會產(chǎn)生中斷。可以通過程序查詢;如果允許中斷,會產(chǎn)生中斷。3334n串行通訊串行通訊是是CPUCPU跟外界進行信息交換的一種基本方式。跟外界進行信息交換的一種基本方式。n單片機用于數(shù)據(jù)采集或工業(yè)控制時,往往作為數(shù)據(jù)采單片機用于數(shù)據(jù)采集或工業(yè)控制時,往往作為數(shù)據(jù)采集和工業(yè)控制的前

24、端設(shè)備遠離主機,現(xiàn)場數(shù)據(jù)采用集和工業(yè)控制的前端設(shè)備遠離主機,現(xiàn)場數(shù)據(jù)采用串串行通訊行通訊的方式發(fā)往中央控制主機進行處理,以降低通的方式發(fā)往中央控制主機進行處理,以降低通訊成本,提高通訊可靠性。訊成本,提高通訊可靠性。35n 計算機與外界的信息交換稱為計算機與外界的信息交換稱為通訊通訊。數(shù)據(jù)通信方式。數(shù)據(jù)通信方式有兩種:有兩種:并行通信并行通信與與串行通信串行通信;并行通信:并行通信:所傳送數(shù)據(jù)的各位同時發(fā)送或接收。所傳送數(shù)據(jù)的各位同時發(fā)送或接收。 特點:特點: 速度快速度快, ,適合近距離傳輸適合近距離傳輸, ,傳輸線多。如計算機并口,傳輸線多。如計算機并口,打印機。打印機。 計算機計算機或外

25、設(shè)D0D1D2D3D4D5D7D6GNDD0D1D2D3D4D5D7D6GND36串行通信:串行通信:所傳送數(shù)據(jù)的各位按順序所傳送數(shù)據(jù)的各位按順序一位一位一位一位地發(fā)送或接收。地發(fā)送或接收。如:如:只需只需2 2根數(shù)據(jù),根數(shù)據(jù),1 1根地線,共根地線,共3 3根即可實現(xiàn)雙向通信。根即可實現(xiàn)雙向通信。 特點:特點:成本低,硬件方便,適合遠距離通信,傳輸速度低成本低,硬件方便,適合遠距離通信,傳輸速度低如:如:RS-232C,RS-485.RS-232C,RS-485.計算機計算機或外設(shè)GNDTXDRXDGNDRXDTXD1001011037n通信協(xié)議:通信協(xié)議:通信雙方的通信約定,什么時候開始發(fā)

26、送,什么通信雙方的通信約定,什么時候開始發(fā)送,什么時候發(fā)送完畢,同步方式,糾錯方式;時候發(fā)送完畢,同步方式,糾錯方式;n幀:幀:串行通信完成一次完整通信的過程。串行通信完成一次完整通信的過程。從開始到結(jié)束的數(shù)從開始到結(jié)束的數(shù)據(jù)稱據(jù)稱一幀數(shù)據(jù)一幀數(shù)據(jù)。串行通訊串行通訊分類分類:n按按幀信息的格式幀信息的格式串行通信分為串行通信分為同步通信同步通信和和異步通信。異步通信。38n異步通訊的一幀異步通訊的一幀數(shù)據(jù)格式數(shù)據(jù)格式 一個起始位一個起始位00表示字符的開始,然后是表示字符的開始,然后是5 58 8位數(shù)據(jù)即該字符的代碼,規(guī)定低位在前,高位在位數(shù)據(jù)即該字符的代碼,規(guī)定低位在前,高位在后,接下來是奇

27、偶校驗位后,接下來是奇偶校驗位( (可省略可省略) ),最后以停止,最后以停止位位11表示字符的結(jié)束。表示字符的結(jié)束。39D0D1D2 D3 D4 D5 D6 D7P10起始位數(shù)據(jù)位(58位)校驗位停止位優(yōu)點:優(yōu)點:硬件結(jié)構(gòu)簡單。硬件結(jié)構(gòu)簡單。缺點:缺點:傳輸速度慢。傳輸速度慢。P1第n幀字符n-1幀n+1幀0D0D0 D1 D2 D3 D4 D5 D6 D7P10起始位數(shù)據(jù)位(58位)校驗位停止位n在在同步通信同步通信中,發(fā)送方在數(shù)據(jù)開始之處就用同步字符中,發(fā)送方在數(shù)據(jù)開始之處就用同步字符( (常常約定約定1 12 2個字節(jié)個字節(jié)) )指示指示一幀的開始一幀的開始 ,由時鐘來實現(xiàn)發(fā)送端,由時

28、鐘來實現(xiàn)發(fā)送端和接收端同步。接收方一旦檢測到與規(guī)定相同的同步字符,和接收端同步。接收方一旦檢測到與規(guī)定相同的同步字符,就連續(xù)按順序接受若干個數(shù)據(jù),最后發(fā)校驗字節(jié)。就連續(xù)按順序接受若干個數(shù)據(jù),最后發(fā)校驗字節(jié)。SYN字符2數(shù)據(jù)1數(shù)據(jù)2.數(shù)據(jù)n連續(xù)傳送n 個數(shù)據(jù)校驗SYN字符1同步通信的數(shù)據(jù)幀格式同步通信的數(shù)據(jù)幀格式特點:特點:n數(shù)據(jù)傳送效率高。沒有起始、結(jié)束標志,一次傳送多個數(shù)據(jù)。數(shù)據(jù)傳送效率高。沒有起始、結(jié)束標志,一次傳送多個數(shù)據(jù)。n對硬件對硬件( (時鐘嚴格同步時鐘嚴格同步) )要求較高。要求較高。41n按按通信方向通信方向分類分類:單工、半雙工、全雙工通信方式單工、半雙工、全雙工通信方式 單

29、工方式單工方式: : 只能發(fā)送只能發(fā)送/ /接收,這種單向傳送方式稱單工接收,這種單向傳送方式稱單工方式。方式。如:如:通信的一端只有發(fā)送器,或只有接收器。通信的一端只有發(fā)送器,或只有接收器。 發(fā)送器甲機接收器乙機42發(fā)送器甲機接收器發(fā)送器乙機接收器半雙工方式:半雙工方式:能雙向傳送的通信方式稱雙工方式。能雙向傳送的通信方式稱雙工方式。 數(shù)據(jù)可以雙向傳送,但不能同時發(fā)送和接收,只能分時接數(shù)據(jù)可以雙向傳送,但不能同時發(fā)送和接收,只能分時接收或發(fā)送的通信方式,稱為半(準)雙工收或發(fā)送的通信方式,稱為半(準)雙工 。如:如:每端口有一個發(fā)送器和一個接收器,因使用同一根數(shù)據(jù)每端口有一個發(fā)送器和一個接收

30、器,因使用同一根數(shù)據(jù)線,要通過換向器轉(zhuǎn)換方向。線,要通過換向器轉(zhuǎn)換方向。43全雙工方式全雙工方式 能同時發(fā)送和接收數(shù)據(jù)的通信方式稱全雙工。能同時發(fā)送和接收數(shù)據(jù)的通信方式稱全雙工。如:如:通信雙方用兩個獨立的收通信雙方用兩個獨立的收/ /發(fā)器單獨連接。發(fā)器單獨連接。發(fā)送器甲機接收器發(fā)送器乙機接收器44 因為因為CPUCPU處理的是并行數(shù)據(jù),在發(fā)送端,串行接口將處理的是并行數(shù)據(jù),在發(fā)送端,串行接口將CPUCPU送出的并行數(shù)據(jù)送出的并行數(shù)據(jù)串行數(shù)據(jù);在接收端,串行接口將接收串行數(shù)據(jù);在接收端,串行接口將接收到串行數(shù)據(jù)到串行數(shù)據(jù)并行數(shù)據(jù),送往并行數(shù)據(jù),送往CPUCPU處理。處理。串行接口電路應實現(xiàn)不同

31、串行通信方式下的數(shù)據(jù)格式化任串行接口電路應實現(xiàn)不同串行通信方式下的數(shù)據(jù)格式化任務。務。如:如:在在異步方式異步方式下自動生成起始、終止方式的下自動生成起始、終止方式的幀數(shù)據(jù)格式幀數(shù)據(jù)格式在在同步方式同步方式下在待傳送的數(shù)據(jù)塊前加上下在待傳送的數(shù)據(jù)塊前加上同步字符同步字符 串行接口應具備對數(shù)據(jù)傳輸速率(波特率)的控制選擇能串行接口應具備對數(shù)據(jù)傳輸速率(波特率)的控制選擇能力,即具有波特率發(fā)生器。力,即具有波特率發(fā)生器。45在發(fā)送時,對傳送的數(shù)據(jù)自動生成校驗位或校驗碼;在發(fā)送時,對傳送的數(shù)據(jù)自動生成校驗位或校驗碼;在接收端,能檢查校驗位或校驗碼,確定傳送中是否在接收端,能檢查校驗位或校驗碼,確定傳

32、送中是否有誤碼。有誤碼。 46波特率波特率(Baud RateBaud Rate)- -通信中用以表示數(shù)據(jù)傳送速率。通信中用以表示數(shù)據(jù)傳送速率。單位單位時間內(nèi)傳送的信息量。以每秒傳送的二進制位數(shù)時間內(nèi)傳送的信息量。以每秒傳送的二進制位數(shù)bpsbps。例:例:100100字符字符/ /秒,秒,1 1個字符個字符1111位位(起始、停止、校驗、數(shù)據(jù)起始、停止、校驗、數(shù)據(jù)) 波特率為:波特率為:10010011=1100bps 11=1100bps 平均每位傳送占用時間平均每位傳送占用時間: Td = 1/1100=0.909ms: Td = 1/1100=0.909ms波特率發(fā)生器波特率發(fā)生器發(fā)送

33、時,在發(fā)送時鐘的作用下將移位寄存器的數(shù)據(jù)串行移出;發(fā)送時,在發(fā)送時鐘的作用下將移位寄存器的數(shù)據(jù)串行移出;接收時,在接收時鐘的作用下將通信線上的數(shù)據(jù)移入移位寄接收時,在接收時鐘的作用下將通信線上的數(shù)據(jù)移入移位寄存器,能存器,能產(chǎn)生發(fā)送時鐘和接收時鐘產(chǎn)生發(fā)送時鐘和接收時鐘的電路稱的電路稱波特率發(fā)生器波特率發(fā)生器。為了提高采樣的分辨率,準確定位數(shù)據(jù)的上升沿下降沿,時為了提高采樣的分辨率,準確定位數(shù)據(jù)的上升沿下降沿,時鐘頻率總是高于波特率的若干倍,這個倍數(shù)稱為鐘頻率總是高于波特率的若干倍,這個倍數(shù)稱為波特率因子波特率因子。47n 通信速率和通信距離與通信速率和通信距離與傳輸線的電氣特性傳輸線的電氣特性

34、有關(guān);有關(guān);通信速率和通信距離這兩個方面是相互制約的,降低通信通信速率和通信距離這兩個方面是相互制約的,降低通信速率,可以提高通信距離。不同的通信距離,串行通信電速率,可以提高通信距離。不同的通信距離,串行通信電路有不同的連接方法。路有不同的連接方法。(1 1)近距離通信電路(板級)近距離通信電路(板級) RXDRXD TXD TXD GND GNDRXDRXDTXDTXDGNDGND48(2)較遠距離傳送電路(15m)RXDTXDGND電平轉(zhuǎn)換RXDTXDGNDRXDTXDGND電平轉(zhuǎn)換RXDTXDGND微機微機或其他設(shè)備RS-232CRS-232C49 (3)遠距離傳送電路發(fā)送:發(fā)送:數(shù)字

35、信號通過調(diào)制器(數(shù)字信號通過調(diào)制器(ModemModem)變成模擬信號通過電話線傳送到對方)變成模擬信號通過電話線傳送到對方; ;接收:接收:接收方通過解調(diào)器將模擬信號轉(zhuǎn)換成數(shù)字信號接收。接收方通過解調(diào)器將模擬信號轉(zhuǎn)換成數(shù)字信號接收。微機接口調(diào)制解調(diào)器調(diào)制解調(diào)器接口微機電話分機電話分機n測量控制系統(tǒng)中,計算機通信經(jīng)常采用異步串行通信方式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抗干擾能力 采用標準的通信接口,本身具有一定的抗干擾能力,但是工業(yè)現(xiàn)場的情況往往很惡劣,因而要根據(jù)具體情況進行選擇。RS-232C:一般場合,常用在實驗室;RS-422: 抗共模信號比較強(差動輸入);光纖: 抗電磁干擾較強。52n美國電子工業(yè)協(xié)會(EIA)公布的一種異步通信標準。RS232C標準是:設(shè)備之間通信的距離不大于15米;最大傳輸速率20KB/S采用負邏輯:1:-3V-15V 0:+3V - +15V連接器:9針D型連接器(早期25針);154326789GNDTXDDTRRXDDSRDCDRTSCTSRI53n握手信號(與Modem連接時使用)RTS:

37、請求發(fā)送信號,輸出;CTS:清除傳送,對RTS的響應,輸入;DCD:載波檢測,輸入;DSR:數(shù)據(jù)通信準備就緒,輸入;DTR:數(shù)據(jù)終端就緒,輸出。nRS-232C的EIA電平與TTL電平的轉(zhuǎn)換當計算機采用RS-232標準時必須通過電平變換,如: 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機154326789TXDRXDRS-23257n5151單片機有一個可編程的全雙工異步串行通信接口,它單片機有一個可編程的全雙工異步串行通信接口,它可作可作UARTUART(異步接收和發(fā)送器)用,也可作(異步接收和發(fā)送

39、器)用,也可作同步移位寄同步移位寄存器存器,其,其幀格式可有幀格式可有8 8位、位、1010位或位或l l l l位位,并能設(shè)置各種波,并能設(shè)置各種波特率。特率。一、串行口的結(jié)構(gòu)一、串行口的結(jié)構(gòu)n單片機通過引腳單片機通過引腳RXD(P3.0)RXD(P3.0)數(shù)據(jù)接收端和引腳數(shù)據(jù)接收端和引腳TXD(P3.l)TXD(P3.l)數(shù)據(jù)發(fā)送端與外界進行通信。數(shù)據(jù)發(fā)送端與外界進行通信。n有兩個物理上獨立的有兩個物理上獨立的接收、發(fā)送緩沖器接收、發(fā)送緩沖器SBUFSBUF,它們占用,它們占用同一地址同一地址99H99H,可同時發(fā)送、接收數(shù)據(jù)。,可同時發(fā)送、接收數(shù)據(jù)。發(fā)送緩沖器發(fā)送緩沖器只能寫入,不能讀出

40、,只能寫入,不能讀出,CPUCPU寫寫SBUFSBUF,一方面,一方面修改發(fā)送寄存器,同時啟動數(shù)據(jù)串行發(fā)送;修改發(fā)送寄存器,同時啟動數(shù)據(jù)串行發(fā)送;接收緩沖器接收緩沖器只能讀出、不能寫入。讀只能讀出、不能寫入。讀SBUFSBUF,就是讀接收,就是讀接收寄存器。寄存器。58發(fā)送SBUF(99H)門88 圖5.13 串行口結(jié)構(gòu)框圖 RXD(P3.0)TXD(P3.1)中斷接收SBUF(99H)定時器T1分頻器發(fā)送控制器接收控制器串寄行存控器制 SCON (98H)輸入移位寄存器TIRI內(nèi) 部 總 線fosc21波特率發(fā)生送器SHIFTSHIFTn 串行控制寄存器串行控制寄存器 SCONSCON,存放

41、串行口的存放串行口的控制和狀態(tài)信息控制和狀態(tài)信息,通過設(shè)置、讀取寄存器的位信息管理串行通信。通過設(shè)置、讀取寄存器的位信息管理串行通信。如:如:設(shè)置設(shè)置通信方式、中斷標志;通信方式、中斷標志;n 電源控制寄存器電源控制寄存器PCONPCON的最高位的最高位SMODSMOD為串行口波特率的為串行口波特率的倍增控制位。倍增控制位。n 波特率發(fā)生器波特率發(fā)生器可以有兩種選擇:可以有兩種選擇:1. 1. 定時器定時器T1T1作波特率發(fā)生器,改變計數(shù)初值就可以改變串作波特率發(fā)生器,改變計數(shù)初值就可以改變串行通信的速率,稱為可變波特率。行通信的速率,稱為可變波特率。2. 2. 以內(nèi)部時鐘的分頻器作波特率發(fā)生

42、器,因內(nèi)部時鐘頻率一以內(nèi)部時鐘的分頻器作波特率發(fā)生器,因內(nèi)部時鐘頻率一定,稱為定,稱為固定波特率固定波特率。60n甲方發(fā)送時,甲方發(fā)送時,CPUCPU執(zhí)行指令執(zhí)行指令 MOVMOV SBUF , A SBUF , A ,數(shù)據(jù)并行送入,數(shù)據(jù)并行送入SBUF SBUF ,啟動了,啟動了發(fā)送過程,在發(fā)送時鐘發(fā)送過程,在發(fā)送時鐘 shiftshift的控制下由低位到高位一位一位發(fā)送。乙方在的控制下由低位到高位一位一位發(fā)送。乙方在接收時鐘接收時鐘 shift shift 的控制下由低位到高位順序進入移位寄存器的控制下由低位到高位順序進入移位寄存器SBUF SBUF ;n甲方一幀數(shù)據(jù)發(fā)送完畢,甲方一幀數(shù)據(jù)

43、發(fā)送完畢,SBUFSBUF為空,置位發(fā)送中斷標志為空,置位發(fā)送中斷標志TITI,可作為查詢標,可作為查詢標志(或引起中斷),志(或引起中斷),CPUCPU可再發(fā)送下一幀數(shù)據(jù)可再發(fā)送下一幀數(shù)據(jù) 。shiftMOV A , SBUF串行數(shù)據(jù) SBUFSBUFCPUCPUshiftMOV SBUF , A并行數(shù)據(jù) 甲方(發(fā)送)乙方(接收)并行數(shù)據(jù)n 乙方收到一幀數(shù)據(jù),即接收緩沖器滿,置位接收中斷標乙方收到一幀數(shù)據(jù),即接收緩沖器滿,置位接收中斷標志志RIRI,該位可作為查詢標志(或引起接收中斷),該位可作為查詢標志(或引起接收中斷),CPUCPU通過通過 MOV A ,SBUF MOV A ,SBUF

44、 指令將這幀數(shù)據(jù)并行讀入。指令將這幀數(shù)據(jù)并行讀入。由上述可知:由上述可知: 甲、乙方的移位時鐘頻率應相同,即應具有相同的波特甲、乙方的移位時鐘頻率應相同,即應具有相同的波特率,否則會造成數(shù)據(jù)丟失。率,否則會造成數(shù)據(jù)丟失。 發(fā)送方:先發(fā)數(shù)據(jù),再查標志發(fā)送方:先發(fā)數(shù)據(jù),再查標志TITI;(;(先發(fā)后檢查先發(fā)后檢查) 接收方:先查標志接收方:先查標志RIRI,再收數(shù)據(jù)。(,再收數(shù)據(jù)。(先檢查后收先檢查后收) CPUCPU通過指令和通過指令和SBUFSBUF并行交換數(shù)據(jù),但不能控制數(shù)據(jù)并行交換數(shù)據(jù),但不能控制數(shù)據(jù)的串行移位(的串行移位(自動進行自動進行),只能查詢標志位來確定數(shù)據(jù)),只能查詢標志位來確

45、定數(shù)據(jù)的移位是否完成。的移位是否完成。62n5151單片機串行口是一個可編程接口,通過兩個特殊功能單片機串行口是一個可編程接口,通過兩個特殊功能寄存器控制:寄存器控制: 串行口控制寄存器串行口控制寄存器SCONSCON(98H)(98H)電源控制寄存器電源控制寄存器PCONPCON(97H) (97H) 63n串行通信的模式選擇、接收和發(fā)送控制,指示串串行通信的模式選擇、接收和發(fā)送控制,指示串行口的中斷標志;行口的中斷標志;n其格式如下其格式如下: :64SM0SM0SM1 SM1 SM2SM2RENRENTB8TB8RB8RB8TITIRIRI方式選擇方式選擇多機多機控制控制串行接收串行接收

46、允許允許/ / 禁止禁止欲發(fā)的欲發(fā)的第九位第九位收到的收到的第九位第九位發(fā)送中斷發(fā)送中斷有有/ /無無接收中斷接收中斷有有/ /無無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是接受機收到的第是接受機收到的第9 9位數(shù)據(jù),位數(shù)據(jù),該數(shù)據(jù)來自發(fā)送機的該數(shù)據(jù)來自發(fā)送機的TB8TB8。 方式方式1 1時,時,RB8RB8接受的是停止位接受的是停止位 方式方式0 0時,時,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方式選擇方式選擇多機多機控制控制串行接收串行接收允許允許/ / 禁止禁止欲發(fā)的欲發(fā)的第九位第九位收到的收到的第九位第九位發(fā)送中斷發(fā)送中斷有有/ /無無接收中斷接收中斷有有/ /無無65SM0SM0SM1 SM1 SM2SM2RENRENTB8TB8RB8RB8TITIRIRI方式選擇方式選擇多機多機控制控制串行接收串行接收允許允許/ / 禁止禁止欲發(fā)的欲發(fā)的第九位第九位收到的收到的第九位第九位發(fā)送中斷發(fā)送中斷有有

48、/ /無無接收中斷接收中斷有有/ /無無66發(fā)送前必須用軟件清零,發(fā)送完一幀數(shù)據(jù)后,由硬件置發(fā)送前必須用軟件清零,發(fā)送完一幀數(shù)據(jù)后,由硬件置11,如果再發(fā)送,必須用軟件再清零。,如果再發(fā)送,必須用軟件再清零。接收前接收前, ,必須用軟件清零,接收到一幀數(shù)據(jù)后由硬件自動必須用軟件清零,接收到一幀數(shù)據(jù)后由硬件自動置置11。如果再接收,必須用軟件清零。如果再接收,必須用軟件清零。SM0SM0SM1 SM1 SM2SM2RENRENTB8TB8RB8RB8TITIRIRI方式選擇方式選擇多機多機控制控制串行接收串行接收允許允許/ / 禁止禁止欲發(fā)的欲發(fā)的第九位第九位收到的收到的第九位第九位發(fā)送中斷發(fā)送

49、中斷有有/ /無無接收中斷接收中斷有有/ /無無n當選擇方式當選擇方式2 2或方式或方式3 3時:時: TB8=1TB8=1作為地址幀尋找從機作為地址幀尋找從機 TB8=0TB8=0作為數(shù)據(jù)幀進行通信;作為數(shù)據(jù)幀進行通信; 若接收到的第九位數(shù)據(jù)若接收到的第九位數(shù)據(jù)RB8=0RB8=0,不置位,不置位RIRI,即不引起接收中斷,不接收,即不引起接收中斷,不接收數(shù)據(jù)幀,繼續(xù)監(jiān)聽;數(shù)據(jù)幀,繼續(xù)監(jiān)聽; 若接收到的若接收到的RB8=1RB8=1,置位,置位RIRI,引起接收中斷,中斷程序中判斷所接收的,引起接收中斷,中斷程序中判斷所接收的地址幀和本機的地址是否符合地址幀和本機的地址是否符合: :若不符合

50、,維持若不符合,維持SM2=1SM2=1,繼續(xù)監(jiān)聽;若符合,繼續(xù)監(jiān)聽;若符合,則清則清SM2SM2,接收對放發(fā)來的后續(xù)信息。,接收對放發(fā)來的后續(xù)信息。綜上所述,SM2的作用為:(1)方式2,3:發(fā)送端SM2=1的情形下,接受端的響應: 接受端SM2=1,若RB8=1,激活RI,引起接收中斷; 若RB8=0,不激活RI,不引起中斷。 接受端SM2=0,無論RB8=1還是RB8=0均激活RI引起接收中斷。(2)方式0: SM2應設(shè)置為0。68nPCONPCON的格式如下:串行通信只用其中的最高位的格式如下:串行通信只用其中的最高位SMODSMODIDLPDGF0GF1XXXSMODPCONPCON

51、87HnSMOD : SMOD : 波特率加倍位。波特率加倍位。 在串行通訊方式在串行通訊方式 1 1、 2 2、 3 3計算波特率時:計算波特率時: SMOD SMOD 0 0波特率不加倍波特率不加倍; ; SMOD SMOD 1 1波特率加倍。波特率加倍。nGF1GF1、GF0GF0:通用標志位;通用標志位;nPDPD:掉電方式。:掉電方式。PD=1PD=1時,激活掉電工作方式。時,激活掉電工作方式。nIDLIDL:待機方式。待機方式。IDL=1IDL=1時,激活待機工作方式。時,激活待機工作方式。PCONPCON:無位地址,只能按字節(jié)尋址。初始化時無位地址,只能按字節(jié)尋址。初始化時SMO

52、D=0SMOD=0。 69n5151系列單片機的串行通信有四種工作方式,通過編系列單片機的串行通信有四種工作方式,通過編程進行選擇。程進行選擇。70l RXDRXD為串行數(shù)據(jù)的發(fā)送端或接收端為串行數(shù)據(jù)的發(fā)送端或接收端, TXD, TXD提供移位的時提供移位的時鐘脈沖,輸出頻率為鐘脈沖,輸出頻率為foscfosc/12/12。l 波特率固定:為波特率固定:為foscfosc/12 (/12 (foscfosc為單片機晶振頻率為單片機晶振頻率) )l 數(shù)據(jù)格式為數(shù)據(jù)格式為8 8位,低位在前,高位在后;位,低位在前,高位在后;l 發(fā)送過程:發(fā)送過程:以寫以寫SBUFSBUF開始,當開始,當8 8位數(shù)

53、據(jù)傳送完畢,位數(shù)據(jù)傳送完畢,TITI置置1 1,然后發(fā)送下一幀數(shù)據(jù)。,然后發(fā)送下一幀數(shù)據(jù)。l 接收過程:接收過程:必須先設(shè)置必須先設(shè)置REN=1REN=1和和RI=0RI=0,當,當8 8位數(shù)據(jù)接收位數(shù)據(jù)接收完畢,完畢,RIRI置置1 1,此時,可通過讀,此時,可通過讀SBUFSBUF指令,將數(shù)據(jù)讀入指令,將數(shù)據(jù)讀入CPUCPU。718051RXDTXD728051RXDTXD74LS164ABCLKP1.0/CLRD0D7(1 1)數(shù)據(jù)輸出典型應用)數(shù)據(jù)輸出典型應用SBUF738051RXDTXD74LS165ABCLKP1.0SH/LDD0D7(1 1)數(shù)據(jù)輸入典型應用)數(shù)據(jù)輸入典型應用S

54、BUFn以以TXDTXD為串行數(shù)據(jù)的發(fā)送端,為串行數(shù)據(jù)的發(fā)送端,RXDRXD為數(shù)據(jù)的接收端;為數(shù)據(jù)的接收端;n每幀數(shù)據(jù)由每幀數(shù)據(jù)由1 1個起始位個起始位0 0,八個數(shù)據(jù)位和,八個數(shù)據(jù)位和1 1個停止位個停止位1 1 共共1010位構(gòu)成,其中起始位和停止位在發(fā)送時是自動生成的。位構(gòu)成,其中起始位和停止位在發(fā)送時是自動生成的。74D0D1D2D3D4D5D6D7起始停止8051RXDTXDnT1T1提供移位時鐘,是波特率可變方式。提供移位時鐘,是波特率可變方式。波特率波特率=(2SMOD/32)(T1的溢出率)X為T1的計數(shù)初值。xfoscSMOD25612/32275定時器T1分頻器Fosc/1

55、2SMODn發(fā)送過程: n接受過程: 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個起始位個起始位0 0,8 8個數(shù)據(jù)位個數(shù)據(jù)位 ,1 1個個可編程位可編程位( (第第9 9數(shù)據(jù)位數(shù)據(jù)位) ) 和和1 1個停止位。個停止位。 發(fā)送時,第發(fā)送時,第9 9數(shù)據(jù)位(數(shù)據(jù)位(TB8TB8)可設(shè)置為)可設(shè)置為0 0或或1 1; 接收時,第接收時,第9 9數(shù)據(jù)位進入數(shù)據(jù)位進入SCONSCON的的RB8RB8。 778051RXDTXDD0D1D2D3D4D5D6D7起始停止D8TB8n波特率固

56、定:波特率固定:n發(fā)送過程發(fā)送過程: :以寫以寫SBUFSBUF開始,當數(shù)據(jù)傳送完畢,開始,當數(shù)據(jù)傳送完畢,TITI置置1 1,申請中斷。申請中斷。波特率 oscSMODf64278n接受過程:接受過程:先設(shè)置先設(shè)置REN=1REN=1和和RI=0RI=0,當,當9 9位數(shù)據(jù)接收完畢,位數(shù)據(jù)接收完畢,移位寄存器內(nèi)容裝入移位寄存器內(nèi)容裝入SBUFSBUF和和RB8RB8,并且,并且RIRI置置1 1,此時,可,此時,可通過讀通過讀SBUFSBUF指令,將數(shù)據(jù)讀入指令,將數(shù)據(jù)讀入CPUCPU。n 數(shù)據(jù)格式同方式數(shù)據(jù)格式同方式2 2,所不同的是,所不同的是算方式同算方式同方式方式 1 1。79波特率

57、波特率=(2SMOD/32)(T1的溢出率)X為T1的計數(shù)初值。xfoscSMOD25612/322串行通信程序的編程要點:串行通信程序的編程要點:(1 1)波特率設(shè)置:)波特率設(shè)置:串行口的波特率有兩種方式:串行口的波特率有兩種方式: 固定波特率(方式固定波特率(方式0 0、2 2) 可變波特率(方式可變波特率(方式1 1、3 3)注意:注意:使用可變波特率時,先確定使用可變波特率時,先確定T T1 1的計數(shù)初值,并對的計數(shù)初值,并對T1T1進行初始化。進行初始化。(2 2)設(shè)置控制字()設(shè)置控制字(SCONSCON、PCONPCON)若為接受需要置若為接受需要置REN=1,REN=1,清清TI,RITI,RI中斷標志。中斷標志。80(3 3)響應方式選擇)響應方式選擇:串行通信的工作方式:查詢:串行通信的工作方式:查詢/ /中斷中斷 查詢方式查詢方式: : 查查RIRI、TI TI 是否為是否為11。發(fā)送過程:發(fā)送過程:發(fā)送一個字符發(fā)送一個字符查詢查詢T1T1發(fā)送下一個字符發(fā)送下一個字符接受過程:接受過程:查詢查詢RIRI 讀入數(shù)據(jù)讀入數(shù)據(jù)查詢查詢RIRI 讀入下一個數(shù)據(jù)讀入下一個數(shù)據(jù) 中斷方式:如果預先開了中斷,當中斷方式:如果預先開了中斷,當TITI、RI RI 為為“1”1”

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論