單片機(jī)復(fù)習(xí)題綱資料_第1頁(yè)
單片機(jī)復(fù)習(xí)題綱資料_第2頁(yè)
單片機(jī)復(fù)習(xí)題綱資料_第3頁(yè)
單片機(jī)復(fù)習(xí)題綱資料_第4頁(yè)
單片機(jī)復(fù)習(xí)題綱資料_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1一、一、 單片機(jī)綜述單片機(jī)綜述+ 外設(shè)(鍵盤、顯示、外設(shè)(鍵盤、顯示、AD、DA)1、單片機(jī)的概念、單片機(jī)的概念(單片微型計(jì)算機(jī)、微控制器)(單片微型計(jì)算機(jī)、微控制器)2、單片機(jī)的內(nèi)部結(jié)構(gòu):、單片機(jī)的內(nèi)部結(jié)構(gòu):2單片機(jī)的內(nèi)部結(jié)構(gòu)單片機(jī)的內(nèi)部結(jié)構(gòu)由由運(yùn)算器(運(yùn)算器(ALU)、控制器和專用寄存)、控制器和專用寄存器器組構(gòu)成組構(gòu)成u程序計(jì)數(shù)器程序計(jì)數(shù)器PC:存放:存放下一條下一條需要執(zhí)行的指令內(nèi)存地址,自動(dòng)加需要執(zhí)行的指令內(nèi)存地址,自動(dòng)加1。1. 16位、決定了可以尋址的程序存儲(chǔ)器的空間位、決定了可以尋址的程序存儲(chǔ)器的空間64KB。2. 上電后初始值是上電后初始值是0000H,所以從該地址開始執(zhí)行

2、程序。,所以從該地址開始執(zhí)行程序。u累加器累加器A、Bu程序狀態(tài)字程序狀態(tài)字PSWu堆棧指針堆棧指針SPu數(shù)據(jù)指針數(shù)據(jù)指針DPTRPSW7PSW6PSW5PSW4PSW3PSW2PSW1PSW0CyACF0RS1RS0OV -P3存儲(chǔ)器結(jié)構(gòu)存儲(chǔ)器結(jié)構(gòu)-ROM片外ROM/EA=0片內(nèi)ROM/EA=1外部ROM0000H0FFFH1000HFFFFH8051 ROM地址空間的分配地址空間的分配8051的內(nèi)部的內(nèi)部ROM 4K B;8031沒有內(nèi)部沒有內(nèi)部ROM。1. 如果使用如果使用8051,/EA引腳如引腳如何連接?如果片內(nèi)何連接?如果片內(nèi)ROM用用完了怎么辦?也就是說當(dāng)完了怎么辦?也就是說當(dāng)P

3、C值為多少的時(shí)候,會(huì)轉(zhuǎn)值為多少的時(shí)候,會(huì)轉(zhuǎn)到片外到片外ROM執(zhí)行?執(zhí)行?2. 內(nèi)部?jī)?nèi)部ROM和外部和外部ROM的的最大尋址空間多大?決定最大尋址空間多大?決定于哪個(gè)寄存器?于哪個(gè)寄存器?單片機(jī)的存儲(chǔ)器單片機(jī)的存儲(chǔ)器 有有ROM、RAM之分;還有片內(nèi)、片外之分之分;還有片內(nèi)、片外之分4存儲(chǔ)器部分存儲(chǔ)器部分片內(nèi)片內(nèi)RAM80518051片內(nèi)片內(nèi)RAM RAM 128128字節(jié)(地址字節(jié)(地址00-700-7FH,7FH,7位地址),位地址),片外片外RAM RAM 可擴(kuò)展可擴(kuò)展6464KBKB(地址地址00000000H-FFFFHH-FFFFH)。)。共同占用部分共同占用部分訪問時(shí)用訪問時(shí)用MO

4、VMOV和和MOVXMOVX指令區(qū)別。指令區(qū)別。片內(nèi)片內(nèi)RAMRAM分為:分為:(1(1)工作寄存器區(qū)()工作寄存器區(qū)(0000H-1FHH-1FH)4 4組組R R0 0-R-R7 7 (2 2)位尋址區(qū)(位尋址區(qū)(2020H-2FHH-2FH):):兩種訪問方法。兩種訪問方法。 (3 3)便箋區(qū)()便箋區(qū)(3030H-7FHH-7FH)57FH 普通普通RAM區(qū)區(qū)30H2FH 位尋址區(qū)位尋址區(qū)20H1FH 工作寄存器區(qū)工作寄存器區(qū)00H07H 0組組00H0FH 1組組08H17H 2組組10H1FH 3組組18HFFH SFR區(qū)區(qū)80H7FH 真正真正RAM區(qū)區(qū)00H80518051內(nèi)部

5、內(nèi)部RAMRAM6RS1RS0寄存器組寄存器組片內(nèi)片內(nèi)RAM地址地址通用寄存器名稱通用寄存器名稱000組組00H07HR0R7011組組08H0FHR0R7102組組10H17HR0R7013組組18H1FHR0R7上電后,默認(rèn)使用的是哪一組工作寄存器?地址是多上電后,默認(rèn)使用的是哪一組工作寄存器?地址是多少?如果要更改工作寄存器的地址,使用什么寄存器、少?如果要更改工作寄存器的地址,使用什么寄存器、什么指令?什么指令?77FH 便箋區(qū)便箋區(qū)30H2FH 位尋址區(qū)位尋址區(qū)20H1FH 工作寄存器區(qū)工作寄存器區(qū)00H20H21H22H23H24H25H26H27H2FH1、位尋址區(qū)是指、位尋址區(qū)

6、是指 20H2FH單元單元,共,共16個(gè)單元。個(gè)單元。2、 位尋址區(qū)的位尋址區(qū)的 16個(gè)單元個(gè)單元(共計(jì)(共計(jì)128位位)的)的每每1位都位都有一個(gè)有一個(gè)8位表示的位地址位表示的位地址, 位地址范圍為位地址范圍為00H7FH。4、 同樣同樣, 位尋址的位尋址的RAM單單元也可以按字節(jié)操作作為元也可以按字節(jié)操作作為一般的數(shù)據(jù)緩沖一般的數(shù)據(jù)緩沖 區(qū)。區(qū)。兩種尋址方法:假如尋找兩種尋址方法:假如尋找0B位,可以用位,可以用SETB 0BH;SETB 21H.3;87FH 真正真正RAM區(qū)區(qū)00HFFH SFR區(qū)區(qū)80H1、高、高128B的的RAM單元中單元中有有21個(gè)單元可用,這個(gè)單元可用,這21個(gè)

7、個(gè)分散分散在高在高128B的地址空間的地址空間內(nèi),分別是內(nèi),分別是A,B,PSW,SP,DPH,DPL,P0,P1,P2,P3,IP,IE,TCON,TMOD,TH0,TL0,TH1,TL1,SCON,SBUF,PCON。2、11個(gè)可以按位尋址。個(gè)可以按位尋址。規(guī)律:地址可以被規(guī)律:地址可以被8整除。整除。 9X1 X2 EA PSEN ALE RST VCC GND 8051 P0 P1 P2 P3 P00P07 P10P17 P20P27 P30P37 控控制制引引腳腳并行并行I/O口口引腳引腳電源及時(shí)鐘引腳電源及時(shí)鐘引腳控制引腳的功控制引腳的功能能單片機(jī)最小系統(tǒng)的組成103 3、控制線、

8、控制線 RSTRST復(fù)位信號(hào)復(fù)位信號(hào)需要讓需要讓80518051復(fù)位時(shí),給該引腳高電平,并保持復(fù)位時(shí),給該引腳高電平,并保持2424個(gè)時(shí)鐘周期。個(gè)時(shí)鐘周期。 地址地址鎖存允許鎖存允許/ /編程線編程線u有外部存儲(chǔ)器:訪問外存時(shí)鎖存低有外部存儲(chǔ)器:訪問外存時(shí)鎖存低8 8位地址位地址u無外部存儲(chǔ)器時(shí),無外部存儲(chǔ)器時(shí),ALEALE輸出為晶振輸出為晶振6 6分頻的脈沖序列,可用分頻的脈沖序列,可用作外部時(shí)鐘源;作外部時(shí)鐘源; 片外片外ROMROM選通線。選通線。MOVCMOVC命令時(shí)自動(dòng)在該腳產(chǎn)生負(fù)脈沖,命令時(shí)自動(dòng)在該腳產(chǎn)生負(fù)脈沖,選通外部選通外部ROMROMPSEN-允許訪問片外存儲(chǔ)器允許訪問片外存

9、儲(chǔ)器/ /編程電源線編程電源線) u/ /EA=1 EA=1 從內(nèi)部開始執(zhí)行程序;從內(nèi)部開始執(zhí)行程序;u/ /EA=0 EA=0 只訪問外程序存儲(chǔ)器;只訪問外程序存儲(chǔ)器;Vpp/EA114.上電自動(dòng)復(fù)位和手動(dòng)復(fù)位上電自動(dòng)復(fù)位和手動(dòng)復(fù)位上電復(fù)位按鍵電平復(fù)位復(fù)位在RST引腳上保持24個(gè)震蕩周期(即兩個(gè)機(jī)器周期)以上的高電平習(xí)題習(xí)題1212MCS-51MCS-51的基本指令共的基本指令共111111條條,按指令所占的字節(jié)來分:按指令所占的字節(jié)來分: (1) (1) 單字節(jié)單字節(jié)指令指令4949條;條; (2) (2) 雙字節(jié)雙字節(jié)指令指令4545條;條; (3) (3) 三字節(jié)三字節(jié)指令指令1717

10、條。條。 按指令的執(zhí)行時(shí)間來分:按指令的執(zhí)行時(shí)間來分: (1) (1) 1 1個(gè)機(jī)器周期個(gè)機(jī)器周期(1212個(gè)時(shí)鐘振蕩周期)指令個(gè)時(shí)鐘振蕩周期)指令6464條條 (2) (2) 2 2個(gè)機(jī)器周期個(gè)機(jī)器周期(2424個(gè)時(shí)鐘振蕩周期)指令個(gè)時(shí)鐘振蕩周期)指令4545條條 (3) (3) 只有只有乘、除兩條指令乘、除兩條指令的執(zhí)行時(shí)間為的執(zhí)行時(shí)間為4 4個(gè)機(jī)器周期個(gè)機(jī)器周期(4848個(gè)時(shí)鐘振蕩周期)。個(gè)時(shí)鐘振蕩周期)。12MHz12MHz晶振晶振: :機(jī)器周期為機(jī)器周期為1 1 s s。1313指令中符號(hào)的意義(指令中符號(hào)的意義(P49P49): :RnRn 當(dāng)前寄存器區(qū)的當(dāng)前寄存器區(qū)的8 8個(gè)工作

11、寄存器個(gè)工作寄存器R0R0R7(n=0R7(n=0 7)7)。RiRi 當(dāng)前寄存器區(qū)中當(dāng)前寄存器區(qū)中可作間接尋址可作間接尋址寄存器的寄存器的2 2個(gè)寄存?zhèn)€寄存 器器R0R0、R1(i=0,1)R1(i=0,1)。DirectDirect 直接地址,即直接地址,即8 8位的內(nèi)部位的內(nèi)部RAMRAM或特殊功能寄存或特殊功能寄存 器的地址。器的地址。#data#data 包含在包含在指令中的指令中的8 8位立即數(shù)位立即數(shù)。#data16#data16 包含在包含在指令中的指令中的1616位立即數(shù)位立即數(shù)。relrel 相對(duì)轉(zhuǎn)移指令中的相對(duì)轉(zhuǎn)移指令中的偏移量偏移量,為,為8 8位的帶符號(hào)補(bǔ)位的帶符號(hào)補(bǔ)

12、 碼數(shù)。碼數(shù)。1414DPTRDPTR 數(shù)據(jù)指針數(shù)據(jù)指針,可用作,可用作1616位的數(shù)據(jù)地址寄存器。位的數(shù)據(jù)地址寄存器。bitbit 內(nèi)部?jī)?nèi)部RAMRAM或特殊功能寄存器中的或特殊功能寄存器中的直接尋址位直接尋址位。A A 累加器。累加器。B B 專用寄存器,用于乘法和除法指令中。專用寄存器,用于乘法和除法指令中。C C(或(或CyCy) 進(jìn)位標(biāo)志位或位處理機(jī)中的累加器。進(jìn)位標(biāo)志位或位處理機(jī)中的累加器。addr11addr11 1111位目的地址位目的地址addr16addr16 1616位目的地址位目的地址 間接尋址寄存器前綴,如間接尋址寄存器前綴,如RiRi,A+DPTRA+DPTR(X)

13、(X) X X中的內(nèi)容中的內(nèi)容。(X)(X) 由由X X尋址的單元中的內(nèi)容尋址的單元中的內(nèi)容。 箭頭右邊的內(nèi)容被箭頭左邊的內(nèi)容所取代。箭頭右邊的內(nèi)容被箭頭左邊的內(nèi)容所取代。 箭頭左邊的內(nèi)容被箭頭右邊的內(nèi)容所取代。箭頭左邊的內(nèi)容被箭頭右邊的內(nèi)容所取代。15MOV A,#30HMOV A,3AHMOV A,R1MOV A,R1SJMP 28HMOVC A,A+DPTR; MOVC A, A+PC; JMP A+DPTR。SETB D0H16111條指令條指令,按功能分類,可分為下面,按功能分類,可分為下面5大類大類: (1)數(shù)據(jù)傳送類)數(shù)據(jù)傳送類(28條條) (2)算術(shù)操作類)算術(shù)操作類(24條條

14、 (3)邏輯運(yùn)算類)邏輯運(yùn)算類(25條條) (4)控制轉(zhuǎn)移類)控制轉(zhuǎn)移類(17條條) (5)布爾(位)操作類)布爾(位)操作類(17條條)目標(biāo):會(huì)使用附錄表目標(biāo):會(huì)使用附錄表A1617 1819 0023H 4串行口串行口 0013H 2INT1 001BH 3T1 000BH 1T0 0003H 0INT0中斷入口地址中斷入口地址中斷源中斷源8051中斷入口地址中斷入口地址20中斷相關(guān)的幾個(gè)中斷相關(guān)的幾個(gè)重要重要SFR3)中斷允許寄存器)中斷允許寄存器IE(A8H)214)中斷優(yōu)先級(jí)寄存器)中斷優(yōu)先級(jí)寄存器IP(B8H)5)定時(shí)器方式控制寄存器)定時(shí)器方式控制寄存器TMOD(89H 不能位尋

15、址)不能位尋址)同級(jí)中斷的優(yōu)先級(jí)順序同級(jí)中斷的優(yōu)先級(jí)順序 INT0 T0 INT1 T1 串行口。串行口。22外部中斷初始化步驟外部中斷初始化步驟3、開中斷、開中斷2、設(shè)立優(yōu)先級(jí)、設(shè)立優(yōu)先級(jí)1、設(shè)立觸發(fā)方式(電平、設(shè)立觸發(fā)方式(電平or邊沿)邊沿)例例 請(qǐng)寫出請(qǐng)寫出/INT1為低電平觸發(fā)為低電平觸發(fā) 和高中斷優(yōu)先級(jí)的中斷系統(tǒng)初和高中斷優(yōu)先級(jí)的中斷系統(tǒng)初始化程序始化程序CLRIT1 ;電平觸發(fā)電平觸發(fā) IT1 = 0;SETBEX1 ; EX1 = 1;SETBPX1 ; PX1 = 1;SETBEA ; EA = 1;23、 TCON(模式控制寄存器)(模式控制寄存器):用來設(shè)置定時(shí)器/計(jì)數(shù)器

16、的操作模式; TMOD(方式寄存器)(方式寄存器):用來控制定時(shí)器的啟動(dòng)與停止。 TH0、TL0、TH1、TL1:兩個(gè)16位加法計(jì)數(shù)器 T0 和 T1 均可分成2個(gè)獨(dú)立的8位計(jì)數(shù)器,用于存放定時(shí)或計(jì)數(shù)的初值,并用作加1的計(jì)數(shù)。 與定時(shí)器/計(jì)數(shù)器相關(guān)的輸入引腳有四個(gè): T0、T1、 、INT0INT1。5.MCS-51定時(shí)器邏輯結(jié)構(gòu)與相關(guān)寄存器定時(shí)器邏輯結(jié)構(gòu)與相關(guān)寄存器24TH18位位TL18位位TH08位位TL08位位GATEC/TM1M0TR1GATEM0M1TF1TR0振蕩器12T0INT0INT1T1TF0TCON(88H)TMOD(89H)T1(16位位)T0(16位位)內(nèi)部總線內(nèi)部總

17、線CPU圖 MCS-51定時(shí)器邏輯結(jié)構(gòu)框圖C/T25TCON8FH8EH8DH8CH8BH8AH89H88H88HTF1TR1TF0TR0IE1IT1IE0IT0TMODD7D6D5D4D3D2D1D089HCATEM1M0GATE M1M0T1T0TC/TC/266.定時(shí)器定時(shí)器/計(jì)數(shù)器有計(jì)數(shù)器有四種工作方式四種工作方式表 定時(shí)器/計(jì)數(shù)器T0、T1的四種工作方式M1 M0 工作方式工作方式計(jì)數(shù)器配置及功能簡(jiǎn)述計(jì)數(shù)器配置及功能簡(jiǎn)述0 0方式方式013位計(jì)數(shù)器,位計(jì)數(shù)器,TLi只用低只用低5位位0 1方式方式116位計(jì)數(shù)器位計(jì)數(shù)器1 0方式方式28位自動(dòng)位自動(dòng)重裝計(jì)數(shù)器,重裝計(jì)數(shù)器,THi的值在

18、計(jì)數(shù)中不變,的值在計(jì)數(shù)中不變,TLi溢出時(shí),溢出時(shí),THi中的值自動(dòng)裝入中的值自動(dòng)裝入TLi中中1 1方式方式3T0分為分為兩個(gè)獨(dú)立的兩個(gè)獨(dú)立的8位計(jì)數(shù)器位計(jì)數(shù)器,T1用作用作波特率波特率發(fā)發(fā)生器生器27方式028方式129方式230方式3T031方式3T132初值設(shè)定初值設(shè)定關(guān)鍵關(guān)鍵 為什么要給定時(shí)器預(yù)設(shè)初值為什么要給定時(shí)器預(yù)設(shè)初值?如何確定預(yù)設(shè)初值是多少呢如何確定預(yù)設(shè)初值是多少呢?16位計(jì)數(shù)方式位計(jì)數(shù)方式065535定時(shí)時(shí)間定時(shí)時(shí)間65536us定時(shí)時(shí)間定時(shí)時(shí)間50000usX定時(shí)時(shí)間定時(shí)時(shí)間50000usX=65536-50000=15536=3CB0HMOV TH0, #3CHMOV

19、TL0, #0B0H定時(shí)時(shí)間定時(shí)時(shí)間:開始計(jì)數(shù)開始計(jì)數(shù) 溢出溢出33定時(shí)器初始化編程格式(必須掌握)定時(shí)器初始化編程格式(必須掌握)初始化編程初始化編程格式格式:TMOD = x ;選擇工作方式選擇工作方式THx = 0 x#;裝入裝入Tx時(shí)間常數(shù)時(shí)間常數(shù)TLx= 0 x#ETx = 1;開開Tx中斷中斷EA = 1;開總中斷開總中斷TRx = 1;啟動(dòng)啟動(dòng)Tx定時(shí)器定時(shí)器34例:若單片機(jī)時(shí)鐘頻率為例:若單片機(jī)時(shí)鐘頻率為12MHz,請(qǐng)計(jì)算定時(shí)請(qǐng)計(jì)算定時(shí)100us所需的定所需的定時(shí)器初值,并寫出初始化程序(掌握)時(shí)器初值,并寫出初始化程序(掌握)各種方式定時(shí)時(shí)間比較:各種方式定時(shí)時(shí)間比較:方式方

20、式0:213 *1us=8192us=8.192ms方式方式1:216 *1us=65.536ms方式方式2、方式、方式3:28 *1us=0.256ms方式方式0時(shí):(時(shí):(213 TC)*1us=100us TC=1F9CH;TH0=FCH、TL0=1CH 方式方式1:(:(216 TC)*1us=100us TC=FF9CH 方式方式2: (28-TC)*1us=100usTC=009CH定時(shí)器定時(shí)器/計(jì)數(shù)器例程計(jì)數(shù)器例程1 根據(jù)時(shí)鐘頻率計(jì)根據(jù)時(shí)鐘頻率計(jì)算機(jī)器周期算機(jī)器周期2將定時(shí)時(shí)間與各種將定時(shí)時(shí)間與各種方式最大時(shí)間比較方式最大時(shí)間比較3、選擇合適的方式,、選擇合適的方式,求出初值求出

21、初值4、寫出初始化程序,、寫出初始化程序,即在前面的格式中即在前面的格式中填入相應(yīng)的數(shù)值。填入相應(yīng)的數(shù)值。35中斷程序格式中斷程序格式Sbit LED = P10;Void main() IT0 = 0; EX0 = 1; EA = 1; while(1);Void Int0_Int() interrupt 0 LED = !LED;36定時(shí)器例程定時(shí)器例程例例 設(shè)設(shè)8051時(shí)鐘頻率時(shí)鐘頻率12MHz,編寫程序令,編寫程序令P1.0引腳輸出引腳輸出2S的方波程序的方波程序sbit Pulse = P10;unsigned char Cnt_50ms;Void T1_Init(void) TMO

22、D = 0 x10; TH1 = 0 x3c; TL1 = 0 xb0; ET1 = 1; EA = 1; TR1 = 1;Void T1_Int() interrupt 3 TH1 = 0 x3c; TL1 = 0 xb0; if(Cnt_50ms = 20) Cnt_50ms = 0; Pulse = Pulse; Void main() T1_Init(); while(1);37計(jì)數(shù)器例程計(jì)數(shù)器例程 分析:分析:T1工作在方式工作在方式2,200個(gè)脈個(gè)脈沖產(chǎn)生一次溢出,所以,沖產(chǎn)生一次溢出,所以,256-200=56 ;C=38H。那么。那么TH0=TL0=38H。利用利用T1的方式的

23、方式2對(duì)外部信號(hào)對(duì)外部信號(hào)計(jì)數(shù),要求每計(jì)滿計(jì)數(shù),要求每計(jì)滿200個(gè)數(shù),個(gè)數(shù),將將P1.0引腳取反。引腳取反。Sbit Pin = P10;Void main() TMOD = 0 x60; TH1 = 0 x38; TL1 = 0 x38; ET1 = 1; EA = 1; TR1 = 1;Void T1_Int() interrupt 3 Pin = Pin;38五五 MCS-51 的串行通信的串行通信 MCS-51含有一個(gè)含有一個(gè)可編程可編程全雙工全雙工串行通訊串行通訊接口,能同時(shí)進(jìn)行接口,能同時(shí)進(jìn)行數(shù)據(jù)的發(fā)送和接收,也可以作為一個(gè)數(shù)據(jù)的發(fā)送和接收,也可以作為一個(gè)同步移位寄存器使用同步移位

24、寄存器使用。傳輸時(shí),還應(yīng)當(dāng)增加1個(gè)起始位和1個(gè)停止位SM0 SM1 SM2 RENTB8RB8TIRI D7 D6 D5 D4 D3 D2 D1 D0 39單片機(jī)串口相關(guān)知識(shí)回顧MOV A , SBUF ;接收數(shù)據(jù);接收數(shù)據(jù)MOV SBUF , A ;發(fā)送數(shù)據(jù);發(fā)送數(shù)據(jù)40串口通信的波特率 對(duì)于方式對(duì)于方式0,波特率是固定的波特率是固定的, ,為單片機(jī)時(shí)鐘的為單片機(jī)時(shí)鐘的1/12,1/12,即即fosc/12。對(duì)于方式對(duì)于方式2 2, ,波特率有兩種可供選擇波特率有兩種可供選擇, ,即即fosc/32fosc/32和和fosc/64fosc/64。對(duì)應(yīng)于以下公式:。對(duì)應(yīng)于以下公式: 波特率波特

25、率=fosc(2SMOD)/64 對(duì)于方式對(duì)于方式1 1和方式和方式3,3,波特率都由定時(shí)器波特率都由定時(shí)器T1T1的溢出率來決定的溢出率來決定, ,對(duì)應(yīng)于以下公式:對(duì)應(yīng)于以下公式: 波特率波特率=(2SMOD/32)(定時(shí)器定時(shí)器T1的溢出率的溢出率) 而定時(shí)器而定時(shí)器T1T1的溢出率則和所采用的定時(shí)器工作方式有關(guān)的溢出率則和所采用的定時(shí)器工作方式有關(guān), ,并并可用以下公式表示:可用以下公式表示: 定時(shí)器定時(shí)器T1T1的溢出率的溢出率=fosc/12=fosc/12(2(2n n-X)-X)單片機(jī)串口相關(guān)知識(shí)回顧41對(duì)于對(duì)于方式方式1和方式和方式3,波特率由定時(shí)器,波特率由定時(shí)器/計(jì)數(shù)器計(jì)數(shù)

26、器T1的溢出率和的溢出率和SMOD決定,即由下式確定:決定,即由下式確定: 波特率波特率=(2SMOD /32 )定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器T1溢出率溢出率 計(jì)算溢出率:溢出率即定時(shí)時(shí)間的倒數(shù)。計(jì)算溢出率:溢出率即定時(shí)時(shí)間的倒數(shù)。機(jī)器周期機(jī)器周期T=1/(fosc/12)定時(shí)時(shí)間定時(shí)時(shí)間=(2K - 初值)初值)*T實(shí)際使用串行通信時(shí)實(shí)際使用串行通信時(shí),要首先確定波特率才能進(jìn)行雙方的通信。,要首先確定波特率才能進(jìn)行雙方的通信。根據(jù)波特率計(jì)算定時(shí)器根據(jù)波特率計(jì)算定時(shí)器T1的計(jì)數(shù)初值。的計(jì)數(shù)初值。 波特率波特率=(2SMOD /32 )定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器T1溢出率溢出率 進(jìn)行定時(shí)器的初始化

27、。通常使用進(jìn)行定時(shí)器的初始化。通常使用T1的方式的方式2作為波特率發(fā)生器作為波特率發(fā)生器TMOD、TCON、TH1=TL1=?、關(guān)?、關(guān)T1中斷、啟動(dòng)定時(shí)中斷、啟動(dòng)定時(shí)進(jìn)行串行口初始化。進(jìn)行串行口初始化。SCON、PCON(SMOD)42 通常是通常是知道波特率知道波特率,求計(jì)數(shù),求計(jì)數(shù)初值初值X波特率的時(shí)候在方式384225621SMODoscf,XT實(shí)際使用:1)首先確定波特率2)然后計(jì)算定時(shí)器1的計(jì)數(shù)初值3)然后進(jìn)行定時(shí)器的初始化SMOD值可以通過:MOV PCON #00H 或MOV PCON #80H設(shè)定43 電源控制寄存器電源控制寄存器 PCON 電源控制寄存器電源控制寄存器PCO

28、N僅有幾位有定義,其中最僅有幾位有定義,其中最高位高位SMOD與串行口控制有關(guān),其它位與掉電方式有關(guān)。與串行口控制有關(guān),其它位與掉電方式有關(guān)。寄存器寄存器PCON的地址為的地址為87H,只能字節(jié)尋址只能字節(jié)尋址。其格式如。其格式如下:下: SMOD(PCON.7)串行通信波特率系數(shù)控制位。串行通信波特率系數(shù)控制位。 當(dāng)當(dāng)SMOD1時(shí),使波特率加倍。復(fù)位后,時(shí),使波特率加倍。復(fù)位后,SMOD0。 D7 D6 D5 D4 D3 D2 D1 D0SMOD GF1 GF0 PD IDL44 D7 D6 D5 D4 D3 D2 D1 D0 SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0讀

29、讀SBUF(MOV A,SBUF),),訪問接收數(shù)據(jù)寄存訪問接收數(shù)據(jù)寄存器;寫器;寫SBUF(MOV SBUF,A),訪問發(fā)送數(shù)據(jù)),訪問發(fā)送數(shù)據(jù)寄存器。寄存器。 串行數(shù)據(jù)寄存器串行數(shù)據(jù)寄存器SBUF 串行數(shù)據(jù)寄存器串行數(shù)據(jù)寄存器SBUF包含在物理上是隔離的包含在物理上是隔離的兩個(gè)兩個(gè)8位寄位寄存器存器:發(fā)送數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器,但是它們:發(fā)送數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器,但是它們共用共用一個(gè)地址一個(gè)地址99H。其格式如下:。其格式如下:45 串行口工作之前,應(yīng)對(duì)其進(jìn)行初始化串行口工作之前,應(yīng)對(duì)其進(jìn)行初始化,主要是設(shè)置產(chǎn)生,主要是設(shè)置產(chǎn)生波特率的定時(shí)器波特率的定時(shí)器1 1、串行口控制和中斷

30、控制。具體步驟如下:、串行口控制和中斷控制。具體步驟如下:確定確定串行口控制串行口控制(編程(編程SCONSCON寄存器);寄存器);確定確定T1T1的工作方式的工作方式(編程(編程TMODTMOD寄存器);寄存器);計(jì)算計(jì)算T1T1的初值的初值,裝載,裝載TH1TH1、TL1TL1;啟動(dòng)啟動(dòng)T1T1(編程(編程TCONTCON中的中的TR1TR1位);位);串行口在中斷方式工作時(shí),要進(jìn)行中斷設(shè)置(編程串行口在中斷方式工作時(shí),要進(jìn)行中斷設(shè)置(編程IEIE、IPIP寄寄存器)。存器)。初始化后,設(shè)置串口工作初始化后,設(shè)置串口工作。發(fā)送:直接寫發(fā)送:直接寫SBUFSBUF,查詢,查詢TI/TI/中

31、斷中斷接收:接收:RENREN置置1 1,查詢,查詢RI/RI/中斷中斷4 串行口使用步驟串行口使用步驟46例例 設(shè)時(shí)鐘設(shè)時(shí)鐘fosc=11.0592MHZ,要設(shè)置串行通信的波特率為,要設(shè)置串行通信的波特率為4800bps,波特率不倍增,串行口方式,波特率不倍增,串行口方式1,則初始化程序?yàn)椋?,則初始化程序?yàn)椋篤oid Uart_Init(void) TH1 = 0 xfa; TL1 = 0 xfa; TMOD = 0 x20; TR1 = 1; SM0 = 0; SM1 = 1; REN = 1;47要求:要求:?jiǎn)纹瑱C(jī)串口通信的應(yīng)用,通過串口,電腦和單片機(jī)系統(tǒng)進(jìn)行通信。電單片機(jī)串口通信的應(yīng)用

32、,通過串口,電腦和單片機(jī)系統(tǒng)進(jìn)行通信。電腦作為上位機(jī),向下位機(jī)單片機(jī)系統(tǒng)發(fā)送十六進(jìn)制或者腦作為上位機(jī),向下位機(jī)單片機(jī)系統(tǒng)發(fā)送十六進(jìn)制或者ASCLLASCLL碼,單片機(jī)系統(tǒng)碼,單片機(jī)系統(tǒng)接收后,用接收后,用LED LED 顯示接收到的數(shù)據(jù)和向上位機(jī)發(fā)回原樣數(shù)據(jù)。顯示接收到的數(shù)據(jù)和向上位機(jī)發(fā)回原樣數(shù)據(jù)。實(shí)驗(yàn)之一實(shí)驗(yàn)之一48#include unsigned char dat; /用于存儲(chǔ)單片機(jī)接收發(fā)送緩沖寄存器用于存儲(chǔ)單片機(jī)接收發(fā)送緩沖寄存器SBUF 里面的內(nèi)容里面的內(nèi)容sbit gewei=P13; /個(gè)位選通定義個(gè)位選通定義sbit shiwei=P12; /十位選通定義十位選通定義unsig

33、ned char code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66, 0 x6d,0 x7d,0 x07, 0 x7f,0 x6f;void Delay(unsigned int tc) /延時(shí)程序延時(shí)程序while( tc != 0 )unsigned int i;for(i=0; iP2.7P2.0-P2.7確定確定高八位高八位由由P0.0-P0.7確定確定低八位低八位,54例例: 要擴(kuò)要擴(kuò)8片片8KB的的RAM 6264,如何通過如何通過74LS138把把64KB空間分配給各個(gè)芯片?要會(huì)接線,同時(shí)會(huì)空間分配給各個(gè)芯片?要會(huì)接線,同時(shí)會(huì)計(jì)算地址。計(jì)算地址。55思考題:思考題:完成下圖系統(tǒng)的部分連線,寫出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論