实验报告.docx
- 文档编号:4595301
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:10
- 大小:934.46KB
实验报告.docx
《实验报告.docx》由会员分享,可在线阅读,更多相关《实验报告.docx(10页珍藏版)》请在冰豆网上搜索。
实验报告
单片机实验报告
专业:
热能与动力工程
班级:
二
姓名:
程上方
学号:
20090390202
指导老师:
周俊杰
实验一、储存块清零
一、实验目的:
1、熟悉Keil和Proteus软件的界面和操作。
2、掌握如何在Keil和Proteus中进行代码的编辑和调试。
3、了解单片机读/写存储器的方法。
4、了解单片机编程、调试方法。
二、实验步骤:
1、开启电脑,打开Keil软件建立工程和ASM文件,并在ASM文件中写入待调试的代码。
2、对代码进行编译、调试并生成16进制Hex文件。
3、打开Proteus软件,绘制电路图,为电路添加控制代码。
4、在Proteus中对代码进行调试。
在暂停情况下调出三个监测窗口,观察其中的数据。
更改ASM文件中的代码后,再次观察监测窗口中值的变化情况。
三、程序流程
4、源程序
ORG00H
STARTEQU30H
MOVR1,#START
MOVR0,#32
MOVA,#0FFH
LOOP:
MOV@R1,A
INCR1
DJNZR0,LOOP
SJMP5
END
5、程序调试
1、在Kei中调试程序。
在KeiluVision3,在菜单栏中选择“Project”—“Newproject”,弹出“CreatNewProject”对话窗口,选择目标路径,在“文件名”栏中输入项目名后。
单击“保存”按钮,弹出“SelectDeviceforTarget”对话窗口如图二。
在此对话窗口的“Database”栏中,单击“Atmel”,在其子类中选择“AT89C51”,确定CPU类型。
图二
在KeiluVision3的菜单栏中选择“File”-“New”命令,新建文档,然后在菜单栏中选择“File”-“save”对话窗口,在“文件名”一栏中,为此文本命名,注意要填写扩展名“.asm”如图三。
图三
单击“保存”按钮,这样在编写汇编代码时,Keil会自动识别汇编语言的关键字,并以不同的颜色显示,以减少在输入代码时出现的语法错误。
程序编写完后,再次保存。
在Keil中“ProjectWorkpace”子窗口中,单击“Target1”前的“+”号,展开此目录。
在“SourceGroup1”文件夹上单击鼠标右键,在右键菜单中选择“AddFiletoGroup'GroupSource1'”,弹出“addfiletogroup”对话窗口,在此对话窗口的“文件类型”栏中,选择“AsmSourceFile”并找到刚才编写的.asm文件,双击此文件,将其添加到SourceGroup中,此时的“ProjectWorkspace”子窗口如图四所示
图四
在“ProjectWorkpace”窗口中的“Target1”文件夹上单击鼠标右键,在弹出的右键菜单中选择“OptionforTarget”选项,这时会弹出“OptionsforTarget”对话窗口,在此对话窗口中选择“Output”选项,选中“CreateHEXFile”选项。
如图五
图五
在Keil的菜单栏中选择“Project”-“BuildTarget”命令,编译汇编源文件。
如果编译成功,则在Keil的“OutputWindow”子窗口中会显示如图六所示的信息;如果编译不成功,双击“OutputWindow”窗口中的错误信息,则会在编辑窗口中指示错误的语句。
图六
在Keil的菜单栏中,选择“Debug”-"Start/StopDebugSession"选项,进入程序调试环境。
按“F11”键,单步运行程序。
在“ProjectWorkspace”窗口中,可以看到每执行一条语句后的储存空间变化。
在“Address”栏中,输入“D:
30H”,查看AT89C51的片内直接寻址空间,并单步运行程序。
可以看到,随着程序的顺序执行,从30H到4FH这32个存储单元依次被置1.如图八
图八
程序调试完毕后,再次在菜单栏中选择“Debug”-"Start/StopDebugSession"选项,退出调试环境。
2、在Proteus中调试程序
打开ProteusISIS编辑环境,如图九所示。
添加器件AT89C51,注意Proteus中添加的CPU一定要与Keil中选择的cpu相同,否则无法执行执行Keil生成的.HEX文件。
按图十所示连接晶振和复位电路,晶振频率为12MHz。
图九
图十
连接好后如图十一选中AT89C51并单击鼠标左键,打开“EditComponent”对话窗口,在此窗口中的“PprogramFile”栏中,选择先前用Keil生成的.HEX文件,如图十三所示
图十一
图十三
做好电路图如图十四
图十四
在ProteusISIS界面左下角的
按钮,进入程序调试状态,并在“Debug”菜单中打开“8051CPURegisters”、“8051CPUInternal(IDATA)Memory”及“85CPUSFRMemory”三个观测窗口,按“F11”键,单步运行程序。
在程序运行过程中,可以在这三个窗口中看到各寄存器及存储单元的动态变化。
程序运行结束后,“8051CPURegisters”和“8051CPUInternal(IDATA)”的状态如图十五所示。
图十五
程序调试成功后,将源程序的第五行语句改为
MOVA,#00H
编译后重新运行,即可实现存储块清零功能。
6、实验总结
此次实验,学会了怎样安装Keil和Proteus软件,并初步学会怎样用汇编语言编程,Keill软件和Proteus软件对所编写程序进行调试。
直观的了解到了单片机在运行过程中各寄存器及存储单元的动态变化。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)