單片機原理及應用課后習習題答案_第1頁
單片機原理及應用課后習習題答案_第2頁
單片機原理及應用課后習習題答案_第3頁
單片機原理及應用課后習習題答案_第4頁
單片機原理及應用課后習習題答案_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課后思考題級習題答案思考題與習題1一、填空1.單片機按照用途通常分為 通用型 和 專用型 。2.單片機也稱為 微控制器 和 單片微型計算機 。二、簡答1.什么是單片機答:單片機也稱微控制器,它是將中央處理器、程序處理器、數(shù)據(jù)處理器、輸入/輸出接口、定時/計數(shù)器串行口、系統(tǒng)總線等集成在一個半導體芯片上的微計算機,因此又稱為單片微型計算機,簡稱為單片機。2. 簡述單片機的特點和應用領(lǐng)域。 答:(1)單片機體積小,應用系統(tǒng)結(jié)構(gòu)簡單,能滿足很多應用領(lǐng)域?qū)τ布δ艿囊蟆?(2)單片機的可靠性高。 (3)單片機的指令系統(tǒng)簡單,易學易用。 (4)單片機的發(fā)展迅速,特別是最近幾年,單片機的內(nèi)部結(jié)構(gòu)越來越完善

2、。3. 寫出AT89S51與AT89S52芯片的主要區(qū)別。 內(nèi)部程序存儲區(qū)容量不同,52的程序存儲空間為8K,內(nèi)部數(shù)據(jù)存儲空間為256B,中斷源8個,定時器計數(shù)器有3個,而51的程序存儲空間為4K,內(nèi)部數(shù)據(jù)存儲空間為128B,中斷源5個,定時器計數(shù)器有2個。思考題與習題2一、填空題1.如果(PSW)=10H, 則內(nèi)部RAM工作寄存器區(qū)的當前寄存器是第二 組寄存器,8個寄存器的單元地址為 10H 17H 。2.為尋址程序狀態(tài)字F0位,可使用的地址和符號有 、 、 F0 和 0D5H 。3.單片機復位后,(SP)= 07H ,P0P3= FFH ,PC= 0000H ,PSW= 00H A= 00

3、H 。單片機的程序存儲器的尋址范圍是由 PC 決定的,由于AT89S51單片機的PC是 16 位的,所以最大尋址范圍為 64KB 。5.寫出位地址為20H所在的位,字節(jié)地址 。6.寫出字節(jié)地址為20H的單元最高位的位地址為 07H ,最低位的位地址為 00H 。7.如果晶振頻率,則一個時鐘周期為,一個機器周期為2us。8. AT89S51單片機共有26個特殊功能寄存器。9. AT89S51單片機片外數(shù)據(jù)存儲器最多可以擴展64KB。10.如果CPU從片外ROM的0000H單元開始執(zhí)行程序,那么引腳應接 低電平。二、選擇題的值是( C )。A.當前指令前一條指令的地址 B.當前正在執(zhí)行指令的地址C

4、.下一條指令的地址 D.控制器中指令寄存器的地址2.對程序計數(shù)器PC的操作是( A )。A.自動進行的 B.通過傳送進行C.通過加“1”指令進行的 D.通過減“1”指令進行3.在AT89S51單片機中P0口作為( D )。A.數(shù)據(jù)總線 B.地址總線C.控制總線 D.數(shù)據(jù)總線和地址總線4. 在AT89S51單片機中( C )。A.具有獨立的專用的地址總線 口和P1口作為地址總線口和P2口作為地址總線 口和P1口作為地址總線三、簡答題單片機的引腳有何功能如果使用片內(nèi)ROM,該引腳該如何處理答: 為該引腳的第一功能,為訪問程序存儲器控制信號。如果使用片內(nèi)ROM,則信號為高電平。2.什么是指令周期,機

5、器周期和時鐘周期答:指令周期是CPU每取出并執(zhí)行一條指令所需的全部時間;機器周期是CPU完成一個基本操作所需要的時間。時鐘周期是指計算機主時鐘的周期時間。3.堆棧的作用是什么在程序設(shè)計時,為什么要對堆棧指針SP重新賦值答:堆棧是一個特殊的存儲區(qū),主要功能是暫時存放數(shù)據(jù)和地址,通常用來保護斷點和現(xiàn)場;堆棧指針SP復位后指向07H單元,00H-1FH為工作寄存器區(qū),20H-2FH為位尋址區(qū),這些單元有其他功能,因此在程序設(shè)計時,需要對SP重新賦值。4.單片機復位有幾種方法答:1、上電復位 2、按鍵復位 3、看門狗復位 4、軟件復位5. AT89S51單片機運行出錯或程序陷入死循環(huán)時,如何擺脫困境

6、可以采用復位鍵進行復位,使單片機初始化,也可以在軟件中使用看門狗。6. AT89S51單片機P0P3口的驅(qū)動能力如何如果想獲得較大的驅(qū)動能力,采用低電平輸出還是高電平輸出答:P0口每位可驅(qū)動8個LSTTL輸入,而口的每一位的驅(qū)動能力,只有P0口的一半。當P0口的某位為高電平時,可提供400A的電流;當P0口的某位為低電平()時,可提供的灌電流,如低電平允許提高,灌電流可相應加大。所以,任何一個口要想獲得較大的驅(qū)動能力,只能用低電平輸出。7. AT89S51單片機內(nèi)部RAM低128單元劃分為幾個部分每部分有什么特點 答:工作寄存器區(qū)、位尋址區(qū)、用戶RAM區(qū)。每部分特點如下:00H-1FH為工作寄

7、存器區(qū),共32個單元,被分為4組,每組有八個寄存器(R0-R7)。任意時刻,CPU只能使用一組寄存器,當前正在使用的寄存器組被稱為當前寄存器。在程序運行過程中如果不使用的寄存器也可以作為RAM使用。20H-2FH為位尋址區(qū),共16個單元。這16個單元可以作為字節(jié)單元使用,同時這16個單元的每一位也可以單獨使用,即位尋址。30H-7FH為用戶RAM區(qū),用于存放各種數(shù)據(jù)、中間結(jié)果,起到數(shù)據(jù)緩沖的作用。在實際使用中,常需要把堆棧設(shè)在用戶RAM中。8. AT89S51單片機的片內(nèi)都包含了哪些功能部件各個功能部件主要的功能是什么答: 1個微處理器(CPU);128個數(shù)據(jù)存儲器(RAM)單元;4KB Fl

8、ash程序存儲器;4個8位可編程并行I/O口;1個全雙工串行口;2個16位定時器/計數(shù)器;1個看門狗定時器;1個中斷系統(tǒng),5個中斷源,2個優(yōu)先級;26個特殊功能寄存器(SFR);1個看門狗定時器。9. 程序存儲器的空間中,有5個特殊單元,分別對應AT89S51單片機5個中斷源的入口地址,寫出這些單元的地址及對應的中斷源。 中斷源中斷入口地址外部中斷00003H定時/計數(shù)器0溢出中斷000BH外部中斷10013H定時/計數(shù)器1溢出中斷001BH串行中斷0023H10. AT89S51單片機有幾個存儲器空間畫出它的存儲器結(jié)構(gòu)圖。AT89S51單片機的有3個存儲器空間,即片內(nèi)片外統(tǒng)一編制的程序存儲器

9、,片內(nèi)數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器。11.什么是空閑方式怎樣進入和退出空閑方式答:空閑方式:CPU處于休眠的狀態(tài),而片內(nèi)所有其他外圍設(shè)備保持工作狀態(tài),即振蕩器保持工作,時鐘脈沖繼續(xù)輸出到中斷、串行口、定時器等功能部件,使它們繼續(xù)工作,但時鐘脈沖不再送到CPU,因而CPU停止工作。進入:每當CPU執(zhí)行一條將IDL位置1 的指令,就使它進入空閑方式,CPU即停止工作,進入空閑方式。退出:兩種:一是被允許的中斷源請求中斷時,由內(nèi)部的硬件電路清0 IDL位,終止空閑方式;另一種方式是硬件復位。RST引腳上的復位信號直接將IDL為清0,從而使單片機退出空閑方式。12.什么是掉電方式怎樣進入和退出掉電方式

10、答:掉電:振蕩器停止工作,單片機內(nèi)部所有的功能部件全部停止工作。 進入:CPU執(zhí)行一條將PD位置1的指令,就使單片機進入掉電方式。 退出:唯一的方法是硬件復位,復位后單片機內(nèi)部特殊功能寄存器的內(nèi)容被初始化,PCON=0,從而退出掉電方式。單片機的控制信號引腳有哪些說出其功能。答: RST(9腳):復位信號輸入端,高電平有效。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。ALE (30腳):地址鎖存控制信號。當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE輸出脈沖用于鎖存低8位地址。(29腳):程序儲存允許輸出端,是外部程序存儲器的讀選通信號,低電平有效。當AT89S51 從外部

11、程序存儲器取指令時,每個機器周期兩次有效,即輸出兩個脈沖。當訪問外部數(shù)據(jù)存儲器,不會出現(xiàn)兩次有效的信號。 (31腳): 為該引腳的第一功能,為訪問程序存儲器控制信號。當信號為低電平時,對ROM的讀操作限定在外部程序存儲器;而當信號為高電平時,則對ROM的讀操作是從內(nèi)部程序存儲器開始,并可延續(xù)至外部程序存儲器。4、 設(shè)計一個電路,使單片機的P0口能驅(qū)動8只發(fā)光二極管。 思考題與習題3思考題與習題3一、 填空1.假定外部數(shù)據(jù)存儲器3000H單元的內(nèi)容為50H,執(zhí)行下列指令后,累加器A 中的內(nèi)容為 50H 。 MOVDPTR,#3000H MOVXA,DPTR2.假定累加器A中的內(nèi)容為30H,DPT

12、R中的內(nèi)容為2000H,執(zhí)行指令: MOVC A,A+DPTR后,把程序存儲器 2030H 單元的內(nèi)容送入累加器A中。3.已知(30H)=21H,(31H)=04H,說明下列程序的功能,執(zhí)行后(30H)= 04H ,(31H)= 21H 。 PUSH 30H PUSH 31H POP 30H POP 31H 4.已知程序執(zhí)行前,在AT89S51單片機片內(nèi)RAM中,(A)=33H,(R0)=28H,(28H)=0BCH,寫出執(zhí)行如下程序后,(A) = 63H 。ANL A,#60HORL 28H,AXRL A,R0CPL A5.對程序存儲器的讀操作使用的指令 MOVC指令 。6.對外部數(shù)據(jù)存儲器

13、的讀操作使用的指令 MOVX指令 。7.執(zhí)行如下三條指令后,20H單元的內(nèi)容是 0FH MOVR0,20H MOV40H,0FH MOVR0,40H 二、判斷判斷以下指令的正誤。 (1) MOV R1,R2 (2)MOV 20H,R3 (3)DEC DPTR (4)INC DPTR (5)MOVX A,R1 (6)MOVC A,DPTR (7)PUSH DPTR (8)CLR R1 (9)MOV 20H,30H (10)MOV F0,C (11) CPL R7 (12)RC A 三、簡答共有哪幾種尋址方式試舉例說明。(1)寄存器尋址方式 MOV A,R2 (2)直接尋址方式 MOV A,30H

14、(3)寄存器間接尋址方式MOV A,R0 (4)立即尋址MOV A,#20H (5)變址尋址 MOVC A,A+ DPTR(6)相對尋址 SJMP rel(7)位尋址 MOV C, 0D5H;指令按功能可以分為哪幾類每類指令的作用是什么數(shù)據(jù)傳送類指令(28條);數(shù)據(jù)傳送是指將源地址單元中的數(shù)據(jù)傳送到目的地址單元中,且源地址單元中的數(shù)據(jù)保持不變,或者源地址單元中的數(shù)據(jù)與目的地址單元中的數(shù)據(jù)互換。算術(shù)運算類指令(24條);這類指令中,大多數(shù)都要用累加器A來存放源操作數(shù),另一個操作數(shù)是工作寄存器Rn、片內(nèi)RAM單元或立即數(shù)。執(zhí)行指令時,CPU總是將源操作數(shù)與累加器A中的操作數(shù)進行相應操作,然后將結(jié)果

15、保留在累加器A中,同時會影響程序狀態(tài)字PSW中的溢出標志OV、進位標志CY、輔助進位標志AC和奇偶標志位P。邏輯運算及移位類指令(25條);在這類指令中,僅當目的操作數(shù)為累加器A時對奇偶標志位P有影響,其余指令均不影響PSW的狀態(tài)??刂妻D(zhuǎn)移類指令(17條);位操作類指令(17條)。MCS-51系列單片機的硬件結(jié)構(gòu)中有一個位處理器,對位地址空間具有豐富的位操作指令。由于位操作數(shù)是“位”,取值只能是0或1,故又稱為布爾操作指令。3.訪問SFR,可使用哪些尋址方式寄存器尋址,直接尋址,位尋址4.執(zhí)行指令:MOV A,R0 ;在程序狀態(tài)字PSW中 RS1=0,RS0=0; RS1=1,RS0=0的兩種

16、情況下,上述指令執(zhí)行結(jié)果有何不同RS1=0,RS0=0時,是將內(nèi)部RAM 00H單元中的內(nèi)容傳送給累加器A, RS1=1,RS0=0時,是將內(nèi)部RAM 10H單元中的內(nèi)容傳送給累加器A4. SJMP(短轉(zhuǎn)移)指令和LJMP(長對轉(zhuǎn)移)指令的目的地址的范圍各是多少SJMP指令的目的地址范圍是-128B+127B;LJMP指令的目的地址范圍是64KB。5. JB指令和JBC指令的區(qū)別是什么6. 答:這類指令是判斷直接尋址位是否為“1”或為“0”,當條件滿足時轉(zhuǎn)移,否則繼續(xù)順序執(zhí)行。而JBC指令當條件滿足時,指令執(zhí)行后同時將該位清“0”。7.指出下列每條指令的尋址方式。(1)MOV A,40H ;直

17、接尋址(2)MOV 30H,#00H ;立即尋址(3)SJMP LOOP ;相對尋址(4)MOVC A,A+DPTR ;變址尋址(5)MOVX A,R0 ;寄存器尋址(6)MOV C,20H ;位尋址(7)MOV 20H,R3 ;寄存器尋址(8)MOV 31H,20H ;直接尋址8.已知程序執(zhí)行前,在AT89S51單片機片內(nèi)RAM (10H)=20H,(20H)=33H,(33H)=45H,(45H)=56H,(P1)=30H。分析下列程序按順序執(zhí)行每條指令后的結(jié)果。MOV A,33H ;(A)=45HMOV R1,A ;(R1)=45HMOV R1,#0FFH ;(45H)0FFHMOV 4

18、5H,33H ;(45H)=45HMOV R0,#10H ;(R0)=10HMOV A,R0 ;(A)=20HMOV P1,#0FFH ;(P1)=0FFHMOV A ,P1; ;(P1)=30HMOV 20H,A ;(20H)=30H9.已知程序執(zhí)行前,在AT89S51單片機片內(nèi)RAM中,(A)=85H,(R0)=20H,(20H)=0AFH,(Cy)=1,(21H)=0FFH。寫出下列指令獨立執(zhí)行后寄存器和存儲單元的內(nèi)容,若該指令影響標志位,寫出CY、AC、OV和P的值。ADD A,R0 ;CY=1,AC=1,OV=1,P=1 ,(A)=34HADDC A, 21H ; CY=1,AC=1

19、, P=1,OV=0 ,(A)=85HSWAP A ; (A)=58H ,P=1SUBB A,#50H ; CY=0,AC=0, P=1,OV=1 ,(A)=34HDEC R0 ;R0=1FHXCHD A,R0 ;(A)=8FH,(20H)=0A5H,P=110.寫出完成如下要求的指令,但是不能改變未涉及位的內(nèi)容。(1)把, ,和 置“1”。ORL A,#01111000B(2)把累加器A的中間4位清“0”。ANL A,#B(3)將內(nèi)部數(shù)據(jù)存儲器10H單元中的數(shù)據(jù)的高2位,低3位清“0”。ANL 10H,#00111000B(4)將內(nèi)部數(shù)據(jù)存儲器50H單元中的數(shù)據(jù)所有位取反。XRL 50H,#

20、B(5)將內(nèi)部數(shù)據(jù)存儲器40H單元中的數(shù)據(jù)高4位取反。XRL 40H,#B(6)將內(nèi)部數(shù)據(jù)存儲器10H單元中的數(shù)據(jù)低3位置“1”。ORL 10H,#00000111B11.分析執(zhí)行下列指令序列所實現(xiàn)的邏輯運算式 MOV C, ANL C,/ MOV 20H, C MOV C,/ ANL C, ORL C, 20H MOV ,C =/(/思考題與習題4一、簡答題1.什么是匯編語言源程序、匯編、匯編程序(1) 使用匯編語言編寫的程序稱為匯編語言源程序。(2) 匯編語言程序不能直接在計算機上運行,需要將它翻譯成機器語言程序,也就是目標代碼程序,這個翻譯過程稱為匯編。(3) 完成匯編任務的程序成為匯編

21、程序。2.什么叫偽指令,有什么作用所謂偽指令是 告訴匯編程序應該如何完成匯編工作,只有在匯編前的源程序中才有偽指令,而在匯編后沒有機器代碼產(chǎn)生。偽指令具有控制匯編程序的輸入輸出、定義數(shù)據(jù)和符號、條件匯編、分配存儲空間等功能。二、編程題1. 在外部RAM3000H單元中有一個8位二進制數(shù),試編程將該數(shù)的低四位屏蔽掉,并送給外部RAM3001H單元中。MOVDPTR,#3000HMOVXA,DPTRANLA,#0F0HINC DPTRMOVXDPTR,A 2. 已知,試編寫延時20ms和1s的程序DELAY20MS: MOVR6,#100 ;延時20ms D1: MOVR7,#98 nopD2:

22、DJNZR7,D2 DJNZR6,D1 RET ENDDELAY1S:MOVR7,#250 DEL1:MOVR6,#200 DEL2: MOV R5,#98 DEL3:DJNZR5,DEL3NOPDJNZR6,DEL2DJNZR7,DEL1RETEND3. 用查表的方法求06之間的整數(shù)的立方。已知整數(shù)存在內(nèi)部RAM30H單元中,查表結(jié)果回存30H單元。MOVDPTR,#tabMOVA,30HMOVCA,A+DPTRMOV30H,ARetORG1000HTAB:DB00H,01H,08H,1BH,40H,7DH,0D8H4. 若有3個無符號數(shù)x、y、z分別在內(nèi)部存儲器40H、41H、42H單元中

23、,試編寫一個程序,實現(xiàn)x y時,xz的結(jié)果存放在43H、44H單元中;當xy時,yz的結(jié)果存放入43H、44H單元中。MOV A,40HCLR CSUBB A,41H ;相減比較大小JC L1 MOV A,40H ;x=ySJMP L2L1:MOV A,41H ;xyL2:ADD A,42HMOV 43H,AMOV A,#0 ;保存進位到44H單元ADDC A,#0MOV 44H,A 5. 在內(nèi)部RAM的BLOCK開始的單元中有一無符號數(shù)據(jù)塊,數(shù)據(jù)塊長度存人LEN單元。試編程求其中的最小的數(shù)并存入MINI單元。 MOVR2, #11H ;要比較的數(shù)據(jù)字節(jié)數(shù) MOVR1 , #BLOCK;置數(shù)據(jù)

24、塊的首地址 DECLEN MOVA , R1 LOOP:MOVMINI,A INC R1 CLR C SUBBA,R1;兩個數(shù)比較 JC LOOP1;C=1,A中的數(shù)小,跳轉(zhuǎn)到LOOP1 MOVA,R1 ;C=1,則把小數(shù)送給A SJMPLOOP2LOOP1: MOVA,MINI LOOP2: DJNZR2, LOOP;比較是否結(jié)束 MOV50H,A ;把大數(shù)存入50H單元 RET6. 在外部RAM3000H起始的單元中存放一組有符號數(shù),字節(jié)個數(shù)存在內(nèi)部RAM20H單元中。統(tǒng)計其中大于0、等于0和小于0的數(shù)的數(shù)目,并把統(tǒng)計結(jié)果存放在內(nèi)部RAM21H、22H和23H單元中。MOV DPTR,#3

25、000H ;設(shè)置首地址MOV 22H,#0 ;清零MOV 23H,#0MOV 24H,#0L2:MOVX A,DPTR;取數(shù)據(jù)JNZ L1INC 22H ;為0SJMP NEXTL1:JB ,FUINC 21H ;正數(shù)SJMP NEXTFU:INC 23H ;負數(shù)NEXT:INC DPTRDJNZ 20H,L2 RET7. 查找內(nèi)部RAM20H40H單元中是否有0FFH這一數(shù)據(jù),如果有,將PSW中的F0位置1,沒有則將其清零。MOV R0,#20HMOV R1,#21HCLR F0NEXT:MOV A,R0CJNE A,#0FFH,L1SETB F0SJMP L2L1:INC R0DJNZ R

26、1,NEXTL2:RET8. 在片內(nèi)RAM的30H單元開始,相繼存放5個無符號數(shù),請使用冒泡法編寫程序,使這組數(shù)據(jù)按照從小到大順序排列。 MAIN: MOV R0,#30H ;數(shù)據(jù)存儲區(qū)首單元地址 MOV R7#04H ;各次冒泡比較次數(shù) CLR F0 ;互換標志清“0”LOOP: MOV A,R0 ;取前數(shù) MOV R2,A ;存前數(shù) INC R0 MOV A,R0 ;取后數(shù) CLR C SUBB A,R2 ;比較大小 JNC LOOP1SETB F0 ;互換,置標志位MOV A,R2 ;互換數(shù)據(jù)XCH A,R0DEC R0XCH A,R0INC R0LOOP1: MOV A,R0DJNZ

27、R7,LOOP ;進行下一次比較JB F0,MAIN ;進行下一輪冒泡SJMP $ ;排序結(jié)束思考題與習題5一、填空1. AT89S51單片機的五個中斷源的中斷入口地址分別是: 0013H : 001BH T0: 0000BH T1: 000BH ;串行口: 0023H 。2. AT89S51單片機中斷系統(tǒng)中共有 、 、T0 、T1、串行口 五個中斷源,其中優(yōu)先權(quán)最高的是 ,優(yōu)先級最低的是 串行口。3. 在CPU未執(zhí)行同級或更高優(yōu)先級中斷服務程序的條件下,中斷響應等待時間最少需要 3個機器周期 。4. AT89S51單片機的堆棧區(qū)只可設(shè)置在內(nèi)部RAM 30H-7FH,堆棧寄存器SP是 8 位寄

28、存器。5. 若(IP)=00010100B,則中斷優(yōu)先級最高者為 ,最低者為T1 。 6.對中斷進行查詢時,查詢的中斷標志位共有 IE0、TF0、IE1、TF1、RI 和TI 六個中斷標志位。 7. AT89S51單片機內(nèi)部有 16 位加1定時器/計數(shù)器,可通過編程決定它們的工作方式,其中可進行13位定時器/計數(shù)器的是方式是方式0 。8. 處理定時器/計數(shù)器的溢出請求有兩種方法,分別是中斷方式和查詢方式。使用中斷方式時,必須 _開中斷_;使用查詢方式時,必須 _關(guān)中斷_。 9. 假定定時器1工作在方式 2,單片機的振蕩頻率為 6MHz ,則最大的定時時間為512us 。 二、選擇題1CPU響應

29、中斷后,能自動清除中斷請求“1”標志的有( C )。A/采用電平觸發(fā)方式 B/采用兩邊觸發(fā)方式C定時/計數(shù)器T0/T1中斷 D串行口中斷TI/RI2AT89S51五個中斷源中,屬外部中斷的有( A B )。A B CT0 DT1 ETI FRI3按下列中斷優(yōu)先順序排列,有可能實現(xiàn)的有( B )。AT1、T0、串行口 B、T1、T0、串行口C、串行口、T0、T1 D、串行口、T0、T14各中斷源發(fā)出的中斷申請信號,都會標記在AT89S51系統(tǒng)中的(B )中。ATMOD BTCON/SCON CIE DIP5外中斷初始化的內(nèi)容不包括: (A) A 設(shè)置中斷響應方式B 設(shè)置外中斷允許 C 設(shè)置中斷總

30、允許 D 設(shè)置中斷觸發(fā)方式 6 在 AT89S51單片機中,需要軟件實現(xiàn)中斷撤銷的是:(D) A 定時中斷B 脈沖觸發(fā)的外部中斷 C 電平觸發(fā)的外部中斷D 串行口中斷7在下列寄存器中,與定時器 /計數(shù)器控制無關(guān)的是:(B) ATCONBSCON CIEDTMOD 8與定時工作方式 0 和1相比較,定時工作方式 2具備的特點是:(A) A計數(shù)溢出后能自動恢復計數(shù)初值B增加計數(shù)器的位數(shù) C提高了定時的精度D適于循環(huán)定時和循環(huán)計數(shù) 9對定時器 0進行關(guān)中斷操作,需要復位中斷允許控制寄存器的: (A) AEA 和 ET0BEA 和 EX0 CEA 和 ET1DEA 和 EX1 三、判斷題1中斷響應最快

31、響應時間為3個機器周期。(對)2AT89S51每個中斷源相應地在芯片上都有其中斷請求輸入引腳。(錯) 3AT89S51單片機對最高優(yōu)先權(quán)的中斷響應是無條件的。(錯) 4中斷初始化時,對中斷控制器的狀態(tài)設(shè)置,只可使用位操作指令,而不能使用字節(jié)操作指令。(錯) 5外部中斷入口地址為0013H。(錯) 四、簡答題1. 什么叫中斷AT89S51單片機能提供幾個中斷源幾個優(yōu)先級各個中斷源的優(yōu)先級怎樣確定在同一優(yōu)先級中各個中斷源的優(yōu)先級怎樣確定 中斷是指計算機暫時停止原程序執(zhí)行轉(zhuǎn)而為外部設(shè)備服務(執(zhí)行中斷服務程序),并在服務完后自動返回原程序執(zhí)行的過程。AT89S51單片機能提供5個中斷源(、T0、T1、

32、RXD/TXD)AT89S51單片機將5個中斷源,分為兩個優(yōu)先級:高優(yōu)先級和低優(yōu)先級。對于同一優(yōu)先級中所有中斷源,按優(yōu)先權(quán)先后排序。如表5-1所示。優(yōu)先權(quán)最高,串行口優(yōu)先權(quán)最低。若在同一時刻發(fā)出請求中斷的兩個中斷源屬于同一優(yōu)先級,CPU先響應優(yōu)先權(quán)排在前面的中斷源中斷申請,后響應優(yōu)先權(quán)排在后面的中斷源中斷申請。優(yōu)先權(quán)由單片機決定,而非編程決定。2 寫出AT89S51單片機5個中斷源的入口地址、中斷請求標志位名稱、位地址及其所在的特殊功能寄存器。 表5-1 AT89S51中斷入口地址及內(nèi)部優(yōu)先權(quán)中 斷 源中斷請求標志位中斷入口地址優(yōu)先權(quán)IE00003H T0TF0000BHIE10013HT1T

33、F1001BH串行口RI、TI0023H3開AT89S51單片機外中斷1,如何操作寫出操作指令。 SETB IT1 SETB EA或者MOV IE,#84H4. AT89S51單片機有幾個定時器/計數(shù)器定時和計數(shù)有何異同答:兩個;定時器是由外部晶振振蕩頻率產(chǎn)生決定,計數(shù)方式是由內(nèi)部定時器/計數(shù)器產(chǎn)生。作為定時器用時,加法計數(shù)器對內(nèi)部機器周期脈沖計數(shù)。由于機器周期是定值,如機器周期=1s,計數(shù)值100,相當于定時100s。脈沖來自T0()或者T1()引腳時,可實現(xiàn)外部事件的計數(shù)功能。加法計數(shù)器的初值可以由程序設(shè)定,設(shè)置的初值不同,計數(shù)值或定時時間就不同。在定時器/計數(shù)器的工作過程中,加法計數(shù)器的

34、內(nèi)容可由程序讀回CPU。5. AT89S51單片機內(nèi)部的定時器/計數(shù)器控制寄存器有哪些各有何作用 答:有TMOD和TCON兩個。 TMOD是定時工作方式寄存器,用來控制T0、T1的工作方式。TCON定時器控制寄存器,用來控制定時器的運行及溢出標志等。6. 定時器T0和T1各有幾種工作方式 答:T0、T1的工作方式有四種,如下表M1 M0工作方式工 作 方 式容量0 0013位計數(shù)器,=13213=81920 1116位計數(shù)器,=16216=655361 02兩個8位/計數(shù)器,初值自動裝入,=828=2561 13兩個8位/計數(shù)器,僅適用于T0,=828=2567.設(shè)AT89S51單片機的晶振頻

35、率為12MHz,問定時器處于不同的工作方式時,最大定時范圍分別是多少機器周期為1us;最大定時范圍如下:方式0為8192us,方式1為65536us,方式2或方式3均為256us。7. 設(shè)單片機的12MHz,要求用T0定時150ms,分別計算采用定時方式0、定時方式1和定時方式2的定時初值。方式0的初值1FCEH,方式1的初值FF6AH,方式2的初值6AH。五、編程題1.使用定時器從輸出周期為1秒的方波,設(shè)系統(tǒng)時鐘頻率為12MHz。查詢方式:ORG 0000HLJMPMAINORG0030HMAIN:MOVTMOD , #01H ;定時器0,方式1MOVTH0 , #3CH ;設(shè)置初值,定時1

36、00msMOVTL0 , #0B0HMOVR2 , #10 ;運行10次,定時1SCLR CLR EASETBTR0LOOP:JNBTF0 , LOOPCLRTF0 ;清除標志MOVTH0 , #3CH ;重置初值MOVTL0 , #0B0HDJNZR2 , LOOPMOVR2 , #10CPLAJMPLOOPEND2. 將定時器T1設(shè)置為外部事件計數(shù)器,要求每計500個脈沖,T1轉(zhuǎn)為定時方式,在輸出一個脈寬10ms的正脈沖。設(shè)系統(tǒng)時鐘頻率為12MHz。ORG0000HLJMPMAIN ORG0030HMAIN:MOVTMOD,#50H;T1方式1,計數(shù)MOVTH1,#01H ;設(shè)置初值MOV

37、TL1,#0F4HSETBTR1 ;啟動計數(shù),使用查詢方式CLR CLR EA ;查詢方式LOOP:JNBTF1 , LOOPCLRTF1MOVTMOD,#10H;T1方式1,定時MOVTH1,#0D8H ;設(shè)置初值MOVTL1,#0F0H SETB ;輸出正脈沖LOOP1:JNBTF1,LOOP1 CLRTF1LJMPMAIN ENDC語言方式:#include sbit P1_0=P12; LED數(shù)碼管的使用與發(fā)光二極管相同,根據(jù)其材料不同正向壓降一般為 5V,額定電流為 5 m A,最大電流為 20 m A。2.在單片機系統(tǒng)中,常用的顯示器有 LED發(fā)光管、LED數(shù)碼管和LED液晶屏 等

38、顯示方式。3.鍵盤掃描控制方式可分為隨機方式 控制、中斷掃描控制和 定時掃描控制方式。顯示器的靜態(tài)驅(qū)動顯示的優(yōu)點是: 顯示穩(wěn)定,在LED導通、電流已定的情況下數(shù)碼管的亮度高。控制系統(tǒng)在運行過程中,僅僅在需要更新顯示內(nèi)容時,CPU才執(zhí)行一次顯示更新子程序,這樣大大節(jié)省了CPU的時間,提高了CPU的工作效率 ;缺點是: 位數(shù)較多時,所需的I/O接口較多,硬件開銷太大 。動態(tài)驅(qū)動顯示的優(yōu)點是: 節(jié)省硬件資源,成本較低 ;缺點是: 在控制運行過程中,為了保證顯示器正常顯示,CPU必須每隔一段時間執(zhí)行一次顯示子程序 。5.矩陣鍵盤的識別有 掃描法 和 線反轉(zhuǎn)法 兩種方式。二、判斷題1.為了消除按鍵的抖動

39、,常用的方法有硬件和軟件兩種方法。( 對 )顯示器有兩種顯示方式:靜態(tài)方式和動態(tài)方式。( 對 ) 數(shù)碼管顯示器有共陰極和共陽極兩種。( 對 )三、簡答題1.為什么要消除按鍵的機械抖動消除按鍵抖動的方法有幾種答:抖動現(xiàn)象會引起單片機對一次按鍵操作進行多次處理。 去抖動的方法有硬件和軟件兩種方法。2. 說明矩陣式鍵盤按鍵按下的識別原理。 答: 判別鍵盤上有無按鍵閉合。由AT89S51單片機向所有行線發(fā)出低電平信號,如果該行線所連接的鍵沒有按下,則連線所連接的輸出端口得到的是全1信號;如果有鍵按下,則得到的是非全1信號。 判別鍵號。方法是先掃描第0行,即輸出0111(第0行為0,其余3行為1),然后

40、讀入列信號,判斷是否為全1。若是全1,則表明當前行沒有鍵按下,行輸出值右移,即輸出1011(第1行為0,其余3行為1),再次讀入列信號,判斷是否為全1。如此逐行掃描下去,直到讀入的列信號不為全1為止。根據(jù)此時的行號和列號即可計算出當前閉合的鍵號。 鍵碼計算 如圖6-12所示,鍵號是按從左到右從上到下的順序編排的,各行的首號依次是00H、08H、10H、18H,如列號按07順序排列,則鍵碼的計算公式為:鍵值=為低電平行的首鍵號為低電平的列號3.鍵盤有哪三種工作方式,他們各自的工作原理及特點是什么答:隨機方式、中斷掃描方式和定時掃描方式三種 (1)隨機方式 是利用CPU的空閑時間,調(diào)用鍵盤掃描子程

41、序,響應鍵盤的輸入請求。 (2)中斷掃描方式 在圖6-10中,當按鍵按下時,列線中必有一個為低電平,經(jīng)與門輸出低電平,向單片機引腳發(fā)出中斷請求,CPU執(zhí)行中斷服務程序,判斷閉合的鍵號,并進行相應的處理,這種方式可大大提高CPU的效率。 (3)定時掃描方式 利用單片機內(nèi)部定時器,每隔一定時間CPU執(zhí)行一次鍵盤掃描程序,并在有鍵閉合時轉(zhuǎn)入該鍵的功能處理程序。定時掃描方式要求掃描間隔時間不能太長,否則有可能漏掉按鍵輸入,一般取幾十毫秒。4. 說明LCD顯示器的工作原理,畫出AT89S51單片機與LCD1602的接口電路連接圖。LCD顯示器的工作原理:字符型LCD液晶顯示器是專用于顯示字母、數(shù)字、符號

42、等的點陣式LCD。它們多與HD44780控制驅(qū)動器集成在一起,構(gòu)成字符型LCD液晶顯示模塊,用LCM表示,有161、162、202、402等產(chǎn)品。AT89S51單片機與LCD1602的接口電路如圖6-6所示。四、設(shè)計題1.設(shè)計將字符“AB”通過液晶模塊LCD1602顯示在屏幕的左邊。org 0000h ljmp Start org 000bh ljmp L1 org 0100hStart: MOV TMOD,#00H MOV TH0,#00H MOV TL0,#00H MOV IE,#82H SETB TR0 MOV R5,#50H MOV SP,#60H LCALL NEXT MOV A,#

43、80H ACALL WHITE MOV A,#41H LCALL WDR MOV A,#81H ACALL WHITE MOV A,#42H LCALL WDR SJMP $L1: MOV TH0,#00H MOV TL0,#00H DJNZ R5,L2 MOV R5,#50HL2: RETINEXT: MOV A,#38H LCALL WHITEMOV A,#0EH LCALL WHITEMOV A,#06H LCALL WHITERETWHITE:LCALL L3 CLR CLR CLR SETB MOV P1,A CLR RETWDR: LCALL L3 CLR SETB CLR SET

44、B MOV P1,A CLR RET L3: PUSH ACC Loop: CLR SETB CLR SETB MOV A,P1 CLR JB ,LOOP POP ACC ACALL DELAY RETDELAY:MOV R6,#255 D1:MOV R7,#255 D2:DJNZ R7,D2 DJNZ R6,D1 RET END2.設(shè)計一個AT89S51外擴鍵盤和顯示電路,要求擴展8個鍵,4位LED顯示器。思考題與習題7一、填空1.單片機程序存儲器的主要功能是存儲 程序 和_常數(shù)_。單片機程序存儲器的尋址范圍是由程序計數(shù)器PC的位數(shù)所決定的,因為AT89S51的PC是_16位_的,因此其尋址

45、空間為_64KB_,地址范圍是從0000H到_FFFFH_根地址線可選_8KB_個存儲單元,64KB存儲單元需要_16_根地址線。4.在AT89S51單片機中,使用P2、P0口傳送_地址_信號,且使用P0口傳送_數(shù)據(jù)_信號,這里采用的是_分時復用_技術(shù)。5. 8255A能為數(shù)據(jù)I/O操作提供A、B、C 3個8位口,其中A口和B口能作為數(shù)據(jù)口使用,而C口則既可作為_數(shù)據(jù)線_使用,又可作為_信號線_使用。二、判斷題單片機片的數(shù)據(jù)存儲器與擴展I/O口是分別獨立編址。( 錯 )2.單片機系統(tǒng)擴展時使用鎖存器是用于鎖存低8位地址。( 對 ) 3.使用8255可以擴展的I/O口線是32根。( 錯 )4.使

46、用線選法擴展存儲器不會使地址空間造成不連續(xù)的現(xiàn)象。( 錯 )三、簡答題1.為什么擴展外部程序存儲器時,低8位的地址需要鎖存由于P0口在擴展存儲器時既做地址總線的低8位,又做數(shù)據(jù)總線,為了將他們分離出來,需要在單片機外部增加地址鎖存器,以存低8位地址一般可采用74LS373。2.訪問外部RAM和內(nèi)部RAM時,所用指令有什么不同分別寫出讀片內(nèi)RAM30H單元和寫片外RAM30H單元的程序。訪問內(nèi)部RAM時用MOV,訪問外部RAM時用MOVX;讀片內(nèi)RAM30H單元:MOVA,30H寫片外RAM30H單元:MOVR0,#30HMOVXR0,A3.為什么要進行地址空間的分配何謂線選法和譯碼法各有何優(yōu)、

47、缺點 為了使一個存儲單元唯一的對應一個地址;線選法:線選法是將高位地址線直接連到存儲器芯片的片選端,根據(jù)高位地址的高低電平來進行存儲器芯片的選擇,芯片低電平有效,為了不出現(xiàn)尋址錯誤,要求在同一時刻,只允許一根為低電平,其余均為高電平;優(yōu)缺點:線選法的優(yōu)點是連接簡單,缺點是芯片的地址空間相互之間可能不連續(xù),致使存儲空間的不到充分利用,擴充儲容量受限,因此線選法適用于擴展存儲容量較小的場合。譯碼法:所謂譯碼法就是使用譯碼器對系統(tǒng)的高位地址進行譯碼,以其譯碼輸出作為存儲器的片選信號,能有效利用存儲空間,適用于大容量、多芯片存儲器擴展;優(yōu)缺點:硬件電路稍復雜,需使用譯碼器,但可充分利用存儲空間,全譯碼時還可避免地址重疊現(xiàn)象,譯碼法的另一個優(yōu)點是,若譯碼器輸出端還留有剩余端線未使用時,便于繼續(xù)擴展存儲器或I/O接口電路。4.什么是8255A的控制字控制字的主要內(nèi)容是什么 8255A是可編程芯片接口,以控制字形式對其工作方式以及C口各位狀態(tài)進行設(shè)置,為此,共有兩種控制字,即工作方式控制字和C口位置/復位控制字。1)工作方式控制字:工作方式控制字用與確定各口的的工作方式及數(shù)據(jù)傳送方向,D7位為工作方式控制字標志位,”1”有效;D6D3為A組(包括A口和C口高4位)工作方式;D2D0為B組(包括B口和C口低4位)工作方式2)C口位置/復

溫馨提示

  • 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

提交評論