Keil μVision4 集成开发环境与C语言程序设计 .doc

上传人:yy****2 文档编号:97462560 上传时间:2024-06-13 格式:DOC 页数:38 大小:1.10MB
返回 下载 相关 举报
Keil μVision4 集成开发环境与C语言程序设计 .doc_第1页
第1页 / 共38页
Keil μVision4 集成开发环境与C语言程序设计 .doc_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《Keil μVision4 集成开发环境与C语言程序设计 .doc》由会员分享,可在线阅读,更多相关《Keil μVision4 集成开发环境与C语言程序设计 .doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、附录A Keil Vision4 集成开发环境与C语言程序设计Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。Keil公司由两家私人公司联合运营,分别是德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc。Keil公司制造和销售种类广泛的开发工具,包括ANSI C编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。其Keil C51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种80

2、C51变种。Keil公司在2007年被ARM公司收购。其两家公司分别更名为ARM Germany GmbH和ARM Inc和。2009年2月,Keil公司发布了Keil Vision4,Keil Vision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,提供可在虚拟接口上随意放置窗口的完整控制能力。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的80C51兼容芯片及ARM芯片,还添加了一些其他新功能,如系统查看器(System Viewer)窗口、多项目工作空间(Multi-Project Workspace)等。

3、附A.1 Keil Vision4 集成开发环境附A.1.1简介Keil Vision4集成开发环境(Integrated Development Environment,IDE)是一个基于Windows的开发平台,它包含高效的源代码编辑器、项目(Project)管理器和程序生成(MAKE)工具。Keil Vision4支持所有的80C51嵌入式应用工具,它包括C/C+编译器宏汇编器、连接/定位器和一个HEX文件生成器。Keil Vision4通过以下特性加速MCU嵌入式应用系统的开发过程: 全功能的源代码编辑器; 器件库用来配置开发工具设置; 项目管理器用来创建和维护项目; 集成的MAKE工

4、具可以汇编、编译和连接用户的嵌入式应用; 所有开发工具的设置都是以对话框的形式出现的; 具有真正的源代码级的对CPU和外围器件的调试器; 高级GDI接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信; 与开发工具手册、器件数据手册和用户指南有直接的链接。1.C51 编译器和A51汇编器源代码由Vision4创建,并被C51编译成A51汇编。编译器和汇编器从源代码生成可重定位的目标文件。Keil C51编译器完全遵照ANSIC语言标准,支持C语言的所有标准特性。另外,直接支持80C51结构的几个特性被添加里面。Keil A51宏汇编器支持80C51及其派生系列的全部指令集。2.L

5、IB51库管理器LIB51库管理器允许从由编译器或汇编器生成的目标文件创建目标库。库是一种被特别地组织过并在以后可以被连接重用的对象模块。当连接器处理一个库时,仅仅那些被使用的目标模块才被真正使用。3.BL51连接器/定位器BL51连接器/定位器利用从库中提取的目标模块和由编译器或汇编器生成的目标模块创建一个绝对地址的目标模块。一个绝对地址目标模块或文件包含不可重定位的代码和数据。所有的代码和数据被安置在固定的存储器单元中。此绝对地址目标文件可以用来:写入EPROM或其他存储器件。通过Vision4调试器来模拟和调试。通过仿真器来测试程序。4.OH51目标文件转换器OH51目标文件转换器可以把

6、前面编译连接好的目标文件转换成能写入EPROM中的HEX文件。5. Vision4调试器Vision4源代码级调试器是一个理想的快速、可靠的程序调试器。此调试器包含一个高速模拟器,能够模拟整个8051系统,包括片上外围器件和外部硬件。当从器件库中选择器件时,这个器件的特性将自动配置。Vision4调试器为在实际目标板上测试程序提供了以下2种方法:安装MON51目标监控器到目标系统并且通过Monitor-51接口下载程序;利用高级的GDI(AGDI)接口,把Vision4调试器绑定到目标系统。6.Monitor-51Vision4调试器支持用Monitor-51进行目标板调试。此监控程序驻留在目

7、标板的存储器里,它利用串口和Vision4调试器进行通信。利用Monitor-51,Vision4调试器可以对目标硬件实行源代码级的调试。7.RTX-51实时操作系统RTX-51实时操作系统是一个针对8051系统的多任务核。RTX-51实时内核从本质上简化了对实时事件反应速度要求高的复杂应用系统的设计、编程和调试。RTX-51实时内核是完全集成到C51编译器中的,从而方便使用。任务描述表和操作系统的连接由BL51连接器/定位器自动控制。附A.1.2安装了解了Keil Vision4的一些基本概况后,下面开始在计算机上搭建MCU的集成开发环境。操作步骤如下:首先准备Keil Vision4安装源

8、文件,双击Vision4的Setup安装文件,弹出Keil Vision4安装的欢迎界面,如图A-1所示。图A-1 Keil Vision4欢迎界面单击“Next”按钮,弹出“License Agreement”对话框,如图A-2所示。这里显示了一些用户安装的协议和许可的要求,选择“I agree to all the terms of the preceding License Agreement”即可,否则无法进入下一步。图A-2 “License Agreement”对话框单击“Next”按钮,弹出“Folder Selection”对话框,如图A-3所示。系统默认安装在“C:Keil”

9、文件夹下。在这里,单击“Browse”按钮,可以选择安装的目录。图A-3 “Folder Selection”对话框单击“Next”按钮,弹出”Customer Information”对话框,如图A-4所示。此时,用户需要输入用户名、公司名称和E-mail,缺一不可。图A-4 用户信息输入单击”Next”按钮,下面便开始自动安装。Keil Vision4安装完成后,弹出安装完成对话框,如图A-5所示。这里的几个选项的含义如下。图A-5 完成安装Show Release Notes:显示安装的版本注释信息。Add Example projects to the recently used pr

10、oject list:添加一个示例程序到当前项目列表中。Retain currentVision configuration:保持当前的设置(如果是第一次安装,则不存在这个选项)。最后,单击Finish按钮,便可以结束Keil Vision4集成开发环境的安装。需要注意的是,刚刚安装完的版本是试用版(Evaluation Version),代码长度有2KB限制。如果代码长度超过2KB,可与Keil公司()联系,购买LIC(License ID Code)。附A.1.3 Keil Vision4集成开发环境界面安装完成后,会在桌面上出现Keil Vision4程序的图标,并在“开始”程序里增加“

11、Keil Vision4”程序项。从“开始”程序里选择“Keil Vision4”程序项或者直接双击桌面上的Keil Vision4程序图标,即可启动Keil Vision4。启动Keil Vision4后,如果是第一次运行,则打开工程项目“Hello”,如图A-6所示。图A-6 Keil Vision4集成开发环境界面这里可以看到,Keil Vision4集成开发环境具有典型的Windows界面风格。整个编程界面主要包括菜单栏、工具栏、项目管理区、源代码工作区和输出信息窗口。另外,还有一些功能窗口将在后面逐步介绍。下面我们将带领读者逐一认识Keil Vision4集成开发环境的主要组成部分。

12、附A.1.4 Keil Vision4菜单命令Keil Vision4的菜单栏提供了项目操作、编辑操作、编译调试及帮助等各种常用操作。所有的操作基本上都可以通过菜单命令来实现。为了快速执行Keil Vision4的许多功能,有些菜单命令在工具栏上还具有工具条。为了更快速执行一些功能,Keil Vision4提供了比工具栏上的工具条更为快捷的操作,即快捷键。在Keil Vision4集成开发环境中不仅提供了常用功能的默认快捷键,同时用户也可以根据自己的需要自定义快捷键。下面就菜单命令、工具条、快捷键分别进行介绍。1File菜单File菜单和标准的Windows软件的File菜单类似,提供了项目和

13、文件的操作功能。File菜单各个命令的功能如表A-1所示。表A-1 File菜单菜单命令工具条快捷键功能说明NewCtrl+N创建一个新的空白文件OpenCtrl+O打开一个已存在的文件Close关闭当前打开的文件SaveCtrl+S保存当前打开的文件Save as当前文件另存为Save all保存所有打开的文件Device Database打开器件库License Management产品注册管理Print Setup设置打印机PrintCtrl+P打印当前文件Print Preview打印预览1 . 10列出最近打开的源文件或文本文件Exit退出KeilVision42Edit菜单Edit

14、菜单提供了常用的代码编辑操作命令。Edit菜单各个命令的功能如表A-2所示。表A-2 Edit菜单菜单命令工具条快捷键功能说明UndoCtrl+Z取消上次操作RedoCtrl+Y重复上次操作CutCtrl+X剪切选定的内容CopyCtrl+C复制选定的内容PasteCtrl+V粘贴已复制的内容Navigate BackwardsCtrl+Shift+-光标移动到使用Find或go to line命令的前一行Navigate ForwardsCtr+-光标移动到使用Find或go to line命令的后一行Insert/Remove BookmarkCtrl+F2设置/取消当前行的标签Go to

15、 Next BookmarkF2光标移动到下一个标签Go to Previous BookmarkShift+F2光标移动到上一个标签Clear All BookmarksCtrl+Shift+F2清除当前文件的所有标签FindCtrl+F在当前文件中查找ReplaceCtrl+H替换Find in FilesCtrl+Shift+F 在多个文件中查找Incremental FindCtrl+I渐进式寻找Outlining源代码概要显示模式Advanced各种高级编辑命令Configuration颜色、字体等高级配置3View菜单View菜单提供了在源代码编辑和仿真调试过程中,各个窗口和工具栏

16、的显示和隐藏命令。View菜单各个命令的功能如表A-3所示。表A-3 View菜单菜单命令工具条功能说明Status Bar显示/隐藏状态条Toolbars显示/隐藏工具栏Project Window显示/隐藏项目管理窗口Books Window显示/隐藏参考书窗口Functions Window显示/隐藏函数窗口Templates Window显示/隐藏模板窗口Source Browser Window显示/隐藏资源浏览器窗口Build Output Window显示/隐藏输出信息窗口Find in Files Window显示/隐藏在所有文件中查找文本窗口Full Screen显示/隐藏全

17、屏显示窗口调试模式下的菜单命令Command Window显示/隐藏命令行窗口Disassembly Window显示/隐藏反汇编窗口Symbols Window显示/隐藏字符变量窗口Registers Window显示/隐藏寄存器窗口Call Stack Window显示/隐藏堆栈窗口Watch Windows显示/隐藏变量子菜单观察窗口Memory Windows显示/隐藏存储器子菜单窗口Serial Windows显示/隐藏串行口观察子菜单窗口Analysis Windows显示/隐藏分析子菜单窗口Trace显示/隐藏跟踪子菜单窗口System Viewer显示/隐藏外设子菜单窗口Too

18、lbox Window显示/隐藏自定义工具条窗口Periodic Window Update在程序运行时刷新调试窗口4Project菜单Project菜单提供了MCU项目的创建、设置和编译等命令。Project菜单各个命令的功能如表A-4所示。表A-4 Project菜单菜单命令工具条快捷键功能说明New Vision Project.创建新项目New Multi-Project Workspace.创建多项目工作空间Open Project.打开一个已存在的项目Close Project关闭当前项目Export导出当前一个或多个项目为Vision3格式Manage管理项目的包含文件、库的路径

19、及多项目工作空间Select Device for Target name.为当前项目选择一个MCU类型Remove object从当前项目中移除选择的文件或项目组Options for objectAlt+F7设置当前文件、项目或项目组的配置选项Clean target清除编译过程中创建的中间文件Build targetF7编译文件并生成应用文件Rebuild all target files重新编译所有文件并生成应用文件Batch Build.批量编译文件并生成应用文件Translate fileCtrl+F7编译当前文件Stop build停止编译当前项目1 . 10列出最近打开的项目(

20、最多10个)5Flash菜单Flash菜单提供了下载程序、擦除MCU程序存储器等操作。这里的命令需要外部的编程器支持才可以使用。Flash菜单各个命令的功能,如表A-5所示。表A-5 Flash菜单菜单命令工具条功能说明Download下载MCU程序Erase擦除程序存储器Configure Flash Tools.打开配置工具6Debug菜单Debug菜单中的命令大多用于仿真调试过程中,提供了断点、调试方式及逻辑分析等功能。Debug菜单各个命令的功能如表A-6所示。表A-6 Debug菜单菜单命令工具条快捷键功能说明Start/Stop Debug SessionCtrl+F5开始/停止仿

21、真调试模式Reset CPU复位CPU(MCU)RunF5运行程序,直到遇到一个断点Stop停止运行程序StepF11单步执行程序,遇到子程序则进入Step overF10单步执行程序,跳过子程序Step outCtrl+F11程序执行到当前函数的结束Run to Cursor lineCtrl+F10程序执行到光标所在行Show Next Statement显示下一条指令BreakpointsCtrl+B打开断点对话框Insert/Remove BreakpointF9设置/取消当前行的断点Enable/Disable BreakpointCtrl+F9使能/禁止当前行的断点Disable

22、All Breakpoints禁用所有断点Kill All BreakpointsCtrl+Shift+F9取消所有断点OS Support打开查看事件、任务及系统信息的子菜单Execution Profiling打开一个带有配置选项的子菜单Memory Map打开存储器空间配置对话框Inline Assembly对某一行进行重新汇编,可以修改汇编代码Function Editor (Open Ini File)编辑调试函数和调试配置文件Debug Settings设置调试参数7Peripherals菜单Peripherals菜单提供了MCU各种硬件资源的仿真对话框。这里的所有命令都只在仿真调

23、试环境下才显示并可以使用,而且显示的资源内容随用户选择的MCU型号的不同而不同。这里列出一些常用到的Peripherals菜单命令的功能,如表A-7所示。表A-7 Peripherals菜单菜单命令功能说明Interrupt打开中断仿真对话框I/O Ports打开并行端口仿真对话框Serial打开串口仿真对话框Timer打开定时器仿真对话框Watchdog打开看门狗仿真对话框A/D Converter打开A/D转换器仿真对话框D/A Converter打开D/A转换器仿真对话框IC Controller打开I2C总线控制器仿真对话框CAN Controller打开CAN总线控制器仿真对话框8T

24、ools菜单Tools菜单提供了一些第三方软件的支持,例如PC-Lint。用户需要额外安装相应的软件才可以使用。Tools菜单一般使用得比较少,这里仅列出各个命令的功能,如表A-8所示。表A-8 Tool菜单菜单命令功能说明Set-up PC-Lint配置PC-Lint程序Lint用PC-Lint程序处理当前编辑的文件Lint All C-Source Files用PC-Lint程序处理项目中所有的C源代码文件Customize Tools Menu.自定义工具菜单9SVSC菜单SVSC菜单提供了程序的版本控制,该菜单下仅包括“Configure Version Control”一个命令,用于

25、配置软件版本。另外,Windows菜单下提供了对工作区窗口布局的管理,Help菜单提供了一些帮助信息,这里不再具体介绍。附A.2 Keil Vision4汇编语言程序的调试方法Keil Vision4集成开发环境中包括一个项目管理器,它可以使基于80C51内核的MCU应用系统设计变得简单。要创建一个应用,需要按下列步骤操作:1.启动Keil Vision4,新建一个项目文件并从器件库中选择一个器件;2.新建一个源文件并把它加入到项目中;3. 设置目标硬件选项;4.编译项目并生成可以编程到程序存储器的HEX文件;5. 软件模拟调试及下载到MCU中进行仿真调试。下面通过一个实例,详细介绍如何在Ke

26、il Vision4集成开发环境中调试80C51系列MCU的汇编语言程序。【例A-1】假设晶振频率为11.0592MHz,将MCU片外RAM中40H5FH单元中的内容全部移到片内相同地址区域,并将原数据区全部清零。附A.2.1启动Keil Vision4并创建一个项目双击桌面Keil Vision4程序图标或单击开始菜单中的Keil Vision4程序项,启动Keil Vision4集成开发环境。要新建一个项目文件,可以从Keil Vision4的Project菜单中选择“New Project”项,打开“Create New Project”对话框,如图A-7所示。图A-7 “Create

27、New Project”对话框在此对话框的“文件名”栏中输入项目文件名。建议为每一个项目建立一个独立的文件夹。首先,在下拉列表中选择要保存的位置,最好选择逻辑盘D或E(不要保存在系统盘C,避免因系统重新安装而丢失文件)。单击“新建文件夹”,得到一个空文件夹,给该文件夹重命名为“test”(文件夹的名字最好能够体现项目名称)。双击该文件夹,在“文件名(N)”栏中输入项目的名称,如“movedata”,创建一个文件名为“j”的新项目文件。单击“保存(S)”按钮,将弹出“Select Device for Target Target 1”对话框,提示为项目选择一个MCU。在该对话框中,“Data b

28、ase”列表框中显示出各个MCU的生产商。首先找到选用的MCU生产商,单击前面的“+”号,显示出Keil Vision4所支持的该公司的MCU型号列表,单击其中选定的MCU型号。如本例中,选择Atmel公司的型号为AT89S52的MCU,如图A-8所示。图A-8 “Select Device for Target Target 1”对话框单击“OK”按钮,弹出如图A-9所示的对话框,提示是否将标准8051启动代码复制到项目文件夹中并将该文件添加到项目中去。图A-9 复制启动代码提示对话框在Keil Vision4中,启动代码在复位目标系统后立即被执行。启动代码主要实现以下功能: 清除内部数据存

29、储器; 清除外部数据存储器; 清除外部页存储器; 初始化small模式下的可重入栈和指针; 初始化large模式下的可重入栈和指针; 初始化compact模式下的可重入栈和指针; 初始化8051硬件栈指针; 传递初始化全局变量的控制命令或者在没有初始化全局变量时给main函数传递命令。在每一个启动文件中,提供了可供用户自己修改有来控制程序执行的汇编常量。如果只是调试简单程序,可以选择“否(N)”,如果项目复杂可选择“是(Y)”。用户可根据需要修改启动代码,但一般不建议修改启动代码。附A.2.2新建一个源文件并把它加入到项目中从“File”菜单中选择“New”项新建一个源文件,或者单击工具栏上的

30、按钮,打开一个空白的编辑窗口,用户可以输入程序源代码。输入以下程序源代码: ORG0000H LJMP MAIN ORG 0040HMAIN: MOVSP,#70HMOV R0,#40H MOVR1,#20HLOOP:MOV P2,#00H; 软件仿真时必须有MOVX A,R0 MOV R0,A MOV A,#00H MOVX R0,A INC R0 DJNZ R1,LOOP END从“File”菜单中选择“Save”项或者单击工具栏中的保存按钮,将文件保存为想要的名字。如果使用汇编语言编写程序,则文件的后缀名是:.asm或者.a51,如,如图A-10所示(如果使用C语言编写程序,则文件的后缀

31、名是:.c,以下步骤与汇编语言程序相同)。保存后,Keil Vision4将高亮显示汇编语言语法字符,如图A-11所示。图A-10 保存源文件图A-11 保存后程序显示界面源文件创建完成后,就可以将它加入到项目中(如不加入,则无法对此文件操作)。Keil Vision4提供了几种方法让用户把源文件加入到项目中。(1)在“Project Workspace”(项目管理器)窗口中单击“Target 1”前面的“+”号,展开下一层的“Source Group 1”文件夹,在“Source Group 1”文件夹上单击鼠标右键,弹出快捷菜单,如图A-12所示。从弹出的快捷菜单中单击“Add Files

32、 to Group Source Group 1”项,弹出“Add Files to Group Source Group 1”对话框,如图A-13所示。图A-12 将源文件加入到项目中图A-13 “Add Files to Group Source Group 1”对话框在该对话框中,默认的文件类型是“C Source file (*.c)”。若使用汇编语言进行设计,则需要从“文件类型”下拉列表框中选择“Asm Source file (*.S*;*.src;*.a*)”文件类型。这样,以.asm为扩展名的汇编语言程序文件才会出现在文件列表框中。从文件列表框中选择要加入的文件并双击即可添加到

33、项目中;也可以单击选中文件,然后单击“Add”按钮将该文件加入项目中。添加文件后,对话框不会自动关闭,而是继续等待添加其它文件,用户可单击“Close”按钮,关闭对话框。当给项目添加文件成功后,项目管理器的“Source Group 1”文件夹前面会出现“+”号,单击它可看到文件已经包含在项目中了。双击它即可打开进行修改。附A.2.3设置目标硬件选项Keil Vision4允许用户为目标硬件设置选项。可以通过单击工具条图标、菜单“Project”的“Options for Target Target 1”项或者在“Project Workspace”窗口的“Target 1”上单击鼠标右键,打

34、开“Options for Target Target 1”对话框。在各选项卡中,可以修改与目标硬件及所选MCU的片上集成器件的所有参数,如图A-14所示。图A-14 Options for Target Target 1对话框主要设置CPU的时钟频率、编译器的存储模式等。晶振频率设置应与实际使用的晶振频率相同。如果仅进行软件模拟调试,则采用默认设置即可。附A.2.4编译项目并生成可以编程到程序存储器的HEX文件单击工具栏中的“Rebuild”图标,可以编译所有的源文件并生成应用。当程序中有语法错误时,Keil Vision4将在“Build Output”窗口显示错误或者警告信息。双击一行错

35、误提示信息,将打开此信息对应的文件,并定位到语法错误处,如图A-15所示。在错误信息上双击鼠标,光标会自动定位到出现该错误的程序行上。例如,如图A-15所示,出现“(15): error A45: UNDEFINED SYMBOL (PASS-2)”(未定义符号)错误信息,双击该信息,光标定位到出现该错误的行上。用户很容易发现错误原因是将标号“LOOP”错写成“LOO”,漏掉字母P。由输入引起的用户常犯的编译错误还有:错将数字0输成字母o,使用中文输入法输入了全角逗号(,)和冒号(:),大于9FH(如A8H)的十六进制数忘记在前面加上数字0(正确写法0A8H)等。根据错误信息提示,修改程序中出

36、现的错误,直到编译成功为止。一旦编译成功,则显示如图A-16所示信息。提示信息最后一行为“movedata - 0 Error(s), 0 Warning(s).”,不但没有错误,而且最好也没有警告。需要注意的是,Keil Vision4默认是不生成HEX文件的。这时就需要设置目标硬件选项中的“Output”选项卡,选中“Create HEX File”前面的复选框,如图A-17所示。 图A-15 编译出现错误信息时的提示图A-16 编译成功提示信息图A-17 生成HEX文件的选项附A.2.5软件模拟调试及下载到MCU中进行仿真调试一旦编译成功,就可以进行程序的仿真调试了。对于程序的调试,有两

37、种方式:一种是软件模拟仿真调试,另一种就是下载到硬件仿真器或者MCU中进行在线仿真调试。一般情况下,首先使用软件模拟仿真调试,通过之后,再用硬件仿真器或者直接下载到MCU中进行在线仿真调试。由于软件模拟仿真调试与在线仿真调试方法基本相同,所以就以软件模拟仿真调试为例,介绍程序的调试方法。为了对前面编写的程序能够在不连接硬件仿真器或者MCU的情况下进行仿真调试(即软件模拟),需对Keil Vision4做一下设置。按照2.3设置目标硬件选项打开“Options for Target Target 1”对话框,选中“Debug”页,如图A-18所示。一般情况下,如果没有进行硬件仿真,则“Use S

38、imulator”单选框是默认选中的,此时,进行软件模拟调试,其它选项不做修改;否则,则选中“Use:”单选框,并在其下拉框中选择相应的硬件驱动,并点击“Settings”按钮对目标仿真硬件进行设置。图A-18 设置“Options for Target Target 1”对话框中的“Debug”页通过以上设置,就可以进行软件模拟调试了。单击工具栏中的“Start/Stop Debug Session”按钮,或者从“Debug”菜单中选中“Start/Stop Debug Session”项(其快捷键为Ctrl+F5),开始模拟调试过程。在调试过程中,可以进行如下操作:1.连续运行单击工具栏中

39、的按钮,或者“Debug”菜单中的“Run”(快捷键F5),可以使程序全速运行。2.停止程序运行当程序全速运行时,可以单击工具栏中的按钮,或者“Debug”菜单中的“Stop”,使程序停止运行。3.复位CPU当程序运行过一次以上后,累加器A、某些寄存器或者其它资源的值修改了,而再次运行需要恢复到初始状态,这时就需要执行复位CPU的命令。单击工具栏中的按钮,或者“Debug”菜单中的“Reset CPU”,可以使MCU恢复到初始状态。4.单步运行单击工具栏中的按钮,或者“Debug”菜单中的“Step”(快捷键F11),可以执行一行程序。如果遇到函数调用,则进入函数内部并单步运行。5.单步跳过函

40、数运行单击工具栏中的按钮,或者“Debug”菜单中的“Step Over”(快捷键F10),可以执行一行程序。如果遇到函数调用,则将函数调用看做一行程序运行,不进入函数内部运行。6.运行到当前函数的结束这种情况出现在单步运行后进入到函数内部运行程序,通过单击工具栏中的按钮,或者“Debug”菜单中的“Step Out”(快捷键Ctrl+F11),以运行到当前函数的结束。7.运行到光标行单击工具栏中的按钮,或者“Debug”菜单中的“Run to Cursor Line”(快捷键Ctrl+F10),可以执行到光标所在的程序行。8.设置断点在要设置断点的程序行上双击鼠标左键,或者单击工具栏上的按钮

41、,或者“Debug”菜单中的“Insert/Remove Breakpoint”(快捷键F9),可以在当前行上插入或者删除断点。只要在当前行上设置了断点,则在当前行的最左边显示一个红色的小方块。连续运行程序后,执行到该行时,程序会暂停运行。此时用户可以查看程序运行的一些中间状态和结果(累加器A、工作寄存器、SFR、数据存储器等)。9.查看寄存器当进入调试状态后,Keil Vision4集成开发环境中左侧的项目管理器,变成寄存器查看器。如图A-19所示。用户可以通过这个窗口观察工作寄存器、部分SFR的内容。图A-19 观察寄存器的内容10.查看变量及堆栈在调试状态中,在Keil Vision4集

42、成开发环境中的右下侧会出现如图A-20所示的窗口,即调用堆栈和变量查看窗口(使用C语言编程调试的时候常用)。图A-20 调用堆栈和变量查看窗口11.查看存储器在图A-20中单击Memory1选项卡则在在Keil Vision4集成开发环境中的右下侧会出现如图A-21所示的窗口,即存储器查看窗口。图A-21 存储器查看窗口默认情况下,想查看内部RAM(片内数据存储器)中的内容,需在“Address”编辑框中输入“D:0”并按回车键即可。拖动窗口的左边框可以调整窗口的大小,经过调整,最佳的显示范围如图A-22所示。图A-22 片内数据存储器查看窗口可以通过“View”菜单中的“Memory Win

43、dows”项,添加存储器查看窗口,这样可通过不同的窗口查看不同存储器的内容。例如,可再增加一个窗口查看外部RAM中的内容。如图A-23 所示,在在“Address”编辑框中输入“X:0”并按回车键即可。图A-23 片外数据存储器查看窗口要改变某个地址单元中的内容,可在上面双击鼠标左键即可修改;或者在要修改内容的单元上单击鼠标右键,弹出菜单,选择“Modify Memory at ”修改。通过弹出菜单,还可修改进制、有符号数、无符号数、ASCII码等“Address”编辑框一般输入格式如下:X:XXXX其中X为:D,查看内部RAM;X,查看外部RAM;I,查看间接访问的内部RAM;C,查看程序R

44、OM。XXXX为:查看的起始地址(0000HFFFFH)。12.查看外部设备单击菜单“Peripherals”可选择查看所选MCU集成的不同外部设备。例如:(1)“Interrupt”打开中断向量表窗口,在窗口里显示了所有的中断向量。如图A-24所示。对选定的中断向量可以用窗口下面的复选框进行设置。图A-24 中断向量表窗口(2)“I/O-Ports”:打开I/O端口(P0P3)的观察窗口,在窗口里显示了程序运行时的端口状态。可以随时查看并修改端口的状态,从而模拟外部的输入。例如,要查看P2口的状态,可打开P2口的观察窗口,如图A-25所示。当运行到第10行时,则如图A-26所示。图中标有“”的复选框表示这一位的值是1,没有的为0。对于不同的MCU,可能图A-25、图A-26的显示略有不同。图A-25 刚进入调试状态时P2口的查看窗口图A-26 运行到程序行第10行时P2口的查看窗口(3)“Serial”:打开串行口的观察窗口,可以随时修改窗口里显示的不同状态。(4)“Timer”:打开定时器的观察窗口,可以随时修改窗口里显示的不同状态。除此以外,对于不同公司生产的MCU,在“Peripherals”菜单中会出现很多与该型号MCU相关的外部设备资源菜单项。掌握了上述的操作过程,就可以进行基本的程序调试工作了。只有不断调试程序,

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

当前位置:首页 > 教育专区 > 成人自考

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁