- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MCS-51单片机软件实验
MCS-51单片机软件实验
通过这些实验程序的调试,使学生熟悉MCS-51 的指令系统,掌握软件仿真方法;了解单片机软件设计过程;掌握汇编语言设计方法,以及怎样用软件仿真提供的调试手段来排除软件错误。
实验一 数据传送实验
1.实验目的
掌握8031 内部RAM 和外部RAM 之间的数据传送方法;掌握这两部分RAM 存贮器的特点与应用,掌握各种数据传送方法。
2.实验内容
编写并调试一个数据传送程序,①将40~4FH 数据送到数据存贮器7E00~7E0FH 中,②将数据存贮器7E00~7E0FH 中的数据送到8031 内部RAM 50~5FH 中,③将以(R2,R3)为源RAM 区首地址内的(R6,R7)个字节数据,传送到以(R4,R5)为末地址的RAM 区。
3.实验程序参考图
4.调试方法
⑴打开仿真软件中内部数据空间和外部数据空间,在40~4Fh 数据单元中分别送数,例如:1,2,3,4,…等16 个数据。
⑵单步运行(断点设在BP2,程序运行至断点),检查外部RAM(7E00~7F0FH)数据是16 个数据传送到40~4F 单元(40)~(4FH)传送到7E00~7E0FH否与40~4FH 数据一一对应。
⑶如果程序运行不能进入某一断点,则应单步、断点分段检查程序, 排除错误直至正确为止。
5.思 考
试编写将外部的数据存贮区6030~607FH 的内容写入 外部RAM 3030~307H 中。
实验二 清零程序
1.实验目的
掌握汇编语言设计和调试方法,掌握清零程序编写方法。
2.实验内容
将7000H~70FFH 的内容清零;
将30H~7FH 的内容清零;
将(R2,R3)源RAM 区首址内的(R6,R7)个单元中的内容清零。
3.实验程序框图
4.调试方法
单步运行程序到BP1,观察R0,7000H 两单元内容是否为0 , 单步运行到BP2, 看DPTR,R0 是否加1,再单步运行,看是否跳转到BP1,若是,说明第一循环没错,然后全速运行程序,观察7000H-70FF 的内容应全为零,再用单元置数方法,将7000H-70FF 的内容改为不全为0,再运行一次,若全变为零,说明程序全对, 同样,可调试后面两个程序。
5.思考
若将所有单元送06 应怎样修改,若将各单元送0-FF 程序应怎样修改。
实验三 数据转换实验
1.实验目的
掌握MCS-51 汇编语言程序设计方法,掌握数据转换方法程序编写方法。
2.实验内容
编写并调试一个二翻十程序, 其功能为将40H,50H 两单元中的二进制数转换为十进制数,并将转换结果存放在R4,R5,R6 单元中。
3.实验程序参考框图
4.调试方法
⑴断点设在BP1,程序运行至BP1,检查40H、50H 内容是否与输入值正确对应。
⑵断点设在BP2,程序运行至BP2,检查R4、R5、R6 内容是否为二进制所对应的十进制转换结果。
⑶程序连续运行,。 若有错误应改用单步或断点分段调试程序,排除软件错误,直至正确为止。
⑷改动40H、50H 中的内容。连续运行观察结果正确与否。
5.思 考
试编写一个功能和本实验类似的整数十翻二子程序。
实验四 拆字、拼字程序
1.实验目的
掌握汇编语言设计和调试方法,掌握拆字和拼字的程序编写方法。
2.实验内容
把7000H 的内容拆开,高4位送7001H 低4位,低4位送7002H 低4位,7001H、7002H 高4位清零。
把7000H、7001H 的低4位相拼后,送入7002H 。
3.实验程序框图
4.调试方法
单步运行到BP1,观察7000H 和A 单元中内容是否为68,单步运行到BP2,观察7001H单元中内容是否为6,单步运行到BP3,观察7002H 单元中内容是否为8,若是,程序对,若不是,反复修改程序直到正确为止。
同样可调试拼字程序。
5.思考
怎样将多个单元中的内容拆开。
实验五 无符号十进制数加法实验
1.实验目的
掌握MCS-51 汇编语言设计和调试方法。
2.实验内容
编写并调试一个双字节无符号十进制数加法程序, 其功能为将两个字节压缩BCD 码(即4 位十进制数)的加数和被加数写入由(R0)指出的内部RAM 中, 并将这两个数相加,结果存放于(R1)指向的内部RAM 中。
例如:被加数写入41H、40H 单元,加数写入51H、50H 单元, 运行程序结果写入52H、51H、50H 中,则加法程序功能为:
(41H)(40H)+(51H)(50H)→ 52H、51H、50H
3.实验程序参考框图
4.调试方法
⑴ 断点设在BP1,全速带断点运行程序,碰到BP1 后,检查41H、40H、51H 、50H与送入值是否对应。
⑵ 断点设在BP2,带断点(全速断点或慢速断点)运行程序,碰到BP2 后,检查十进制数加法结果52H、
文档评论(0)