1、单片机实验1灯的亮灭单片机实验1灯的亮灭实验报告课程名称: 单片机原理及应用 实验项目: I/O口控制编程及调试实验专业班级: 姓 名: 学 号: 实验室号: 实验组号: 实验时间: 批阅时间: 指导教师: 成 绩: 1. 实验名称I/O口控制编程及调试实验2. 实验目的1.以IAP15F2K61S2为例了解单片机的IAP的仿真调试功能2.了解P1口的使用方法。3.了解延时子程序的编写和使用。 3.实验内容3.1.IAP15F2K61S2单片机介绍(1)采用宏晶公司最新STC15系列IAP15F2K61S2 芯片。ISP/IAP,在系统可编程/在应用可编程,无需编程器,无需仿真器。可当仿真器使
2、用。(2)增强型8051 CPU,1T,单时钟/机器周期,速度比普通8051快8-12 倍,61KB 片内片内Flash 程序存储器,擦写次数10万次以上(3)片内XDATA 2KB 的SRAM,8通道10位30 万次/秒ADC,3路PWM还可当3路DAC使用。3.2. IAP的仿真调试功能片上仿真是基于单片机本身的仿真,也就是说只要一片单片机,不需要额外的开发设备,就可以实现仿真。对于单片机爱好者来说,片上仿真是最高性价比的选择,你甚至不需要修改电路,用给单片机下载HEX文件的电路就能实现仿真。各大单片机公司都已开发出不同性能的支持片上仿真的单片机。本实验以STC公司的片上仿真单片机IAP1
3、5F2K61S2为例,介绍片上仿真环境的建立和进入仿真界面的操作流程。3.3. Hex文件的生成单片机只能下载HEX文件或BIN文件,其中HEX文件是十六进制文件,BIN文件是二进制文件,这两种文件可以通过软件相互转换。在Keil界面编写好程序后,单击Project菜单,然后在下拉菜单里单击Options for Target Target 1项,或直接单击界面上的工程设置选项快捷图标,弹出下图所示画面。单击Target在Xtal (MHz) 项填入系统所用晶振频率,这里实验板所用晶振是11.0592MHz。单击Output然后选中Create HEX File项,使程序编译后产生HEX代码,
4、供下载器软件下载到单片机中。I/O口控制发光二极管循环左移(循环右移)。P1口做输出口,接只发光二极管,编写程序,使发光二极管循环点亮。(2).利用数码管1显示按键1的被按次数,按第10次时数码管显示归零,重新显示。4. 实验步骤或程序4.1. IAP15F2K61S2与PC机连接(1)安装CH430驱动,在驱动文件夹下找到CH430的驱动,双击图标安装,也可以在硬件管理器中虚拟串口中,更新驱动安装。(2)通过USB电缆连接实验板和计算机,图示如下:4.2. 新建仿真环境第一步,打开STC-ISP(V6.80)软件 第二步,选择“Keil仿真设置”页面,点击“添加MCU型号到Keil中”,在出
5、现的如下的目录选择窗口中,定位到Keil的安装目录(一般可能为“C:Keil”),“确定”后出现下图中右边所示的提示信息,表示安装成功。第三步,新程序的建立与编译仿真:在keil中建立一个新工程单击Project菜单中的New Project选项,选择工程要保存的路径,输入工程文件名,单击保存。工程建立后,此工程后缀为”.uv3”。 新建项目后,便会有“STC MCU Database”的选择项.然后从列表中选择响应的MCU型号(目前STC支持仿真的型号只有STC15F2K60S2),所以我们在此选择“STC15F2K60S2”的型号,点击“确定”完成选择.选择菜单File菜单中的New菜单项
6、,或单击图标,新建汇编文件,点击保存按钮,给出文件所要保存的位置,输入文件名,单击保存。文件保存后后缀为”.asm”。选择界面左端的”Project Workspace”中,”Target”下的”Source Group 1”文件夹,单击鼠标右键选择” Add Files to Group Source Group 1”,将”.asm”文件添加到工程中。选择菜单中的编译图标,将工程进行编译,检查程序中的错误,若有错误,将错误修改后,重新编译,直至没有错误为止。接着在”Target”上单击鼠标右键选择“options for TargetTarget1”进入到项目的设置页面,选择“Debug”设
7、置页,第2步选择右侧的硬件仿真“Use ”,第3步,在仿真驱动下拉列表中选择“STC Monitor-51 Driver”项,然后点击“Settings”按钮,进入下面的设置画面,对串口的端口号和波特率进行设置,波特率一般选择默认。到此设置便完成了。程序如下: LJMP STARTORG 0100HSTART: MOV A, #0F7HMOV R3, #4LOOP: RL A MOV P1, ALCALL DELAY DJNZ R3, LOOPAJMP STARTDELAY: MOV R1, #200 DEL1: MOV R2, #200DEL2: MOV R4, #200DEL3: DJNZ
8、 R4,DEL3DJNZ R2,DEL2DJNZ R1, DEL1RETEND5程序运行结果可以通过改变RO,R1R7的值来调节灯的亮灭利用数码管1显示按键1的被按次数,按第10次时数码管显示归零重新显示。6出现的问题及解决方法问题1:在这次实验中,我们调试出了实验结果,但是当运行的时候,准备停止运行时,按了一个stop键,调试页面却自动的关掉了。解决方法:我们重新的调试了一遍,程序能够运行,应该是界面不稳定的缘故。问题2:在调试的时候一直都在循环程序中反复的循环。解决方法:我更改了数,让程序跳出了这个循环程序,结果程序可以往下执行了。这个程序执行之后,可以更改数来使数码管和小灯的亮灭7. 心得体会及建议在这次的单片机上机实验中,我对Keil uVision 3编译软件更加了解了。学会了单步、断点、自动跟踪/单步、全速执行等各种执行方法,可以对程序进行更改,并且能够简单的编写程序,并对编写的程序进行编译与检查。建议:希望指导的详细一些。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1