单片机练习题标准答案 下载本文

CLR C ;__CY=0_________________________________ MOV A , @R0 ;__(A)=29H ___寄存器间接寻址_____________ 14、执行如下三条指令后,30H单元的内容是 ___0EH MOV R1,#30H MOV 40H,#0EH MOV ﹫R1,40H

15、请分析下面程序执行后的操作结果,(A)=__40H_,(R0)=__60H_。 MOV A,#60H MOV R0,#40H MOV @R0,A MOV 41H,R0 XCH A,R0

16、请描述数码管静态显示和动态扫描显示的原理?

态显示位码始终有效,每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,

数码管动态扫描的方法,将8个数码管的段选线并联在一起,由位选线控制是哪一位数码管有效,轮流向各位数码管送出字形码和相应的位选,轮流点亮扫描过程中,每位数码管的点亮时间是极为短暂的(约1ms),利用数码管的余晖效应和人眼的视觉残留效应,使人感觉好像各位数码管同时都在显示。 17、已知:(R0)=00H,写出执行指令后的结果。 ORG 0000H MOV A,R0 JZ L1

MOV R1,#00H AJMP L2

L1: MOV R1,#0FFH L2: SJMP L2 END

执行完整段程序后,(A)= __00H __ (R1)= __0FFH __。

13 / 17

18、已知片内RAM中ONE和TWO两个单元中存有两个无符号数,将两个数中的小者存入30H单元。请完成以下程序实现上述功能。 MOV A, ONE CJNE A, TWO, BIG SJMP STO

BIG: JC STO MOV A, TWO STO: MOV 30H, A RET

19、执行下面程序后,(A)=_____ 06H _________。 MOV A, #06H MOVC A, @A+PC

DB 00H , 01H , 02H , 03H , 04H , 05H , 06H

20、设(SP)=60H,片内RAM的(30H)=24H,(31H)=10H,执行程序: PUSH 30H PUSH 3lH POP DPL POP DPH MOV A,#00H MOVX @DPTR,A

最后执行结果是将0送 ____外部RAM地址为2410H的单元中_________ 。 21、写出下面每条指令顺序执行后,各目的存储单元的值,并说明该条指令中源操作数的寻址方式(已知内部RAM(40H)的值为30H)。 MOV R1, #40H ;_(R1)=40H,立即寻址___ CLR C ;_(Cy)=0,位寻址_______ MOV A,@R1 ;_(A)=30H,寄存器间接寻址_____ RLC A ;__(A)=60H,寄存器寻址 22、有如下程序段: MOV R0,#30H SETB C

14 / 17

CLR A ADDC A,R0 MOV ﹫R0,A

执行后(30H)= 31H

23、执行下列程序后,(A)=_40H__,(B)=__1___。 MOV A,#0AH MOV B,#20H MUL AB

24、存放于ADDR1和ADDR2中的两个无符号二进制数,求其中的大数并存于ADDR3中,请完成以下程序实现上述功能。 MOV A, ADDR1 CJNE A, ADDR2,LP1 LP1: J C LP2 MOV ADDR3, A SJMP LP3 LP2: MOV ADDR3,ADDR2 LP3: RET

25、要求在AT89C51单片机P1.2引脚输出周期为100μs的方波。设fosc=12MHz。使用T0,采用中断控制写出在方式1下的设计程序

26、设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H)=76H,下列程序执行后,结果如何? CLR C MOV R2,#3H LOOP: MOV A,@R0 ADDC A,@R1 MOV @R0, A INC R0 INC R1 DJNZ R2, LOOP JNC NEXT

15 / 17

MUL AB

MOV B,#20H

MOV A,#0AH

MOV R0,#LIST

SJMP $

SJMP $

NEXT:DEC R0

MOV @R0, #01H

27、执行下列程序后,(A)=_40H(B)=_01H

Cy= 1 , A= 17H , R0= 23H , R1= 28H

答:(20)H= 20H , (21H)= 00H , (22H)= 17H,

;P2.0-595串行数据输入 P2.1-595移位时钟脉冲 P2.2-595输出锁存器控制脉冲

;========================================================================

;========================================================================

28、如下图所示,要求AT89C51单片机利用两片级联的74HC595移位寄存器,采用动态扫描显示的原理,在D1、D2两个四联装数码管上依次自左向右显示“83270061”这8个数字,请编写相应的程序。

29、内部RAM从list单元开始存放一单字节正数表,表中之数作无序排列,并以-1作结束标志。编程实现表中找出最小值。

16 / 17

MOV A,@R0 MOV MIN,A LOOP5:INC R0 MOV A,@R0

_JNB ACC.7____,LOOP3 RET

LOOP3:CJNE A,MIN,LOOP1 LOOP1:_JNC____ LOOP2 MOV MIN,A LOOP2:SJMP LOOP5

30、设两个十进制数分别在内部RAM 40H单元和50H单元开始存放(低位在前),其字节长度存放在内部30H单元中。编程实现两个十进制数求和,并把求和结果存放在40H开始的单元中。 MOV R0,#40H MOV R1,#50H MOV R2,#30H _CLR C________ LOOP:MOV A,@R0 ADDC A,@R1 __DA A_______ MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP RET

17 / 17