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

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

MCS51 单片机实验指导书

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 7:53:23

━━━━━━━━━┳━━━━━━━━━━━━━┯━━━━━━━━━━━━

3000H单元输入值 ┃ 12 54 83 97 60 │ ━━━━━━━━━╋━━━━━━━━━━━━━┿━━━━━━━━━━━━ 3001H单元输出值 ┃ │ ━━━━━━━━━╋━━━━━━━━━━━━━┿━━━━━━━━━━━━ 3002H单元输出值 ┃ │ ━━━━━━━━━┻━━━━━━━━━━━━━┷━━━━━━━━━━━━

⑶ 该程序是否能完成两位十六进制数的分解? 输入数据,执行程序,记录结果。

3. 把需要转换成 BCD 码的 8 位二进制数存放在片外 RAM 3000H 单元中,转换后的BCD 码从高位到低位分别存放在 R6 和 R5 中。 参考程序3: 单字节二进制数转换成用 BCD 码表示的数。 ORG 1260H 1260 BTOBCD: MOV DPTR,#3000H 12 MOVX A,@DPTR

12 MOV B,#100

12 DIV AB ;除100

12 MOV R6,A ;存放百位数 12 MOV A,#10

12 XCH A,B 12 DIV AB ;余数除10,A中为十位数 12 SWAP A ;把十位数移到高4位 12 ADD A,B ;把B中的个位数放低4位 12 MOV R5,A ;存放十位数和个位数 12 NOP 12 NOP 12 NOP

12 LOOP: SJMP LOOP

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

⑵ 按下表要求分别用键盘向片外RAM 3000H单元输入用 8 位二进制数,分别执行该程序后作记录。 ━━━━━━━━━┳━━━━━━━━━━━━━━ 3000H单元输入值 ┃ 7FH FFH 64H 80H 40H ━━━━━━━━━╋━━━━━━━━━━━━━━ R6输出值 ┃ ━━━━━━━━━╋━━━━━━━━━━━━━━ R5输出值 ┃ ━━━━━━━━━┻━━━━━━━━━━━━━━

4. 自编程序: 请自编一个两字节无符号数加法程序。 要求:被加数存放在片内 RAM 的 60H、61H 单元中,加数存放在 62H 和 63H 单元中,计算结果存放在 62H、63H 和 64H 单元中。

⑴ 按要求编写好源程序,并完成人工汇编和分配好存储单元地址:

- 17 -

ORG 1280H

1280 SUM:

END

⑵ 手工输入该程序的机器码,在输入后还需仔细地检查,确认输入无误。 ⑶ 用键盘在指定单元输入不同的被加数和加数;分别执行程序并记录执行结果。

━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━ 被加数(61H和60H) ┃ 00A8H 5623H FD4AH 86E5H ━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━ 加数(63H和62H) ┃ 007BH 432DH E30FH 7F80H ━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━ 和(64H,63H和62H) ┃ ━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━

四、 实验报告内容

1. 在实验指导教师验核实验结果数据记录并认可后,才能算完成实验。 2. 附上自编程序的源程序和目标程序的清单。

3. 谈一谈在实验过程中所遇到的问题和解决办法以及心得体会。

- 18 -

实验三 一般程序设计(二):分支程序

一、 实验目的

1. 通过分支程序的设计,学会合理使用分支的条件。

2. 掌握多分支程序的编写方法;通过多分支程序的设计,了解键盘功能程序的实现原理。

3. 学会相对转移指令中偏移量的计算方法。 3. 学会绝对转移指令指令代码形成的方法。

4. 掌握程序调试的手段和基本方法。

二、 实验前的准备工作 1. 读懂给出的程序。

2. 补充未完成的代真机器码。

3. 根据要求修改给出的程序,并完成机器码代真。

三、 相对转移指令中偏移量的计算方法

在 MCS-51 指令系统的相对转移指令的操作码后面,紧跟一个字节的偏移量,它用 8 位带符号数的对 2 的补码来表示,其范围是(80H~7FH),即十进制的(-128~+127)。

若现行PC中是该相对转移指令操作码的地址,而希望转移的目标地址为D,因为实际上只有在该相对转移指令执行后,才能获得指令中给出的偏移量,所以这时PC中存放的是该相对转移指令下一条指令操作码存放单元的地址,即在原PC存放地址的基础上加上该相对转移指令的字节数2或3。若以2字节指令为例,则 D = [(PC)+2] + 偏移量 所以 偏移量=D - [(PC)+ 2]

- 19 -

例如

┃ ┃

┣━━━━━━━┫ (PC)=224CH, D=2230H ┏━→ 2230H┃ × × ┃

┃ ┣━━━━━━━┫ 偏移量= 2230H - (224CH + 2) ┃ ┃ × × ┃ = E2H ┃ ┣━━━━━━━┫

┃ ┃ · ┃ 当偏移量大于等于 80H 时,表示转移方 ┃ ┃ · ┃ 向为负向转移,即向上转移(向小地址方向 ┃ ┃ · ┃ 转移)。 ┃ ┣━━━━━━━┫ ┗━━ 224CH┃转移指令操作码┃ ┣━━━━━━━┫ ┃ 偏 移 量 ┃ ┣━━━━━━━┫

┣━━━━━━━┫ (PC)=224CH, D=2258H ┏━━ 224CH ┃转移指令操作码┃ ┃ ┣━━━━━━━┫ 偏移量= 2258H - (224CH + 2) ┃ ┃ 偏 移 量 ┃ = 0AH ┃ ┣━━━━━━━┫ ┃ ┃ · ┃ 当偏移量小于等于 7FH 时,表示转移方 ┃ ┃ · ┃ 向为正向转移,即向下转移(向大地址方向 ┃ ┃ · ┃ 转移)。 ┃ ┣━━━━━━━┫ ┗━→ 2258H ┃ × × ┃ ┣━━━━━━━┫ ┃ × × ┃ ┣━━━━━━━┫

四、 实验内容和步骤 1. 简单分支程序 要求:自编一个简单分支程序,在片内 RAM 的两个存储单元 60H 和 61H中存放两个无符号数,将其中的一个大数存放到 62H 存储单元。

⑴ 按要求编写好源程序,并完成人工汇编和分配好存储单元地址: ORG 2300H ONE EQU 60H TWO EQU 61H MAX EQU 62H

2300

END

⑵ 手工输入该程序的机器码,在输入后还需仔细地检查,确认输入无误。 ⑶ 用键盘在指定单元分别输入 2 个不等的无符号数,执行程序并记录执行结果。

- 20 -

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

共分享92篇相关文档

文档简介:

━━━━━━━━━┳━━━━━━━━━━━━━┯━━━━━━━━━━━━ 3000H单元输入值 ┃ 12 54 83 97 60 │ ━━━━━━━━━╋━━━━━━━━━━━━━┿━━━━━━━━━━━━ 3001H单元输出值 ┃ │ ━━━━━━━━━╋━━━━━━━━━━━━━┿━━━━━━━━━━━━ 3002H单元输出值 ┃ │ ━━━━━━━━━┻━━━━━━━━━━━━━┷━━━━━━━━━━━━ ⑶ 该程序

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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