第四章外圍模塊_第1頁
第四章外圍模塊_第2頁
第四章外圍模塊_第3頁
第四章外圍模塊_第4頁
第四章外圍模塊_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1第四章第四章 51系列單片機(jī)系列單片機(jī) 的功能模塊及應(yīng)用的功能模塊及應(yīng)用主要掌握并行口、串行口、定主要掌握并行口、串行口、定時器的結(jié)構(gòu)、工作原理及應(yīng)用時器的結(jié)構(gòu)、工作原理及應(yīng)用24-1 并行口及其應(yīng)用并行口及其應(yīng)用51系列單片機(jī)的并行口,按特性可分類為:單一的準(zhǔn)雙向口(如89C52的P1.2P1.7)多功能復(fù)用的準(zhǔn)雙向口(如89C52的P1.0、P1.1,P3.0P3.7)可作地址總線輸出口的準(zhǔn)雙向口(P2)可作地址/數(shù)據(jù)總線口的三態(tài)雙向口(P0)3每個I/O線均由鎖存器,輸出電路和輸入緩沖器組成。每一條口線可獨(dú)立用作輸入和輸出。作輸出時可鎖存數(shù)據(jù),輸入時可緩沖數(shù)據(jù)。CPU對口的讀操作有兩種

2、:讀修改寫操作(讀口鎖存器狀態(tài))例:ANL P0,A ;(P0)(P0)(A) ORL P0,#data ;(P0)(P0)data DEC P0 ;(P0)(P0) -1讀引腳操作(讀口引腳上外部輸入信息)例 MOV A,P1454-1-1 P0 口口 P0口是一個三態(tài)雙向口,可作為地址口是一個三態(tài)雙向口,可作為地址/數(shù)據(jù)分時復(fù)用口,也可作為通用數(shù)據(jù)分時復(fù)用口,也可作為通用I/O接口。接口。 其其1位的結(jié)構(gòu)原理如下圖所示。位的結(jié)構(gòu)原理如下圖所示。P0口由口由8個這樣的電路組成。個這樣的電路組成。6P0.x地址 /數(shù)據(jù) 控制D Q鎖存器CLK_QMUX&1V2V1讀引腳內(nèi)部總線讀 鎖存

3、器寫鎖存器VCC2134P0口口1位結(jié)構(gòu)圖位結(jié)構(gòu)圖起輸出鎖存作用,8個鎖存器構(gòu)成了SFRP0V1、V2組成輸出驅(qū)動器,以增大帶負(fù)載能力三態(tài)門1是引腳輸入緩沖器讀鎖存器端口7 2地址/數(shù)據(jù)分時復(fù)用功能 當(dāng)P0口作為地址/數(shù)據(jù)分時復(fù)用總線時,可分為兩種情況:一種是從P0口輸出地址或數(shù)據(jù),另一種是從P0口輸入數(shù)據(jù)。 8在訪問片外存儲器而需從P0口輸出地址或數(shù)據(jù)信號時,控制信號應(yīng)為高電平“1”,使轉(zhuǎn)換開關(guān)MUX把反相器4的輸出端與V1接通,同時把與門3打開。1)當(dāng)?shù)刂坊驍?shù)據(jù)為“1”時,經(jīng)反相器4使V1截止,而經(jīng)與門3使V2導(dǎo)通,P0.x引腳上出現(xiàn)相應(yīng)的高電平“1”; 2)當(dāng)?shù)刂坊驍?shù)據(jù)為0時,經(jīng)反相器4

4、使V1導(dǎo)通而V2截止,引腳上出現(xiàn)相應(yīng)的低電平0。這樣就將地址/數(shù)據(jù)的信號輸出。93通用I/O接口功能 當(dāng)P0口作為通用I/O口使用,在CPU向端口輸出數(shù)據(jù)時,對應(yīng)的控制信號為0,轉(zhuǎn)換開關(guān)把輸出級與鎖存器Q端接通,同時因與門3輸出為0使V2截止,此時,輸出級是漏極開路電路輸出級是漏極開路電路。當(dāng)寫脈沖加在鎖存器時鐘端CLK上時,與內(nèi)部總線相連的D端數(shù)據(jù)取反后出現(xiàn)在Q端,又經(jīng)輸出V1反相,在P0引腳上出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。當(dāng)要從P0口輸入數(shù)據(jù)時,引腳信息仍經(jīng)輸入緩沖器進(jìn)入內(nèi)部總線。10總之:一 P0口作為一般I/O口使用 1 P0口用作輸出口:必須外接上拉電阻必須外接上拉電阻,才有高電平

5、輸出。2 P0口作輸入口:先向端口鎖存器寫入寫入“1”。二 P0口作為地址/數(shù)據(jù)總線使用1 以P0口引腳輸出低8位地址或數(shù)據(jù)信息2 由P0口輸入數(shù)據(jù)三 P0口可驅(qū)動8個LSTTL電路114-1-2 P1口(準(zhǔn)雙向口)口(準(zhǔn)雙向口)12P1.0、P1.1為多功能雙向口, P1.2P1.7為單一功能準(zhǔn)雙向口。P1口的第一功能是準(zhǔn)雙向口,每一位可分別定義為輸入線或輸出線。輸出驅(qū)動部分由場效應(yīng)管V1與內(nèi)部上拉電阻組成。當(dāng)其某位輸出高電平時,可以提供上拉電流負(fù)載。89C5289C52P1.0K 0P0.0+5V10K K 013P1的某一位作為輸入線輸入線時,該位的口鎖存器必須保持“1”。使輸出場效應(yīng)管

6、截止。該引腳才可由內(nèi)部拉高電路拉成高電平,或由外部電路拉成低電平。P1口具有驅(qū)動4個LSTTL負(fù)載的能力。14154-1-3 P2口(準(zhǔn)雙向口)口(準(zhǔn)雙向口)D Q鎖存器CLK_Q1P2.xV1讀引腳內(nèi)部總線讀鎖存器寫鎖存器地址控制VCC內(nèi)部上拉電阻MUX213圖2.11 P 2口1位結(jié)構(gòu)圖16 當(dāng)作為準(zhǔn)雙向通用I/O口使用時: 控制信號使轉(zhuǎn)換開關(guān)接向左側(cè),鎖存器Q端經(jīng)反相器3接V1,其工作原理與P1相同,也具有輸入、輸出、端口操作三種工作方式,負(fù)載能力也與P1相同。 171 系統(tǒng)中外接程序存儲器時:P2口輸出程序存儲器的高8位地址,不作I/O口使用。2 系統(tǒng)中無外接程序存儲器,而擴(kuò)展有片外R

7、AM的系統(tǒng)中: 片外RAM的容量256B:P2口仍做輸入/輸出口使用。使用R0或R1作地址指針。片外RAM的容量256B : P2口不能做輸入/輸出口,而做系統(tǒng)擴(kuò)展的高8位地址總線口使用。使用DPTR、P2R0、P2R1作地址指針。 184-1-4 P3口(準(zhǔn)雙向口)口(準(zhǔn)雙向口)19 P3口是一多功能口,既做準(zhǔn)雙向口又做特殊輸入輸出口。1 做通用I/O口使用: P3口做輸入使用,應(yīng)由軟件向口鎖存器寫“1”。202 做第二功能使用: 某位做第二功能使用該位D鎖存器Q應(yīng)被硬件自動置“1”。 P3.0 RXD P3.5 T1 P3.1 TXD (出) P3.6 WR(出) P3.2 INT0 P3

8、.7 RD(出) P3.3 INT1 P3.4 T03 P3口具有驅(qū)動4個LSTTL負(fù)載的能力。214-1-5 并行口的應(yīng)用并行口的應(yīng)用1 外接蜂鳴器2 利用可控硅控制加熱電路3 BCD碼撥碼盤的接口 BCD碼撥碼盤構(gòu)造一個撥碼盤可以輸入1位十進(jìn)制數(shù)據(jù)。撥碼盤撥到某個位置時,控制線分別與4位數(shù)據(jù)線中某幾位接通。接通線定義為“1”,不通的線定義為“0”。224-2 定時器及其應(yīng)用定時器及其應(yīng)用定時器功能:定時器功能: 1 定時操作定時操作 2 測量外部輸入信號測量外部輸入信號 3 定時輸出定時輸出 4 監(jiān)視系統(tǒng)正常工作監(jiān)視系統(tǒng)正常工作234-2-1定時器的結(jié)構(gòu)和工作原理定時器的結(jié)構(gòu)和工作原理1

9、定時器由一個N位計數(shù)器、計數(shù)時鐘源控制電路、狀態(tài)和控制寄存器等組成。 2 計數(shù)脈沖有兩個來源:外部的脈沖源系統(tǒng)的時鐘振蕩器。內(nèi)部時鐘外部時鐘N位計數(shù)器TFTMOD TCON中斷中斷243 用作定時器時,每經(jīng)過一個機(jī)器周期,計數(shù)用作定時器時,每經(jīng)過一個機(jī)器周期,計數(shù)器自動加器自動加1,直到計數(shù)溢出;用作計數(shù)器時,直到計數(shù)溢出;用作計數(shù)器時,外部時鐘脈沖加在定時器的外輸入端外部時鐘脈沖加在定時器的外輸入端T0(P3.4)或或T1(P3.5),每出現(xiàn)一次負(fù)跳變,每出現(xiàn)一次負(fù)跳變,計數(shù)器加計數(shù)器加1。4 兩個模擬開關(guān),左邊決定定時兩個模擬開關(guān),左邊決定定時/計數(shù)器的工計數(shù)器的工作狀態(tài),右邊決定脈沖源是

10、否加在計數(shù)器的作狀態(tài),右邊決定脈沖源是否加在計數(shù)器的輸入端。輸入端。5 16位的計數(shù)器由兩個位的計數(shù)器由兩個8位位SFR TH和和TL組成組成。25定時器定時器/計數(shù)器計數(shù)器T0、T1的結(jié)構(gòu)框圖的結(jié)構(gòu)框圖264-2-2 定時器定時器/計數(shù)器計數(shù)器T0和和T1一方式寄存器一方式寄存器TMOD(89H)1 不能進(jìn)行位尋址,只能用字節(jié)尋址。復(fù)不能進(jìn)行位尋址,只能用字節(jié)尋址。復(fù)位時,位時,TMOD所有位為所有位為0w熟悉各位功能熟悉各位功能2T1方式字段方式字段 T0方式字方式字段段GATEC/TM1 M GATEC/TM1M027 GATE門控位“1”:定時器的計數(shù)受外部引腳輸入電平的控制“0”:定

11、時器的計數(shù)不受外部引腳輸入電平的控制 C/T功能選擇位“1”:計數(shù)功能 “ 0”:定時功能 M1M0工作方式選擇位28 適于適于T0,兩個,兩個8位計數(shù)器位計數(shù)器M1M0工作方式工作方式方方 式式 說說 明明00013位定時器位定時器/計數(shù)器計數(shù)器01116位定時器位定時器/計數(shù)器計數(shù)器102具有自動重裝初值的具有自動重裝初值的8位定時器位定時器/計數(shù)器計數(shù)器113 29二二 控制寄存器控制寄存器TCON(88H)1 既可字節(jié)尋址又可位尋址。復(fù)位時,既可字節(jié)尋址又可位尋址。復(fù)位時,TCON各位為各位為0例:例:SETB TR1 ;啟動定時器;啟動定時器T1工作工作熟悉各位功能熟悉各位功能D7

12、D6 D5 D4 D3 D2 D1 D08FH8EH 8DH 8CH 8BH 8AH 89H 88HTF1TR1TF0 TR0 IE1IT1IE0IT030TF1定時器定時器/計數(shù)器計數(shù)器T1的溢出標(biāo)志位的溢出標(biāo)志位TR1定時器定時器/計數(shù)器計數(shù)器T1的運(yùn)行控制位的運(yùn)行控制位TF0定時器定時器/計數(shù)器計數(shù)器T0的溢出標(biāo)志位的溢出標(biāo)志位TR0定時器定時器/計數(shù)器計數(shù)器T0的運(yùn)行控制位的運(yùn)行控制位IE1外部中斷外部中斷1下降沿觸發(fā)標(biāo)志位下降沿觸發(fā)標(biāo)志位IE0外部中斷外部中斷0下降沿觸發(fā)標(biāo)志位下降沿觸發(fā)標(biāo)志位IT1外部中斷外部中斷1觸發(fā)類型選擇位觸發(fā)類型選擇位IT0外部中斷外部中斷0觸發(fā)類型選擇位觸

13、發(fā)類型選擇位31三三 定時器定時器/計數(shù)器的初始化計數(shù)器的初始化 初始化即將控制字寫入定時器初始化即將控制字寫入定時器/計數(shù)器計數(shù)器的過程。的過程。初始化一般步驟初始化一般步驟:1 寫入初值寫入初值TH0、TL0或或TH1、TL12 對對TMOD賦值賦值3 對對IE賦值(有中斷產(chǎn)生時)賦值(有中斷產(chǎn)生時)4 若用軟件啟動,則僅把若用軟件啟動,則僅把TR0或或TR1置置“1”; 若用外中斷引腳電平啟動,則還需給外若用外中斷引腳電平啟動,則還需給外 引腳加啟動電平。引腳加啟動電平。32四四 定時器定時器/計數(shù)器的計數(shù)器的4種工作方式種工作方式1 方式方式033 方式方式0是一個是一個13位的定時器

14、位的定時器/計數(shù)器,計數(shù)器,由由TL0的低的低5位和位和TH0的的8位組成。位組成。 定時時間為定時時間為T=12*(213-a)/fosc s最大定時時間:最大定時時間:M=213=8192T34例例7:已知晶振頻率:已知晶振頻率fosc=6MHZ,若使用,若使用T0方式方式0產(chǎn)生產(chǎn)生10ms定時中斷,試對定時中斷,試對T0進(jìn)行初進(jìn)行初始化編程。始化編程。 MOV TH0,#63H MOV TL0,#18H SETB TR0 MOV IE ,#82H RET35例:例:T0工作于方式工作于方式0,要求在,要求在P1.0引腳上產(chǎn)生引腳上產(chǎn)生周期為周期為2ms的方波輸出的方波輸出(fosc=6M

15、HZ) ORG 0000H AJMP MAIN ORG 000BH AJMP INQP ORG 0030HMAIN: MOV TMOD, #00H MOV TH0, #0F0H MOV TL0, #0CH SETB TR0 ;啟動;啟動T0 SETB ET0 ;允許;允許T0中斷中斷 SETB EA ;開放;開放CPU中斷中斷 AJMP $ ;定時中斷等待;定時中斷等待36 ORG 4000H ;中斷服務(wù)程序;中斷服務(wù)程序INQP: MOV TH0, #0F0H ;重寫定時常數(shù);重寫定時常數(shù) MOV TL0, #0CH CPL P1.0 ;P1.0變反輸出變反輸出 RETI 372 方式方式1

16、 方式方式1是一個是一個16位定時器位定時器/計數(shù)器,結(jié)構(gòu)計數(shù)器,結(jié)構(gòu)和操作方式與方式和操作方式與方式0基本相同。定時時間為基本相同。定時時間為T=12*(216-a)/fosc s最大定時時間:最大定時時間:M=216=65536T38例:設(shè)例:設(shè)fosc=12MHz,T0工作于方式工作于方式1,產(chǎn)生,產(chǎn)生50ms定時中斷,定時中斷,TF0為高級中斷源。試為高級中斷源。試編寫主程序中的初試化程序和中斷服務(wù)程編寫主程序中的初試化程序和中斷服務(wù)程序,使序,使P1.0產(chǎn)生周期為產(chǎn)生周期為1秒的方波。秒的方波。MAIN:MOV SP, #EFH MOV TH0, #3CH MOV TL0, #0B0

17、H MOV TMOD , #1 MOV IP, #2 39 MOV IE, #82H SETB TR0 MOV 30H, #0AHPTF0:ORL TL0, #0B0H;中斷服務(wù)程序中斷服務(wù)程序 MOV TH0, #3CH DJNZ 30H, PTF0R MOV 30H, #0AH CPL P1.0PTF0R:RETI40用查詢法:用查詢法: MOV 30H, #0AH MOV TH0, #3CH MOV TL0, #0B0H MOV TMOD, #1 SETB TR0L2: JBC TF0, L1 SJMP L2L1: MOV TH0, #3CH MOV TL0, #0B0H41 DJNZ

18、30H, L2 MOV 30H, #0AH CPL P1.0 SJMP L2423 方式方式2 方式方式2是能重置初值的是能重置初值的8位定時器位定時器/計數(shù)器,計數(shù)器,TL0作為作為8位計數(shù)器,位計數(shù)器,TH0作為計數(shù)初值寄存器。適于用做較精作為計數(shù)初值寄存器。適于用做較精確的定時脈沖信號發(fā)生器。確的定時脈沖信號發(fā)生器。 定時時間定時時間 T=12*(28-a)/fosc s 最大定時時間:最大定時時間:M=28=256T43振蕩器 12TLx (8位)TFx& 11C/_TC/_Tfosc中斷請求TxGATE_INTxTRxTHx(8位 )4重裝初值控制S1Tcy圖 2.15定時器

19、 /計數(shù)器方式2的邏輯結(jié)構(gòu)S2 定時器/計數(shù)器方式2的邏輯結(jié)構(gòu)44 MOV TMOD, #60H ; 設(shè)置設(shè)置T1為方式為方式2計數(shù)計數(shù) MOV TH1, #9CH ;賦初值;賦初值 MOV TL1, #9CH SETB TR1DE:JBC TF1, RE ;查詢計數(shù)溢出;查詢計數(shù)溢出 AJMP DERE: CPL P1.0 AJMP DE例:用定時器例:用定時器1在方式在方式2計數(shù),要求每計滿計數(shù),要求每計滿100次,將次,將P1.0端取反。端取反。外部計數(shù)信號由P3.5引入,每跳變一次計數(shù)器加1100=28-a ; a=156=9CH45振蕩器12TL0 (8位)&11C/_TC/

20、_Tfosc中斷請求T0GATE_TR0TH1(8位)S2S1TF0TF1TR1TcyTcyINTx圖2.16 定時器 /計數(shù)器方式 3的邏輯結(jié)構(gòu)S定時器定時器/計數(shù)器方式計數(shù)器方式3的邏輯結(jié)構(gòu)的邏輯結(jié)構(gòu) 4 方式方式346 方式方式3只適用于只適用于T0,T0分為兩個獨(dú)分為兩個獨(dú)立的立的8位計數(shù)器位計數(shù)器TL0和和TH0。一般。一般T1用用作串行口波特率發(fā)生器。作串行口波特率發(fā)生器。 最大定時時間:最大定時時間:M=28=256T例例 用定時器用定時器T0,分別產(chǎn)生兩個方波,一,分別產(chǎn)生兩個方波,一個周期為個周期為200 s,另一個周期為,另一個周期為400 s(fosc =9.216MHZ

21、)。47解:定時初值計算解:定時初值計算TL0=28-9.216*106*100*10-6/12 =256-76.8 =179.2 轉(zhuǎn)換十六進(jìn)制為轉(zhuǎn)換十六進(jìn)制為0B3HTH0=28-9.216*106*200*10-6/12 =256-153.6 =102.4 轉(zhuǎn)換十六進(jìn)制為轉(zhuǎn)換十六進(jìn)制為66H48 ORG 0000H AJMP MAIN ORG 000BH ;TL0中斷入口中斷入口 AJMP ITL0 ORG 001BH ;TH0中斷入口中斷入口 AJMP ITH0 ORG 0100HMAIN:MOV SP, #60H MOV TMOD, #03H 49 MOV TL0, #0B3H MOV

22、 TH0, #66H SETB TR0 ;啟動;啟動TL0初值初值 SETB TR1 ;啟動;啟動TH0初值初值 SETB ET0 ;允許允許TL0中斷中斷 SETB ET1 ;允許允許TH0中斷中斷 SETB EA ;CPU中斷開放中斷開放 AJMP $ 50 ORG 0200HITL0:MOV TL0, #0B3H CPL P1.0 ;輸出方波輸出方波200 s RETIITH0:MOV TH0, #66H CPL P1.1 ;輸出方波輸出方波400 s RETI51五五 門控位的應(yīng)用門控位的應(yīng)用GATE位是控制外部輸入脈沖對定時計數(shù)器的位是控制外部輸入脈沖對定時計數(shù)器的控制。當(dāng)為控制。當(dāng)

23、為“1”時,允許外部輸入電平控制時,允許外部輸入電平控制啟、停定時器。利用這個特性可測量外部輸啟、停定時器。利用這個特性可測量外部輸入脈沖的寬度入脈沖的寬度。例:利用T0門控位測試INT0引腳上出現(xiàn)的正脈沖的寬度,將所測得值高位存入片內(nèi)71H單元,低位存入片內(nèi)70H單元。(fosc=12MHz)測試時,應(yīng)在/INT0為低電平時,設(shè)TR0為1;當(dāng)/INT0變高時,啟動計數(shù);當(dāng)/INT0再變低時,停止計數(shù)。該計數(shù)值即被測正脈沖寬度。52MOV TMOD , #09H;T0定時器方式,GATE=1MOV TL0, #00HMOV TH0, #00HMOV R0, #70HJB P3.2, $ ;等待

24、P3.2變低SETB TR0 ;啟動T0準(zhǔn)備工作JNB P3.2, $ ;等待P3.2變高JB P3.2, $ ;等待P3.2再次變低CLR TR0 ;停止計數(shù)MOV R0, TL0 ;存放計數(shù)低字節(jié)INC R0MOV R0, TH0 ;存放計數(shù)高字節(jié)SJMP $ 534-3 串行接口串行接口UART一 兩種基本的通信方式 0 1 0 0 1 0 0 1D0D1D2D3D4D5D6D7狀態(tài)控制(選通)計算機(jī)計算機(jī)(或外設(shè)) 0 1 0 0 1 0 0 1(a)8T計算機(jī)計算機(jī)計算機(jī)(或外設(shè))(b).(a) 并行通信;(b) 串行通信54二串行通信傳輸方式ASSB(a)(b)(c)ABAB(a)

25、 單工方式;(b) 半雙工方式;(c) 全雙工方式55三串行通信兩種基本方式1異步通信異步通信中數(shù)據(jù)或字符是一幀一幀傳送。幀即為一個字符的完整通信格式,又稱幀格式。在幀格式中,一個字符由4部分組成:起始位、數(shù)據(jù)位、奇偶校驗位、停止位。 串行異步傳送的字符格式562 同步通信 數(shù)據(jù)或字符開始處是由一同步字符來指示,并由時鐘實(shí)現(xiàn)發(fā)送端和接收端同步。四 波特率(Baud rate) 波特率就是數(shù)據(jù)的傳送速率,即每秒鐘傳送的二進(jìn)制位數(shù),單位為位/秒。 要求發(fā)送端與接收端的波特率必須一致。574-3-1 串行接口的組成和特性 51系列單片機(jī)的串行口是全雙工異步全雙工異步串行通信接口。一 串行口結(jié)構(gòu)1 波

26、特率發(fā)生器 主要由T1、T2及內(nèi)部的一些控制開關(guān)和分頻器組成。提供串行口的時鐘信號即TCLK、RCLK。58EAESSM0 SM1 SM2 REN TB8 RB8TIRI波波特特率率發(fā)發(fā)生生器器發(fā)送SBUFTI 串行口 (TX) RI 控制邏輯 (RX)接收SBUF串串行行口口中中斷斷T TX XC CL LK KR RX XC CL LK KT TX XD DR RX XD D內(nèi)內(nèi)部部總總線線I IE ES SC CO ON N串行口結(jié)構(gòu)框圖592 串行口的內(nèi)部包含串行數(shù)據(jù)緩沖寄存器SBUF數(shù)據(jù)接收緩沖器(只讀出不寫入)和數(shù)據(jù)發(fā)送緩沖器(只寫入不讀出)。物理上隔離,共用一個地址( 99H )

27、。串行發(fā)送時,從片內(nèi)總線向發(fā)送緩沖器寫入數(shù)據(jù); 即MOV SBUF,A串行接收時,從接收緩沖器讀出數(shù)據(jù)到片內(nèi)總線。 即MOV A,SBUF串行口控制寄存器60串行數(shù)據(jù)輸入/輸出引腳接收方式下,串行數(shù)據(jù)從RXD(P3.0)輸入。串行口內(nèi)部在接收緩沖器之前還有移位寄存器,構(gòu)成串行接收雙緩沖結(jié)構(gòu)。避免數(shù)據(jù)接收重疊。發(fā)送方式下,串行數(shù)據(jù)從TXD(P3.1)輸出。串行口控制邏輯61二串行口控制1 串行口控制寄存器SCON(98H) SM0和SM1SM0SM1 SM2 REN TB8 RB8TIRISM0 SM1工作方式功 能波特率0 0 0擴(kuò)展移位寄存器 fosc/120 1 18位UART由定時器控制

28、1 0 29位UARTfosc/32 fosc/641 1 39位UART由定時器控制62SM2 方式2和方式3的多機(jī)通信控制位方式0,SM2=0。方式1,若SM2=1,只有接收到有效停止位,接收中斷RI才置1。方式2和方式3中,如如SM2=1,則接收到的第9位數(shù)據(jù)(RB8)為0時不啟動接收中斷標(biāo)志RI(即RI=0),并且將接收到的前8位數(shù)據(jù)丟棄;RB8為1時,才將接收到的前8位數(shù)據(jù)送入SBUF,并置位RI,產(chǎn)生中斷請求。當(dāng)當(dāng)SM2=0時時,則不論第9位數(shù)據(jù)為0或1,都將前8位數(shù)據(jù)裝入SBUF中,并產(chǎn)生中斷請求。該功能用于多機(jī)通信中。63REN 允許串行接收位 1允許接收;0禁止接收 由軟件置

29、1或清0,相當(dāng)于串行接收的開關(guān)。TB8 發(fā)送數(shù)據(jù)D8位 在方式2和方式3時,TB8為所要發(fā)送的第9位數(shù)據(jù)。在多機(jī)通信中,以TB8位的狀態(tài)表示主機(jī)發(fā)送的是地址還是數(shù)據(jù):TB8=0為數(shù)據(jù),TB8=1為地址;也可用作數(shù)據(jù)的奇偶校驗位。該位由軟件置位或復(fù)位。64RB8 接收數(shù)據(jù)D8位 在方式2和方式3時,接收到的第9位數(shù)據(jù),可作為奇偶校驗位或地址幀或數(shù)據(jù)幀的標(biāo)志。方式1時,若SM2=0,則RB8是接收到的停止位。在方式0時,不使用RB8位。TI 發(fā)送中斷標(biāo)志 在方式0時,當(dāng)發(fā)送數(shù)據(jù)第8位結(jié)束后,或在其它方式發(fā)送停止位后,由內(nèi)部硬件使TI置位,向CPU請求中斷。CPU在響應(yīng)中斷后,必須用軟件清零。此外,

30、TI也可供查詢使用。65RI接收中斷標(biāo)志位 在方式0時,當(dāng)接收數(shù)據(jù)的第8位結(jié)束后,或在其它方式接收到停止位的中間時由內(nèi)部硬件使RI置位,向CPU請求中斷。在CPU響應(yīng)中斷后,也必須用軟件清零。RI也可供查詢使用。662 特殊功能寄存器PCONSMOD位是串行口波特率系數(shù)控制位,為1時使波特率加倍。其余位是掉電方式控制位,與串行口無關(guān)。SMOD674-3-2串行接口的工作原理一 方式01 方式0為同步移位寄存器輸入/輸出方式,常用于擴(kuò)展并行I/O口。2 數(shù)據(jù)由RXD串行輸入/輸出,TXD輸出移位脈沖。3 數(shù)據(jù)傳輸波特率固定為fosc/12。4 接收/發(fā)送的是8位數(shù)據(jù),傳輸時低位在前。68輸出:輸

31、出: 當(dāng)執(zhí)行寫SBUF的指令時(MOV SBUF,A),啟動串行數(shù)據(jù)發(fā)送。從低位開始串行輸出。當(dāng)完成一個字節(jié)的輸出后就停止移位,并置位TI。 輸入:輸入: 在REN=1,RI=0時啟動串行口接收。當(dāng)外部移位寄存器內(nèi)容移入內(nèi)部移位寄存器,并寫入SBUF,則置位RI,停止移位,完成一個字節(jié)的輸入。注意:每當(dāng)發(fā)送或接收完8位數(shù)據(jù)時,由硬件將發(fā)送中斷TI或接收中斷RI標(biāo)志置“1”;CPU響應(yīng)TI或RI中斷請求時,不會清除標(biāo)志,必須由軟件清“0”.69二 方式11 方式1時,串行口為10位通用異步接口。2 數(shù)據(jù)傳輸波特率由定時/計數(shù)器T1和T2的溢出決定,由程序設(shè)定。 當(dāng)T2CON中RCLK和TCLK置

32、位時,由T2作接收/發(fā)送的波特率發(fā)生器;當(dāng)RCLK和TCLK都為0時,由T1作接收/發(fā)送的波特率發(fā)生器。3 數(shù)據(jù)從引腳TXD端輸出,從引腳RXD輸入。70發(fā)送發(fā)送 當(dāng)數(shù)據(jù)寫入發(fā)送緩沖器時,啟動發(fā)送器開始發(fā)送。8位數(shù)據(jù)發(fā)送完,置位TI=1,并申請中斷,通知CPU可發(fā)送下一個數(shù)據(jù)。接收接收 在REN=1的前提下,確認(rèn)是真正起始位“0”后,開始接收一幀數(shù)據(jù)。當(dāng)RI=0且SM2=0時,數(shù)據(jù)被接收。71三 方式2和方式31 CPU向發(fā)送緩沖器寫入數(shù)據(jù)就啟動串行口發(fā)送。發(fā)送完畢,使TI=1。2 接收時,先置REN為“1”,將RI清“0”。再根據(jù)SM2狀態(tài)和所接收到RB8狀態(tài)決定串口在信息到來后是否會使RI

33、=1,申請中斷,接收數(shù)據(jù)。當(dāng)SM2=0,不管RB8狀態(tài),將RI置1串口接收當(dāng)SM2=1, RB8=1時,多機(jī)通信,接收信息為地 址,將RI置1串口接收 RB8=0時,接收信息為數(shù)據(jù),但不發(fā)給本從機(jī),此時RI不置1數(shù)據(jù)丟失724-3-3 波特率一 方式0:波特率=振蕩器頻率/12二 方式2:波特率=2SMOD*振蕩器頻率/64三 方式1、3(T1產(chǎn)生波特率):波特率=2SMOD*振蕩器頻率/32*12(256-(TH1)注:記住當(dāng)振蕩器頻率選用11.0592MHZ時,對于常用波特率,能正確計算T1的初值。734-3-4 多機(jī)通信原理在主從式多機(jī)系統(tǒng)中: 1主機(jī)發(fā)出的信息有兩類。一類為地址,用來確

34、定需要和主機(jī)通信的從機(jī),特征是串行傳送的第9位數(shù)據(jù)為1;另一類是數(shù)據(jù),特征是串行傳送的第9位數(shù)據(jù)為0。2對從機(jī)來說,在接收時,若RI=0,則只要SM2=0,接收總能實(shí)現(xiàn);而若SM2=1,則發(fā)送的第9位TB8必須為1接收才能進(jìn)行。741 主機(jī)首先發(fā)出要求通信的從機(jī)地址信號。此時,所有從機(jī)的SM2都為“1”,所有從機(jī)均收到地址信號。2 從機(jī)判斷主機(jī)發(fā)出的地址信號是否與本從機(jī)號相符。相符的從機(jī)SM2“0”,反之為“1”。3 主機(jī)發(fā)送數(shù)據(jù)幀。僅SM2=0的從機(jī)可收到。754-3-5 串行口的應(yīng)用和編程一串行口應(yīng)用同一印板內(nèi),兩個單片機(jī)串行口可直接通信。單片機(jī)與PC機(jī)之間利用串行口通信,必須進(jìn)行電平轉(zhuǎn)換。二串行口編程串行口初始化編程: 選擇串行口工作方式,波特率,允許串行口中斷。即對SCON、PCON、TMOD、TCON、TH1、TL1、IE、IP、SBUF編程。76例:編寫程序,功能為對串行口初始化為方式1輸入/輸出,fosc=11.0592MHZ,波特率為9600,先在串行口上輸出字符串“MCS-51”,接著讀串行口上輸入的字符,又將該字符從串行口上輸出。 MOV TMOD, #20H MOV TH1, #0FDH MOV TL1, #0FDH SETB TR1 MOV SCON, #52H MOV R4, #0 MOV DPTR, #TSAB77LP1: MOV A, R4 MOVC

溫馨提示

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

評論

0/150

提交評論