微控制器程式閱讀題

  微控制器是一種積體電路晶片,是採用超大規模積體電路技術把具有資料處理能力的中央處理器CPU隨機儲存器RAM、只讀儲存器ROM、多種I/O口和中斷系統、定時器/計時器等功能整合到一塊矽片上構成的一個小而完善的微型計算機系統,下面是小編為你們準備的,希望能幫助你們。

  

  1. 設***A***=38H, ***20H***=49H, PSW=00H, ***B***=02H,填寫以下結果。

  SETB C

  ADDC A, 20H

  RLC A ***A***= ______;***CY***= ______;***P***= ______;

  MUL AB ***B***= ______;

  2. 閱讀程式並回答下列問題:

  X DATA 50H

  Y DATA 51H

  ORG 00H

  JMP START

  ORG 100H

  START: MOV SP,#60H

  MOV X,#10

  MOV Y,#10

  LCALL SUB

  SUB: NOP

  INC X

  DEC Y

  MOV A,Y

  JZ SUBRET

  LCALL SUB

  SUBRET: NOP

  RET

  計算X和Y的值是多少?

  ***X***= ; ***Y***= ;

  3. 執行下列程式後,R2,R3的內容是什麼?請在要求註釋的地方給程式加上註釋

  MOV R3,#45H

  MOV DPTR,#TABL ;註釋:

  MOV A,R3

  ANL A,#0FH ;註釋:

  MOVC A,@A+DPTR ;註釋:

  MOV R2,A

  MOV A,R3

  ANL A,#0F0H

  SWAP A

  MOVC A,@A+DPTR

  MOV R3,A

  ………………………

  TABL: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H

  ***R2***= ; ***R3***= ;

  4. 51微控制器振盪頻率為12MHz,閱讀程式後說明

  ORG 0000H

  LJMP MAIN

  ORG 001BH

  LJMP INTT1

  ORG 0040H

  INTT1: MOV TH1, #3CH

  MOV TL1, #0B0H

  DJNZ R7, L2

  MOV R7, #20

  CPL P1.2

  L2: RETI

  ORG 0100H

  MOV SP, #5FH

  MOV R7, #20

  MOV TMOD, ①

  MOV TH1, #3CH

  MOV TL1, #0B0H

  SETB EA

  SETB ②

  SETB TR1

  SJMP $

  1*** 根據程式內容填空:① ;② ;

  2*** 定時器T1的定時時間是多少?

  3*** 暫存器R7在程式中的作用是什麼?

  4*** 該程式完成什麼功能?

  5. 執行下面一段程式;填寫執行結果

  MOV SP, #60H

  MOV A, #10H

  MOV B, #01H

  PUSH A

  PUSH B

  POP A

  POP B

  A , B的內容是:***A***= ***B***= ;

  6. 設自變數為X,存放在ARE單元,應變數Y存放在BUF單元。給程式標註註釋,說明該段子程式的功能並寫出該程式的函式關係式。***7分***

  START: MOV DPTR,#ARE

  MOVX A,@DPTR

  JZ SUL

  JB ACC.7,NEG ;註釋:

  MOV A,#02H

  SUL: MOV DPTR,#BUF

  MOVX @DPTR,A ;註釋:

  RET

  NEG: MOV A,#0FEH

  SJMP SUL

  7. 執行下列程式段後,***P1***=_______。

  MOV P1,#5DH

  CPL P1.1

  CPL P1.2

  CLR P1.6

  SETB P1.7

  8. 執行下列程式段後,***A***=_______,***CY***=____。

  MOV A,#C5H

  RL A

  9.下列程式段執行後,***R0***=_______,***7EH***=____,***7FH***=_______。

  MOV R0,#7EH

  MOV 7EH,#0FFH

  MOV 7FH,#40H

  1NC @R0

  1NC R0

  1NC @R0

  10. 已知***SP***=60H,子程式SUBTRN的首地址為0345H,現執行位於0123H的ACALL SUBTRN雙位元組指令後,***PC***=___,***61H***=_______,***62H***= ____。

  11.閱讀下列程式,說明其功能。

  MOV R0,#data

  MOV A,@R0

  RL A

  MOV R1,A

  RL A

  RL A

  ADD A,R1

  MOV @R0,A

  RET

  12.下列各條指令其源運算元的定址方式是什麼?各條指令單獨執行後,A中的結果是什麼?設***60H***=35H,***A***=19H,***R0***=30H,***30H***=0FH。

  ***1***MOV A,#48H ;定址方式:

  ***A***=

  ***2***ADD A,60H ;定址方式:

  ***A***=

  ***3***ANL A,@R0 ;定址方式:

  ***A***=

  13.閱讀下列程式段,寫出每條指令執行後的結果,並說明此程式段完成什麼功能?

  MOV R1,#30H ;***R1***=

  MOV A,#64H ;***A***=

  ADD A,#47H ;***A***= ,***CY***= ,

  ***AC***=

  DA A ;***A***= ,***CY***= ,

  ***AC***=

  MOV @R1,A ;***R1***= ,***30H***=

  此程式段完成的功能:

  14. 已知***R0***=20H, ***20H *** =10H, ***P0*** =30H, ***R2*** =20H, 執行如下程式段後*** 40H *** =

  MOV @R0 , #11H

  MOV A , R2

  ADD A , 20H

  MOV PSW , #80H

  SUBB A , P0

  XRL A , #45H

  MOV 40H , A

  15. 已知 *** R0 ***=20H, ***20H ***=36H, ***21H*** =17H, ***36H*** =34H, 執行過程如下:

  MOV A , @R0

  MOV R0 , A

  MOV A , @R0

  ADD A , 21H

  ORL A , #21H

  RL A

  MOV R2 , A

  RET

  則執行結束***R0***= ***R2***=

  16. 執行下面一段程式;

  MOV SP, #60H

  MOV A, #10H

  MOV B, #01H

  PUSH A

  PUSH B

  POP A

  POP B

  A , B的內容是:***A***= ***B***=

  17. 設在31H單元存有#23H,執行下面程式:

  MOV A, 31H

  ANL A, #0FH

  MOV 41H, A

  MOV A, 31H

  ANL A, #0F0H

  SWAP A

  MOV 42H, A

  則***41H***= ***42H***=

  18.程式填空

  1***資料塊傳送,將RAM從30H開始的連續32個單元的內容傳遞給片內RAM從60H開始的連續32個單元。

  ORG 1000H

  MOV R7,_____

  MOV R0, #30H

  MOV R1,#60H

  LOOP:MOV A,@R0

  MOV _____,A

  INC R0

  INC R1

  DJNZ R7, _____

  SJMP $

  END

  2*** 將4個單位元組數放片內30H~~33H,它們求和結果放在片內40H,41H單元。

  ORG 1000H

  MOV R7,#04H

  MOV R0,30H

  CLR A

  MOV 41H,A

  LOOP: ADD A,@R0

  JNC NEXT

  INC _____

  NEXT:INC _____

  DJNZ R7,LOOP

  MOV 40H,A

  SJMP $

  END

  3*** RAM中40H單元記憶體有一個十六進位制數,把這個數轉換為BCD碼的十進位制數,BCD碼的十位和個位放在累加器A中,百位放在R2中。

  ORG 2200H

  MOV A,_____

  MOV B,#64H

  DIV AB

  MOV R2,A

  MOV A,_____

  XCH A,B

  DIV AB

  SWAP _____

  ORL A,B

  SJMP $

  END

  4*** 程式設計序將片內40H-46H單元內容的高4位清零,保持低4位不變。

  ORG 1000H

  MOV R7,#07H

  MOV R0,_____

  LOOP:MOV A,@R0

  ANL A,_____

  MOV @R0,A

  INC R0

  DJNZ R7,LOOP

  SJMP $

  END

  19、程式如下

  2506H M5: MOV SP,#58H;

  2509H        MOV 10H,0FH;

  250CH MOV 11H,#0BH;

  250FH ACALL XHD;

  2511H MOV 20H,11H

  2514H M5A: SJMP M5A

  XHD: PUSH 10H

  PUSH 11H

  POP 10H

  POP 11H

  RET

  問:***1***執行POP 10H後堆疊內容?

  ***2***執行M5A: SJMP M5A後,*** SP ***=? *** 20H ***=?