单片机期末复习题目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、四个标志位:
C:进位标志位,有时表示为C Y在进行加法或减法运算时,如果操作结果的最高位有进位或借位时,C=1,反之C=0。
AC:半进位标志位,在进行加法或减法运算时,如果低半字节向高半字节有进位或借位时,AC=1,反之AC=0。
P:奇偶标志位,若累加器A中含1的个数是奇数,P=1(奇校验);否则P=0(偶校验)。
OV:溢出标志位,带符号数加减运算时,如果结果发生溢出,则OV标志置1;否则,置0。2、MOS型RAM分三类:(1)DRAM:动态RAM,使用电容作存储元件,集成度高,反应快,需要刷新电路,控制信号复杂。(2)SRAM:静态RAM,存储单元使用双稳态触发器,状态稳定,带电信息可长期保存,不需要定时刷新,存储器的控制信号简单,工作速度快,集成度低,适合单片机用。(3)NVRAM:非易失性RAM,是一种掉电自保护的RAM,信息不易丢失,但容量小。
3、ROM根据其中信息的写入方式不同分:1)掩膜ROM:不可改写ROM。由生产芯片的厂家固化信息。在最后一道工序用掩膜工艺写入信息,用户只可读。2)PROM:可编程ROM。用户可进行一次编程。存储单元电路由熔丝相连,当加入写脉冲,某些存储单元熔丝熔断,信息永久写入,不可再次改写。3)EPROM:可擦除PROM。用户可以多次编程。编程加写脉冲后,某些存储单元的PN结表面形成浮动栅,实现信息写入。用紫外线照射可驱散浮动栅,原有信息全部擦除,便可再次改写。4)EEPROM:可电擦除PROM。既可全片擦除也可字节擦除,可在线擦除信息,又能失电保存信息。5)闪烁存储器,性能优于EEPROM,存取速度快,容量相当大。
4、同一优先级中,优先级排列顺序如下:
5、中断请求被响应,需满足以下必要条件:(1)允许中断。(2)无同级或更高级中断正在被服务。(3)当前正处于所执行指令的最后一个机器周期。(4)正在执行的指令不是RETI 指令。
6、单片机实现定时常用的三种途径:软件定时、硬件定时和可编程定时器定时。
7、MCS-51单片机内部有2个16位可编程定时器/计数器T0和T1,它们具有计数和定时两种功能以及四种工作方式(方式0、1、2、3)。使用灵活,编程方便。
8、定时器的工作方式由M1、M0两位的状态
间t和计数器位数n、计数初值x及系统的晶振频率f osc有关。
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 ;C Y←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
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 $