欢迎来到天天文库
浏览记录
ID:51861012
大小:154.49 KB
页数:13页
时间:2020-03-17
《MCS51 单片机实验指导书.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、MCS51单片机实验指导书 实验1汇编语言简单试验---KeilC51的使用 一、实验目的熟悉KeilC51集成开发环境的使用方法,初步掌握KeilC51基本的操作和使用,能够输入、编译和仿真调试简单的程序。 二、实验内容在KeilC51集成开发环境编写程序,实现P1.0口单灯闪烁的功能(假设P1.0口所接发光二极管低电平点亮),编写程序后在KeilC51集成开发环境完成编译和仿真,实现全速运行、单步运行、并学会设置断点、查看相关寄存器等操作。 三、实验设备安装KeilC51的计算机一台。
2、四、实验步骤(参考教材第11章)1)建立一个工程项目选择芯片确定选项。 执行KeilC51软件的菜单“Project
3、NewProject?”,弹出一个名为“CreateNewProject”的对话框。 先选择一个合适的文件夹准备来存放工程文件,最后,为工程取名,并保存。 如图1-1所示,紧接着,KeilC51提示您选择CPU器件。 在这里可以选择Atmel公司的AT89S52。 图1-1KeilC51工程的建立2)编写(或加入)汇编源文件或C源文件,并添加到工程中。 执行菜单“File
4、
5、New…”,出现一个名为“Textn”(其中n表示序号)的文档。 如图1-2所示。 1执行菜单“File
6、Save”,弹出一个名为“SaveAs”的对话框。 将文件名改为你事先起好的名称,然后保存。 注意扩展名“.ASM或.c”不可省略。 单击KeilC51软件左边项目工作窗口“Target1”上的“+”,将其展开。 然后右击“SourceGroup1”文件夹,会弹出如图1.7所示的选择菜单。 单击其中的“AddFilestoGroup'SourceGroup1'”项,将源程序文件添加到
7、工程中。 然后编写如下程序源文件,并再次保存。 ORG0000HMAIN:CLRP1.0; (1)点亮LEDMOV30H,#255LCALLDELAY; (2)调用延时子程序SETBP1.0; (3)熄灭LEDMOV30H,#200LCALLDELAY; (4)调用延时子程序AJMPMAIN; (5)返回MAIN处执行DELAYMOVR7,30H; (6)延时程序D1MOVR6,#250; (7)D2DJNZR6,D2; (8)R6存放内循环次数DJNZR7,D1; (9)R7存
8、放外循环次数RET; (10)END3)设置参数单击“Option”选项,在“Output”标签页,选中“CreateHEXFile”项,然后“确定”。 其他参数的设置可参考相关教材。 4)编译源程序单击工具栏的按钮“”编译当前源程序。 编译结果会显示在输出窗口内。 如果是“0Error(s),0Warning(s).”就表示程序没有问题了(至少是在语法上不存在问题了)。 如果存在错误或警告,请仔细检查您的程序。 修改后,再编译,直到通过为止。 编译后的结果会生成HEX格式的程序文件“
9、LedFlash.hex”。 5)编译连接通过后进行软件模拟仿真。 直接点击工具栏红色的“”图标。 进入仿真状态。 执行菜单“Peripherals
10、I/O-Ports
11、Port1”,弹出P1端口的界面,如图1-3。 在位0~7中,用√表示高电平,无√表示低电平。 2图1-3仿真I/O端口点击工具栏“”图标,进行全速运行,观察P1.0口电平的变化。 点击停止运行“”,再点击单步进入“”,单步运行程序,观察观察P1.0口电平的变化。 设置/清除断点“”在程序的中设置断点,(如在CLRP1
12、.0和SETB”图标,进行全速运行,每次P1.0语句前加入断点),再多次点击工具栏“遇到断点,程序会停止运行,可观察P1.0口电平的变化。 单击工具栏的“”图标,将显示出存储器窗口,可在存储器窗口中观察某一具体位置的内容,如;30H中的内容。 6)编译连接通过后如果有硬件装置,可将程序下载到单片机中,是程序在硬件进行实际运行,观察运行结果。 五.实验思考题 (1)试写编写把片内RAM50H~59H单元清零的程序。 (2)试写编写把片内RAM50H~59H单元写入01H的程序3实验2汇编语言实
13、验----二进制到BCD转换 一、实验目的掌握简单的数值转换算法。 基本了解数值的各种表达方法。 二、实验内容将给定的一个单字节二进制数,转换成非压缩的二—十进制(BCD)码。 将给定的一个单字节二进制数,转换成压缩的二—十进制(BCD)码。 三、实验设备安装KeilC51的计算机一台。 四、参考程序框图给出要转换的二进制数将该数除以100保存百位数将余数除以10,得到十位数保存十位数余数为个位数,将其保存结束图2-1单字节二进制数转换成非压
此文档下载收益归作者所有