单片机实验指导

上传人:工**** 文档编号:460091783 上传时间:2023-09-30 格式:DOC 页数:27 大小:864.50KB
返回 下载 相关 举报
单片机实验指导_第1页
第1页 / 共27页
单片机实验指导_第2页
第2页 / 共27页
单片机实验指导_第3页
第3页 / 共27页
单片机实验指导_第4页
第4页 / 共27页
单片机实验指导_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《单片机实验指导》由会员分享,可在线阅读,更多相关《单片机实验指导(27页珍藏版)》请在金锄头文库上搜索。

1、目 录Keil软件介绍与仿真器设置1实验一、80C51汇编指令练习6实验二、80C51汇编语言程序设计9实验三、中断应用实验13实验四、定时器/计数器应用实验16实验五、A/D转换器应用实验19实验六、D/A转换器应用实验22实验七、综合技能训练(键盘、LED显示、D/A、A/D及电机等)(6课时)22实验电路图24Keil软件介绍与仿真器设置8051单片机采用CISC指令集,111条汇编指令,因单片机硬件资源远小于8086微机,所以单片机的汇编指令是汇编语言的子集,另外,结合8051单片机硬件特点扩展了一部分汇编指令,有些指令执行的功能也有区别;同样,单片机的C语言仅是ANSIC的较小子集,

2、使用时须针对单片机硬件结构,随着单片机技术几十年的发展,形成了符合单片机结构特点的C语言风格。要想高效开发实用的单片机系统,就要熟练掌握C语言编程,并至少能读懂汇编指令。单片机应用系统开发的一般过程有项目组织、编制程序、程序编译、仿真调试、编程下载等过程。项目管理针对目标器件设置开发环境参数、配备初始文件等;编译过程将C或汇编程序翻译成机器码,并连接生成可执行文件,在编译过程查找并修改程序的语法性错误;仿真是模拟程序的运行,查找程序功能性错误,验证程序执行效果,其中软件仿真是用PC机模拟程序的运行,硬件仿真是使用仿真器代替单片机接入实际电路中运行。国内常用的单片机开发软件工具有IAR、Keil

3、、WAVE等。使用Keil可以完成程序编辑、编译、连接、软硬件仿真过程。Keil自带Simulator软件仿真器,也可以安装使用Proteus仿真模拟演示系统的动画效果。Keil已安装支持四种种硬件仿真器,使用其它型号仿真器需要安装驱动文件。一. Keil界面1. 编辑界面:打开计算机,运行Keil C51 集成开发环境,观察菜单和工具栏。图1 Keil C项目和文件编辑界面File、Edit同一般软件,对单独程序文件的新建、打开、保存、各种编辑.View对各种工具栏、窗口的管理。Project项目的建立、设置、编译等工具。Windows管理各窗口的排列布局。快捷工具栏里也准备了最常用的工具,

4、鼠标停留时提示操作任务,在图中依次有文件打开、编辑、对齐、标记、查找.调试等,下一行有编译、项目设置工具。左侧是项目窗口,列举出当前项目的各种文件,也可以切换成Regs或Books区。右侧灰色区域是工作区,对程序文件的编辑。底部是OUTPUT窗口,显示编译、连接等信息。2. 调试界面:编译完成进入调试界面如图。图2 调试界面DEBUG各种调试操作,主要是运行、断点设置。Peripherals对外围模块中断、IO口、串口、定时器的观察设置。常用快捷工具如图注释:图3 调试状态快捷工具二. Keil操作过程操作方法、步骤不是唯一,可根据实际需求与个人爱好自行确定,基本过程如下:1. 建立工程:Pr

5、oject New Project. ,输入项目名、选定保存目录。2. 自动跳出Select Device for Target.指定目标器件的窗口,选择Atmel公司的AT89C51单片机。随后跳出的Copy Standard 8051 Startup.是将文件STARTUP.A51文件添加到项目中,这个文件用于在软件仿真前对RAM区清零等,建议选择“是”。3. 建立程序文件:File New.,键入程序代码,保存文件时按类型加后缀,如.ASM或.C或.H。4. 为工程添加文件:快捷的添加方法是在工程文件目录区单击选中Source Group 1 ,右键出现下拉菜单,选Add Files t

6、o Group .,找到文件所在文件夹,指定文件类型,选中文件,单击一次Add即可。添加结束后,可以用鼠标点击工程项目窗口中的“+”,展开工程项目内部的文件,从中可以看到添加进来的文件名称。5. 设置工程项目环境: Project Options for Target Target1,对,选取其中的“Debug”标签,出现如下的项目设置对话框: 图4 Keil项目设置在Device Target 标签下修改Xtal(晶振频率)值,在Debug标签下设置仿真器:Use Simulator是软件仿真,图中选择了伟福V系列仿真器,是硬件仿真。其余可选择默认。6. 编译项目:编译是综合环境设置,将程序

7、文件翻译、连接、生成目标文件或可执行文件的过程,要逐条修正出现的错误直至编译成功。Translater current file仅编译当前文件,Build target连接并生成目标文件,Rebuild all target files编译连接所有需要的文件,如果修改了程序和环境设置,在调试前一定要Rebuild all target files一次才有效。7. 调试过程:点击Start / Stop Debug Session进入和退出调试状态。调试过程中可观察到寄存器、内存、变量.随指令执行的变化情况,可单步、全速执行,可设置断点,需根据要求自行选择。在Keil运行期间,RAM区可能出现非

8、0随机数,可将如下的程序片段添加到汇编文件开始位置,编译并运行一次软件仿真即可,一旦清零后再次启动Keil仍然保持是0,片段如下:MOV R0,#200CLR AIDATALOOP: MOV R0,A DJNZ R0,IDATALOOP三. 实验注意事项1. 实验前应预习,看懂程序和电路,准备好记录数据的表格。2. 项目安排有一定连贯性,实验结束后及时完成实验报告,解决遗留问题。3. 建议在个人计算机上安装软件。4. 实验期间需要认真思考,禁止手机上网。5 建议将已经掌握的子程序写进自己的包含文件,自带U盘保存。四. 实验报告要求1符合实验报告格式要求。2明确实验目的、实验步骤清晰、实验报告内

9、容充实。3程序关键语句、结构要有注释,注释应清楚、简练。4. 实验现象描述准确,现象要结合实验原理。5. 功能性实验应画出流程图。6字迹清楚,图表数据规范。7实验报告独立完成。8完成思考题。实验一、80C51汇编指令练习一、实验目的1.熟悉Keil C51 集成开发环境的使用方法。2掌握数据传送指令的用法。3掌握算术运算指令的用法4. 掌握逻辑运算指令的用法。5掌握位操作指令的用法。6掌握控制转移指令的用法。二、实验步骤1按照Keil C51 集成开发环境的要求,建立程序,然后进行编译、调试并记录结果。2完成数据传送指令、算术运算指令、逻辑运算指令的实验。三、实验内容1.将下列汇编指令组合为汇

10、编程序,观察内部RAM数据传输指令的功能,记录各指令执行后目标RAM的数值,描述寻址方法。ORG 0000HMOV R0,#40H MOV R1,#41HMOV A, R0 MOV 30H,A MOV 20H,30H MOV A,#30H MOV R0,A MOV A,30H MOV R1,A MOV A,R0 MOV R7,A MOV DPTR,#1700H MOV 30H,R7 MOV 20H,R0 MOV 21H,#10HMOV R0,21H MOV R1,#01H SJMP $END提示:观察内存数据操作打开Memory Winds,在Address栏输入D:0030H即可观看数据存储

11、区从0030H开始的各单元数据,外部数据区用X,程序ROM区用C。 在Disassembly Windows窗可观察汇编指令的机器码和单元地址。2.外部RAM数据传输指令ORG 0000HMOV DPTR,#0A330HMOV A,#80H MOVX DPTR,A MOV A,#00H MOVX A,DPTR MOV P2,#80HMOV R0,#31H MOV R1,#32H MOVX R0,A MOV A,#30H MOVX R1,A MOVX A,R0 MOVX A,R1END3. 加法指令练习,观察记录目标寄存器及PSW内容、运算对标志位的影响。ORG 0000HMOV 40H,#0F

12、0HMOV R0,#3EHMOV A,R0ADD A,R0ADD A,40HADD A,#0A0HADDC A,R0ADDC A,40HINC A INC R0 INC R0 ADDC A,R0INC 40H INC R0ADDC A,#0B2HADD A,R0MOV DPTR,#0A30FH INC DPTR MOVX DPTR,A END4.减法指令练习,观察记录目标寄存器及PSW内容ORG 0000HMOV 30H,#37HMOV R0,#32H MOV A,30H SUBB A,R0SUBB A,30HDEC R0DEC 30H SUBB A,#0CBHDEC R0DEC A SUBB

13、 A,R0DEC R0NOPEND5.逻辑操作指令练习,解释指令并验证执行结果ORG 0000HMOV A,#35HMOV R0,#50H MOV 50H,#55HMOV 30H,#78HANL A,R0ORL A,R0CPL AANL A,#9AHORL A,30HXRL 30H,A RL A ANL 30H,#0F0H XRL A,R0 ORL A,R0XRL 30H,#0D5HANL A,R0END6.位操作指令练习,解释指令并验证执行结果ORG 0000HMOV P1,#74HMOV 20H,#31HMOV 30H,#00HCPL 05H MOV C,00H ANL C,01H SET

14、B P1.0MOV A,#33HANL C,ACC.3 ORL C,ACC.7END7控制转移指令练习,加注释并说明该程序所完成的功能。本实验用硬件仿真,在Project Options for Target.设置使用WAVE仿真器;用排线连接仿真头P1口与LED指示灯(J7)。ORG 0000HSTART: MOV A,#01HLOOP: MOV P1,AMOV R1,#10HDEL1: MOV R2,#200DEL2: MOV R3,#126DEL3: DJNZ R3,DEL3DJNZ R2,DEL2DJNZ R1,DEL1RL AAJMP LOOPEND观察实验现象,分析程序并画出流程图。四、思考题1.数据传送指令中直接寻址、间接寻址、立即数寻址有什么区别,请各举两例说明。2.内部RAM和外部RAM的地址范围各是多少?在2中各MOVX指令是对哪个单元的操作?3.总结影响C、CY、Z标志位的操作指令有哪些。4. 逻辑操作有哪些指令?可以不需要A参与的有哪些?5.怎样区别一条指令是位操作还是单元操作?实验二、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号