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