单片机期末复习题目

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 $

相关文档
最新文档