《單片機期末復習整理.doc》由會員分享,可在線閱讀,更多相關(guān)《單片機期末復習整理.doc(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
復習
期末考試題型:
1、填空題(20%)
2、選擇題(20%)
3、分析題(28%)
4、綜合編程題(32%)
第一章
1、51單片機內(nèi)部有哪些功能部件?(具體看課本P20~P21)
例:下面的哪一個功能部件不屬于8051單片機的內(nèi)部硬件。( B )
(A)串行口 (B)SPI接口 (C) 定時器 (D)中斷系統(tǒng)
2、 CPU結(jié)構(gòu)?
1)什么是PC指針?復位時PC指針的值?(見課本P25)
程序計數(shù)器PC(Program Counter):存放下一條要執(zhí)行的指令在程序存儲器中的地址。
復位時PC指針的值 0000H
2) 累加器A(見課本P24頁),寄存器B(見課本P24頁),程序狀態(tài)字PSW(見課本P24頁),堆棧SP(見課本P30)
累加器A :使用最頻繁的寄存器,也可寫為Acc。是ALU單元的輸入之一,又是運算結(jié)果的存放單元。A的進位標志Cy是特殊的,同時又是位處理機的位累加器。
寄存器B:運算結(jié)果的另一個存放單元。
程序狀態(tài)字寄存器PSW:
RS1 RS0 所選的4組寄存器
0 0 0區(qū)(內(nèi)部RAM地址00H~07H)
0 1 1區(qū)(內(nèi)部RAM地址08H~0FH)
1 0 2區(qū)(內(nèi)部RAM地址10H~17H)
1 1 3區(qū)(內(nèi)部RAM地址18H~1FH)
(5)OV(PSW.2)溢出標志位
指示運算是否產(chǎn)生溢出。各種算術(shù)運算指令對該位的影響情況較復雜,將在第3章介紹。
(6)PSW.1位: 保留位,未用
(7)P(PSW.0)奇偶標志位
P=1,A中“1”的個數(shù)為奇數(shù)
P=0,A中“1”的個數(shù)為偶數(shù)
堆棧指針SP :指示出堆棧區(qū)頂部在內(nèi)部RAM塊中的位置
復位后 ,SP中的內(nèi)容為07H。
堆棧的作用:(1)保護斷點(2)現(xiàn)場保護
堆棧的原則:先進后出
堆棧的操作:入棧(PUSH):先(SP)+1,后把數(shù)據(jù)壓入堆棧
出棧(POP):先把數(shù)據(jù)彈出堆棧,后(SP)-1
例:(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,執(zhí)行指令POP DPH,POP DPL,POP SP后,DPTR、SP中的內(nèi)容分別是( )。
(A)3C5F,50H (B)5F3CH,30H
(C)3C5FH,30H (D)3C5FH,4FH
2、存儲器結(jié)構(gòu)
1)51單片機的尋址范圍?(見課本P26)
51有16根地址線,最大尋址程序存儲空間為64KB(尋址范圍是:0000H~FFFFH 共64K),分為片內(nèi)程序存儲器、片外程序存儲器,采用統(tǒng)一編址方式。
4KB的片內(nèi)ROM編址范圍為0000H~0FFFH;
64KB的片外ROM編址范圍為0000H~FFFFH;
2) 兩種工作模式:微處理器和微控制器(見課本p27)
微處理器(或稱CPU,中央處理單元)
微控制器 MCU(MicroController Unit)
微處理器模式:類似于電腦的CPU,程序存取器、數(shù)據(jù)存儲器及I/O設備都是外部提供的,即不使用51內(nèi)部RAM、ROM等資源。此時,=0。
微控制器模式:該模式就是充分利用51內(nèi)部RAM、ROM、定時/計數(shù)器的資源進行編程工作的模式。此時,= 1。
3) 程序存儲空間:內(nèi)部,外部,范圍(見課本P26)
程序存儲空間地址范圍64KB(ROM)。包括片內(nèi)程序存儲器(4KB)和片外程序存儲器(64KB)。
4)數(shù)據(jù)存儲空間:內(nèi)部,外部(見課本P26)
外部:外RAM與I/O空間統(tǒng)一編址,范圍0000H~FFFFH,共64K
內(nèi)部:內(nèi)RAM,SFR
內(nèi)RAM分布:地址范圍,工作寄存器區(qū),位尋址區(qū),通用區(qū)(見課本P28頁)
SFR:地址范圍,位尋址(見P29頁)
特殊功能寄存器SFR共21個,離散地分布在高128B片內(nèi)RAM的80H~FFH區(qū)域中。11個可以進行位尋址。特別提示:對SFR只能使用直接尋址方式,書寫時可使用寄存器符號,也可用寄存器單元地址。
數(shù)據(jù)存儲空間地址范圍64KB(RAM)。包括片內(nèi)數(shù)據(jù)存儲器(共256B,21個特殊功能寄存器與128B內(nèi)部RAM)和片外數(shù)據(jù)存儲器(64KB)。MCS-51單片機沒有獨立的I/O空間,而是將I/O空間與片外數(shù)據(jù)存儲器空間共用64KB地址空間范圍(共同編址)。
例:位地址為2BH的位具體是哪個字節(jié)的哪一位?( B ) [見課本P28頁表]
(A)24H.1 (B)25H.3 (C)26H.0 (D)27H.4
3、最小系統(tǒng)
1)什么是最小系統(tǒng)?
最小系統(tǒng):使得單片機能正常工作所必需的最少外部功能部件。
應包括:電源,時鐘電路,復位電路,相應軟件。
2)引腳功能
電源引腳Vcc、Vss;
時鐘引腳XTAL1、XTAL2;
復位引腳RESET(即RST);
控制引腳PSEN、EA、ALE;
I0引腳P0、P1、P2、P3,為4個8位I/O口的外部引腳;
重點掌握:EA、RST、P0~P3(見課本P23頁)
EA:訪問程序存儲控制信號(見課本P23頁)
復位引腳:RST (見課本P22、P31~P36頁)
1、P0口
三態(tài)復用口
功能(二者選其一)
基本輸入輸出端口(通用I/O端口)
片外總線(地址總線低8位與數(shù)據(jù)總線復用)
驅(qū)動能力:8個LSTTL門電路(1個LSTTL的驅(qū)動電流是:低電平時0.36mA,高電平時20uA)
2、 P1口
準雙向
基本輸入輸出端口
驅(qū)動能力:4個LSTTL門電路
3、 P2口
準雙向
功能
基本輸入輸出端口
總線(地址總線的高8位)
驅(qū)動能力:4個LSTTL門電路
4、 P3口
準雙向
功能
基本輸入輸出端口
第二功能
驅(qū)動能力:4個LSTTL門電路
例:當單片機要求工作在微控制器模式,則EA=1;
當單片機要求工作在微處理器模式,則EA=0;
3)時鐘電路(見課本P37頁)
51系列單片機最高工作頻率可達?
AT系列:24MHz
S系列:40MHz
時鐘周期,機器周期,狀態(tài)周期之間的關(guān)系。
時鐘周期:單片機的基本時間單位。若時鐘的晶體的振蕩頻率為fosc,則時鐘周期Tosc=1/fosc。
機器周期:CPU完成一個基本操作所需要的時間稱為機器周期。執(zhí)行一條指令分為幾個機 器周期。每個機器周期完成一個基本操作。MCS-51單片機每12個時鐘周期為一個機器周期,
狀態(tài)周期:在51里,一個機器周期又分為6個狀態(tài):S1~S6。因此,一個狀態(tài)周期為2個時鐘周期。每個狀態(tài)又分為兩拍:P1和P2。因此,一個機器周期中的12個時鐘周期表示為:S1P1、S1P2、S2P1、S2P2、…、S6P2。
4)復位電路
51單片機的復位條件?
復位條件:引腳RST加上大于2個機器周期(即24個時鐘振蕩周期)的高電平就可使MCS-51復位。復位時,PC初始化為0000H,使MCS-51單片機從0000H單元開始執(zhí)行程序。
復位時,SFR狀態(tài)? SP,P0~P3
SFR的復位值:除PC之外,復位操作還對其它一些寄存器有影響,見表1-12。
SP=07H ,P0-P3的引腳均為高電平FFH。
第四-七章
一、4個8位并行I/O端口(見課本P23)
1、P1(基本輸入輸出,準雙向)
操作:輸出
輸入:必須先寫1
2、P0,P2(總線或基本輸入輸出)
P0:3態(tài),作為基本I/0時,必須外加上拉電阻
3、 P3(第二功能或基本IO)
4、應用
P0口:8位,內(nèi)部無上拉電阻
訪問外RAM或ROM時,分時復用作低8位地址及數(shù)據(jù)I/0口.具體看
普通I/O口:當做輸入口時,需要令P0口對應管腳為1.
這主要是因為I/O口有“線與”功能,就是說I/O線的電平狀態(tài)是I/O兩端共同決定的,一旦有一端為0,相與之后,I/O線的狀態(tài)就肯定為0。所以,在作為輸入口時,我們需要把相應端口拉高至1,這樣,當另一端為0時,I/O線就為0;當另一端為1時,I/O線就為1.
P1口:8位,內(nèi)部有上拉電阻
普通I/O口,同P0口
P2口:8位,有上拉
訪問外RAM或ROM時,用作高8位地址
普通I/O口,同P0口
P3口:8位,有上拉
除了有豐富的第二功能外,與P1口相同
例:8051的準雙向I/O端口有 P1 、 P2 、 P3 ,這是因為準雙向口只有 高電平 態(tài)和 低電平 態(tài)。
例:要求系統(tǒng)使用P2口讀入撥碼開關(guān)的狀態(tài),并通過P1口使得發(fā)光二極管顯示該狀態(tài),請設計硬件電路并編程。
#include
void delay (void) /* delay 函數(shù)*/
{ unsigned char i,j; /*這個函數(shù)執(zhí)行時間的延遲 */
for (i=0;i<255;i++)
for(j=0;j<255;j++)
;
}
void main (void)
{ unsigned char temp; /* 聲明變量temp */
while (1) /* 無窮循環(huán) */
{
temp=P2; /* 將P2輸入的數(shù)據(jù)直接放入變量temp當中 */
P1=temp; /* 將變量temp中的數(shù)據(jù)直接輸出到Port 1*/
delay();
}
}
二、中斷系統(tǒng)
1、概念
什么是中斷,中斷源,中斷嵌套,中斷優(yōu)先級
中斷的定義:CPU正在執(zhí)行程序時,單片機外部或內(nèi)部發(fā)生的某一事件,請求CPU迅速去處理。CPU暫時中止當前的工作,轉(zhuǎn)到中斷服務處理程序處理所發(fā)生的事件。處理完該事件后,再回到原來被中止的地方,繼續(xù)原來的工作,這稱為中斷。
CPU處理事件的過程,稱為CPU的中斷響應過程。
中斷源:
(1)外圍設備:A/D、鍵盤、打印機等。
(2)故障源:掉電、溢出
(3)定時器和實時時鐘
(4)為調(diào)試程序設置的中斷源(如單步調(diào)試)
中斷嵌套:指CPU因響應和執(zhí)行某一中斷源的中斷請求時,發(fā)生了另一個優(yōu)先級比它高的中斷源請求,那么CPU暫停原來執(zhí)行的中斷服務程序轉(zhuǎn)而響應和處理中斷優(yōu)先級更高的中斷源的中斷請求,處理完以后,再回到原來繼續(xù)執(zhí)行低優(yōu)級中斷服務程序。
中斷的優(yōu)先級:針對同時有多個中斷源進行中斷請求時,CPU按優(yōu)先級的高低來響應中斷。
高優(yōu)先級
低優(yōu)先級
同級中的優(yōu)先權(quán)
2、51單片機的中斷源、中斷入口地址,中斷優(yōu)先級
中斷源
MCS-51有5個中斷源,兩個中斷優(yōu)先級,可以實現(xiàn)兩級中斷服務程序嵌套。
中斷源 中斷入口地址
外部中斷0 /INT0 0003H
定時器0 T0 000BH
外部中斷1 /INT1 0013H
定時器1 T1 001BH
串行口 0023H
優(yōu)先級結(jié)構(gòu):
(1)低優(yōu)先級中斷可被高優(yōu)先級中斷所中斷,反之不能;
(2)任何一種中斷(不管是高級還是低級),一旦得到
響應,與它同級的中斷源不能再中斷它。
(3) 同級的中斷源同時請求時,遵循輔助優(yōu)先級順序。
例:當IP=45H時,請排出5個中斷源優(yōu)先級的先后。
中斷優(yōu)先級控制寄存器IP中的數(shù)據(jù)是PX1=1,PX0=1.
外部中斷0,外部中斷1,定時器0,定時器1,串行口。
3、 外部中斷觸發(fā)方式(2種)(課本P126)
邊沿觸發(fā)方式和電平觸發(fā)方式。
4、 中斷標志位的清除方式
中斷請求的撤除
中斷源發(fā)出中斷請求,相應中斷請求標志置“1”。 CPU響應中斷后,必須清除中斷請求“1”標志。否則中斷響應返回后,將再次進入該中斷,引起死循環(huán)出錯。
⑴ 對定時/計數(shù)器T0、T1中斷,外中斷邊沿觸發(fā)方式,CPU響應中斷時就用硬件自動清除了相應的中斷請求標志。
⑵對串行口中斷,用戶應在串行中斷服務程序中用軟件清除TI或RI。
⑶對外中斷電平觸發(fā)方式,需要采取軟硬結(jié)合的方法消除后果。
5、應用
初始化:SCON、TCON、IE、IP
中斷系統(tǒng)初始化步驟
設置堆棧指針SP
設置中斷優(yōu)先級寄存器IP
若為外部中斷,應設置觸發(fā)方式(TCON)
設置中斷使能寄存器IE,開相應中斷
中斷程序的編寫
中斷服務子程序的編寫
在中斷入口地址設置一條跳轉(zhuǎn)指令
根據(jù)需要保護現(xiàn)場
中斷源請求中斷服務要求的具體操作
若是外部中斷電平觸發(fā)方式,應有中斷撤除操作
恢復現(xiàn)場
中斷返回
三、定時計數(shù)器
1、兩種工作模式的區(qū)別?本質(zhì)上是增1計數(shù)器。
兩種工作模式:
(1)定時器工作模式:對片內(nèi)機器周期脈沖計數(shù)。
(2)計數(shù)器工作模式:對外部事件脈沖計數(shù)。
(3)計數(shù)器工作模式的計數(shù)引腳:T0(P3.4),T1(P3.5)
4種工作方式:方式0-方式3。
例:當定時/計數(shù)器選定為定時器方式時,是對 對片內(nèi)機器周期脈沖計數(shù) 進行計數(shù),選定為計數(shù)器方式時,是對 對外部事件脈沖計數(shù) 進行計數(shù)。
2、 作為計數(shù)器使用時對應的引腳?
T0(P3.4),T1(P3.5)
3、4種工作方式的區(qū)別?分別可以定時和計數(shù)的最大范圍是多少?(見課本P140~142)
4、 溢出后51單片機會有什么操作?
首先,把中斷標志TF1或TF0清“0”,并重新計數(shù);接著,如果有相應定時器中斷服務子程序,就執(zhí)行中斷服務子程序里的程序。
5、應用
1)初值的計算
定時器/計數(shù)器初值計算
計數(shù)器
公式:2n-x=所要計的數(shù)
定時器
公式:(2n-x)T=所要定時時間
n—8、13、16; X—計算的初值; T—機器周期
2) 初始化:TCON,TMOD,THX,TLX,IE,IP
定時器/計數(shù)器編程步驟
(1)設置工作模式、工作方式TMOD
(2)賦初值THX、TLX
(3)開中斷IE和定義中斷優(yōu)先級IP(若有)
(4)啟動定時器/計數(shù)器TCON(SETB TRX)
(5)等待中斷或查詢中斷標志TCON.TFX
3) 程序編寫:中斷方式、查詢方式
4)查詢方式中注意標志位的清除
例:在P1.7口接有1個發(fā)光二極管,要求利用定時器T0控制使LED亮1S停1S,周而復始。
解:這是長延時例子,一般采用定時器定時和軟件計數(shù)相結(jié)合的辦法。
設T0為方式1,定時值為100ms,計數(shù)為10次,即100ms10=1S。
(216-X)2us =100000us 解得X=15536=3CB0H
則TH0=3CH; TL0=B0H
ORG 1000H
START:MOV R7,#0AH
MOV TMOD,#01H
CPL P1.7
LOOP: MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
Wait: JBC TF0,Next ;軟件查詢方式
SJMP Wait
Next: DJNZ R7,LOOP ;1S延時到否?
SJMP START
四、串行口
1、概念:串行通信,并行通信,同步通信、異步通信,波特率,通信制式
通信方式
(1)并行通信:是指數(shù)據(jù)的各位同時進行傳送的通信方式。
優(yōu)點:傳輸速度快。
缺點:占用I/O線多,傳輸距離短(<30m)。
(2)串行通信:是指數(shù)據(jù)一位一位順序傳送的通信方式。
優(yōu)點:占用I/O線少(一對),傳輸距離遠。
缺點:傳輸速度低。
(3)異步通信(Asynchronous Communication)
數(shù)據(jù)以字節(jié)為單位組成字符幀傳送。字符幀由發(fā)送端一幀一幀地發(fā)送。兩相鄰字符幀之間可以無空閑位,也可以有若干空閑位。這就是異步概念。發(fā)送端和接收端的時鐘各自獨立。實現(xiàn)雙方同步接收是靠字符幀的起始位和停止位。
字符幀格式:起始位(1位)、數(shù)據(jù)位(1~8位)、奇偶校驗位(1位)和停止位(1~2位)。
優(yōu)點:不需要傳送同步時鐘。
缺點:字符幀中包含有起始位和停止位從而降低了有效數(shù)據(jù)
的傳輸速率,適用低速通信。
(4)同步通信(Synchronous Communication)
是一種連續(xù)串行傳送數(shù)據(jù)的通信方式。1個信息幀中包含有若干數(shù)據(jù)字符。發(fā)送端和接收端的時鐘必須同步。實現(xiàn)雙方同步接收是靠信息幀中同步字符。數(shù)據(jù)字符之間無間隔。
信息幀格式:同步字符n、數(shù)據(jù)字符n、CRCH、CRCL
優(yōu)點:高速傳送數(shù)據(jù)。缺點:發(fā)送時鐘和接收時鐘保持嚴格同步,發(fā)送時鐘傳送到接收端。
波特率(baud rate)每秒鐘傳送二進制數(shù)碼的位數(shù)(bit),單位bps(bit persecond),bit/s。
串行通信的制式
單工方式(Simplex):只允許數(shù)據(jù)向一個方向傳送(A→B)。
半雙工方式(Half Duplex):允許數(shù)據(jù)向兩個方向中的一個方向傳送,但每次只能一個站發(fā)送。
全雙工方式(Full Duplex):允許數(shù)據(jù)同時雙向傳送。
例:串行通信根據(jù)通信的數(shù)據(jù)格式分有兩種方式,分別是 異步通信 和 同步通信 。(p155)
2、51單片機的串行口通信的幀格式?
見上面紅色字體
3、4種工作方式的區(qū)別?(課本P159)
方式
數(shù)據(jù)幀格式
0
用于拓展I/O,沒有規(guī)定的格式,我們一般從SBUF每8位一個段操作
1
1位起始位’0’ + 8位數(shù)據(jù) + 1位停止位’1’
2
與方式1相同
3
1位起始位’0’ + 9位數(shù)據(jù)(最后一位在TB8或RB8中) + 1位停止位’1’
說明:起始位和停止位的發(fā)送都是通過拉高或拉低數(shù)據(jù)線拉實現(xiàn)的。
波特率= T1溢出率
T1工作于方式0
機器周期T=12/fosc,x——初值
T1溢出周期=(213-x)T+執(zhí)行T1中斷服務程序機器周期數(shù)T
T1溢出周期=T(213-x+執(zhí)行T1中斷服務程序機器周期數(shù))
T1溢出率=1/T1溢出周期
T1工作在方式1
溢出周期=T(216-x+執(zhí)行T1中斷服務程序機器周期數(shù))
T1工作在方式2
溢出周期=T(28-x+執(zhí)行T1中斷服務程序機器周期數(shù))
由于方式2的初值可自動裝入,所以可以不產(chǎn)生中斷,這時:
溢出周期=T(28-x)
溢出率=1/溢出周期=1/T(28-x)
4、應用
波特率的計算
初始化
程序編寫:中斷方式,查詢方式
注意:標志位必須軟件清除
第八章
1、 總線構(gòu)造
系統(tǒng)總線按其功能通常把系統(tǒng)總線分為三組:
1.地址總線(Adress Bus,簡寫AB)
2.數(shù)據(jù)總線(Data Bus,簡寫DB)
3.控制總線(Control Bus,簡寫CB)
2、存儲器擴展
地址分配:單元選擇,片選
地址范圍的確定:看芯片連到單片機的哪些地址線上。
3、 I/O芯片的擴展
通過總線擴展與存儲器擴展方法相同。
注意:
1、片外I/O設備與片外數(shù)據(jù)存儲器采用的是統(tǒng)一編址,共同占用64K空間,因此,當系統(tǒng)既要擴展多片片外RAM,又要擴展多片片外I/O設備芯片時,因綜合考慮存儲器地址的分配問題。
2、訪問方式與片外RAM的訪問方式相同,用的是MOVX。
4、訪問操作(MOVX)
例:下圖為8031擴展3片8K的程序存儲器2764,圖中硬件電路已經(jīng)連接了一部分,請用片選法將剩下的相關(guān)硬件電路連接完成,并寫出每一片2764的地址范圍。
鏈接地址:http://ioszen.com/p-12752137.html