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

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

《Keil-μVision4-集成开发环境与C语言程序设计.doc》由会员分享,可在线阅读,更多相关《Keil-μVision4-集成开发环境与C语言程序设计.doc(168页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateKeil-Vision4-集成开发环境与C语言程序设计第2章 5 1系列单片机的结构附录A Keil Vision4 集成开发环境与C语言程序设计Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。Keil公司由两家私人公司联合运营,分别是德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc。Kei

2、l公司制造和销售种类广泛的开发工具,包括ANSI C编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。其Keil C51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种80C51变种。Keil公司在2007年被ARM公司收购。其两家公司分别更名为ARM Germany GmbH和ARM Inc和。2009年2月,Keil公司发布了Keil Vision4,Keil Vision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,提供可在虚拟接口上随意

3、放置窗口的完整控制能力。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的80C51兼容芯片及ARM芯片,还添加了一些其他新功能,如系统查看器(System Viewer)窗口、多项目工作空间(Multi-Project Workspace)等。附A.1 Keil Vision4 集成开发环境附A.1.1简介Keil Vision4集成开发环境(Integrated Development Environment,IDE)是一个基于Windows的开发平台,它包含高效的源代码编辑器、项目(Project)管理器和程序生成(MA

4、KE)工具。Keil Vision4支持所有的80C51嵌入式应用工具,它包括C/C+编译器宏汇编器、连接/定位器和一个HEX文件生成器。Keil Vision4通过以下特性加速MCU嵌入式应用系统的开发过程: 全功能的源代码编辑器; 器件库用来配置开发工具设置; 项目管理器用来创建和维护项目; 集成的MAKE工具可以汇编、编译和连接用户的嵌入式应用; 所有开发工具的设置都是以对话框的形式出现的; 具有真正的源代码级的对CPU和外围器件的调试器; 高级GDI接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信; 与开发工具手册、器件数据手册和用户指南有直接的链接。1.C51 编译

5、器和A51汇编器源代码由Vision4创建,并被C51编译成A51汇编。编译器和汇编器从源代码生成可重定位的目标文件。Keil C51编译器完全遵照ANSIC语言标准,支持C语言的所有标准特性。另外,直接支持80C51结构的几个特性被添加里面。Keil A51宏汇编器支持80C51及其派生系列的全部指令集。2.LIB51库管理器LIB51库管理器允许从由编译器或汇编器生成的目标文件创建目标库。库是一种被特别地组织过并在以后可以被连接重用的对象模块。当连接器处理一个库时,仅仅那些被使用的目标模块才被真正使用。3.BL51连接器/定位器BL51连接器/定位器利用从库中提取的目标模块和由编译器或汇编

6、器生成的目标模块创建一个绝对地址的目标模块。一个绝对地址目标模块或文件包含不可重定位的代码和数据。所有的代码和数据被安置在固定的存储器单元中。此绝对地址目标文件可以用来:写入EPROM或其他存储器件。通过Vision4调试器来模拟和调试。通过仿真器来测试程序。4.OH51目标文件转换器OH51目标文件转换器可以把前面编译连接好的目标文件转换成能写入EPROM中的HEX文件。5. Vision4调试器Vision4源代码级调试器是一个理想的快速、可靠的程序调试器。此调试器包含一个高速模拟器,能够模拟整个8051系统,包括片上外围器件和外部硬件。当从器件库中选择器件时,这个器件的特性将自动配置。V

7、ision4调试器为在实际目标板上测试程序提供了以下2种方法:安装MON51目标监控器到目标系统并且通过Monitor-51接口下载程序;利用高级的GDI(AGDI)接口,把Vision4调试器绑定到目标系统。6.Monitor-51Vision4调试器支持用Monitor-51进行目标板调试。此监控程序驻留在目标板的存储器里,它利用串口和Vision4调试器进行通信。利用Monitor-51,Vision4调试器可以对目标硬件实行源代码级的调试。7.RTX-51实时操作系统RTX-51实时操作系统是一个针对8051系统的多任务核。RTX-51实时内核从本质上简化了对实时事件反应速度要求高的复

8、杂应用系统的设计、编程和调试。RTX-51实时内核是完全集成到C51编译器中的,从而方便使用。任务描述表和操作系统的连接由BL51连接器/定位器自动控制。附A.1.2安装了解了Keil Vision4的一些基本概况后,下面开始在计算机上搭建MCU的集成开发环境。操作步骤如下:首先准备Keil Vision4安装源文件,双击Vision4的Setup安装文件,弹出Keil Vision4安装的欢迎界面,如图A-1所示。图A-1 Keil Vision4欢迎界面单击“Next”按钮,弹出“License Agreement”对话框,如图A-2所示。这里显示了一些用户安装的协议和许可的要求,选择“I

9、 agree to all the terms of the preceding License Agreement”即可,否则无法进入下一步。图A-2 “License Agreement”对话框单击“Next”按钮,弹出“Folder Selection”对话框,如图A-3所示。系统默认安装在“C:Keil”文件夹下。在这里,单击“Browse”按钮,可以选择安装的目录。图A-3 “Folder Selection”对话框单击“Next”按钮,弹出”Customer Information”对话框,如图A-4所示。此时,用户需要输入用户名、公司名称和E-mail,缺一不可。图A-4 用户信

10、息输入单击”Next”按钮,下面便开始自动安装。Keil Vision4安装完成后,弹出安装完成对话框,如图A-5所示。这里的几个选项的含义如下。图A-5 完成安装Show Release Notes:显示安装的版本注释信息。Add Example projects to the recently used project list:添加一个示例程序到当前项目列表中。Retain currentVision configuration:保持当前的设置(如果是第一次安装,则不存在这个选项)。最后,单击Finish按钮,便可以结束Keil Vision4集成开发环境的安装。需要注意的是,刚刚安装完

11、的版本是试用版(Evaluation Version),代码长度有2KB限制。如果代码长度超过2KB,可与Keil公司()联系,购买LIC(License ID Code)。附A.1.3 Keil Vision4集成开发环境界面安装完成后,会在桌面上出现Keil Vision4程序的图标,并在“开始”程序里增加“Keil Vision4”程序项。从“开始”程序里选择“Keil Vision4”程序项或者直接双击桌面上的Keil Vision4程序图标,即可启动Keil Vision4。启动Keil Vision4后,如果是第一次运行,则打开工程项目“Hello”,如图A-6所示。图A-6 Ke

12、il Vision4集成开发环境界面这里可以看到,Keil Vision4集成开发环境具有典型的Windows界面风格。整个编程界面主要包括菜单栏、工具栏、项目管理区、源代码工作区和输出信息窗口。另外,还有一些功能窗口将在后面逐步介绍。下面我们将带领读者逐一认识Keil Vision4集成开发环境的主要组成部分。附A.1.4 Keil Vision4菜单命令Keil Vision4的菜单栏提供了项目操作、编辑操作、编译调试及帮助等各种常用操作。所有的操作基本上都可以通过菜单命令来实现。为了快速执行Keil Vision4的许多功能,有些菜单命令在工具栏上还具有工具条。为了更快速执行一些功能,K

13、eil Vision4提供了比工具栏上的工具条更为快捷的操作,即快捷键。在Keil Vision4集成开发环境中不仅提供了常用功能的默认快捷键,同时用户也可以根据自己的需要自定义快捷键。下面就菜单命令、工具条、快捷键分别进行介绍。1File菜单File菜单和标准的Windows软件的File菜单类似,提供了项目和文件的操作功能。File菜单各个命令的功能如表A-1所示。表A-1 File菜单菜单命令工具条快捷键功能说明NewCtrl+N创建一个新的空白文件OpenCtrl+O打开一个已存在的文件Close关闭当前打开的文件SaveCtrl+S保存当前打开的文件Save as当前文件另存为Sav

14、e all保存所有打开的文件Device Database打开器件库License Management产品注册管理Print Setup设置打印机PrintCtrl+P打印当前文件Print Preview打印预览1 . 10列出最近打开的源文件或文本文件Exit退出KeilVision42Edit菜单Edit菜单提供了常用的代码编辑操作命令。Edit菜单各个命令的功能如表A-2所示。表A-2 Edit菜单菜单命令工具条快捷键功能说明UndoCtrl+Z取消上次操作RedoCtrl+Y重复上次操作CutCtrl+X剪切选定的内容CopyCtrl+C复制选定的内容PasteCtrl+V粘贴已复

15、制的内容Navigate BackwardsCtrl+Shift+-光标移动到使用Find或go to line命令的前一行Navigate ForwardsCtr+-光标移动到使用Find或go to line命令的后一行Insert/Remove BookmarkCtrl+F2设置/取消当前行的标签Go to Next BookmarkF2光标移动到下一个标签Go to Previous BookmarkShift+F2光标移动到上一个标签Clear All BookmarksCtrl+Shift+F2清除当前文件的所有标签FindCtrl+F在当前文件中查找ReplaceCtrl+H替换

16、Find in FilesCtrl+Shift+F 在多个文件中查找Incremental FindCtrl+I渐进式寻找Outlining源代码概要显示模式Advanced各种高级编辑命令Configuration颜色、字体等高级配置3View菜单View菜单提供了在源代码编辑和仿真调试过程中,各个窗口和工具栏的显示和隐藏命令。View菜单各个命令的功能如表A-3所示。表A-3 View菜单菜单命令工具条功能说明Status Bar显示/隐藏状态条Toolbars显示/隐藏工具栏Project Window显示/隐藏项目管理窗口Books Window显示/隐藏参考书窗口Functions

17、Window显示/隐藏函数窗口Templates Window显示/隐藏模板窗口Source Browser Window显示/隐藏资源浏览器窗口Build Output Window显示/隐藏输出信息窗口Find in Files Window显示/隐藏在所有文件中查找文本窗口Full Screen显示/隐藏全屏显示窗口调试模式下的菜单命令Command Window显示/隐藏命令行窗口Disassembly Window显示/隐藏反汇编窗口Symbols Window显示/隐藏字符变量窗口Registers Window显示/隐藏寄存器窗口Call Stack Window显示/隐藏堆栈窗

18、口Watch Windows显示/隐藏变量子菜单观察窗口Memory Windows显示/隐藏存储器子菜单窗口Serial Windows显示/隐藏串行口观察子菜单窗口Analysis Windows显示/隐藏分析子菜单窗口Trace显示/隐藏跟踪子菜单窗口System Viewer显示/隐藏外设子菜单窗口Toolbox Window显示/隐藏自定义工具条窗口Periodic Window Update在程序运行时刷新调试窗口4Project菜单Project菜单提供了MCU项目的创建、设置和编译等命令。Project菜单各个命令的功能如表A-4所示。表A-4 Project菜单菜单命令工具条

19、快捷键功能说明New Vision Project.创建新项目New Multi-Project Workspace.创建多项目工作空间Open Project.打开一个已存在的项目Close Project关闭当前项目Export导出当前一个或多个项目为Vision3格式Manage管理项目的包含文件、库的路径及多项目工作空间Select Device for Target name.为当前项目选择一个MCU类型Remove object从当前项目中移除选择的文件或项目组Options for objectAlt+F7设置当前文件、项目或项目组的配置选项Clean target清除编译过程中

20、创建的中间文件Build targetF7编译文件并生成应用文件Rebuild all target files重新编译所有文件并生成应用文件Batch Build.批量编译文件并生成应用文件Translate fileCtrl+F7编译当前文件Stop build停止编译当前项目1 . 10列出最近打开的项目(最多10个)5Flash菜单Flash菜单提供了下载程序、擦除MCU程序存储器等操作。这里的命令需要外部的编程器支持才可以使用。Flash菜单各个命令的功能,如表A-5所示。表A-5 Flash菜单菜单命令工具条功能说明Download下载MCU程序Erase擦除程序存储器Config

21、ure Flash Tools.打开配置工具6Debug菜单Debug菜单中的命令大多用于仿真调试过程中,提供了断点、调试方式及逻辑分析等功能。Debug菜单各个命令的功能如表A-6所示。表A-6 Debug菜单菜单命令工具条快捷键功能说明Start/Stop Debug SessionCtrl+F5开始/停止仿真调试模式Reset CPU复位CPU(MCU)RunF5运行程序,直到遇到一个断点Stop停止运行程序StepF11单步执行程序,遇到子程序则进入Step overF10单步执行程序,跳过子程序Step outCtrl+F11程序执行到当前函数的结束Run to Cursor lin

22、eCtrl+F10程序执行到光标所在行Show Next Statement显示下一条指令BreakpointsCtrl+B打开断点对话框Insert/Remove BreakpointF9设置/取消当前行的断点Enable/Disable BreakpointCtrl+F9使能/禁止当前行的断点Disable All Breakpoints禁用所有断点Kill All BreakpointsCtrl+Shift+F9取消所有断点OS Support打开查看事件、任务及系统信息的子菜单Execution Profiling打开一个带有配置选项的子菜单Memory Map打开存储器空间配置对话框

23、Inline Assembly对某一行进行重新汇编,可以修改汇编代码Function Editor (Open Ini File)编辑调试函数和调试配置文件Debug Settings设置调试参数7Peripherals菜单Peripherals菜单提供了MCU各种硬件资源的仿真对话框。这里的所有命令都只在仿真调试环境下才显示并可以使用,而且显示的资源内容随用户选择的MCU型号的不同而不同。这里列出一些常用到的Peripherals菜单命令的功能,如表A-7所示。表A-7 Peripherals菜单菜单命令功能说明Interrupt打开中断仿真对话框I/O Ports打开并行端口仿真对话框Se

24、rial打开串口仿真对话框Timer打开定时器仿真对话框Watchdog打开看门狗仿真对话框A/D Converter打开A/D转换器仿真对话框D/A Converter打开D/A转换器仿真对话框IC Controller打开I2C总线控制器仿真对话框CAN Controller打开CAN总线控制器仿真对话框8Tools菜单Tools菜单提供了一些第三方软件的支持,例如PC-Lint。用户需要额外安装相应的软件才可以使用。Tools菜单一般使用得比较少,这里仅列出各个命令的功能,如表A-8所示。表A-8 Tool菜单菜单命令功能说明Set-up PC-Lint配置PC-Lint程序Lint用P

25、C-Lint程序处理当前编辑的文件Lint All C-Source Files用PC-Lint程序处理项目中所有的C源代码文件Customize Tools Menu.自定义工具菜单9SVSC菜单SVSC菜单提供了程序的版本控制,该菜单下仅包括“Configure Version Control”一个命令,用于配置软件版本。另外,Windows菜单下提供了对工作区窗口布局的管理,Help菜单提供了一些帮助信息,这里不再具体介绍。附A.2 Keil Vision4汇编语言程序的调试方法Keil Vision4集成开发环境中包括一个项目管理器,它可以使基于80C51内核的MCU应用系统设计变得简

26、单。要创建一个应用,需要按下列步骤操作:1.启动Keil Vision4,新建一个项目文件并从器件库中选择一个器件;2.新建一个源文件并把它加入到项目中;3. 设置目标硬件选项;4.编译项目并生成可以编程到程序存储器的HEX文件;5. 软件模拟调试及下载到MCU中进行仿真调试。下面通过一个实例,详细介绍如何在Keil Vision4集成开发环境中调试80C51系列MCU的汇编语言程序。【例A-1】假设晶振频率为11.0592MHz,将MCU片外RAM中40H5FH单元中的内容全部移到片内相同地址区域,并将原数据区全部清零。附A.2.1启动Keil Vision4并创建一个项目双击桌面Keil

27、Vision4程序图标或单击开始菜单中的Keil Vision4程序项,启动Keil Vision4集成开发环境。要新建一个项目文件,可以从Keil Vision4的Project菜单中选择“New Project”项,打开“Create New Project”对话框,如图A-7所示。图A-7 “Create New Project”对话框在此对话框的“文件名”栏中输入项目文件名。建议为每一个项目建立一个独立的文件夹。首先,在下拉列表中选择要保存的位置,最好选择逻辑盘D或E(不要保存在系统盘C,避免因系统重新安装而丢失文件)。单击“新建文件夹”,得到一个空文件夹,给该文件夹重命名为“test

28、”(文件夹的名字最好能够体现项目名称)。双击该文件夹,在“文件名(N)”栏中输入项目的名称,如“movedata”,创建一个文件名为“movedata.uvproj”的新项目文件。单击“保存(S)”按钮,将弹出“Select Device for Target Target 1”对话框,提示为项目选择一个MCU。在该对话框中,“Data base”列表框中显示出各个MCU的生产商。首先找到选用的MCU生产商,单击前面的“+”号,显示出Keil Vision4所支持的该公司的MCU型号列表,单击其中选定的MCU型号。如本例中,选择Atmel公司的型号为AT89S52的MCU,如图A-8所示。图A

29、-8 “Select Device for Target Target 1”对话框单击“OK”按钮,弹出如图A-9所示的对话框,提示是否将标准8051启动代码复制到项目文件夹中并将该文件添加到项目中去。图A-9 复制启动代码提示对话框在Keil Vision4中,启动代码在复位目标系统后立即被执行。启动代码主要实现以下功能: 清除内部数据存储器; 清除外部数据存储器; 清除外部页存储器; 初始化small模式下的可重入栈和指针; 初始化large模式下的可重入栈和指针; 初始化compact模式下的可重入栈和指针; 初始化8051硬件栈指针; 传递初始化全局变量的控制命令或者在没有初始化全局变

30、量时给main函数传递命令。在每一个启动文件中,提供了可供用户自己修改有来控制程序执行的汇编常量。如果只是调试简单程序,可以选择“否(N)”,如果项目复杂可选择“是(Y)”。用户可根据需要修改启动代码,但一般不建议修改启动代码。附A.2.2新建一个源文件并把它加入到项目中从“File”菜单中选择“New”项新建一个源文件,或者单击工具栏上的按钮,打开一个空白的编辑窗口,用户可以输入程序源代码。输入以下程序源代码: ORG0000H LJMP MAIN ORG 0040HMAIN: MOVSP,#70HMOV R0,#40H MOVR1,#20HLOOP:MOV P2,#00H; 软件仿真时必须

31、有MOVX A,R0 MOV R0,A MOV A,#00H MOVX R0,A INC R0 DJNZ R1,LOOP END从“File”菜单中选择“Save”项或者单击工具栏中的保存按钮,将文件保存为想要的名字。如果使用汇编语言编写程序,则文件的后缀名是:.asm或者.a51,如test.asm,如图A-10所示(如果使用C语言编写程序,则文件的后缀名是:.c,以下步骤与汇编语言程序相同)。保存后,Keil Vision4将高亮显示汇编语言语法字符,如图A-11所示。图A-10 保存源文件图A-11 保存后程序显示界面源文件创建完成后,就可以将它加入到项目中(如不加入,则无法对此文件操作

32、)。Keil Vision4提供了几种方法让用户把源文件加入到项目中。(1)在“Project Workspace”(项目管理器)窗口中单击“Target 1”前面的“+”号,展开下一层的“Source Group 1”文件夹,在“Source Group 1”文件夹上单击鼠标右键,弹出快捷菜单,如图A-12所示。从弹出的快捷菜单中单击“Add Files to Group Source Group 1”项,弹出“Add Files to Group Source Group 1”对话框,如图A-13所示。图A-12 将源文件加入到项目中图A-13 “Add Files to Group So

33、urce Group 1”对话框在该对话框中,默认的文件类型是“C Source file (*.c)”。若使用汇编语言进行设计,则需要从“文件类型”下拉列表框中选择“Asm Source file (*.S*;*.src;*.a*)”文件类型。这样,以.asm为扩展名的汇编语言程序文件才会出现在文件列表框中。从文件列表框中选择要加入的文件并双击即可添加到项目中;也可以单击选中文件,然后单击“Add”按钮将该文件加入项目中。添加文件后,对话框不会自动关闭,而是继续等待添加其它文件,用户可单击“Close”按钮,关闭对话框。当给项目添加文件成功后,项目管理器的“Source Group 1”文件

34、夹前面会出现“+”号,单击它可看到test.asm文件已经包含在项目中了。双击它即可打开进行修改。附A.2.3设置目标硬件选项Keil Vision4允许用户为目标硬件设置选项。可以通过单击工具条图标、菜单“Project”的“Options for Target Target 1”项或者在“Project Workspace”窗口的“Target 1”上单击鼠标右键,打开“Options for Target Target 1”对话框。在各选项卡中,可以修改与目标硬件及所选MCU的片上集成器件的所有参数,如图A-14所示。图A-14 Options for Target Target 1对话

35、框主要设置CPU的时钟频率、编译器的存储模式等。晶振频率设置应与实际使用的晶振频率相同。如果仅进行软件模拟调试,则采用默认设置即可。附A.2.4编译项目并生成可以编程到程序存储器的HEX文件单击工具栏中的“Rebuild”图标,可以编译所有的源文件并生成应用。当程序中有语法错误时,Keil Vision4将在“Build Output”窗口显示错误或者警告信息。双击一行错误提示信息,将打开此信息对应的文件,并定位到语法错误处,如图A-15所示。在错误信息上双击鼠标,光标会自动定位到出现该错误的程序行上。例如,如图A-15所示,出现“test.asm(15): error A45: UNDEFI

36、NED SYMBOL (PASS-2)”(未定义符号)错误信息,双击该信息,光标定位到出现该错误的行上。用户很容易发现错误原因是将标号“LOOP”错写成“LOO”,漏掉字母P。由输入引起的用户常犯的编译错误还有:错将数字0输成字母o,使用中文输入法输入了全角逗号(,)和冒号(:),大于9FH(如A8H)的十六进制数忘记在前面加上数字0(正确写法0A8H)等。根据错误信息提示,修改程序中出现的错误,直到编译成功为止。一旦编译成功,则显示如图A-16所示信息。提示信息最后一行为“movedata - 0 Error(s), 0 Warning(s).”,不但没有错误,而且最好也没有警告。需要注意的

37、是,Keil Vision4默认是不生成HEX文件的。这时就需要设置目标硬件选项中的“Output”选项卡,选中“Create HEX File”前面的复选框,如图A-17所示。 图A-15 编译出现错误信息时的提示图A-16 编译成功提示信息图A-17 生成HEX文件的选项附A.2.5软件模拟调试及下载到MCU中进行仿真调试一旦编译成功,就可以进行程序的仿真调试了。对于程序的调试,有两种方式:一种是软件模拟仿真调试,另一种就是下载到硬件仿真器或者MCU中进行在线仿真调试。一般情况下,首先使用软件模拟仿真调试,通过之后,再用硬件仿真器或者直接下载到MCU中进行在线仿真调试。由于软件模拟仿真调试

38、与在线仿真调试方法基本相同,所以就以软件模拟仿真调试为例,介绍程序的调试方法。为了对前面编写的程序能够在不连接硬件仿真器或者MCU的情况下进行仿真调试(即软件模拟),需对Keil Vision4做一下设置。按照2.3设置目标硬件选项打开“Options for Target Target 1”对话框,选中“Debug”页,如图A-18所示。一般情况下,如果没有进行硬件仿真,则“Use Simulator”单选框是默认选中的,此时,进行软件模拟调试,其它选项不做修改;否则,则选中“Use:”单选框,并在其下拉框中选择相应的硬件驱动,并点击“Settings”按钮对目标仿真硬件进行设置。图A-18

39、 设置“Options for Target Target 1”对话框中的“Debug”页通过以上设置,就可以进行软件模拟调试了。单击工具栏中的“Start/Stop Debug Session”按钮,或者从“Debug”菜单中选中“Start/Stop Debug Session”项(其快捷键为Ctrl+F5),开始模拟调试过程。在调试过程中,可以进行如下操作:1.连续运行单击工具栏中的按钮,或者“Debug”菜单中的“Run”(快捷键F5),可以使程序全速运行。2.停止程序运行当程序全速运行时,可以单击工具栏中的按钮,或者“Debug”菜单中的“Stop”,使程序停止运行。3.复位CPU当

40、程序运行过一次以上后,累加器A、某些寄存器或者其它资源的值修改了,而再次运行需要恢复到初始状态,这时就需要执行复位CPU的命令。单击工具栏中的按钮,或者“Debug”菜单中的“Reset CPU”,可以使MCU恢复到初始状态。4.单步运行单击工具栏中的按钮,或者“Debug”菜单中的“Step”(快捷键F11),可以执行一行程序。如果遇到函数调用,则进入函数内部并单步运行。5.单步跳过函数运行单击工具栏中的按钮,或者“Debug”菜单中的“Step Over”(快捷键F10),可以执行一行程序。如果遇到函数调用,则将函数调用看做一行程序运行,不进入函数内部运行。6.运行到当前函数的结束这种情况

41、出现在单步运行后进入到函数内部运行程序,通过单击工具栏中的按钮,或者“Debug”菜单中的“Step Out”(快捷键Ctrl+F11),以运行到当前函数的结束。7.运行到光标行单击工具栏中的按钮,或者“Debug”菜单中的“Run to Cursor Line”(快捷键Ctrl+F10),可以执行到光标所在的程序行。8.设置断点在要设置断点的程序行上双击鼠标左键,或者单击工具栏上的按钮,或者“Debug”菜单中的“Insert/Remove Breakpoint”(快捷键F9),可以在当前行上插入或者删除断点。只要在当前行上设置了断点,则在当前行的最左边显示一个红色的小方块。连续运行程序后,

42、执行到该行时,程序会暂停运行。此时用户可以查看程序运行的一些中间状态和结果(累加器A、工作寄存器、SFR、数据存储器等)。9.查看寄存器当进入调试状态后,Keil Vision4集成开发环境中左侧的项目管理器,变成寄存器查看器。如图A-19所示。用户可以通过这个窗口观察工作寄存器、部分SFR的内容。图A-19 观察寄存器的内容10.查看变量及堆栈在调试状态中,在Keil Vision4集成开发环境中的右下侧会出现如图A-20所示的窗口,即调用堆栈和变量查看窗口(使用C语言编程调试的时候常用)。图A-20 调用堆栈和变量查看窗口11.查看存储器在图A-20中单击Memory1选项卡则在在Keil

43、 Vision4集成开发环境中的右下侧会出现如图A-21所示的窗口,即存储器查看窗口。图A-21 存储器查看窗口默认情况下,想查看内部RAM(片内数据存储器)中的内容,需在“Address”编辑框中输入“D:0”并按回车键即可。拖动窗口的左边框可以调整窗口的大小,经过调整,最佳的显示范围如图A-22所示。图A-22 片内数据存储器查看窗口可以通过“View”菜单中的“Memory Windows”项,添加存储器查看窗口,这样可通过不同的窗口查看不同存储器的内容。例如,可再增加一个窗口查看外部RAM中的内容。如图A-23 所示,在在“Address”编辑框中输入“X:0”并按回车键即可。图A-2

44、3 片外数据存储器查看窗口要改变某个地址单元中的内容,可在上面双击鼠标左键即可修改;或者在要修改内容的单元上单击鼠标右键,弹出菜单,选择“Modify Memory at ”修改。通过弹出菜单,还可修改进制、有符号数、无符号数、ASCII码等“Address”编辑框一般输入格式如下:X:XXXX其中X为:D,查看内部RAM;X,查看外部RAM;I,查看间接访问的内部RAM;C,查看程序ROM。XXXX为:查看的起始地址(0000HFFFFH)。12.查看外部设备单击菜单“Peripherals”可选择查看所选MCU集成的不同外部设备。例如:(1)“Interrupt”打开中断向量表窗口,在窗口里显示了所有的中断向量。如图A-24所示。对选定的中断向量可以用窗口下面的复选框进行设置。图A-24 中断向量表窗口(2)“I/O-Ports”:打开I/O端口(P0P3)的观察窗口,在窗口里显示了程序运行时的端口状态。可以随时查看并修改端口的状态,从而模拟外部的输入。例如,要查看P2口的状态,可打开P2口的观察窗口,如图A-25所示。当运行到

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

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com