云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > MCS51 单片机实验指导书

MCS51 单片机实验指导书

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 8:00:01

区中的程序复制到首址为 0000H 的存储区中,然后回到待命状态0,显示\ ⑷ 输入源程序的首地址 1000,按F1键,这时将显示\┏\;

⑸ 输入源程序的末地址1015,按F2键,这时将显示\┛\; ⑹ 输入目标首地址 0000,按COMP键后,就把从首址为 1000H存储区中的程序与首址为 0000H 存储区中被复制的程序逐条指令进行比较,如果两个存储区的内容完全一样,就回到待命状态 0,显示\;如果比较后有不同点,那么就显示被复制区中出错单元的地址和该存储单元的内容。(在比较无错的情况下,可以改变被复制区某一个单元的内容,再进行比较验证。) 7. 插入和删除操作 (使用数字、ME、IS、DL和F2键)

在调试机器码程序时,可能需要在某条指令后面插入一些新的指令,或者删除一些指令,这可以分别利用IS和DL键实现,而不必重新输入整个程序。需要注意这两项操作都只有在存储器检查状态下才有效。例如要求先删除例1程序中的

MOV DPTR,#2000H MOVX @DPTR,A

两条指令(4个字节),进行查看验证后,再插入这两条指令查看验证。 ⑴ 输入第一条指令操作码地址1010H,按ME键后进入存储器检查状态,再按DL键4次,就删除了4个字节。这时查看一下SJMP $指令机器码的存储单元地址是什么?

⑵ 若要在 1010H 单元处插入以上两条指令,可以输入地址 1010H,按ME键后进入存储器检查状态,再按IS键 4 次,就可以从 1010H 单元开始插入 4 个字节的 00H,然后在相应插入单元输入机器码(90H,20H,00H,F0H)即可完成插入这两条指令的操作。

⑶ 若需要对从以下某个地址处开始的程序/数据不受插入或删除的影响,可以在插入和删除之前,先输入该限定地址,再按F2键,这时会显示“┛”提示符,然后再进行插入或删除操作,就可以不影响设置的限定地址以下的单元内容。可以据此验证一下这类操作的效果

8. 相对转移指令中的偏移量计算 (使用数字、ME、NX和FS键) 这个功能可以给实验编程中计算相对转移指令中的偏移量带来方便。方法是当输入相对转移指令的操作码后,下一个字节应该输入偏移量,这时只要先在该单元输入需要转移的目标地址的低字节,再按FS键,该单元的内容就转换成

- 13 -

需要输入的偏移量代码。接着可以继续输入下一个单元的机器码。 例如当输入例1程序中DJNZ R7,LOOP指令时,

⑴ 在 100EH 单元先输入其操作码 DFH,当按NX键后,显示地址 100F,其内容可能是随机数。

⑵ 因为需要转移的目标地址是 100DH,所以在 100FH 单元输入其低字节地址 0D,再按FS键,其内容就转换成相应的偏移量。

注意:相对转移指令的下一条指令地址与转移的目标地址之间的插值要满足8位带符号数补码的数值范围,向上转移负值最小不能超过-128(即80H),向下转移正值最大不能超过+127(即7FH)。

五、 实验报告内容

1. 请写出在实验所遇到的问题以及解决的办法,并谈一谈你的体会。 2. 请回答以下问题:

① 试述如何修改2000H存储单元中的内容?

② 在执行程序前,为什么需要向 PC 中输入所需执行程序的首地址?是否可以省去这一步骤? 为什么?

③ 在例1程序中,能否在1005H、1006H、100AH、100CH和1011H存储单元设置断点? 为什么?

- 14 -

实验二 一般程序设计(一):直线程序

一、 实验目的

1. 通过简单的直线程序的设计,熟悉寻址方式、基本指令、内部和外部数据存储器RAM以及程序存储器ROM的特点和使用方法。 2. 掌握人工汇编的方法。

3. 执行所给参考程序和自编程序,学习检查和调试程序的基本方法。

二、 实验前的准备工作

1. 认真复习指令系统以及程序设计等章节。

2. 对给出的源程序进行分析和理解,搞懂其意义;对未给出机器码的参考程序2和3进行人工汇编,并分配好存储单元的地址;根据要求编写好自编源程序,并人工汇编成机器码和分配好存储单元地址。

3. 复习上一次实验的内容,熟悉实验系统的操作方法。

三、 实验内容和步骤

分别手工输入各个给出的参考程序和自编程序的机器码(在实验前已完成人工汇编),通过该实验学会手工输入程序、检查程序和执行程序的方法。当执行结果不对时,学会如何利用设置断点和单步执行进行查错。

1. 该程序通过用不同的寻址方式和指令对片内工作寄存器、片内RAM单元、片外RAM单元和程序存储单元的访问,进一步熟悉不同存储器的特点和用法。 参考程序1:数据的传送程序

ORG 1200H

1200 74AA TRANSF: MOV A,#0AAH 1202 F9 MOV R1,A 1203 7820 MOV R0,#20H 1205 F6 MOV @R0,A 1206 04 INC A 1207 08 INC R0 1208 F6 MOV @R0,A 1209 903000 MOV DPTR,#3000H 120C 04 INC A

120D F0 MOVX @DPTR,A 120E E4 CLR A

120F 93 MOVC A,@A+DPTR 1210 7820 MOV R0,#20H 1212 F6 MOV @R0,A

- 15 -

1213 00 NOP 1214 00 NOP 1215 00 NOP 1216 80FE LOOP: SJMP LOOP

⑴ 分析该实验参考程序,预测程序执行后各个被访问过的寄存器和存储单元的值。

⑵ 将程序机器码手工输入实验系统。

⑶ 输入程序首地址,执行该程序;执行后回到系统待命状态。

⑷ 检查被访问过的寄存器和存储单元中的数值,并与原预测值核对。

━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 寄存器或存储单元地址┃

━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 预测数值 ┃

━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 执行后检查数值 ┃

━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━

2. 该程序把输入到片外RAM 3000H单元中的两位用BCD码表示的数分解成两个一位BCD码数,高半字节数和低半字节数分别存放在3001H和3002H单元中。

参考程序2:字节BCD码的分解程序

ORG 1240H 1240 SEPARATE: MOV DPTR,#3000H 12 MOVX A,@DPTR

12 MOV B,A ;数据暂存

12 SWAP A ;高、低半字节交换 12 ANL A,#0FH ;屏蔽高半字节 12 INC DPTR

12 MOVX @DPTR,A ;存放原高半字节 12 INC DPTR 12 MOV A,B

12 ANL A,#0FH ;屏蔽高半字节 12 MOVX @DPTR,A ;存放原低半字节 12 NOP 12 NOP 12 NOP

12 LOOP: SJMP LOOP

⑴ 完成人工汇编后,再把程序的机器码输入到实验系统中。

⑵ 按下表要求分别用键盘向片外RAM 3000H单元输入用BCD码表示的两位数。并分别执行该程序后作记录。

- 16 -

搜索更多关于: MCS51 单片机实验指导书 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

区中的程序复制到首址为 0000H 的存储区中,然后回到待命状态0,显示\ ⑷ 输入源程序的首地址 1000,按F1键,这时将显示\┏\; ⑸ 输入源程序的末地址1015,按F2键,这时将显示\┛\; ⑹ 输入目标首地址 0000,按COMP键后,就把从首址为 1000H存储区中的程序与首址为 0000H 存储区中被复制的程序逐条指令进行比较,如果两个存储区的内容完全一样,就回到待命状态 0,显示\;如果比较后有不同点,那么就显示被复制区中出错单元的地址和该存储单元的内容。(在比较无错的情况下,可以改变被复制区某一个单元的内容,再进行比较验证。) 7. 插入和删除操作 (使用数字、ME、IS、DL和F2键) 在调试机器码程序时,可能需要在某条指令后面插入

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com