实验一:闪烁灯电路的软件仿真和硬件仿真

上传人:gb****c 文档编号:243360294 上传时间:2024-09-21 格式:PPT 页数:66 大小:916KB
返回 下载 相关 举报
实验一:闪烁灯电路的软件仿真和硬件仿真_第1页
第1页 / 共66页
实验一:闪烁灯电路的软件仿真和硬件仿真_第2页
第2页 / 共66页
实验一:闪烁灯电路的软件仿真和硬件仿真_第3页
第3页 / 共66页
点击查看更多>>
资源描述
现代集成电路应用综合设计,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,一、实验一内容,1,、利用,Keil C51,软件进行闪烁灯电路,的软件仿真实验。,2,、利用周立功单片机实验仿真仪进行,闪烁灯电路的硬件仿真。,二、闪烁灯电路原理图,三、软件仿真实验步骤,Keil C51,集成开发环境的安装及使用,1,、,Keil C51,的安装,1.1,系统要求,安装,Keil C51,集成开发软件,必须满足最小的,硬件和软件要求,才能确保编译器以及其它程,序功能正常,至少应具有:,(,1,),Pentium II,或兼容处理器的,PC,;,(,2,),Windows95,、,Windows98,、,Windows NT4.0,;,(,3,)至少,16MB RAM,(,4,)至少,20MB,硬盘空间,1.2,软件的安装,以,keil C51,完全破解版,7.06,为例,(,1,)双击,Setup.exe,安装文件,出现如图所示的安装初始化画面。,(,2,)稍后弹出一个安装向导对话框,询问用户是否安装、修复更新或是卸载软件,若是第一次安装该软件应选择第一项,“,Install Support for Additional”,。,(,3,)单击“,Next”,命令按钮,这时会出现下图所示的安装询问对话框,提示用户是安装完全版还是评估版,评估版只支持,2K,的程序代码的仿真调试。既然是破解软件,当然应该选择完全版,可支持,64K,程序代码的仿真调试。,(,4,)在此后弹出几个确认对话框中选择“,NEXT”,,这时会出现下图所示的安装路径设置对话框,默认路径是,C:KEIL,。,(,5,)接下来出现输入序列号的对话框。按照,提示输入如下图所示序列号及相关文字。,(,6,)一路按下“,NEXT”,,可出现如下图所示的安装进度指示画面。,接下来就是等待安装,安装完毕后单击“,Finish”,加以确,认,此时在桌面上看到,Keil uVision2,软件的快捷图标,,双击即可进入,Keil C51,集成开发环境。,2,、使用集成开发环境进行程序的软件仿真,2.1,创建灯闪烁电路的,Keil C51,应用程序,基本步骤:,新建一个工程项目文件,为工程选择目标器件(例如选择,PHILIPS,的,P89C52X2,),为工程项目设置软硬件仿真调试环境,创建源程序文件并输入程序代码,保存创建的源程序项目文件,把源程序文件添加到项目中,(,1,)双击桌面的,Keil C51,快捷图标,进入下图所示的,Keil C51,集成开发环境。如果不是第一次使用软件,,uVision,会打开打开用户前一次正确处理的工程,可以点击工具栏的,Project,选项中的,“,Close Project”,命令关闭该工程。,(,2,)点击工具栏的,Project,选项,弹出如下图所示的下拉菜单。,选择“,New Project”,命令,建立一个新的,uVision2,工,程,可看到下图所示的项目文件保存对话框。,上图所示的对话窗口,需要完成下列事情:,为你的工程取一个名称,工程名应便于记忆且文件名不宜太长,选择工程存放的路径,最好为每个工程单独建立一个目录,并且工程中需要的所有文件都放在这个目录下,选择桌面上的工程目录“,led_light”,后,点击“保存”返回,(,3,)工程建立完毕,会立即弹出如下图所示的器件选择窗口。器件选择的目的是告诉,uVision2,最终使用的,80C51,芯片的型号是哪一个公司的哪一个型号,因为不同型号的,51,芯片内部的资源是不同的,,uVision2,可以根据选择进行,SFR,的预定义,在软硬件仿真中提供易于操作的外设浮动窗口等。,在实验室里面使用的实验仪单片机芯片都是,PHILIPS,公司的,P87C52X2,系列或,P89C52X2,系列,故软硬件,仿真都选用这两种型号,其实都是,MCS-51,的内核。,器件选择完毕,按“确定”后出现如下图所示,的对话框,提示是否将标准,8051,的初始化文,件加入到工程中,如果源程序文件是用,C,语言,编写的,点“是”,若是汇编语言程序,则点,“否”。此时便建立了一个空白的工程项目文件,,并为工程项目选好了目标器件。,如果在选择完目标器件后想重新改变,目标器件,可点击工具栏“,Profect”,选,项,在弹出的如下图所示的下拉菜单,中选择“,Select Device for Target,Target 1 ”,命令,也将出现上图所示,的对话窗口后重新加以选择。,(,4,)下面进行软件仿真环境的设置。点击,ProjectOptions for TargetTarget 1,,如下图所示。,弹出如下图所示窗口:,点击,Output,选项卡在出现的窗口中选中,Create Hex File,选项,在编译时系统会自动生成目标代码文件*,.hex,,如下图所示。,选择“,Debug”,选项会出现下图所示的工作模式,选择窗口,选中“,use simulator”,,即将,uVision2,调试器设置成软件模拟仿真模式。,默认状态下选中,Use Simulator,选项,在此模式,下不需要实际的,目标硬件就可以,模拟微控制器的,很多功能,在准,备硬件之前就可,以测试应用程序。,(,5,)到现在用户已经建立了一个空白的,工程项目文件,并为工程选择好了目标,器件,但是这个工程里没有任何程序文件,。程序文件的添加必须人工进行,但如果,程序文件在添加前还没有建立,用户还必,须建立它。点击菜单,出现下图,所示文件窗口,Text1,。,点击,出现下图所示对话框,将该,文件保存在工程项目所在的文件夹内,并给,文件取名为,led_light.asm,,点击“保存”按钮,,即创建了一个汇编语言源程序文件,保存后,的文件在输入汇编语言源程序后,关键字会自,动变成蓝颜色。,(,6,)在此源程序编辑窗口输入源代码,在,uVision2,中,文件的编辑方式同其它文本编辑器是一样的,用户可以执行输入、删除、选择、拷贝、粘贴等基本文字处理命令,当然你也可以使用其它编辑工具来编写源程序,然后拷贝到,uVision2,源程序编辑窗口。下图是灯闪烁程序的汇编语言源程序。,(,7,)输入完毕后再次点击保存文件。,此时,这个程序文件仅仅是建立了而已,还未,跟,led_light.uV2,工程建立起任何关系。此时同,学们应该把,led_light.asm,源程序添加到工程,中,构成一个完整的工程项目,方法是在,“,Project Windows”,窗口内,选中“,Source,Group1”,后点击鼠标右键,在弹出的快捷菜单,中选择“,Add files to Group “Source Group1”,命令,出现下图所示的添加源程序文件窗口。,在上图窗口中选择刚才创建的源程序文件,Led_light.asm,,单击,ADD,命令即可把源,程序文件添加到项目中。由于添加源程序,文件窗口中的默认文件类型是,C,语言文件,,故应先改变搜索文件类型为“,ASM Source,File(*.a”;*.src),。至此程序的创建告一段落。,2.2,程序文件的编译、连接及软件仿真、调试,(,1,)点击,ProjectBuild Target,命令对源程序文件进行编译,当然也可以选择,ProjectRebuild All Target Files,命令对所有的工程文件进行重新编译,如下图所示。,此时会在“,Output Windows”,信息输出窗口输出,一些相关信息。,其中第,2,行,assembling led_light.asm,表示此时正在,编译,led_light.asm,源程序,第,3,行,linking,表示此时,正在连接工程项目文件,第,5,行,Creating hex,led_light,说明已生成目标文件,led_light.hex,,最后,一行说明,led_light.uV2,项目在编译过程中不存在错误,和警告,编译连接成功。若在编译过程中出现错误,,系统会给出错误所在的行和该错误提示信息,以便更正,。,(,2,)点击,DebugStart/stop Debug Session,菜单,命令,工程项目进入到软件仿真的调试界面。,调试界面如下图所示:,在仿真调试窗口点击,PeripheralsI/O-,PortsPort 1,,出现下图所示,P1,口观察窗口。,由于是软件仿真,我们只能通过观察,P1,口,各位的电平变化来模拟灯的亮灭,如上图所,示,打“”者表示,P1,口该位为高电平,空格,则表示该位为低电平。,(,3,)点击,DebugGo,菜单命令,,即可实现全,速运行程,序,此时看,到,P1,口观察,窗口各位的,“”不断闪,烁变化,证,明程序编写,无误。,这就是该闪烁灯最简单的软件仿真,调试过程,如果我们要理解这段程序每,一条汇编指令执行后各寄存器、存储器,单元数据的变化或各标号现在的地址,,还应学会使用,View,菜单打开各种观察,窗口并交替使用软件的各种调试命令及,调试方法。下图为各调试命令的调试工,具栏。,(,4,)几种常用调试命令及方法介绍,断点,巧妙的设置一些断点,能够更好帮助用户分析,程序的运行机制、程序中变量的变化状况,提高工,作效率。,若要在某行设置断点,将鼠标光标指向该行,,然后点击工具栏 图标即可设置成功,在该行的行,首将出现红颜色的断点标志。,若要取消断点,可点击工具栏 图标,可将,所有断点取消。,复位,CPU,用,Debug,菜单或工具栏的,Reset CPU,命令。在,不改变程序的情况下,若想使程序重新开始运行,,这时执行此命令即可,执行此命令后程序指针返回,到,0000H,地址单元,另外,一些内部,SFR,在复位期,间也将重新赋值,例如,A,将变为,00H,,,DPTR,为,0000H,,,SP,为,07H,,,I/O,口变为,0FFH,。,单步跟踪(,F11,),用,Debug,工具栏的,Step,或快捷命令,StepInto,命,令按钮可以单步跟踪程序,每执行一次此命令,程,序将运行一条指令(以指令为基本执行单元),当,前的指令用黄色箭头标出,每执行一步箭头都会移,动,已执行过的语句呈现绿色。在汇编语言调试状,态下,可以跟踪到每一个汇编指令的执行。,单步运行(,F10,),用,Debug,工具栏的,Step Over,或快捷命令,Step,Over,按钮即可实现单步运行程序,此时单步运行,命令将把函数和函数调用当作一个实体来看待,因,此单步运行是以语句(这一条语句不管是单一命令,行还是函数调用)为基本执行单元。,执行返回(,Ctrl+F11,),在用单步跟踪命令跟踪到了子函数或子程序内,部时,可以使用,Debug,菜单栏中的,Step Out of,Current Function,或快捷命令按钮,Step Out,即可,实现程序的,PC,指针返回到调用此子程序或函数的下,一条语句。,执行到光标所在命令行(,Ctrl+F11,),用工具栏或快捷菜单命令,Run to Cursor Line,即可执行此命令,使程序执行到光标所在行,但不,包括此行,其实质是把当前光标所在的行当作临时,断点。,全速运行(,F5,),用,Debug,工具栏的,Go,快捷命令,Run,命令按钮,即可实现全速运行程序,当然若程序中已经设置断,点,程序将执行到断点处,并等待调试命令;若程,序中没有设置任何断点,当,uVision2,处于全速运行,期间,,uVision2,不允许任何资源的查看,也不接受,其它的命令。将鼠标箭头移到一个变量上可以看到,它们的值。,按钮可以启动,/,停止调试(,Ctrl+F5,),程序调试完毕可执行,DEBUG,菜单栏中的,Start/Stop Debug Session,命令停止调试。,四、硬件仿真实验,基于,DP-51PRO,实验仪的闪烁灯调试,实验室的硬件仿真是指,DP-51PRO,单片机综合,仿真实验仪运行单片机,P87C52X2,(或,P89C52X2,)内部了,MON51,监控程序,把用户,的应用程序装载到外部,SRAM,中,从而实现运,用,Keil C51,集成开发环境所提供的所有调试命,令来调试用户的应用程序或仿真用户的应用系,统。,1,、实验仪电路外观,(,1,)闪烁灯电路的连接,用,40,针把排线把,DP-51PRO,实验仪上的,A1,区,J76,接口和,A2,区,J79,接口相连,然后使用,8,孔导线把,A2,区的,J61,接口与,D1,区的,J52,接口,相连。,打开实验仪电源开关,电源指示灯(红光)点亮。,2,、调试前的准备工作,(,2,)将,MON51,监控程序写入外部,FLASH,将,A1,区中,SRAM_E,和,FLASH_E,两个跳线座的短路器拔走(即不短接),把,MON_SW1,开关拨到,LOAD,模式,然后将专用,P89C52X2,单片机芯片插入到仿真实验仪的锁紧座上,拔走,ISP,跳线,JP14,,短接,JP15,的,1,、,2,两个跳线(,TXD,、,RXD,),然后按下复位按键“,RESET”,。此时,单片机仿真仪进入下载状态。,接上串口线,在,PC,机桌面上双击,DPFLSH,快捷键,出现如下图所示的操作界面。,在主界面中点击“编程”命令按钮,在下,图所示的编程窗口选择“其它编程选择”,栏的“编程,MON51”,选项,单击“编程”,命令即可自动把,MON51.HEX,监控程序,到仿真实验仪的外部,FLASH,中。若无异,常,则提示编程正常结束,这时关闭该,窗口退出,DPFLSH,软件。,提示:下载监控程序到外部,FLASH,这一步在初次使用实验仪时一般都已完成,再次做实验可不操作,但同学们可做了解。,(,3,)进入调试状态,把实验仪,A1,区的工作模式选择开关(,MOD_SW1,)切换到,RUN,处,然后按一下复位键(,RESET,),,MON51,程序就开始运行了。此时,实验仪即进入调试状态。,注意:监控程序运行时,,A1,区的“运行”指示灯将点亮。,(,4,)软件调试环境的设置,双击,Keil C51,快捷图标,进入,Keil C51,集成开发环境,这时,Keil C51,集成环境自动打开上次正确退出时所编辑的工程项目文件。,在硬件仿真调试时,用户的代码是从,8000H,单元开始存放的,因此应修改源程序文件,中的程序代码定位伪指令语句“,ORG 0000H”,为“,ORG 8000H”,,伪指令语句“,ORG 0030H”,修改为“,ORG 8030H”,,然后重新进行编译。,点击,ProjectOption for target target 1,,将出现下图所示的调试环境设置界面。,点按钮,Target,由于,MON51,监,控程序已经占,用了从,0000H-,7FFFH,地址单,元的程序存储,空间,因此用,户的程序必须,从,8000H,单元,开始存放,如,左图所示设置。,点按钮,C51,项,进入下图所示的设置界面。,在此,设置界面选择,Interupt Vectors at a,为,0x8000,。然后,确定。,点按钮,Debug,项,进入下图所示的设置界,面。,在此设置界面,选择,Keil Monitor,-51 Driver,选项,并进行串口通信,环境设置,方法,点,Use,右边的,Settings,按钮,,波特率必须设为,9600bps,,图见,下页。,Output,选项可仿照软件仿真调试界面设置,,给,Create Hex File,选项前打“”,其余选项,则可按默认值进行设置或不用设置,最后点,击“确定”加以确认。,(,5,)硬件仿真调试,至此后面的步骤与软件仿真调试的步骤基本相同,不同的是,进入到硬件仿真调试界面后,两次点击,DubugGo,,可观察到,8,个,LED,灯开始闪烁发光。可依照软件仿真调试的步骤进行单步调试、断点设置、打开,P1,口观察窗口,体验该程序调试的妙用。,思考题,(,1,)计算延时子程序延时时间为多少?,(,2,)如果没有延时子程序会产生什么结果,为,什么?,(,3,)在闪烁灯程序的基础上编写一段程序,利用,P1,口作为控制端口,使,LED,轮流点亮(即实现跑,马灯)。,(,4,)在闪烁灯程序的基础上编写一段程序,利,用,P1,口作为控制端口,使,LED,从两头分别向中间,点亮,并且在中间相遇后变为从中间向两边点亮。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!