您的位置: 网站首页 > 电子与嵌入式 > 单片机原理与应用 > 第3章 MCS-51单片机指令系统 > 【3.4 上机实验——80C51程序设计实验】

3.4 上机实验——80C51程序设计实验

 

3.4  上机实验——80C51程序设计实验

1.实验目的

(1)掌握80C51汇编语言程序设计方法。

(2)掌握80C51汇编语言程序的调试方法。

2.实验内容

(1)完成二字节加法程序的设计与调试。

要求:加数首地址由R0指出,被加数和结果的存储单元首地址由R1指出,字节数由R2指出。

(2)完成二进制数转换为BCD程序的设计与调试。

要求:将A中的8位二进制数转换为BCD数,结果放在8031内部RAM的20H~21H单元中。

3.实验准备

(1)根据每个实验内容提出的要求设计相应的程序。

(2)写出实验步骤及方法。

4.思考题

8031单片机的寻址方式有哪些?

5.实验报告要求

(1)整理好执行正确的程序和数据。

(2)回答思考题。

3.5  练  习  题

(1)MCS-51单片机的指令系统有何特点?

(2)MCS-51单片机指令系统按功能可分为几类?具有几种寻址方式?它们的寻址范围如何?

(3)访问特殊功能寄存器和外部数据存储器应采用哪种寻址方式?

(4)“DA A”指令的作用是什么?怎样使用?

(5)片内RAM 20H~2FH单元中的128个位地址与直接地址00H~7FH形式完全相同,如何在指令中区分出位寻址操作和直接寻址操作?

(6)MCS-51单片机指令系统中有长跳转LJMP指令、长调用LCALL指令,为何还设置了绝对跳转AJMP指令、绝对调用ACALL指令?在实际使用时应怎样考虑?

(7)SJMP、AJMP和LJMP指令在功能上有何不同?

(8)MOVC A,@DPTR与MOVX A,@DPTR指令有何不同?

(9)在“MOVC A,@A+DPTR”和“MOVC A,@A+PC”中,分别使用了DPTR和PC作基址,请问这两个基址代表什么地址?使用中有何不同?

(10)设片内RAM中的(40H)=50H,写出执行下列程序段后寄存器A和R0,以及片内RAM中50H和51H单元的内容为何值?

MOV  A,40H

MOV  R0,A

MOV  A,#00

MOV  @R0,A

MOV  A,#30H

MOV  51H,A

MOV  52H,#70H

(11)设堆栈指针(SP)=60H,片内RAM中的(30H)=24H,(31H)=10H。执行下列程序段后,61H、62H、30H、31H、DPTR及SP中的内容将有何变化?

(12)在MCS-51的片内RAM中,已知(20H)=30H,(30H)=40H,(40H)=50H,(50H)=55H。分析下面各条指令,说明源操作数的寻址方式,分析按顺序执行各条指令后的结果。

MOV  A,40H

MOV  R0,A

MOV  P1,#80H

MOV  @R0,20H

MOV  50H,R0

MOV  A,@R0

MOV  P2,P1

(13)完成以下数据传送过程。

① R1的内容传送到R0。

② 片外RAM 20H单元的内容送R0。

③ 片外RAM 20H单元的内容送片内RAM 20H。

④ 片外RAM 1000H单元的内容送片内RAM 20H。

⑤ ROM 2000H单元的内容送R0。

⑥ ROM 2000H单元的内容送片内RAM 20H单元。

⑦ ROM 2000H单元的内容送片外RAM 20H单元。