單片機原理及應用知識點匯總(復習)
單片機原理及應用 知識點匯總
一、填空題
1、單片機是將微處理器、一定容量的 RAM 和ROM以及 I/O 口、定時器等電路集成在一塊芯片上而構(gòu)成的微型計算機。
2、單片機80C51片內(nèi)集成了 4 KB的FLASH ROM,共有 5 個中斷源。
3、兩位十六進制數(shù)最多可以表示 256 個存儲單元。
4、在80C51中,只有當EA引腳接 高 電平時,CPU才訪問片內(nèi)的Flash ROM。
5、當CPU訪問片外的存儲器時,其低八位地址由 P0 口提供,高八位地址由 P2 口提供,8位數(shù)據(jù)由 P0 口提供。
6、在I/O口中, P0 口在接LED時,必須提供上拉電阻, P3 口具有第二功能。
7、80C51具有 64 KB的字節(jié)尋址能力。
8、在80C51中,片內(nèi)RAM分為地址為 00H~7FH 的真正RAM區(qū),和地址為80H~FFH的 特殊功能寄存器(SFR) 區(qū)兩個部分。
9、在80C51中,通用寄存器區(qū)共分為 4 組,每組 8 個工作寄存器,當CPU復位時,第 0 組寄存器為當前的工作寄存器。
10、數(shù)據(jù)指針DPTR是一個 16 位的 特殊功能寄存器 寄存器。
11、在80C51中,一個機器周期包括 12 個振蕩周期,而每條指令都由一個或幾個機器周期組成,分別有單周期指令、雙周期指令和 4周期 指令。
12、當系統(tǒng)處于正常工作狀態(tài)且振蕩穩(wěn)定后,在RST引腳上加一個 高 電平并維持 2 個機器周期,可將系統(tǒng)復位。
13、單片機80C51復位后,其I/O口鎖存器的值為 0FFH ,堆棧指針的值為 07H ,SBUF的值為 不定 ,內(nèi)部RAM的值不受復位的影響,而其余寄存器的值全部為 0H 。
14、在809C51中,有兩種方式可使單片機退出空閑模式,其一是 任何的中斷請求被響應 ,其二是 硬件復位 ;而只有 硬件復位 方式才能讓進入掉電模式的單片機退出掉電模式。
15、單片機80C51的5個中斷源分別為 INT0 、INT1 、T0 、T1 以及 TXD/RXD 。
16、單片機80C51的中斷要用到4個特殊功能寄存器,它們是TCON、SCON、 IE 以及IP。
17、在80C51中,外部中斷由IT0(1)位來控制其兩種觸發(fā)方式,分別是 電平觸發(fā)方式和 邊沿 觸發(fā)方式。
18、中斷處理過程分為4個階段,即 中斷請求、中斷響應、中斷服務以及中斷返回 。
19、單片機80C51片內(nèi)有兩個 16 位的定時/計數(shù)器,即T0和T1,它們都有 定時 和 計數(shù) 的功能。
20、單片機80C51的時鐘頻率為6MHz,若要求定時1ms,定時/計數(shù)器工作于模式1,其定時/計數(shù)器的初值為FE0CH 。
21、單片機80C51具有 并行 通信和 串行 通信兩種通信方式。
22 、串行通信有 同步 通信和 異步 通信兩種通信方式。
23、在異步通信中,數(shù)據(jù)的幀格式定義一個字符由4部分組成,即: 起始位 、數(shù)據(jù)位、 奇偶校驗位 和停止位。
24、串行通信中,為使設備同步工作,需要通信雙方有兩個共同的要求,一是 通信雙方必須采用統(tǒng)一的編碼方式 ,二是 通信雙方必須能產(chǎn)生相同的傳送速率 。
25、單片機80C51中的串行通信共有 4 種方式,其中方式 0 是用作同步移位寄存器來擴展I/O口的。
26、設80C51的晶振頻率為11.0592MHz,選用定時器T工作模式2作波特率發(fā)生器,波特率為2400b/s,且SMOD置0,則定時器的初值為 F4H
27、鍵盤可分為 獨立連接 式和 矩陣 式兩類。鍵盤可分為 編碼 式和 非編碼 式兩類。
28、LED數(shù)碼管有 靜態(tài) 顯示和 動態(tài) 顯示兩種方式。
29、在執(zhí)行下列指令后,A=___60H___,R0=__45H____,(60H)=___45H___。
MOV A,# 45H
MOV R0,# 60H
MOV @R0,A
XCH A, R0
30、設RAM 中(2456H)=66H,(2457H)=34H,ROM 中(2456H)=55H,(2457H)=64H。請分析下面程序執(zhí)行后各寄存器的內(nèi)容。 (A)=___64H___,(DPTR)=__2456H____。
MOV A,#1
MOV DPTR,#2456H
MOVC A,@A+DPTR
31.對單片機而言,連接到數(shù)據(jù)總線上的輸出口應具有(鎖存) 功能。
32.決定程序執(zhí)行的順序是(PC) 寄存器,該寄存器復位時的值為 (0000h)。
33.單片機內(nèi)包含組成微機的三個主要功能部件是CPU、存儲器和(I/O口)。
34. 80C51系列單片機字長是(8)位,有(40)根引腳。
35.ALE信號的作用是(鎖存允許)。
36.80C51復位后,PC=(0000)H。
37.80C51的堆棧指針是(SP)。
38.80C51單片機的P0口和P2口除了可以作為并行口進行數(shù)據(jù)的輸入/輸出外,通常還用來構(gòu)建系統(tǒng)的(地址)和(數(shù)據(jù))。
39.80C51單片機外部中斷請求信號有電平方式和(邊沿觸發(fā)),在電平方式下,當采集到INT0、INT1的有效信號為(低電平)時,激活外部中斷。
40.80C51單片機指令ANL A,20H中源操作數(shù)的尋址方式是(直接)。
41.串行通訊中有 (同步)和異步兩種基本方式。
42.C51中存儲類型XDATA定義的是(外部)存儲空間,其地址范圍是(0000h~ffffH)
43.執(zhí)行下列程序后,(A)=__35H____,(B)=__16H____。
MOV A,#9FH
MOV B,#36H
ANL B,A
SETB C
ADDC A,B
二、選擇題
1、80C51是以下哪個公司的產(chǎn)品?( C )
A、INTEL B、AMD C、ATMEL D、PHILIPS
2、80C51系列單片機是屬于( C )體系結(jié)構(gòu)。
A、馮諾依曼 B、普林斯頓 C、哈佛 D、圖靈
3、以下哪一條指令的寫法是錯誤的( C )。
A、MOV DPTR,#3F98H B、MOV R0,#0FEH C、MOV 50H,#0FC3DH D、INC R0
4、以下哪一條指令的寫法是錯誤的( D )。
A、INC DPTR B、MOV R0,#0FEH C、DEC A D、PUSH A
5、以下哪一條指令的寫法是錯誤的( B )。
A、MOVC A,@A+DPTR B、MOV R0,#FEH C、CPL A D、PUSH ACC
6、以下哪一條是位操作指令( B )。
A、MOV P0,#0FFH B、CLR P1.0 C、CPL A D、POP PSW
7、以下哪一條是位操作指令( B )。
A、MOV P1,#0FFH B、MOV C,ACC.1 C、CPL A D、POP PSW
8、以下哪一條是位操作指令( B )。
A、MOV P0,#0FFH B、SETB TR0 C、CPL R0 D、PUSH PSW
9、以下哪種方式的接口總線最少?( C )
A、SPI B、I2C C、單總線 D、并行通信
10、以下哪個是屬于單片機系統(tǒng)前向通道的器件?( A )
A、A/D轉(zhuǎn)換 B、D/A轉(zhuǎn)換 C、LED數(shù)碼管 D、繼電器
11、80C51 單片機的RS1,RS0=01 時,當前寄存器R0—R7 占用內(nèi)部RAM( B )單元。
A、 00H—07H B、 08H—0FH C、 10H—17H D、 18H—1FH
12、80C51 單片機有片內(nèi)RAM 容量( A )。
A. 128B B、 4KB C、 8KB D、 256B
13、80C51 單片機的最大時序定時單位是( D )。
A、 拍節(jié) B、狀態(tài) C、機器周期 D、指令周期
14、80C51 單片機的定時器/計數(shù)器工作方式0 是( C )。
A、8 位計數(shù)器結(jié)構(gòu) B、16 位計數(shù)器結(jié)構(gòu) C、13 位計數(shù)器結(jié)構(gòu) D、2 個8 位計數(shù)器結(jié)構(gòu)
15、80C51 單片機的外部中斷0 中斷入口地址為( C )。
A、 000BH B、 001BH C、0003H D、 0013H
16.在下列80C5l單片機各條指令中,錯誤的是( A )。
A.MOVC @A+DPTR,A B.MOV A, @R0 C.MOV 20H, A D.MOV B, A
17. 單片機上電復位后,堆棧區(qū)的最大允許范圍是 ( B ) 個單元。
A.64 B.120 C.128 D.256
18. 80C51單片機ALE引腳是( C )。
A.輸出高電平 B.輸出低電平 C.輸出矩形脈沖,頻率為fosc的1/6
D.輸出矩形脈沖,頻率為fosc的1/2
19.80C51單片機的XTAL1和XTAL2引腳是( D )引腳。
A、外接定時器 B、外接串行口 C、外接中斷 D、外接晶振
20.80C51的串行數(shù)據(jù)緩沖器SBUF用于( D )。
A.存放運算中間結(jié)果 B.暫存數(shù)據(jù)和地址 C.存放待調(diào)試的程序
D.存放待發(fā)送或已接收到的數(shù)據(jù)
21. 假定設置堆棧指針SP的值為37H,在進行子程序調(diào)用時把斷點地址進棧保護后,SP的值為( D )。
A.6H B.37H C.38H D.39H
22. 單片機中的程序計數(shù)器PC用來( B)。
A.存放指令 B.存放正在執(zhí)行的指令地址
C.存放下一條指令地址 D.存放上一條指令地址
23. 在80C51指令中,下列指令中( C)是無條件轉(zhuǎn)移指令。
A.LCALL addr16 B.DJNZ direct,rel C.SJMP rel D.ACALL addr11
24.80C51系列單片機的中斷系統(tǒng)具有( A )。
A、5個中斷源 B、6個中斷源 C、2個中斷源 D、3個中斷源
25.指令和程序是以( C )形式存放在程序存儲器中。
A、源程序 B、匯編程序 C、二進制編碼 D、BCD碼
26.當需要從80C51單片機程序存儲器取數(shù)據(jù)時,采用的指令為(B )
A、MOV A, @R1 B、MOVC A, @A + DPTR
C、MOVX A, @ R0 D、MOVX A, @ DPTR
三、判斷
1、在51系列單片機的指令系統(tǒng)中,其加法、減法、乘法和除法必須有累加器A的參與才能完成。T
2、當80C51的EA引腳接低電平時,CPU只能訪問片外ROM,而不管片內(nèi)是否有程序存儲器。T
3、當80C51的EA引腳接高電平時,CPU只能訪問片內(nèi)的4KB空間。F
4、80C51系列單片機直接讀端口和讀端口鎖存器的結(jié)果永遠是相同的。F
5、是讀端口還是讀鎖存器是用指令來區(qū)別的。T
6、在80C51的片內(nèi)RAM區(qū)中,位地址和部分字節(jié)地址是沖突的。F
7、中斷的矢量地址位于RAM區(qū)中。F
8、在80C51中,當CPU訪問片內(nèi)、外ROM區(qū)時用MOVC指令,訪問片外RAM區(qū)時用MOVX指令,訪問片內(nèi)RAM區(qū)時用MOV指令。T
9、工作寄存器區(qū)不允許做普通的RAM單元來使用。F
10、工作寄存器組是通過置位PSW中的RS0和RS1來切換的。T
11、特殊功能寄存器可以當作普通的RAM單元來使用。F
12、訪問128個位地址用位尋址方式,訪問低128字節(jié)單元用直接或間接尋址方式。T
13、堆棧指針SP的內(nèi)容可指向片內(nèi)00H~7FH的任何RAM單元,系統(tǒng)復位后,SP初始化為00H。F
14、DPTR只能當作一個16位的特殊功能寄存器來使用。F
15、程序計數(shù)器PC是一個可以尋址的特殊功能寄存器。F
16、單片機80C51復位后,其PC指針初始化為0000H,使單片機從該地址單元開始執(zhí)行程序。T
17、單片機系統(tǒng)上電后,其內(nèi)部RAM的值是不確定的。T
18、在80C51中,當產(chǎn)生中斷響應時,所有中斷請求標志位都由硬件自動清零。F
19、在51系列單片機中,中斷服務程序從矢量地址開始執(zhí)行,一直到返回指令RETI為止。T
20、在執(zhí)行子程序調(diào)用或執(zhí)行中斷服務程序時都將產(chǎn)生壓棧的動作。T
21、定時/計數(shù)器工作于定時方式時,是通過80C51片內(nèi)振蕩器輸出經(jīng)12分頻后的脈沖進行計數(shù),直至溢出為止。T
22、定時/計數(shù)器工作于計數(shù)方式時,是通過809C51的P3.4和P3.5對外部脈沖進行計數(shù),當遇到脈沖下降沿時計數(shù)一次。T
23、定時/計數(shù)器在工作時需要消耗CPU的時間。F
24、定時/計數(shù)器的工作模式寄存器TMOD可以進行位尋址。F
25、定時/計數(shù)器在使用前和溢出后,必須對其賦初值才能正常工作。F
26、在51系列單片機的指令中,既有帶借位的減法指令,又有不帶借位的減法指令。F
27、單片機80C51的定時/計數(shù)器是否工作可以通過外部中斷進行控制。T
28、并行通信的優(yōu)點是傳送速度高,缺點是所需傳送線較多,遠距離通信不方便。T
29、串行通信的優(yōu)點是只需一對傳送線,成本低,適于遠距離通信,缺點是傳送速度較低。T
30、異步通信中,在線路上不傳送字符時保持高電平。T
31、在異步通信的幀格式中,數(shù)據(jù)位是低位在前高位在后的排列方式。T
32、異步通信中,波特率是指每秒傳送二進制代碼的位數(shù),單位是b/s。T
33、在80C51的串行通信中,串行口的發(fā)送和接收都是對特殊功能寄存器SBUF進行讀/寫而實現(xiàn)的。T
34、在單片機809C51中,串行通信方式1和方式3的波特率是固定不變的。F
35、在單片機809C51中,讀和寫的SBUF在物理上是獨立的,但地址是相同的。T
36、單片機80C51一般使用非整數(shù)的晶振是為了獲得精確的波特率。T
37、單片機809C51和PC機的通信中,使用芯片MAX232是為了進行電平轉(zhuǎn)換。T
38、在A/D轉(zhuǎn)換器中,逐次逼近型在精度上不及雙積分型,但雙積分型在速度上較低。T
39、A/D轉(zhuǎn)換的精度不僅取決于量化位數(shù),還取決于參考電壓。T
四、簡答題
1、簡述80C51單片機中斷的概念。
答:當CPU正在處理某件事情的時候,外部發(fā)生的某一事件請求CPU迅速去處理,于是,CPU暫時中止當前的工作,轉(zhuǎn)去處理所發(fā)生的時間。中斷服務處理完該事件以后,再回到原來被中止的地方,繼續(xù)原來的工作,這樣的過程稱為中斷。
2、什么是保護現(xiàn)場,什么是恢復現(xiàn)場?
答:保護現(xiàn)場:當CPU響應中斷程序時,硬件會自動把斷點地址(16位程序計數(shù)器的值)壓入堆棧之外,用戶還須注意保護有關工作寄存器、累加器、標志位等信息;
恢復現(xiàn)場:在完成中斷服務程序后,恢復原工作寄存器、累加器、標志位等的內(nèi)容。
3、單片機80C51有哪些中斷源,對其中斷請求如何進行控制?
答:80C51中斷系統(tǒng)有5個中斷源:
●INT0:外部中斷0請求,低電平有效。通過P3.2引腳輸入。
●INT1:外部中斷1請求,低電平有效。通過P3.3引腳輸入。
●T0:定時器/計數(shù)器0溢出中斷請求。
●T1:定時器/計數(shù)器1溢出中斷請求。
●TXD/RXD:串行口中斷請求。當串行口完成一幀數(shù)據(jù)的發(fā)送或接收時,便請求中斷。
4、簡述單片機809C51中斷的自然優(yōu)先級順序,如何提高某一中斷源的優(yōu)先級別。
答:中斷源(控制位) 自然優(yōu)先級
外部中斷0(PX0) 最 高
定時器/計數(shù)器0溢出中斷(PT0)
外部中斷1(PX1)
定時器/計數(shù)器1溢出中斷(PT1)
串行口中斷(PS) 最 低
若某幾個控制位為1,則相應的中斷源就規(guī)定為高級中斷;反之,若某幾個控制位為0,則相應的中斷源就規(guī)定為低級中斷。當同時接收到幾個同一優(yōu)先級的中斷請求時,響應哪個中斷源則取決于內(nèi)部硬件查詢順序(即自然優(yōu)先級)。
5、簡述51系列單片機中斷響應的條件。
答:●有中斷源發(fā)出中斷請求;
●中斷總允許位EA=1,即CPU開中斷;
●申請中斷的中斷源的中斷允許位為1,即中斷沒有屏蔽;
●無同級或更高級中斷正在被服務;
●當前的指令周期已經(jīng)結(jié)束;
6、簡述定時/計數(shù)器4種工作模式中方式0、1、2的特點。
答:方式0:是13位的定時器/計數(shù)器,寄存器TLx存低5位,THx存高8位。
方式1:是16位的定時器/計數(shù)器;
方式2:把TL0(或TL1)配置成一個可以自動重裝載的8位定時器/計數(shù)器;
7、簡述80C51串口通信的四種方式及其特點。
方式0:同步移位寄存器輸入/輸出方式,常用于擴展I/O口。波特率固定為振蕩頻率的1/12,并不受PCON寄存器中SMOD位的影響。
方式1:用于串行發(fā)送或接收,為10位通用異步接口。TXD與RXD分別用于發(fā)送與接收數(shù)據(jù)。收發(fā)一幀數(shù)據(jù)的格式為1位起始位、8位數(shù)據(jù)位(低位在前)、1位停止位,共10位。波特率由定時器T1的溢出率與SMOD值同時決定。
方式2:用于串行發(fā)送或接收,為11位通用異步接口。TXD與RXD分別用于發(fā)送與接收數(shù)據(jù)。收發(fā)一幀數(shù)據(jù)的格式為1位起始位、8位數(shù)據(jù)位(低位在前)、1位可編程的第9數(shù)據(jù)位和1位停止位,共11位。波特率取決于PCON中SMOD位的值:當SMOD=0時,波特率為 的1/64;當SMOD=1時,波特率為 的1/32。
方式3:用于串行發(fā)送或接收,為11位通用異步接口。TXD與RXD分別用于發(fā)送與接收數(shù)據(jù)。幀格式與方式2相同,波特率與方式1相同。
8、簡述在使用普通按鍵的時候,為什么要進行去抖動處理,如何處理。
鍵抖動會引起一次按鍵被誤讀多次。為了確保CPU對鍵的一次閉合僅做一次處理,必須去除鍵抖動。在鍵閉合穩(wěn)定時,讀取鍵的狀態(tài),并且必須判別;在鍵釋放穩(wěn)定后,再作處理。按鍵的抖動,可用硬件或軟件兩種方法消除。
9、簡述LED數(shù)碼管動態(tài)掃描的原理及其實現(xiàn)方式。
動態(tài)掃描的原理是利用人的視覺暫留,讓人覺得各位LED同時點亮一樣。逐位輪流點亮各個LED,每一位保持1ms,在10~20ms之內(nèi)再一次點亮,重復不止,就可以實現(xiàn)動態(tài)掃描。
五、編程題
1、用P1口控制LED單色燈實現(xiàn)流水燈顯示,單色燈0亮1滅,已知晶振12MHz,
2、用P0口控制LED單色燈實現(xiàn)走馬燈顯示,單色燈0亮1滅,已知晶振12MHz,
3、數(shù)碼管0~9的顯示。
4、用一個定時/計數(shù)器加軟件計數(shù)器的方式,實現(xiàn)一秒的時鐘基準信號,試寫出程序并加以說明。(設晶振頻率為12MHz,由P1.0口輸出秒信號。)
#include<reg51.h>
sbit P10 = P1^0;
unsigned char k;
void main()
{
TMOD = 0x01;
TL0 = 0xb0;
TH0 = 0x3c;
TR0 = 1;
ET0 = 1;
EA = 1;
P10 = 1;
while(1);
}
void t0_isr() interrupt 1
{
TL0 = 0xb0;
TH0 = 0x3c;
k++;
if(k==20)
{
k=0;
P10 = ~P10;
}