详细的Proteus8.0教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

HarbinHarbinInstituteInstituteofofTechnologyTechnology专业综合实践课程专业综合实践课程(论文(论文))设计题目:ProteusV8的特殊调试与诊断功能的开发1摘要—本文主要以Proteus8.0版本的功能及使用为基础,主要介绍工程的创建、编译器的配置、基本调试等一些基本问题,并探讨Proteus8.0的一些新特点新功能,最后与Proteus7.0做出对比得出结论。关键词—Proteus8.0,Proteus7.0;1.简介Proteus软件是英国LabCenterElectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。同时,Proteus还是一个巨大的教学资源,可以用于模拟电路与数字电路的教学实验、单片机与嵌入式系统的教学实验、微控制器系统的综合实验、创新实验与毕业设计等。Proteus可以与广大学生相结合,打造成一个口袋实验室。在Proteus家族里,Proteus8.0是目前较新的版本(最新的是8.1版),Proteus8.0版本的出现具有重要的意义,它也与其他版本有着很明显的不同,再此进行详细介绍Proteus8.0版本的使用过程。2.使用过程2.1创建新工程假定此时已安装了Proteus8.0版本。选择并点开Proteus8Professional,首先需要新建一个工程,由于本教程是与PCB绘制教程相关联的,所以此时的工程是一个带有原理图、PCB和源代码编译部分的工程。点击File,如图,选择NewProject,将出现新建工程向导部分,在此可以设置文件名(Name)和保存路径(Path)点击Next,在下一页的顶部选项卡中,选择“从选中的模板中创建原理图”(CreateaSchematicfromtheselectedtemplate),在此可选择默认(DFAULT)。如果不需要绘制原理图,可直接选择Donotcreateaschematic。2继续点击Next,选择“从选择的模板中创建PCB设计”(CreateaPCBlayoutfromtheselectedtemplate),在此可继续选择默认(DFAULT)。如果不需要进行PCB设计,可直接选择DonotcreateaPCBlayout。由于本教程需要仿真,所以继续点击Next,在仿真页面选择CreateFirmwareProject,并设置Family(系列)-8051,Contoller(控制器)-AT89C51,Compiler(编译器)-ASEM-51,也就是在此设计外部代码编译器。如果不需要进行仿真,则可直接选择NoFirmwareProject即可。点击Next,新工程便创建完毕。此时的新工程包含原理图设计部分、PCB绘制部分和源代码部分。2.2在Proteus中进行汇编代码的调试Proteus8.0版本自身支持汇编语言,故先以汇编语言为例。由于前面已经设置过外部代码编译器,所以此时工程包含SourceCode(源代码),如果前面没设置或者不小心删除后,也可以在此新建,方法为点击Source,3选择CreateProject,再次设置Family(系列)-8051,Contoller(控制器)-AT89C51,Compiler(编译器)-ASEM-51即可。Proteus8.0或以上版本自带源代码编辑、编译器,所以不再需要外部文本编辑器。具体操作界面如图所示,在指定位置(Writeyourcodehere)进行编码。此时,编译器、原理图、源代码都已准备好,点击Build,选择Build下的BuildProject或者RebuildProject编译固件。如果代码错误,系统会自动提示哪行代码出现错误,比如下图:系统在下方IDE的底部面板上显示错误提示,即main.asm的汇编程序第41行出现错误,错误为“illegalstatementsyntax”,鼠标直接点击这句错误提示,系统将自动跳转到出错的代码处,这对于查错改错十分方便如果编译成功,系统不显示错误。其编译的输出也显示在下方IDE的底部面板上,最终编译成功后,能得到一个编译成功的信号。系统自动生成名为Debug.hex的文件,并自动拷入到前面的原理图中,点击按钮即可仿真运行。这也是Proteus8.0版本与以往版本的不同之处,该版本不再需要用Keil编程后生成.Hex文件再手动拷入到原理图中,一切都是自动完成的,节约了很多时间。同时,Proteus8.0或以上版本支持C51语言的编译和调试,这需要电脑本身已经安装Keil或者IAR等可以编译C51语言的软件。Proteus自带汇编语言的编译器,如果想编译C51,则需要找到电脑中安装的编译环境,也可以到网上Download,具体如图:4点击Config,在下拉菜单中选择CompilersConfiguration,自动弹出如下界面:这个对话列出了所有支持的编译器,并指示是否被安装和配置。按下对话框底部的检查全部按钮(Checkall),Proteus将扫描你的计算机,检查安装好的编译器。如果找到Proteus支持的编译器,Proteus将自动进行配置并在Proteus中调用这些编译器编译源代码。其余的编译器,Proteus自动给出下载(Download)或者下载链接(GotoWebsite),读者可根据自身要求选择下载。值得注意的是,其中有些编译器的下载是需要收费的。编译成功后,如果想观察代码的单步运行,则需要进行如下操作:首先要确定Proteus没有运行仿真,处于停止状态。通过“仿真控制面板”暂停按钮启动仿真或暂停。启动仿真后,源程序页面自动变为下图格式:5现在说明如何设置断点,对于上图,要在0111处设置断点,只需在需要设置断点的代码处双击鼠标左键即可,断点指示器(一个小红点)将出现在代码的左侧;如果误设了断点,只需在这行再次双击(或从代码窗口中点击鼠标右键选择取消)即可取消,效果如下图:如果现在点击运行程序,程序执行到断点代码处将自动停止。到达断点后,可以通过源代码窗口右上角或VSMStudio调试菜单中的常用命令单步执行代码。另外可以使用快捷键F10和F11分别进行单步跳过调试和单步进入函数内部调试。如图:此时,还可以观看该代码处的寄存器参数等,具体设置为:点击Debug,在下拉菜单中选择所需要观测的参数。可以观看8051CPURegisters、8051CPUSFRMemory、8051CPUSourcecode等等。其中寄存器的状态如下(8051CPURegisters):62.3在Proteus中进行C代码的调试如果用C51编程,则代码的调试与汇编语言代码的调试十分相似,具体如下:首先,由于本人电脑没有安装有关C51编译的软件,故用Proteus8.0版本本身自带的一个例子为例。打开Proteus8.0之后,点击File,选择NewProject,这时弹出如下对话框如下图,选择FromDevelopmentBoard(从开发板),并选择PIC16系列下的F1Release开发板,点击Finish,调用完毕。此时的原理图如下图:7源程序如下:当Proteus没有进行仿真,处于停止状态时,才可以进行调试,这一点与汇编语言的调试完全一样。该案例包含很多源文件,所以需要在下拉菜单里选择具体的文件来进行调试,如下图:8此时选择main.c作为例子,点击后出现下面的C程序:现在设置断点,方法同上,只需在需要放置断点的代码处双击鼠标左键即可,此时会出现一个红点(断点指示器),如果断点设置错误,则再次双击鼠标左键,断点即可取消,假设在0980处设置断点,如下图所示:此时进行仿真,结果运行到断点处便会停止。如果需要查看程序执行的细节,具体到每一条指令的执行过程,则可以在反汇编代码中进行代码的汇编级单步调试。右键单击所设断点的代码,选择Dissassembly(反汇编)或者按Ctrl+D,如下:反汇编后会显示从当前断点到下一条指令之间所有的操作,对于上面的0980处设置的断点,将显示0980到09A2之间的所有单步程序:9值得注意的是,反汇编的应用是汇编语言和C51语言编程的一大区别。2.4Proteus8.0与Keil联接调试Keil是德国Keil公司(ARM公司收购)现已被开发的8051单片机软件开发平台,经过不断升级,现已经成为一个重要的单片机开发平台。Keil界面不复杂,操作也不困难,很多优秀程序都是在Keil的平台上编写出来的。Keil是一个重要的单片机语言开发软件平台,用户群极为庞大。(1)Keil的μVision3可进行纯粹的软件仿真(仿真软件程序,不接硬件电路);也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真;还可以使用μVision3的内嵌模块KeilMonitor-51,在不需要额外的硬件仿真器的条件下,搭接单片机硬件系统对项目程序进行实时仿真。(2)μVision3调试器具备所有常规源代码级调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能。KeilμVision3可以编辑、编译汇编语言、C51语言,连接定位目标文件和库文件,创建.hex文件,调试目标程序等。下面介绍使用KeilμVision3来开发项目、调试程序并生成*..hex文件来用于Proteus中单片机程序的开发和仿真。前面介绍了Proteus下完成原理图设计文件后,再在keilμVision3下编写C51程序,经过调试、编译最终生成.hex文件后,在Proteus下把.hex文件载入虚拟单片机中,然后进行系统联调。如果要修改程序,需再回到keilμVision3下修改,再经过调试、编译,新生成.hex文件,重复上述过程,直至系统正常运行为止。但是对于较为复杂的程序,如果没有达到预期效果,这时可能需要Proteus与KeilμVision3进行联合调试。联合调试之前需要安装vudgi.exe文件,文件可到Proteus的官方网站下载。vudgi.exe文件安装后,需对Proteus与μVision3中进行相应设置。2.4.1对Proteus8.0的设置首先打开Proteus需要联调的程序文件,但不要运行,然后选中“调试”菜单中的“使用远程调试监控”选项,如下图所示。使得KeilμVision3能与Proteus进行通信。102.4.2对KeilμVision3的设置完成上述设置后,在KeilμVision3中打开工程文件,然后单击菜单【Project】→“OptionsforTarget”选项(或单击工具栏上“OptionsforTarget”快捷按钮),打开如图所示的工程,即KeilμVision3中的设置选项对话框在Debug选项卡中选定右边的“Use”及其中的选项“ProteusVSMSimulator”,如果Proteus与KeilC安装在同一台计算机中,右边“Setting”中的Host与Port可保持默认值127.0.0.1与8000不变,如图所示。在跨计算机调试时则需要进行相应的修改。11完成上述设置后,在KeilμVision3中全速运行程序时,Proteus中的单片机系统也会自动运行,出现的联调界面如图4-4所示。左半部分为KeilμVision3的调试界面,右半部分是ProteusISIS的界面。如果希望观察运行过程中某些变量的值或者设备状态,需要在KeilμVision3中恰当使用各种StepIn/StepOver/StepOut/RunToCursorLine及Breakpoint进行跟踪,来观察右面的虚拟硬件系统运行的情况。总之,需要把KeilμVision3中的各种调试手段,如单步、跳出、运行到当前行、设置断点等恰当地配合来进行单片机系统运行的软硬件联调。需要说明的是,联调方式不支

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功