单片微型计算机原理与应用期末复习题目 下载本文

1、四个标志位:

C:进位标志位,有时表示为CY在进行加法或减法运算时,如果操作结果的最高位有进位或借位时,C=1,反之C=0。

AC:半进位标志位,在进行加法或减法运算时,如果低半字节向高半字节有进位或借位时,AC=1,反之AC=0。

P:奇偶标志位,若累加器A中含1的个数是奇数,P=1(奇校验);否则P=0(偶校验)。

OV:溢出标志位,带符号数加减运算时,如果结果发生溢出,则OV标志置1;否则,置0。

2、MOS型RAM分三类:(1SRAM:静态RAM,存储单元使用双稳态触发器,状态稳定,带电信息可长期保存,不需要定时刷新,存储)DRAM:动态RAM,使用电容作存储元件,集成度高,反应快,需要刷新电路,控制信号复杂。(2)器的控制信号简单,工作速度快,集成度低,适合单片机用。(3)NVRAM:非易失性RAM,是一种掉电自保护的RAM,信息不易丢失,但容量小。

3、ROM根据其中信息的写入方式不同分:1)掩膜ROM:不可改写ROM。由生产芯片的厂家固化信息。在最后一道工序用掩膜工艺写入信息,用户只可读。2)PROM:可编程ROM。用户可进行一次编程。存储单元电路由熔丝相连,当加入写脉冲,某些存储单元熔丝熔断,信息永久写入,不可再次改写。3)EPROM:可擦除PROM。用户可以多次编程。编程加写脉冲后,某些存储单元的PN结表面形成浮动栅,实现信息写入。用紫外线照射可驱散浮动栅,原有信息全部擦除,便可再次改写。4)EEPROM:可电擦除PROM。既可全片擦除也可字节擦除,可在线擦除信息,又能失电保存信息。5)闪烁存储器,性能优于EEPROM,存取速度快,容量相当大。 4、同一优先级中,优先级排列顺序如下:

中断源 中断级别 中断入口地址

外部中断0 最高 0003H

定时器T0中断 00BH

外部中断1 0013H

定时器T1中断 001BH

串行口中断最低 0023H

5、中断请求被响应,需满足以下必要条件: (1)允许中断。(2)无同级或更高级中断正在被服务。(3)当前正处于所执行指令的最后一个机器周期。(4)正在执行的指令不是RETI指令。 6、单片机实现定时常用的三种途径:软件定时、硬件定时和可编程定时器定时。 7、MCS-51单片机内部有2个16位可编程定时器/计数器T0和T1,它们具有计数和定时两种功能以及四种工作方式(方式0、1、2、3)。使用灵活,编程方便。 8、定时器的工作方式由M1、M0两位的状态确定: M1 M0 工作方式 功能说明 0 0 1 0 1 0 方式0 方式1 方式2 13位定时器/计数器 16位定时器/计数器 具有自动重新装入常数的8位定时器/计数器 1 1 方式3 定时器T1停止计数,定时器T0分 为两个8位计数器(TL0和TH0) 9、定时器/计数器工作在定时方式,其定时时间t和计数器位数n、计数初值x及系统的晶振频率fosc有关。 10、CY=1,OV=0,A=94H。 MOV A,#56H ADD A,#74H ADD A,ACC

11、A=6EH (30H)=EEH。 MOV 30H,#0A4H MOV A,#0D6H MOV RO,#30H MOV R2,#5EH ANL A,R2 ORL A,@R0 SWAP A CPL A

XRL A,#0FEH ORL 30H,A

12、SP=42H A=30H B=30H。 MOV SP,#40H MOV A,#30H LCALL SUBR ADD A,#10H MOV B,A SJMP L1

MOV DPTR,#200AH PUSH DPL PUSH DPH RET

13、设A=83H,R0=17H,(17H)=34H, 执行一下程序后,A的内容为0CBH。 ANL A,#17H ORL 17H,A XRL A,@RO CPL A

14、2000H为首地址的100个连续单元清零。 解:MOV R2,#100 ;置循环次数

MOV DPTR,#2000H ;DPTR←数据区首地址 CLR A ;A←0

MOV @DPTR,A ;清0

INC DPTR ;修改地址指针

DJNZ R2,LOOP ;未完,转LOOP SJMP

15、片内RAM 40H-60H中的内容传到片外RAM以2100H为首地址的存储区中。

解:MOV R0,#40H ;片内数据区首地址 MOV R2,#21H ;R2←数据区长度

MOV DPTR,#2100H ;DPTR←片外数据区首地址 LOOP:MOV A,@R0 MOV @DPTR,A

INC R0 ;修改地址指针 INC DPTR

DJNZ R2,LOOP ;循环未完,继续传送 SJMP $

16、片内RAM 50H-57H求算术平均数,结果放在5AH中。 解:ORG 100H

MOV R2,#08H ;R2←数据长度 MOV R0,#50H ;R0←数据区首地址 CLR A ;A←0

LOP:ADD A,@R0 ;A←A+(R0) INC R0 ;修改地址指针

DJNZ R2,LOP ;R2-1≠0返回执行循环体 MOV B,#8 ;B←除数 DIV A,B ;计算平均值 MOV 5AH,A SJMP $ 17、片外RAM从1000H单元开始存有100个单字节无符号数,找最大值存入1100H单元中。

解:ORG 1000H

START:MOV B,#0 ;B存最大值

MOV R7,#100 ;R7←数据表首长度

MOV DPTR,#1000H ;DPTR←数据表首地址 LOOP:CLR C ;CY←0,为’SUBB A,B’作准备 MOVX A,@DPTR ;取数 SUBB A,B ;比较数值大小 JNC RES ;若A≥B,转RES MOV A,B ;A<B,取原数 SJMP NEXT

RES:ADD A,B ;因A≥(DPTR);恢复A原来数值 NEXT:INC DPTR ;数据表地址指针+1 MOV B,A

DJNZ R7,LOOP ;未比较完,循环 MOV DPTR,#1100H ;存入最大数 MOVX @DPTR,A SJMP $ END

18、设SP=60H,内部RAM的(30H)=24H,(31H)=10H,在下列程序注释中填写执行结果。

PUSH 30H ;SP=61H,(SP)=24H PUSH 31H ;SP=62H,(SP)=10H POP DPL ;SP=61H,DPL=10H

POP DPH ;SP=60H,DPH=24H MOV A,#00H MOVX @DPTR,A

19、试写出下列指令的源操作数的寻址方式。 MOV A,#80 立即寻址

MOVX A,@DPTR 寄存器间接寻址 CLR C 位的寄存器寻址 MOVC A,@A+DPTR 变址寻址 20、设R1=05H,程序如下: ORG 2060H 2060H E8 MOV A,R1 2061H 54 0F ANL A,#0FH 2063H 24 02 ADD A,#2 2065H 83 MOVC A,@A+PC 2066H F8 MOV R1,A 2067H 22 RET

2068H TAB:DB 00H,01H,

04H,09H,10H,19H

206EH DB 24H,31H,40H,51H,64H,79H END

程序执行后,R1=19H功能:查表法求R1。 21、在“”处填写机器码,并指出程序功能。 ORG 2009H

2009H 90 21 47 MOV DPTR,#2147H 200CH E0 MOVX A,@DPTR 200DH 60 07JZ LP1

200FH 20 E7 08 JB ACC.7,LP2 2012H 24 0A ADD A,#10 2014H 80 06 SJMP LP3 2016H 24 14 LP1:ADD A,#20 2018H 80 02 SJMP LP3 201AH 24 1E LP2:ADD A,#30 201CH 80 FELP3:SJMP LP3

END

功能:根据指令助记符找机器码。

22、设R2=26H,R1=8FH,程序如下: CLR C MOV A,R2 RRC A MOV R2,A MOV A,R1 RRC A MOV R1,A SJMP $

结果R2=13H,R1=47H,Cy=1;程序功能:2字节16进制数除以2。

23、(1)BUF=100H;WORK=1050H;TAB=1052H。 (2)(1050H)~(1056H)各单元中的内容如何? ORG 1050H BUF EQU 100H WORK DS 2

TAB: DB 45,-3,‘E’ DW 4567H END

24、设(20H)=05,执行后,(20H)=32H。该程序功能是将20H单元的数乘以10。

MOV R0,#20H MOV A,@R0 RL A MOV R1,A RL A RL A ADD A,R1 MOV @R0,A 25、(40H)=88H,①程序执行后(40H)的内容是多少?②指出该子程序完成的功能。

ORG 1000H START MOV A,40H JNB ACC.7,GO CPL A INC A

MOV 40H,A GO: RET 程序执行后,(40H)=78H。功能:求40H单元的数的绝对值。

26、片内RAM 30H-3FH存一组单字节无符号数,找最小值,存入40H单元中。 解:ORG 100H MIN DATA 40H

MOV MIN,#0 ;最小值MIN单元清0 MOV R2,#10H ;数据块长度 MOV R0,#30H ;数据块首地址 LOOP:MOV A,@R0 ;取数 CJNE A,MIN,NEXT1 ;比较

NEXT1 JNC NEXT ;A≥(MIN),转NEXT MOV MIN,A ;A<(MIN),小数送MIN NEXT INC R0 DJNZ R2,LOOP SJMP $