单片机复习题2012

发布时间 : 星期六 文章单片机复习题2012更新完毕开始阅读

3、访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。 答:访问外部数据存储器可以用以下指令实现:

MOVX A, @Ri ;((Ri))→A,寄存器Ri指向的片外RAM地址中的内容送到累加器A中 MOVX @Ri, A ;A→((Ri)),累加器中内容送到寄存器Ri指向的片外RAM地址中 MOVX A, @DPTR ;((DPTR))→A,数据指针指向的片外RAM地址中的内容送到累加器A中 MOVX @DPTR, A ;A→((DPTR)),累加器中内容送到数据指针指向的片外RAM地址中

访问程序存储器可以用以下指令实现:

MOVC A, @A+DPTR ;((A+DPTR))→A,表格地址单元中的内容送到累加器A中 MOVC A, @A+PC ;PC+1→PC,((A+PC))→A,表格地址单元中的内容送到累加器A中

4、试用下列3种寻址方式编程,将立即数0FH送入内部RAM的30H单元中。 (1) 立即寻址方式;(2) 寄存器寻址方式;(3) 寄存器间接寻址方式 答:(1)立即寻址方式: MOV 30H, #0FH

(2)寄存器寻址方式: MOV R5, #0FH

MOV 30H, R5

(3)寄存器间接寻址方式:MOV @R1, #0FH

MOV 30H, @R1

5、SJMP指令和AJMP指令都是字节转移指令,它们有什么区别?各自的转移范围是多少?能否

用AJMP指令代替程序中的所有SJMP指令?为什么? 答:AJMP和SJMP的区别有: (1) 跳转范围不同。

AJMP addr1 ;短跳转范围:2KB SJMP rel ;相对跳转范围:-128~+127 (2) 指令长度不同。

(3) 指令构成不同。AJMP、LJMP后跟的是绝对地址,而SJMP后跟的是相对地址。 不能用AJMP指令代替程序中的SJMP指令,因为如果改变的话,程序跳转到的新PC值指向的地址会不同,导致程序出现错误。

6、加法和减法指令影响哪些标志位?怎么影响的?

答:在带进位的加法运算中,会影响进位位Cy,最终要将A中的值和其后面的值以及进位位

5

Cy中的值相加,最终结果存在A。

在带进位减法指令中,要将累加器A的内容与第二操作数及进位标志相减,结果送回到累加器A中。在执行减法过程中,如果位7(D7)有借位,则进位标志Cy置“1”,否则清“0”;如果位3(D3)有借位,则辅助进位标志AC置“1”,否则清“0”;如位6有借位而位7没有借位,或位7有借位而位6没有借位,则溢出标志OV置“1”,否则清“0”。若要进行不带借位的减法操作,则必须先将Cy清“0”。

7、写出实现下列要求的指令或程序片段。

(1) 将R0的内容传送到R1;

(2) 内部RAM的20H单元内容传送到寄存器R1;

(3) 内部RAM的20H单元的D7和D3位清零,其它位保持不变; (4) 外部RAM的1000H单元内容传送到内部RAM的60H单元中; (5) 外部RAM的1000H单元内容传送到寄存器R2; (6) 清除累加器高4位。 答:(1)MOV A, R0

MOV R1, A (2)MOV R1, 20H

(3)MOV A, 20H

ANL A, #77H (4)MOV DPTR, #1000H

MOVX A, @DPTR MOV 60H, A (5)MOV DPTR, #1000H

MOVX A, @DPTR MOV R2, A (6)ANL A, #0FH

8、试编写一段程序,将内部数据存储器30H、3lH单元内容传送到外部数据存储器1000H、1001H

单元中。 答: MOV A, 30H

MOV DPTR, #1000H

6

MOV @DPTR, A MOV A, 31H MOV DPTR, #1000H MOV @DPTR, A

9、试编写一段程序,将外部数据存储器40H单元中的内容传送到0l00H单元中。 答: MOV DPTR, #0040H

MOVX A, @DPTR MOV DPTR, #0100H MOVX @DPTR ,A

10、试编写—段程序,将R3中的数乘4(用移位指令)。 答: MOV A, R3

MOV 23H, #02H L0: DJNZ 23H, L1 L1: RL A

SJMP L0

11、试编写—段程序,将P1口的高5位置位,低3位不变。 答: MOV A, P1

ORL A, #F8H MOV P1, A

12、熟悉常用指令

第4章 MCS-51汇编语言程序设计

1、MCS-51系列单片机汇编语言进行程序设计的步骤如何? (了解)

答:单片机汇编语言进行程序设计的步骤:(1)分析题意,明确要求;(2)确定算法;(3)画

程序流程图,用图解来描述和说明解题步骤;(4)分配内存工作单元,确定程序与数据区的存放地址;(5)编写源程序;(6)程序优化;(7)上机调试、修改和最后确定源程序。

7

2、常用的程序结构有哪几种?特点如何?

答:常用的程序结构有顺序、分支、循环、查表及子程序结构;特点是程序的结构清晰、易

于读写和验证、可靠性高。

3、子程序调用时,参数的传递方法有哪几种?

答:传递方法有传递数据、传送地址和通过堆栈传递参数。

4、编写程序,将片内30H~39H单元中的内容送到以2000H为首的外部存储器。 答: ORG 0000H START: MOV R0, #30H

MOV DPTR, #2000H MOV R1, #10 CLR A

LOOP: MOV A, @R0

MOVX @DPTR, A DJNZ R1, LOOP END

5、简单问题的程序实现

第6章 MCS-51单片机中断系统

1、简述中断、中断源、中断嵌套及中断优先级的含义。

答:所谓中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因而必

须终止原程序的执行,转去完成相应的处理程序,待处理结束之后再返回继续执行被终止原程序的过程。

中断源指向CPU提出中断申请的设备,包括中断请求信号的产生及该信号怎样被CPU有效地识别,要求中断请求信号产生一次,只能被CPU接收处理一次,即不能一次中断申请被CPU多次响应。

中断嵌套是CPU正在执行低优先级中断的服务程序时,可被高优先级中断请求所中断,去执行高优先级中断服务程序,待高优先级中断处理完毕后,再返回低优先级中断的服务

8

联系合同范文客服:xxxxx#qq.com(#替换为@)