單片機原理及應用綜合習題及答案_第1頁
單片機原理及應用綜合習題及答案_第2頁
單片機原理及應用綜合習題及答案_第3頁
單片機原理及應用綜合習題及答案_第4頁
單片機原理及應用綜合習題及答案_第5頁
已閱讀5頁,還剩41頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、綜合習題一一、填空題 1、單片機的發展大致可分為            個階段。2、單片機與普通計算機的不同之處在于其將        、        和        3部分集成于一塊芯片之上。3、單片機的存儲器設計采用哈佛結構,它的特點是   

2、         。4、CPU主要由       器和       器組成。CPU中的         用來處理位操作。5、第四代計算機所采用的主要器件是              

3、;    。6、MCS-51系列單片機中,片內無ROM的機型是           ,有4KB ROM的機型是          ,而有4KB EPROM的機型是               。7、32的補碼為  

4、60;      B,補碼11011010B代表的真值為         D。8、原碼數DFH=          D,原碼數6EH=          D。9、100的補碼=         H,100的補碼

5、=           H。10、在8031單片機內部,其RAM高端128個字節的地址空間稱為       區,但其中僅有         個字節有實際意義。11、通常單片機上電復位時PC=          H、SP=    &

6、#160;   H、通用寄存器則采用第         組,這一組寄存器的地址范圍是從       H        H。12、若PSW為18H,則選取的是第           組通用寄存器。13、8031單片機復位后R4所對應的存儲單元地址為  

7、      H,因上電時PSW=     H。14、若A中數據為63H,那么PSW的最低位(即奇偶位P)為          。15、在微機系統中,CPU是按照         來確定程序的執行順序的。16、堆棧遵循       的數據存儲原則,針對堆棧的兩種操作為 &

8、#160;   和     。17、在8031單片機中,使用P2、P0、口傳送         信號,且使用了P0口來傳送          、信號,這里采用的是        技術。18、使用8031單片機時需將EA引腳接      &#

9、160; 電平,因為其片內無     存儲器,8031片外可直接尋址的存儲空間達           KB。19、8位機中的被碼數80H和7FH的真值分別為         和         。20、配合實現“程序存儲自動執行”的寄存器是     

10、     ,對其操作的一個特別之處是           。21、MCS-51單片機PC的長度為          位;SP的長度為          位,數據指針DPTR的長度為        位。二、單選題

11、 1、電子計算機技術在半個世紀中雖有很大進步,但至今其運行仍遵循著一位科學家提出的基本原理。這位科學家是:(   )(A)牛頓     (B)愛國斯坦       (C)愛迪生    (D)馮·諾伊曼2、用晶體管作為電子器件制成的計算機屬于:(   )(A)第一代     (B)第二代       (C)第三代

12、0;        (D)第四代3、通常所說的主機是指:(   )(A)運算器和控制器             (B)CPU和磁盤存儲器(C)CPU和主存                 (D)硬件和軟件4、計算機能直接識別的語言

13、是:(   )(A)匯編語言                   (B)自然語言(C)機器語言                   (D)高級語言5、在CPU中,控制器的功能是:(   )(A)進行邏

14、輯運算                    (B)進行算術運算(C)分析指令并發出相應的控制信號    (D)只控制CPU的工作6、所謂“裸機”是指:(   )(A)單片機               

15、60;     (B)單板機(C)只裝備操作系統的計算機     (D)不裝備任何軟件的計算機7、下列數據中有可能是八進制數的是:(   )(A)764           (B)238           (C)396      

16、0;  (D)7898、下列4種不同進制的無符號數中最小的數是:(   )(A)11011001B        (B)37O(八進制數)   (C)75    (D)2AH9、PC是:(   )(A)一根硬件信號線   (B)一個可由用戶直接讀寫的8位RAM寄存器(C)一個不可尋址地特殊功能寄存器    (D)一個能自動加1計數的ROM存儲單元10、在CPU內部販映程序運行狀

17、態或反映運算結果的一些特征寄存器是:(   )(A)PC              (B)PSW      (C)A     (D)SP三、判斷說明題 1、在微機性能指標中,CPU的主頻越高,其運算速度越快。(   )2、微型計算機與一般計算機的主要區別是體積小、重量輕、耗電少、價格便宜。(   )3、在MCS-51系

18、統中,一個機器周期等于1us。     (     )4、所有的十進制小數都能準確地轉換為二進制小數。   (     )5、調用子程序及返回與堆棧有關。   (     )6、PC可以看做是指令存儲區的地址指針。  (     )7、SP內裝的是棧頂首址的內容。    (    

19、; )8、如果指令系統中不給用戶提供PUSH、POP指令的話,則設立堆棧毫無意義。   (    )9、在MCS-51系統中,PUSH、POP動作每次僅處理一個字節。10、所有計算機系統的堆棧都是向地址高端逐漸生長的,即均為“向上生成”堆棧。   (   )四、簡答題 1、請敘述微處理器P、微機C和微機系統CS三者之間的區別。2、單片機與其他常見微機(如PC機)有什么不同?它有什么獨特優點?3、堆棧區與一般的數據存儲區有何異同?其重要作用是什么?4、如果程序中要用到兩組工作寄存器,試問SP的初值應如何設定

20、? 習題一  答案一、填空題 1、 三;2、 CPU、存儲器、I/O;3、將程序存儲空間和數據存儲空間在物理上分開;4、運算器、控制器、布爾處理器;5、中大規模以上集成電路;6、8031、8051、8751;7、 11100000、38;8、63、110;9、64、9C; 10、特殊功能寄存器區或SFR、21; 11、0000、07、0、0007; 12、3(從第0組排起);13、04、00; 14、0; 15、程序計數器PC; 16、先進后出(或后進先出)、PUSH、POP;17、地址、數據、總線復用;18、低、程序、128(因程序和數據空間均可達64KB);19、128

21、、127; 20、PC、每取完一字節指令后PC內容會自動加1;21、16、8、16。二、單選題 1、D  2、B   3、C   4、C   5、C   6、D  7、A   8、B   9、C   10、B三、判斷說明題 1. 錯誤,并非所有計算機系統的堆棧都向上生成,有的計算機系統設計為向下生成。 2. 正確(主頻即做一次加法或寄存器間傳送的時間,主頻越高,運算速度越快。) 3. 錯誤。微型計算機的最大不同時;運算器和控制器集成在一

22、塊集成電路芯片上。 4. 錯誤。若晶振頻率變化,則機器周期也將變化,只有在fosc=12MHZ的情況下機器周期才會等于1us。  5. 錯誤。十進制小數不一定能準確地轉換為二進制小數,例如1 / 7。    6. 正確。     7. 正確。   8. 錯誤。SP內裝的是棧頂地址本身。    9. 錯誤。即使沒有PUSH、POP指令,也要設立堆棧以完成子程調用及中斷調用等功能。   10. 正確。 四、簡答題 1、運算器、控制器合稱為中央處理單元

23、(CPU)或處理器;若這兩部分集成在同一塊集成電路硅片上,則稱為微處理器(uP)或MPU。微機 uC包括微處理器uP之外,還含有存儲器和I/O接口。微機系統ucs除包括微機uC硬件之外,還包含系統軟件和應用軟件。2、主要有三點不同:一是CPU、存儲器和I/O接口這幾部分集成在一片芯片上;二是存儲器設計采用了哈佛結構,將程序存儲器和數據存儲器在物理上分開;三是供位處理和位控制的資源豐富、I/O接口完善。優點:集成度高、價格低廉,性能/價格比高;程序存儲器和數據存儲器在物理上分開,可使程序不受干擾,抗干擾能力強;布爾處理能力強,適于工業控制。    

24、0;        3、堆棧區與一般存儲區相同之處是:它們都屬于存儲器的一部分,都能存放數據。其主要不同之處是對數據的存取規則有異:一般存儲區使用隨機讀/寫規則,而堆棧使用先進后出(或后進先出)規則。堆棧采用這種特殊規則后,可以圓滿完成子程序調用或中斷調用,多級子程序嵌套等功能。當然,堆棧區內的存儲單元也可以使用隨機讀/寫指令,但在那種情況下已經不把該單元當做堆棧看待了。4、這要看程序中用到的是哪兩組通用寄存器。如果是第01組,即要占用片內RAM的00H0FH單元,那么就要將上電或復位時自動生成的SP=07H的狀態,用指令改

25、設為0FH。 若程序中用到的是第23組,則SP應被改設為1FH。 習題二一、填空題 1、指令格式由           和         這兩部分組成。 2、尋址方式分為對          的尋址和對         

26、0;  的尋址兩大類。 3、訪問8031片處數據存儲器采用的是         尋址方式。 4、設A=55H,R5=AAH,則執行ANL A,R5指令后的結果是A          ,R5=           。 5、判斷并填寫下列指令的字節數: 指令類型 字節數  指令類型 字節數 MOVC A,A+DP

27、TR MOV dir, #data MVOX RO,A CLR bit MOV R,A MOV A,#data MOV Rn,A PUSH direct ZNCDPTR MOV dir1, dir2 6、計算機的主機包括     A    。指令由   B    解釋。設某條指令中的操作數(或操作數地址)部分為x,地址為x的主存單元內容為y,地址為y的主存單元內容主z。如果用直

28、接尋址方式。參與操作的數據為    C    ;如果用立即尋址方式,參與操作的數據為  D  ;如果用間接尋址方式,參與操作的數據為  E  。 供選擇的答案: A:運算器和控制器  CPU和磁盤存儲器   硬件和軟件  CPU    和主存 B:編譯程序    解釋程序   控制器    運算器 CE: x  

29、60;    x+y       y     y+Z      Z     x+z7、一般情況下,指令由  A  和操作數地址碼兩部分組成。利用堆棧進行運算的指令可以不設置  B  。浮點運算指令對用于  C  的計算機是十分必要的,而十進制運算指令對有大量I / O數據的用于   D &

30、#160; 的計算機更為合適。移位指令屬于  E  類指令。 供選擇的答案 A、B:指令碼      地址碼     操作碼       校驗碼 C、D:事務處理    科學計算   工業控制     輔助教學 E:   輸入/輸出    傳送    

31、;   運算         控制 請選擇并填寫答案:A為      、B為     、C為      、D為       、E為     。二、判斷下列指令是否合乎規定(合乎規定在題后打“”,不合乎規定的打“×”。) 1、MOV R0,R1

32、0;      (     ) 2、DEC DPTR         (     ) 3、CPL 30H           (     ) 4、CPL R5       

33、0;    (      ) 5、RLC R0            (      ) 6、MOV A, R3         (      )7、MOVXA, R1     &#

34、160;  (       )8、PUSH DPTR          (      ) 9、MOV PC,#2000H      (     ) 10、MOVA, 30H         (  &#

35、160;  ) 11、MOVC,30H          (      ) 12、MOV F0, C         (    ) 13、MOV F0, ACC.3      (    ) 14、CPL F0    &#

36、160;         (    )三、簡答題 1、什么是指令?什么是指令系統? 2、舉例說明MCS-51指令系統中的任意5種尋址方式。 3、簡述MOVX和MOVC指令的異同之處。四、閱讀并分析程序(根據各題具體要求填寫答案) 1、以下程序段執行后,A=          ,(30H)=         。 MOV

37、30H,#0AVH MOV A, #0D6H MOV R0, #30H MOV R2, #5EHANL A, R2ORL A,R0SWAP A CPL A XRL A, #0FEHORL 30H, A 2、以下程序段執行后,  (40H)=          ,    (41H)=          。 CLR C MOV A, #56H SUBB A, #0F8HMOV 40

38、H, A MOV A, #78H SUBB A, #0EH MOV 41H, A 3、設內部RAM中59H單元的內容為50H,寫出當執行下列程序段后寄存器A、R0和內部RAM中50H,51H單元的內容為何值? MOV A,59HMOV R0,A MOV A,#00HMOV R0, A MOV A, #25H MOV 51H, A MOV 52H, #70H4、設堆棧指針SP中的內容為60H,內部RAM中30H和31H單元的內容分別為24H和10H,執行下列程序段后,61H,62H,30H,31H,DPTR及SP中的內容將有何變化? PUSH 30H PUSH 31H POP DPL POP D

39、PH MOV 30H,#00HMOV 31H,#0FFH5、設A=40H, R1=23H, (40H)=05H。執行下列兩條指令后,累加器A和R1以及內部RAM中40H單元的內容各為何值? XCH A,R1XCHD A,R1五、簡單編程題 1、試編寫一個程序,將內部RAM中45H單元的高4位清0。低4位置1。 2、試編寫一個拼字程序(例如將05H和06H拼為56H),設原始數據放在片外數據區的7001H單元和7002H單元中,按順序拼裝后的單字節數放入7002H。習題二  答案 一、填空題1、操作碼、操作數或操作數地址;2、 指令、數據;3、 寄存器間接;4、 4、0、AAH;5、如

40、下表:指令類型 字節數 指令類型字節數MOVCA,A+DPTR1MOV dir, #data3MOVXR0,A1CLR bit2SETBC1MOV A,#data2MOV Rn,A1PUSH direct2INC DPTR1MOV dir1,dir236、A=、B=、C=、D=、E=7、A=、B=、C=、D=、E=二、判斷下列指令是否合乎規定,且說明理由1、×,通用寄存器間不能互傳。   2、×,指令系統中沒有提供這條指令。3、。   4、×,CPL對字節類地址的操作只允許A。   

41、5、×,循環移位只能對A操作。    6、×,這種間接尋址方式只允許用R0或R1。    7、。 8、×,16位數據無法一次送入堆棧。    9、×,PC是不可尋址的SFR。   10、。11、。    12、。     13、×,普通位地址內容不能互傳。    14、。三、簡答題1、指令是控制計算機進行某種操作的命令;指令系統是指一臺計

42、算機中所有指令的集合。2、5種尋址方式舉例如下:立即尋址:MOV A, #20H直接尋址:MOV A,20H寄存器尋址:MOV A,R0寄存器間接尋址:MOVX A,DPTR變址尋址:MOVC A,A+DPTR3、MOVX和MOVC指令的相同之處;都是數據傳送類指令。不同之處:MOVX是在A累加器與片外數據存儲器之間雙向傳送數據的指令;而MOVC則是將程序存儲器中內容讀入A累加器的指令。四、閱讀并分析程序1、A=6EH(30H)=EEH2、(40H)=5EH、(41H)=69H     3、A=25H、R0=50H、(50H)=00H、(51H)=25H

43、     4、(61H)=24H、(62H)=10H、(30H)=00H、(31H)=FFH、DP、TR=2410H、SP=60H     5、A=25H、R1=40H、(40H)=03H五、簡單編程1、方法1:用交換指令MOV A,#0FHXCH A,45H方法2:用傳送指令MOV 45H;#0FH2、設7001H單元放置的是高位數據,7002H單元放置的是低位數據,兩個原始數據都不超過0FH。則程序段如下:MOV DPTR, #7001H MOVX A, DPTR SWAP A INC DPTR MOVX A,

44、 DPTR ORL A, B MOVX DPTR, A 習題三 一、簡答題 1、MCS-51指令集中有無“程序結束”指令?上機調試時怎樣實現“程序結束”功能? 2、簡述轉移指令AJMP target、SJMP shortlable、LJMP target及JMPA+DPTR 的應用場合.二、閱讀并分析程序(根據各題具體要求填寫答案) 1、已知程序執行前有(40H)=88H,問: 程序執行后(40H)=         。 歸納出該子程序完成的是何種功能。 MOV A,40H JNB ACC.7,GOCPL

45、 A INC A MOV 40H, A GO:RET2、閱讀程序并回答問題。設:R0=20H、R1=25H、(20H)=80H、(21H)=90H、(22H)=A0H、(25H)=A0H、(26H)=6FH、(27H)=76H,程序如下: CLR C MOV R2,#3LOOP:MOV A,R0ADDC A, R1MOV R0, A INC R0INC R1DJNZ R2, LOOP JNC NEXT MOV R0, #01HSJMP $NEXT:  DEC R0SJMP $程序執行后: (20H)=       

46、 (21H)=        (22H)=         (23H)=        Cy=             A=            &

47、#160;R0=            R1=         3、試用箭頭標明如下程序段的執行路線,簡要說明理由,并填寫程序執行后的結果(已知A=0AH)。 ADD A,#0F4HJBOV,GOEJNB ACC. 7, GOP CPL A SETB 20H. 0RET GOP:CLR 20H. 0RETGOE:MOV A, #0FFHRET 程序執行后:A=    

48、     H, 20H.0=         。 4、請填寫程序執行結果。已知執行前有A=02H、SP=40H、(41H)=FFH、(42H)=FFH,程序如下: POP CPH POP DPL MOV DPTR,#3000HRL A MOV B,A MOVC A, A+DPTR PUSH ACC MOV A, B INC A MOVC A, A+DPTR PUSH ACC RET ORG 3000H DB 10H, 80H, 30H, 80H, 50H, 80H, 程序執行

49、后: A=         H、SP=        H、(42H)=         H、PC=        H?5、下述程序執行后,請問SP=            A=  

50、        B=       ?      MOV SP, #40H       MOV A, #30H       LCALL SUBR ADD A, #10H BACK: MOV B, A L1:   SJMP L1SUBR: POP DPH POP DPL MOV DPTR, #

51、AGI PUSH DPL PUSH DPH RET 6、計算下面子程序中指令的偏移量和程序執行的時間(系統晶振頻率12MHZ)。 7B0F          MOV R3,#15   ;1M 7CFF DL1:    MOV R4,#255  ;1M 8B90  DL2:    MOVP1,  R3     ;2MDC   &#

52、160;        DJNZ R4, DL2   ;2MDB            DJNZ R3, DL1   ;2M22            RET         &#

53、160; ;2M三、編寫程序題 1、將片外數據存儲器中7000H70FFH單元全部清零。 2、用移位指令編寫雙字節數據從高向低循環右移4位的子程序,設高8位數據在B寄存器中,低8位在A累加器中。 3、將10個單字節無符號數升序排序,排序前后的數據均置于內部RAM的50H59H單元內。習題三  答案一、簡答題1、沒有這樣的指令。但實現“程序結束”至少可以借助4種辦法:用原地踏步指令SJMP $ 死循環。在最后一條指令后面設斷點,用斷點執行方式運行程序。用單步方式執行程序。在末條指令之后附加一條LJMP監控顯示器程序首地址或LJMP 0000H,返回監控狀態。2、它們都是程序無條件轉移指

54、令,其結果都是改變了PC的內容;但它們尋址過程和應用場合卻有所區別:LJMP指令是直接將指令中的16位地址數據送入PC,可在64KB程序存儲空間內隨意轉移(轉移范圍為64KB)。AJMP指令是將指令中包含的11位地址數據送入PC的低11位,可在該指令附近的當前2KB程序存儲空間內轉移。SJMP指令是將指令中的8位數據與PC值相加后再送入PC,轉移范圍小,只能在該指令的前128字節和后127字節內轉移(以該指令后一條指令為參照點)。JMP A+DPTR指令是將A內容與DPTR內容右對齊相加后,再送入PC中,與LJMP相似,也可以轉移64KB的程序空間。在選用時,凡轉移地址超過當前地址2KB的,只

55、能用LJMP指令;凡轉移地址在當前地址128 +127字節之間的,可以選用SJMP指令,其余范圍可選取用AJMP指令。如果要實現“條件不同,則轉移地址不同”的功能,用JMP A+DPTR指令將是最佳選擇。二、閱讀并分析程序1、(40H)=78H。該子程序的功能是對(40H)內的單字節符號數求補碼。注:若只說出是“先取反而后加1”,但無法歸納為對符號數求補碼時,扣一半分。2、(20H)=20H、(21H)=00H、(22H)=17H、(23H)=01H、Cy=1、A=17H、R0=23H、R1=28H。3、ADD A,#0F4H JB OV, GOE    

56、;    ;無溢出,不轉移 JNB ACC.7,GOP           ;ACC.7=1,不轉移 CPL A INCA SETB 20H.0  RETGOP:CLR 20H.0      RETGOE:MOV A,#0FFH      RETZ程序執行后:A=02H、20H.0=14、A=80H、SP=40H、(41H)=50H、(42H)=80H、PC

57、=8050H。5、SP=40H、a=30H、b=30H。6、機器碼填空為:FC和F8時間計算:1個機器周期在12MHZ晶振下的時間是1us.          程序總機器周期數=1+1+(2+2)×255+2×15+2=15348          所以該程序執行時間為15.438ms。三、編寫程序 1、方法1:用DPTR作為地址指針     &#

58、160;  MOV DPTR,#7000H        CLR A        MOV R0,ALOOP: MOVX DPTR,A        INC DPTR        DJNZ R0,LOOP        ;還可以用GJNE

59、 A,DPL,LOOP(因為A=0)        SJMP  $ 方法2:P2預先鎖存高8位地址,用R0作為地址指針MOV P2,#70HCLR AMOV R0,ALOOP: MOVX R0,ADJNZ R0,LOOPSJMP   $2、    PUSH 6FH              ;保護現場PUSH PSWMOV 6F

60、H,#4           ;從高向低右移4次計數器LOOP:MOV C,ACC.0   ;C被A的最低位刷新,送入高8位的最高位XCH A,B              ;高低8位寄存器互換RRC A            &

61、#160;    ; 高8位先右移,最低拉進入C中XCH A,B                  ;高低8位寄存器還原RRC A                       &#

62、160;               ;低8位右移,C補進最高位DJNZ 6FH,LOOP                     ;若右移不足4次,繼續循環移位POP PSW       

63、                            ;恢復現場POP 6FHRET3、方法1   程序中用到的有關寄存器含義如下:R0存放數據塊的地址指針,R2存放每輪比較次數,R3是每輪中的比較次數計數器。F0=PSW、4作為有無交換的標志位。CLR F0MOV R2,#0AHLOOP2: &

64、#160; MOV R0,#50H           MOV 03H,02H                ;即R3R2LOOP1:   MOV A, R0           INC R0    

65、       CJNE A, B, $+3           JC NEXT            MOV R0, A            DEC R0       

66、    SETB F0EXT:      DJNZ R3, LOOP1           JNB F0, DONE            CLR R0           DJNZR2, LOOP2DONE: 

67、;    SJMP $方法2           CLR F0                ;清交換標志           MOV R7, #9      

68、    ;設置外循環計數器OUTSID:  MOV R0,#50H         ;R0指向數據區           MOV R6, 07HINSIDE:   MOV A,R0           ;取一數據到A    

69、60;      INC R0           MOV B, R0             ;取下一步單元數據到B           CJNE A, B, $+3    &#

70、160;       ;AR0?           JC NEXCHG               ;小于不交換           XCHA,R0    &

71、#160;         ;大于交換           DEC R0           MOV R0, A            INC R0      

72、     SETB F0                    ;置交換標志NEXCHG: DJNZ R6,INSIDE           ;內循環結束?         

73、60; DEC R7                     ;下次的內循環少一次           JBC F0, OUTSID              ;交換發生

74、繼續外循環,并清交換標志           SJMP $                      ;未交換結束循環習題四一、填空題 1、計算機對輸入/輸出設備的控制方式主要有三種。其中,  A  方式硬件設計最簡單,但要占用不少CPU的運行時間;  B&#

75、160; 方式的硬件線路最復雜,但可大大提高數據傳送效率;而  C  方式則介于上述兩者之間。 AC:先進先出    后進先出   直接存儲器訪問  程序查詢   高速緩存   系統總線   程序中斷   逐行掃描 請選擇并填寫答案:  A=            B=    &

76、#160;       C=         2、I/O端口與外部設備之間傳送的信息可分為       類。 3、MCS51單片機系列有       個中斷源。上電復位時,同級中斷的優先級從 高至低為       、      、

77、       、        、和        ,若IP=00010100B, 優先級別最高者為        、最低者為        。 4、在MCS51單片機系統中,當某中斷源發出中斷請求,單片機予以響應時,它必須處于  

78、0;   和      兩級開中斷狀態。 5、中斷請求信號有        觸發和      觸發兩種觸發方式。 6、MCS51單片機8031中有       個        位的定時器/計數器,可以被設定的工作方式有     

79、   種。 7、若系統晶振頻率為12MHz,則TO工作于定時和計數方式時最高(計數)信號頻率分別為        kHz和        kHz。 8、欲對300個外部事件計數,可以選用定時/計數器T1的模式    或模式     。 9、在串行通信中采用偶校驗,若傳送的數據為0A5H,則其奇偶校驗位應為   (用“0”、“1”表示)。 10、在異

80、步通信中若每個字符由11位組成,串行口每秒傳送250個字符,則對應波特率為         。二、判斷說明題(判錯者請說明理由) 1、輸入/輸出設備必須通過I/O接口才能接到系統總線上和主機進行信息交換。 2、MCS51系統中的P0P3四個端口中,只有P1才是真正的I/O接口。 3、為使準雙向的I/O口工作在輸入方式,必須保證它被預先置為“1”。 4、P1口最低位上接入了打印機的BUSY信號,則查看該信號的指令是MOV C, P1.0。 5、DMA方式在傳送過程中,地址修改、字節計數等操作完全由硬件電路來實現。三、

81、單項選擇題(從四個備選答案中選出一個正確答案,并將其代號寫在括號內) 1、外部中斷1固定對應的中斷入口地址為(   )。  A、0003H         B、000BH        C、0013H        D、001BH2、各中斷源發出的中斷請求信號,都會標記在MCS51系統中的(   )。  A、TMOD&

82、#160;        B、TCON/SCON       C、IE         D、IP3、MCS51單片機可分為兩個優先級別。各中斷源的優先級別設定是利用寄存器(   )。  A、IE             B、IP 

83、       C、TCON          D、SCON4、MCS51的并行I/O口信息有兩種讀取方法,一種是讀引腳,還有一種是(      )。  A、讀鎖存         B、讀數據        C、讀A累加器 

84、0;     D、讀CPU5、MCS51的并行I/O口讀-改-寫操作,是針對該口的(    )。  A、引腳           B、片選信號     C、地址線            D、內部鎖存器 6、以下指令中,屬于單純讀引腳的指令是(  &#

85、160;    )。  A、MOV P1,A  B、ORL P1,#0FH  C、MOV C,P1.5  D、DJNZ P1,shortlable7、(     )不屬于微型機引入中斷技術后的好處。  A、分時操作     B、實時處理      C、故障處理      D、高速傳送數據 8、(   )并非單片機系統響

86、應中斷的必要條件。  A、TCON或SCON寄存器內的有關中斷標志位置為1B、IE中斷允許寄存器內的有關中斷允許位置1C、優先級寄存器內的有關位置1D、當前一條指令執行完 四、簡答題 1、程序查詢方式與程序中斷方式有何異同之處? 2、MOV P1,#0FFH這條指令應當理解為輸出全“1”到P1口呢,還是理解為從P1口讀引腳的預備動作? 3、MCS51單片機響應中斷的典型時間為多少?在哪些情況下CPU將推遲對中斷申請的響應? 4、單片機系統中的定時和計數功能有何區別?分別適用于什么場合?簡述其工作原理。 5、串行數據傳送的主要優點和用途是什么?五、寫出完整源程序 利用8031單片機的P

87、1.0端持續產生如圖41所示的方波,系統晶振頻率為12MHz。要求軟件時方法或定時器方法完成此題要求。 圖41   第五題圖 六、設計程序 請設計一個由單片機控制的大會發言限時器,例如限時15分鐘。具體要求是:當發言者開始講話時,主持人手動按下“開始”鍵(無鎖按鈕),15分鐘后由微機控制發出提示信號(提示信號可自行設定)。假定單片機晶振頻率選用6MHz,另可提供1Hz穩頻脈沖源,請畫出電路示意圖,并用中斷方式完成本題的程序設計。  習題四  答案一、填空題1、A=、 B=、 C=。    2、3。 

88、60;    3、5,外部中斷0、定時器0、外部中斷1、定時器1和串行口;外部中斷1、定時器1。  4、源允許、總允許。    5、電平、邊沿。    6、2、16、4。    7、1000、500。    8、0、1。   9、0。    10、2750。二、判斷說明題1、正確。2、錯誤。P0P3都是真正的I/O口,只是當片外需要擴展存儲器或其他外設時,其中3個才復用為三總線。3、正確

89、。4、正確  此時要求讀引腳。5 、正確。三、單項選擇題1、C   2、B   3、B    4、A   5、D   6、C   7、D  8、C 四、簡答題1、相同之處:都是由CPU通過程序來傳送數據,都需要借助CPU工作;不同之處:直接程序傳送(包括無條件傳送和查詢式I/O傳送)方式對接口電路的要求很簡單,但對傳送信息的時間要求很嚴格,且占用了CPU的大量時間,效率低下。而中斷傳送方式可大大提高CPU利用率、允許多個外設并行工作,但硬件線路稍

90、復雜。2、這要看P1口所接下來何種外設,也要看程序中的上下文,不能斷然理解為前者或后者。若所接外設為單純輸出設備,則理解為送出全“1”信號;若所接外設為單純輸入設備,則理解為讀并口數據之前的預備動作;若所接外設為輸入/輸出雙向傳輸設備,則要根據程序流程及該指令之前的程序意圖去理解。3、典型(也是最短)時間為3個機器周期。若出現以下情況將推遲對中斷申請的響應:1)正在執行的中斷服務級別很高(或同級);2)濁當前指令的最后一個M(機器)周期;3)若當前指令是RETI或是對IP、IE寄存器的操作指令,則不能馬上響應,還會順延一條指令。4、“定時”功能是對片內穩頻脈沖(是晶振頻率的1/12)的計數,從

91、計數開始到計滿溢出為止,可以由計數值×穩頻脈沖周期值來得到一個準確的時間值;而“計數”功能則是對單片機引腳上的外來隨機脈沖進行計數,一般情況下難以折算為精確進間。定時功能適用于需要準確計量一段時間的場合;而計數功能適用于對外部事件的計數。在單片機內,定時和計數的實現都是借助一個加1計數器,工作原理基本一樣,只是定時方式下計數脈沖為fose/12,計數方式下的計數脈沖由單片機外引腳(T0或T1)來輸入。5、串行數據傳送是將數據按bit逐位進行傳送的方式。其主要優點是所需的傳送線根數不(單向傳送只需一根數據線、雙向僅需兩根),對于遠距離數據傳送的情況,采用串行方式是比較經濟的。所以串行方

92、式主要用于計算機與遠程終端之間的數據傳送,也很適于經公眾電話網連接的計算機之間的通信,另外在某些場合,串行接口也可以代替并行接口來控制外設,以節省軟硬件資源、簡化線路。五、寫出完整源程序方法1:用軟件定時方式,可以通過調用20ms延時子程序來實現。程序如下:START:SETB P1.0LCALL     DELAY20   ;讓P1.0腳上高電平延時20msCPL         P1.0LCALL    

93、0;  DELAY20    ;讓P1.0腳上低電平延時40msLCALL        DELAY20SJMP          START DELAY20:  CPL RS1MOV R6, #20LOOP1:    MOV    R7, #249LOOP2:     MOPNOPDJN

94、Z      R7, LOOP2DJNZ      R6, LOOP1CPL       RS1RET 方法2:用定時器T0實現20ms定時,然后配以編碼控制方式。AJMP      MAIN ORG 0BH MOV    TH0,#0B1H MOV    TL0,#0E0HRLC    

95、  A MOV     P1.0, C RETI MAIN:     MOV TMOD, #00000001B   ;選用T0定時,方式1,內觸發MOV TH0,#0B1H         ;定時20ms MOV TL0, #0E0HSETB    EA          

96、60;   ;T0開中斷SETB ET0CLR C MOV A,#10010010B        ;編碼值,A與C拼接形成100 100 100SETB TR0                  ;定時器開始工作SJMP $ 六、設計程序可利用8031內部定時器對片餐的1s脈沖源計數900次,從而達到15分種定時。用查詢方式等待手動“開

97、始”信號,有信號來,則計數器開始工作。當計數900次滿時,發出中斷請求信號,此時讓指示燈亮(可安排P1.0引腳控制燈的亮/滅)。硬件電路示意圖如附圖1所示:                        附圖1   題六圖控制程序如下:AJMP START  ORG 0BH CLR TR0     

98、      ;停止計數/計時CLR EA            ;關中斷SETB P1.0          ;指示燈亮RETISTART:CLR P1.0           ;指示燈滅MOV TMOD, #00000101B  

99、; ;選用T0計數,方式1,內觸發MOV TH0, #0FCH            ;計數900次MOV TL0, #7CH SETB P1.7                   ;為輸入先預置“1”JNB P1.7, $       

100、           ;等待“開始”按鈕的下降沿到來JBP1 .7, $SETB TR0                   ;開始計數(實際上是計時)SETN EA             

101、;       ;T0開中斷SETB ET0SJMP  $習題五一、填空題 1、CPU尋址外設端口地址的方法有       編址和       編址兩種。 2、當8051的RST端上保持       個機器周期以上的低電平時,8051即發生復位。 3、若系統晶振頻率為6MHz,則時鐘周期為     

102、   s,機器周期為       s,最短和最長的指令周期分別為       s和        s。 4、若單片機的晶振頻率fose=8MHz,則執行一條MUL AB 指令所需時間為    s。 5、當單片機的型號為8031/8032時,其芯片引線EA一定要接       電平。 6、CPU與內存或I/O接口相連的系統總線通常由       、      、  &

溫馨提示

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

最新文檔

評論

0/150

提交評論