收藏 分销(赏)

第章KEIL与PROTEUS.doc

上传人:a199****6536 文档编号:2467146 上传时间:2024-05-30 格式:DOC 页数:41 大小:2.61MB
下载 相关 举报
第章KEIL与PROTEUS.doc_第1页
第1页 / 共41页
第章KEIL与PROTEUS.doc_第2页
第2页 / 共41页
第章KEIL与PROTEUS.doc_第3页
第3页 / 共41页
第章KEIL与PROTEUS.doc_第4页
第4页 / 共41页
第章KEIL与PROTEUS.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、个人收集整理 勿做商业用途第2章 Vision2与PROTEUS使用基础221 Vision2集成开发环境22。1.1 文件(File)、编辑(Edit)、视图(View)32.1.2 项目(Project)、调试(Debug)、Flash52。1.3 外围器件 (Peripherals)、工具(Tools)、视窗(Window)62。2 用Vision2建立与调试工程72。2。1 工程创建、设置、编译与链接72。2.2 用mVision2调试工程122。2.3 C51程序调试举例说明-HELLO。C162.2。4 Keil C51的调试技巧及举例1823 PROTEUS快速入门222.3.1

2、 集成PROTEUS ISIS环境222。3。2 电路原理图设计272.4 PROTEUS仿真工具介绍342。4。1 探针342.4.2 虚拟仪器352.4。3 信号发生器362.4.4 仿真图表3625 PROTEUS软件中的C51程序运行与调试372。5。1 驱动的安装382。5。2 Keil和PROTEUS的配置402。5.3 Keil和PROTEUS的调试过程41本章小结41习题41第2章 Vision2与PROTEUS使用基础mVision2集成开发环境IDE(Integration Design Environment)是一个基于Windows的软件开发平台,包含一个高效的编辑器、

3、一个项目管理器和一个MAKE工具。Vision2支持所有的Keil C51工具,包括C语言编译器(C51)、宏汇编器(A51)、链接/定位器(BL51)、库(LIB51)、目标代码到HXE的转换(OH51)、实时操作系统(RTX51)及调试器(dScope51、 tScope51和Monitor51),可以完成编辑、编译、链接、调试、仿真等整个开发流程。PROTEUS是英国Labcenter electronics公司研发的EDA工具软件。PROTEUS不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,更是目前世界上最先进、最完整的多种型号微控制器(单片机)系统的设计与仿真平台。它真正

4、实现了在计算机上完成从原理图设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整的电子设计、研发过程。PROTEUS从1989年问世至今,经过了20多年的使用、发展和完善,功能越来越强,性能越来越好。本章主要介绍Vision2和PROTEUS的应用基础,更详细的介绍请读者参阅有关书籍.21 Vision2集成开发环境mVision2 IDE是基于Windows的开发平台,开发人员可以用mVision2编辑器或其他编辑器编辑C语言或汇编语言文件,然后分别由C51语言和A51语言编译生成目标文件(。OBJ)。目标文件可由LIB51创建生成库文件(.LIB),也可与库文

5、件一起经L51链接定位生成绝对目标文件(.ABS).绝对目标文件由OH51转换成标准的HEX文件,以供调试器进行源代码级调试,也可由仿真器直接对目标板(用户板)调试,或直接写入程序存储器如EPROM、Flash中进行验证。在mVision2中,可以通过键盘或鼠标选择开发工具的命令、设置和选项,也可以通过键盘输入程序文本。mVision2集成环境中有菜单栏、可以快速选择命令按钮的工具栏、源代码文件窗口、对话框窗口和信息显示窗口。软件可同时打开和查看多个源文件,通过鼠标或键盘可移动或调整窗口的大小。mVision2界面如图21所示。图21 Vision2集成环境mVision2菜单栏提供了丰富的操

6、作菜单,提供了文件操作、编辑器操作、项目管理、选项设置、程序调试、外部程序执行、窗口管理,以及在线帮助等多项功能。2。1。1 文件(File)、编辑(Edit)、视图(View)1文件菜单(File)文件菜单项的命令、工具条图标、默认的快捷键及说明描述如表21所示。表21 文件菜单(File)File菜单工具栏快捷键描述NewCtrl+N创建新的源文件OpenCtrl+O打开已存在的文件Close关闭当前文件SaveCtrl+S保存当前文件Save All保存所有文件Save As保存并重新命名当前文件Device Database维护器件数据库Print Setup设置打印机PrintCtr

7、l+P打印当前文件Print Preview打印预览110打开最近使用的源文件Exit退出mVision22编辑菜单(Edit)编辑菜单项的命令、工具条图标、默认的快捷键及说明描述如表22所示。表2-2 编辑菜单(Edit)Edit菜单工具栏快捷键描述Home移动光标到本行的开始End移动光标到本行的末尾Ctrl+Home移动光标到当前文件的开始Ctrl+End移动光标到当前文件的末尾Ctrl+移动光标到其前面单词词首Ctrl+移动光标到其后面单词词首Ctrl+A选择当前文件全部内容UndoCtrl+Z撤销上次操作RedoCtrl+Shift+Z重复上次操作CutCtrl+X剪切所选文本Ctr

8、l+Y剪切当前行所有文本CopyCtrl+C复制所选文本PasteCtrl+V粘贴Indent Selected Text将所选文本向右缩进一个制表符位Unindent Selected Text将所选文本向左缩进一个制表符位Toggle BookmarkCtrl+F2设置/取消当前行书签Goto Next BookmarkF2移动光标至下一个书签处Goto Previous BookmarkShift+F2移动光标到上一个书签处Clear All Bookmarks清除当前文件的所有书签Find在当前文件中查找文本F3重复查找上次查找文本Shift+F3向前重复查找光标所在处文字Ctrl+F

9、3向后重复查找光标所在处文字Replace替换文本Find in Files在多个文件中查找Goto Matching Brace选择相匹配的一对大括号、圆括号或方括号所包括的内容3视图菜单(View)视图菜单项的命令、工具条图标及说明描述如表2-3所示。表2-3 视图菜单(View)菜单工具栏描述Status Bar显示/隐藏状态条File Toolbar显示/隐藏文件工具栏Build Toolbar显示/隐藏编译工具栏Debug Toolbar显示/隐藏调试工具栏Project Window显示/隐藏项目窗口Output Window显示/隐藏输出窗口Source Browser打开资源浏

10、览器Disassembly Window显示/隐藏反汇编窗口Watch & Call Stack Window显示/隐藏观察和堆栈窗口Memory Window显示/隐藏Code Coverage Window显示/隐藏代码报告窗口Performance Analyzer Window显示/隐藏性能分析窗口Symbol Window显示/隐藏字符变量窗口Serial Window #1显示/隐藏串口1的观察窗口Serial Window #2显示/隐藏串口2的观察窗口Toolbar显示/隐藏自定义工具栏Periodic Window Update程序运行时,周期刷新调试窗口Workbook M

11、ode显示/隐藏窗口框架模式Options设置颜色、字体、快捷键和编辑器的选项2。1.2 项目(Project)、调试(Debug)、Flash1项目菜单(Project)项目菜单项的命令、工具条图标、默认的快捷键及说明描述如表24所示。表24 项目菜单(Project)菜单工具栏描述New Project创建新工程Import uVision1 Project导入并转换一个mVision1的工程Open Project打开已存在的工程Close Project关闭当前的工程Target Environment定义工具包含文件和库的路径Select Device for Target从器件数据

12、库中选择一个CPURemove从工程中删除一个组或文件Options设置对象、组或文件的工具选项Build Target 编译修改过的文件并生成应用Rebuild all target files重新编译所有的文件并生成应用Translate编译当前文件Stop build停止生成应用110打开最近使用过的工程2调试菜单(Debug)编辑菜单项的命令、工具条图标、默认的快捷键及说明描述如表25所示。表2-5 调试菜单(Debuge)Debug菜单工具栏快捷键描述Start/Stop DebuggingCtrl +F5启动/停止调试模式GoF5全速运行程序直到激活的断点StepF11单步执行进入

13、函数Step OverF10单步执行越过函数Step out of Current FunctionCtrl +F11单步执行跳出当前函数Run to Cursor LineCtrl +F10全速运行程序至光标所在行Stop RunningEsc停止程序运行Breakpoints打开断点对话框Insert/Disable Breakpoint在当前行设置/清除断点Enable/Disable Breakpoint在当前行使能/禁止断点Disable All Breakpoint禁止程序中所有断点Kill All Breakpoint清除程序中所有断点Show Next Statement显示下

14、一条可执行的语句或指令Enable/Disable Trace Recording使能跟踪记录,用于指令的观察View Trace Records观察以前执行的指令Memory Map打开存储器影像对话框Performance Analyzer打开性能分析器的设置对话框Inline Assembly对某一行重新汇编,可修改汇编代码Function Editor编辑调试函数和调试配置文件3Flash菜单及命令(Flash)Flash菜单项的命令、工具条图标及说明描述如表2-6所示。表26 Flash菜单及命令FlashFlash菜单工具栏描述Download下载程序到FlashErase擦除Fl

15、ash原有程序Configure Flash Tool 打开Flash配置对话框 2。1。3 外围器件 (Peripherals)、工具(Tools)、视窗(Window)1外围器件菜单(Peripherals)外围器件菜单项的命令、工具条图标及说明描述如表2-7所示。表27 外围器件菜单PeripheralsPeripherals菜单工具栏描述Reset CPU复位CPUInterrupt打开中断对话框I/O-Ports打开I/O对话框Serial打开串行口对话框Timer打开定时器对话框对话框的列表和内容由所选择的CPU类型决定,不同类型的CUP的外设不同,该菜单项目也不同,例如有些器件带

16、有A/D、D/A转换等外设资源。 2工具菜单(Tools)工具菜单项的命令及说明描述如表28所示。表2-8 工具菜单命令及描述Tools菜单描 述Setup PC-Lint设置Gimpel Software的PCLint程序Lint用PCLint处理当前编辑的文件Lint all C Source Files用PC-Lint处理项目中所有的C源代码文件Setup EasyCase设置Siemens的EasyCase程序Start/Stop EasyCase运行/停止Siemens的EasyCase程序Show File(Line)用EasyCase处理当前编辑的文件Customize Tool

17、s Menu添加用户程序到工具菜单中3视窗菜单(Window)视窗菜单项的命令、工具条图标及说明描述如表2-9所示.表29 视窗菜单及视窗命令Window菜单工具栏描述Cascade层叠所有窗口Tile Horizontally横向排列窗口(不层叠)Tile Vertically纵向排列窗口(不层叠)Arrange Icons排列主框架底部的图标Split把激活的窗口拆分为若干窗格Close All关闭所有的窗口110激活选中的窗口另外,mVision2还有SVCS菜单和帮助菜单,SVCS用来配置软件版本控制系统的命令,帮助菜单可以打开在线帮助手册和技术支持、离线帮助手册及mVisiond2版

18、本号等信息。2.2 用Vision2建立与调试工程mVision2集成开发环境有一个工程管理器,使得8051系列单片机应用系统的程序设计更为简单方便.利用mVision2建立的应用项目是多文件模式,所有的文件包括源程序(包括C语言程序、汇编语言程序)、头文件及说明性的技术文档都可以放在工程项目文件里统一管理。源程序编译通过并不意味着程序执行后就能实现用户的既定目标,可能还隐含着很多看不见的错误,这就需要对源程序进行调试。调试相关的命令在Debug菜单下.2。2。1 工程创建、设置、编译与链接1工程创建mVision2是一个标准Windows应用程序,直接点击程序图标就可以启动它,mVision

19、2启动后,程序窗口的左边为一个工程管理窗口。该窗口中有3个标签,分别是Files、Rges和Books,分别显示当前项目的文件结构、CPU的工作寄存器和部分特殊功能寄存器,以及所选CPU的附加说明文件,当首次启动mVisions2时,3个标签全是空的。从mVision2的Project菜单中选择New Project,将打开如图2-2所示的标准的Windows对话框,给将要建立的工程文件起一个名字,并选择合适的存储位置,然后单击“保存按钮,出现下一个对话框。这个对话框要求用户选择目标CPU型号,从图中可以看出,Keil支持的CPU种类繁多,几乎所有目前流行的芯片厂家的CPU型号都包含于内。用户

20、可根据实际情况选用的CPU,在器件厂商列表中单击所用器件厂商名字前的“+,展开之后选择对应型号即可。选择好CPU型号后,会弹出如图2-3所示的对话框,询问用户是添加标准的8051启动文件(STARTUP.A51),单击“是”按钮,启动文件自动添加到工程文件组中。 图22 创建新工程对话框 图2-3 启动代码添加对话框文件STARTUP。A51是8051系列CPU的启动代码,启动代码主要用来对CPU数据存储器进行清零,并初始化硬件和重入函数堆栈指针等.用户也根据自己所用目标硬件来修改启动文件,以适应实际需要。使用菜单File/New或单击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本

21、编辑窗口,在该窗口中输入源程序代码,然后保存文件。注意保存时必须加上扩展名。源文件的编写也可以使用另外的文本编辑器。虽然源文件已创建并保存好了,但此时与工程项目并无任何关系,还需要采用下述方式把其添加至项目中。如图24所示,右击Project窗口中Files标签页中的“Source Group 1弹出快捷菜单,单击菜单中的“Add Files to Group Group 1”选项,可打开一个如图2-4所示的对话框,从对话框中选择用户创建的源文件,单击Add按钮即可把其加入之项目中. 图24 添加文件对话框2工程设置工程建立好之后,还要对工程进一步的设置,以满足实际需要。mVision2允许为

22、目标硬件及其相关元件设置必要的参数.mVision2还可以设置C51语言编译器、A51汇编器、链接及定位和转换等软件开发工具选项。使用鼠标或键盘可以选择相应的项目或更改选项设置.在选择“Project/Options for Target”命令弹出的对话框中,可以通过各个选项卡定义目标硬件及所选的所有相关参数。各目标硬件选项卡说明如表210所示.表2-10 目标硬件选项卡说明选项描述Target定义应用的目标硬件Output定义Keil工具的输出文件并让定义生成处理后执行的用户程序Listing定义Keil工具输出的所有列表文件C51设置C51编译器的特别工具选项,如代码优化或变量分配A51设

23、置汇编器的特别工具选项,如宏处理BL51 Locate定义不同类型的存储器和存储器的不同段的位置。典型情况下,可选择Memory Layout from Target Dialog 来获得自动设置BL51 Misc其他与链接器相关的设置,如告警或存储器指示DebugVision2 Debugger的设置Utilities文件和文件组的文件信息与特别选项(1)Target选项软件默认的选项为目标(Target)选项,可设置的主要参数及其描述如下。Xtal(MHz)Xtal(MHz)用来设置单片机的工作频率,默认值是所选CPU的最高可用的频率值,如果单片机所用晶振是11。0592MHz,那么就在文

24、本框里输入11.0592即可。Use Onchip ROM (0x00xFFF)Use Onchip ROM (0x00xFFF)是使用片上的Flash ROM。例如,At89c52有8KB的Flash ROM,就要用到这个选项。如果单片机的EA引脚接高电平,要选这个选项;如果单片机的EA接低电平,表示使用外部ROM,那么不要选中该选项。Offchip Code memory Offchip Code memory是在片外所接ROM的开始地址和大小,如果没有外接程序存储器,那么不要输入任何数据.假如使用一个片外的ROM,地址从0x8000开始,Size则为外接ROM的大小.Offchip Xd

25、ata memoryOffchip Xdata memory可以输入外接的Xdata。例如,接一个片外62256,则可以指定Xdata的起始地址为0x4000,大小为0x8000。 Code BankingCode Banking是使用Code Banking 技术,Keil C51可以支持程序代码超过64KB的情况,最大可以有2MB的程序代码。如果代码超过64KB,那么就要使用Code Banking技术来支持更多的程序空间。Code Banking支持自动的Bank的切换,它建立一个大型的系统的需求例如,要在单片机里实现汉字字库,实现汉字输入法,都要用到该技术.Memory Model单击

26、Memory Model下三角按钮,会有3个选项:lSmall为变量存储在内部RAM里;lCompact为变量存储在外部RAM,使用8 位页间接寻址;lLarge为变量存储在外部RAM里,使用16位间接寻址.一般使用Small 来存储变量,单片机优先把变量存储在内部RAM里,如果内部RAM 不够才会存到外部RAM中。Compact的方式要自己通过程序来指定页的高位地址,编程比较复杂。Compact模式适用于比较少的外部RAM 的情况。Large 模式是指变量会优先分配到外部RAM中。要注意3种存储方式都支持内部256字节和外部64KB的RAM,区别是变量优先存储在哪里.除非不想把变量存储在内部

27、RAM,才使用后面的Compact、Large模式。因为变量存储在内部RAM里,运算速度比存储在外部RAM 要快的多,大部分的应用都是选择Small的模式.Code Rom Size单击Code Rom Size下三角按钮,共有3个选项: lSmall:“Program 2K or less选项适用于程序存储空间只有2KB 的单片机,所有跳转地址只有2KB,如果代码跳转超过2KB 就会出错。lCompact:“2K functions,64k program选项表示每个子函数的程序大小不超过2KB,整个工程可以有64KB的代码。lLarge:“64K program”选项表示程序或子函数大小都

28、可以大到64KB。使用code bank程度大小还可以更大.Code Rom Size选择Large方式速度不会比Small慢很多,所以一般没有必要选择Compact或Small 的方式,通常情况下一般选择此选项即可。Operating单击Operating下三角按钮有3个选项:lNone选项表示不使用操作系统;lRTX51 Tiny选项表示使用Tiny 操作系统;lRTX51 Full 选项表示使用Full 操作系统。Keil C51提供了Tiny系统,Tiny 是一个多任务操作系统,使用定时器0作为任务切换。一般用11。0592MHz时,切换任务的速度为30ms。如果有10个任务同时运行,

29、那么切换时间为300ms,同时不支持中断系统的任务切换,也没有优先级。因为切换的时间太长,实时性大打折扣,对内部RAM的占用也过多.多任务操作系统一般适合于16位、32位这样的速度更快的CPU。Keil C51 Full是比Tiny要好一些的系统,但需要用户使用外部RAM,支持中断方式的多任务和任务优先级,但Keil C51里不提供该运行库。一般情况下不使用操作系统,即该项的默认值为None.(2)Output选项设置对话框中的“Output”页面.Select Folder for Object:单击该按钮可选择编译后目标文件的存储目录,如果不设置,就存储在项目文件的目录里。Name of

30、Executable:设置生成目标文件的名字,默认情况下和项目文件名字一致。目标文件可以生成库或OBJ、HEX等文件格式.Create Executable:如果要生成OMF和HEX文件,一般选中Debug Information和Browse Information.选中这两项,才有调试所需要的详细信息,比如要调试C语言程序,如果不选中,调试时无法看到高级语言编写的程序。Create HEX File:选中该项后,编译之后即可生成HEX文件.默认情况下该项未选中。如果要把程序写入硬件必须选中该项,这一点容易被初学者忽视。Create Library:选中该项是将生成lib库文件。一般的应用是

31、不生成库文件的。默认情况下该项未选中.After Make栏中有以下几个选项。Beep when complete:编译完成后发生蜂鸣声。Start Debugging:编译完成后即启动调试,一般不选.Run User Program 1,Run User Program 2:设置编译完成后所要运行的其他应用程序。(3)Listing选项“Listing”标签页用于调整生成的列表文件选项。Select Folder for Listing该按钮用来选择列表文件存放目录,默认情况下为项目文件所在目录.在汇编或编译完成后将生成(*.lst)的列表文件,在链接完成后也可产生(。m51)的列表文件,该

32、页用于对列表文件的内容和形式进行细致的调节。这两个文件可以告诉用户程序中所使用的idata、idata、bit、xdata、code、RAM、ROM等相关信息,以及程序所需要的代码空间。实际使用中,一般选中“C Compile Listing”下的“Assemble Code”项,选中该项可以在列表文件中生成C语言源程序所对应的汇编代码。C51语言标签页的设置选项用于对Keil的C编译器的编译过程进行控制,其中比较常用的是“Code Optimization”组。该选项中的“Level”是优化等级,C51语言在对源程序进行编译时,可以对代码进行9级的优化,默认为第8级,一般无须修改,如果在编译

33、中出现问题,可以尝试降低优化级别。“Emphasis”是选择编译优先方式,第1项是代码量优化(最终生成的代码量最小),第2项是速度优化(最终生成的代码速度最快),第3项是默认。默认情况下是速度优先,可根据需要更改。(4)Debug选项Debug标签页用来设置mVision2调试器,其选项如图2-5所示.图25 Debug选项从图中可以看出,仿真有两种方式:“Use Simulator”(软件模拟)和“Use:Keil Monitor51 Driver”(硬件仿真).软件模拟是纯粹的软件仿真,此模式下,不需要实际的目标硬件就可以模拟80C51单片机系列的很多功能,在硬件做好之前,就可以测试和调试

34、嵌入式应用程序。mVision2 可以模拟很多外围部件,包括串行口、外部I/O和定时器。外围部件设置是在从器件数据库选择CPU时选定的.硬件仿真选项有高级GDI驱动和Keil Monitor-51驱动,运用此功能用户可以把Keil C51嵌入到自己的系统中,从而实现在目标硬件上调试程序.若要使用硬件仿真,则应选择Use选项,并在该栏后的驱动方式选择框内选这时的驱动程序库。Load Application at Start:选择此选项,Keil会自动装载程序代码。Go till main:调试C语言程序时可选择此项,PC会自动运行到main程序处.3编译与链接工程建立并设置好后需要对工程进行编译

35、。编译命令位于如图26所示Project菜单下,也可单击如图2-7所示的工具栏中的相应按钮。图2-6 Project菜单中编译命令图2-7 工具栏中编译命令如果一个项目包含多个源程序文件,而仅对某一个文件进行了修改,则不用对所有文件编译,仅对修改过的文件进行编译即可,选择ProjectBuild target()即可。如果要对所有的源程序进行编译,选择ProjectRebuild all target files()即可.编译之后,如果没有错误,开发环境的下方会显示编译成功的信息,如图2-8所示。图2-8 编译成功信息2。2.2 用mVision2调试工程源程序编译通过并不意味着程序执行后就能

36、实现用户的既定目标,可能还隐含着很多看不见的错误,这就需要对源程序进行调试。调试相关的命令在Debug菜单下。1程序执行与断点设置单击Debug菜单下的Start/Stop Debug()命令,mVision2 会载入应用程序进入调试启动模式。如图29所示,mVision2 保持编辑器窗口的布局,并恢复最后一次调试时窗口显示CPU指令,下一条可以执行的语句用黄色箭头标出。图29 调试模式调试时,编辑器的很多功能仍然可以使用。例如,使用查找命令或纠正程序的错误.程序的源文件在同一窗口显示。mVision2 调试模式和编辑模式有以下的不同点:提供Debug菜单和Debug命令;不能修改项目结构或工

37、具参数,所有Build命令禁止。程序调试必须明确两个重要的概念,即单步执行和全速执行。全速执行是指一行程序执行完后接着执行下一行程序,中间没有间断,程序执行速度很快,只能看到程序执行的总体结果,如果程序中存在错误,则难以判断错误的具体位置。单击菜单命令DebugGo()或快捷键F5,程序全速执行。单步执行是指每一次执行一行程序,执行完该行程序即停止,等待命令执行下一行程序,可以方便地观察每条程序语句的执行结果,可以依次判断程序错误的具体位置.单击Debug菜单下的Step()或快捷键F11可以单步执行程序。使用Debug菜单下的Step Over()或快捷键F10可以以过程单步形式执行命令.所

38、谓过程单步,是指将汇编程语言中的子程序或C语言中的函数作为一条语句来执行。另外,单击Debug菜单下的Step out of Current Function(),单步执行跳出当前函数。单击Debug菜单下的Run to Cursor Line(),全速运行程序至光标所在行。单击Debug菜单下的Stop Running(),程序停止运行。程序调试时,一些程序必须满足一定的条件才能被执行,如程序中某一变量达到一定的值、按键被按下、有中断产生等事件发生,这些条件发生往往是异步发生或难以预先设定的,这类问题使用单步执行的方法是很难调试的,这时就需要使用程序调试中的另一种重要方法:断点设置。mVis

39、ion2可以用几种不同的方法定义断点。在程序代码翻译以前,也可以在编辑源文件时,设置断点。断点可以用以下的方法定义和修改。用工具栏按钮.在Editor编辑器或Disassembly(反汇编)窗口选中代码行,然后单击断点按钮().用快捷菜单的断点命令.在Editor编辑器或Disassembly(反汇编)窗口选中代码行,单击鼠标右键,打开快捷菜单.Debug菜单下的Breakpoints对话框可以查看、定义和修改断点设置。这个对话框可以定义不同访问属性的断点。另外,菜单命令DebugEnableDisable Breakpoint()用来开启或暂停光标所在行的断点功能,DebugDisable

40、All Breakpoint()用来暂停所有的断点,Kill All Breakpoint()用来清除所有的断点设置。设置好断点后可以全速运行程序,一旦执行到设置断点的程序行即停止运行,可以在此观察相关变量或特殊寄存器的值,以判断确定程序中存在的问题.2调试窗口mVsion2提供了友好的人机交互界面,如图2-10所示,其编译环境包括多个窗口,主要有观察窗口(Watch Call Stack Window)、存储器窗口(Memory Window)、反汇编窗口(Disassembly Window)、输出窗口(Output Window)和串行窗口(Serial Window)等。启动调试模式后

41、,可以通过菜单View下的命令打开或关闭这些窗口。图210 调试窗口(1)观察窗口如图211所示,观察窗口可以查看和修改程序变量,并列出当前函数的嵌套调用.观察窗口的内容会在程序停止运行后自动更新。也可以使用ViewPeriodic Window Update选项,在目标程序运行时自动更新变量的值。如果要在程序运行中或运行后观察某一变量的值,可以在观察窗口中按F2键,然后在文本框中输入相应的变量名字。图211 观察窗口(2)存储器窗口存储器窗口能显示各种存储区的内容,如图212所示。最多可以通过4个不同的页观察4个不同的存储区.用上下文菜单可以选择输出格式。图2-12 存储器窗口在存储器窗口“

42、Address”后的文本框内输入“字母:数字”即可显示相应存储单元的值,其中字母可以是C、D、I和X,分别代表程序存储空间、直接寻址的片内存储空间、间接寻址的片内存储空间和扩展的片外RAM空间;数字表示要显示区域的起始地址。例如,输入“D:50”,即可观察到首址为0x50的片内RAM单元的值。使用ViewPeriodic Update选项,可以在程序运行时自动更新存储器窗口。该窗口的显示值可以以不同形式显示,如十进制、十六进制、无符号字符型、有符号字符型等。另外,可以改变存储单元的值,改变显示方式和存储单元值的方法是把鼠标置于数值上,单击鼠标右键,在弹出的菜单中选择即可。(3)反汇编窗口如图2

43、-13所示,反汇编窗口用源程序和汇编程序的混合代码或汇编代码显示目标应用程序,可以在该窗口进行在线汇编,利用该窗口跟踪已经执行的代码,并在该窗口按汇编代码的方式单步执行。图213 反汇编窗口如果选择反汇编窗口作为活动窗口,则所有程序的单步执行命令会工作在CPU的指令级,而不是源程序的行。可以用工具栏按钮或上下文菜单命令在选中的文本行上设置或修改断点.可以使用Debug菜单打开In Line Assembly对话框修改CPU指令.同时允许在调试时在纠正错误或目标程序上进行暂时的改动.(4)串行窗口mVision2有两个串行窗口,可以用于串行口输入和输出。从仿真CPU输出的串行口数据在这个窗口中显

44、示,而在串行窗口键入的字符将被输入到仿真CPU中,用该窗口可以在没有硬件的情况下用键盘模拟串口通信。SCON=0x50;/串口模式1,8位TMOD=0x20;/定时器器1为模式2,8位自动装载TH1=0xf4;/T1为1200bit/s的装载值,16MHzTL1=0xf4;EA=1;TI=1;TR1=1;(5)工程窗口的寄存器页面在进入调试模式前,工程窗口的寄存器页面是空白的,进入调试后,此页面就会显示当前仿真状态下寄存器的值,如图2-14所示。图214 工程窗口的寄存器页面寄存器页面包括了当前的工作寄存器组和一些特殊的寄存器(如累加器A、乘法器B、堆栈寄存器SP、状态寄存器PSW等)。当程序运行改变某一寄存器值时,该寄存器则以反色显示,用鼠标单击后按下F2键,可修改该寄存器的值.2。2。3 C51程序调试举例说明HELLO。CHELLO。C是一个样例程序,位于C:KEILC51EXAMPLESHELLO中。这个程序只是将Hello World输出到串行口。整个程序只包含一个源文件HELLO.C。HELLO的硬件是基于标准的8051CPU的。使用的唯一片内外围器件是串行口。不需要实际的目标CPU,因为mVision2可以模拟程序所需要的

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服