- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
----------专业最好文档,专业为你服务,急你所急,供你所需-------------
文档下载最佳的地方
----------专业最好文档,专业为你服务,急你所急,供你所需-------------
文档下载最佳的地方
《单片机原理实验》报告模板
数理信息学院物电系
实验一、keil编译器的使用
一、实验目的
1、掌握keil编译器的应用。
Keil编译器的使用可参考《keil编译器的使用》文档
二、实验内容
1、熟悉keil编译器的安装,设置。
2、熟悉keil编译器各菜单的功能。
3、在keil编译环境下。调试一个自行编写的程序。
自行编写的代码记录如下:
实验调试过程中的问题和解决方法:
三、思考
如何建立一个用户自己的汇编程序文件,并进行编译、连接、运行,写出详细步骤。
实验二、清零、拆字、拼字程序设计
一、实验目的
1、掌握汇编语言设计和调试方法,掌握单片机对外部RAM的操作。
2、进—步掌握汇编语言设计和调试方法。
二、实验内容
1、清零:把2000H~20FFH的内容清零。
2、 拆字:把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
3、拼字:把2000H、2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成—个字节。
三、实验程序框图
清零:
拆字:
拼字:
四、实验步骤
1、按照程序流程图,编写程序。
2、调试,验证程序
清零:用连续或单步方式运行程序,检查2000H~20FFH中执行程序前后的内容变化。
拆字:用连续或单步方式运行程序,检查2000H~2002H中内容变化情况。
拼字:用单步或断点方式运行程序,检查2002H内容变化情况。
实验程序如下:
实验调试过程中的问题和解决方法:
五、思考
如要求把2000H~20FFH中的内容改成FFH,如何修改程序。
使用断点方式调试本程序。
实验三、数据区传送、数据排序程序设计
一、实验目的
1、进一步掌握单片机对RAM的数据操作。
2、熟悉51指令系统,掌握程序设计方法。
二、实验内容
1、将外部RAM中R2、R3为源地址的N个字节数据传送到R4、R5为目的地址的外部RAM区中,字节个数存放在R6、R7中。
2、编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。
三、实验程序框图
数据区传送:
数据排序:
四、实验步骤
1、按照程序流程图,编写程序。
2、调试,验证程序
数据区传送:在R2、R3中输入源地址(例如0000H),R4、R5中输入目的地址(例如2000H),R6、R7中输入字节数(例如1FFFH),运行程序,检查0000~1FFFH中内容是否和2000H~3FFFH中内容完全—致。
数据排序:把RAM空间50H~5AH中放入不等的数据,运行本实验程序后检查50H~5AH中数据是否按从小到大排列。
实验程序如下:
实验调试过程中的问题和解决方法:
五、思考
修改程序把50H~5AH中的内容从大到小排列。
实验四 无符号双字节快速乘法、查找相同数个数
一、实验目的
1、掌握乘法运算指令。
2、掌握较为复杂程序的实现方法。
二、预备知识
无符号双字节快速乘法利用单字节的乘法指令,根据下面的公式进行乘法运算的:
(R2 R3)×(R6 R7)
= ((R2)×28+(R3))×((R6)×28+(R7))
= (R2)×(R6)×216+((R2)×(R7)+(R3)×(R6))×28+(R3)*(R7)
三、实验内容
1、将(R2 R3)和(R6 R7)中双字节无符号整数相乘,积送R4 R5 R6 R7中。
2、在外部RAM的2000~200FH中查出有几个字节是零,把个数放在2100h中。
四、程序框图
无符号双字节快速乘法:
查找相同数个数:
五、实验步骤
1、按照程序流程图,编写程序。
2、调试,验证程序
无符号双字节快速乘法:在R2 R3和R6 R7中输入无符号整数,连续或单步运行本实验程序后检查R4 R5 R6 R7中内容。
查找相同数个数:在内部RAM2000~200FH的几个单元中填入零,运行本程序后检查2100H中是零的个数。
实验程序如下:
实验调试过程中的问题和解决方法:
实验五、定时器/计数器实验
一、实验目的
1、熟悉MCS-51定时/计数功能。
2、掌握初始化编程显示方法。
二、实验内容
1、把定时器0外部输入的脉冲进行计数。
2、技术结果送显示器显示。
三、实验程序框图
四、实验电路
用proteus软件仿真的电路原理图如下所示
五、实验步骤
1、按照程序流程图和实验电路原理图,编写程序。
2、调试,验证程序。
实验程序如下:
实
文档评论(0)