Keil软件及其调试功能简介.
- 格式:doc
- 大小:25.00 KB
- 文档页数:3
使用Keil软件模拟调试单片机串行口单片机串行口是单片机中很常见的接口之一,常用于与外界通讯,如与PC机通讯,接收或发送数据等。
Keil软件可以帮助我们模拟及调试单片机串行口,下面是详细介绍。
一、Keil软件简介Keil是一款强大的单片机编程软件,具有模拟器和仿真器。
其可支持多种嵌入式系统和多种编译器。
同时Keil具有标准C 编译器,专门用于单片机编程,而且具有与某些模拟器和编译器的集成,可提供完整的嵌入式开发环境。
二、使用Keil软件模拟1. 连接软件与硬件在开始模拟之前,需要将单片机与电脑通过串口连接好。
打开“Options for Target”对话框,选择“Debug”选项卡,选择正确的COM 端口,设置存根速度,完成调试设置。
2. 添加串行口文件在Keil软件中打开设计文件,键入“#include <reg52.h>”来添加注册头文件,其中包含了需要使用串口的相关寄存器位。
利用如下代码,可以对串行口的各项参数进行设置,例如波特率、校验位等等。
void init(){SCON = 0X50; //使串口工作在方式1,即8位数据,可变波特率TMOD |= 0X20; //TMOD的高4位设为0010,使Timer1工作在方式2TH1 = 0XF3; //波特率设为2400bpsTL1 = 0XF3;TR1 = 1; //启动Timer1ES = 1; //开启串口中断EA = 1; //打开总中断}3. 编写数据收发代码在调用串口的过程中,我们往往需要使用到接收和发送两个函数。
在接收方面,我们需要设置好接收中断模式以及缓冲区的异步处理。
编写简单的数据接收收发代码如下:void send_data(unsigned char dat){SBUF = sdat; //将数据传输到SBUF当中while(!TI); //等待发送完成TI = 0; //完成发送}unsigned char receive_data(){while(!RI); //等待接收完成RI = 0; // 完成接收return SBUF; // 返回接收缓冲区}4. 最后进行模拟完成串行口配置和数据处理之后,就可以开始模拟调试了。
keil使用介绍-回复Keil使用介绍Keil是一款广泛应用于嵌入式系统开发中的集成开发环境(IDE),其提供了一套全面的工具链,包括了编译器、汇编器、调试器以及仿真器等,帮助开发人员进行嵌入式软件的开发与调试。
本文将一步一步地介绍Keil 的安装、项目创建、编译与调试等相关操作,以帮助初学者快速上手使用Keil进行嵌入式开发。
一、Keil的安装1. 下载Keil安装包:首先,我们需要从Keil官方网站上下载合适的Keil安装包。
根据自己所使用的嵌入式处理器类型,选择对应的Keil版本进行下载。
2. 运行安装程序:下载完成后,双击安装程序进行安装。
按照安装程序的引导,选择安装路径和组件安装选项等,然后等待安装完成。
3. 激活Keil许可证:安装完成后,首次打开Keil时,系统会要求激活Keil许可证。
根据提示输入许可证信息,完成激活过程。
二、Keil项目创建1. 新建项目:打开Keil,点击菜单栏的“Project”选项,然后选择“New Project”来创建一个新的项目。
2. 选择处理器类型:在弹出的对话框中,选择适用于您的嵌入式处理器的型号。
如果您的处理器不在列表中,您可以选择最接近的型号。
3. 选择存储路径:在下一个对话框中,选择您想要存储项目的路径,并给您的项目命名。
单击“Save”按钮进行保存。
4. 配置工程选项:在项目创建完成后,Keil会自动打开“Options for Target”窗口。
在该窗口中,您可以配置项目的各项参数,包括编译器设置、目标设备选项和调试设置等。
三、Keil编写与编译1. 新建源文件:在项目资源管理器中,右键单击项目名称,选择“Add New Item”来添加新的源文件。
您可以选择添加C文件、汇编文件或者其他类型的源文件。
2. 编写源代码:双击新建的源文件,进入编辑器界面,开始编写您的嵌入式软件代码。
3. 编译项目:在Keil菜单栏中选择“Project”选项,然后选择“Build target”来编译您的项目。
keil调试汇编语言首先要介绍一下Keil,Keil是一种专门用于嵌入式系统中的集成开发环境,它可以用来编译,调试和仿真嵌入式系统中的C和汇编程序。
在Keil中调试汇编语言需要掌握几个方面:1. Keil中的窗口在Keil中,有许多窗口可以用来查看或编辑代码,例如Project 窗口、Command窗口、Disassembly窗口等。
其中比较重要的是Debug 窗口,它可以用来监视程序的执行,包括CPU寄存器值、内存地址和指令执行情况等。
同时,它也可以用来设置断点、单步执行程序等调试操作。
2.调试命令在Keil中,有许多调试命令可以用来操作程序的执行。
例如,Step Over可以用来执行当前指令,并移动到下一条指令,Step Into 可以用来进入当前指令所调用的子程序中执行,而Step Out则可以用来退出当前子程序的执行。
除此之外,还有一些命令可以用来设置断点、修改寄存器值等调试操作。
3.汇编指令在调试汇编语言程序时,需要熟悉各种汇编指令的用途和语法。
例如,MOV可以用来将一个值从一个寄存器移动到另一个寄存器中,ADD可以用来将两个值相加并将结果存储到一个寄存器中等等。
同时,还需要了解一些特殊的汇编指令,例如INT可以用来触发中断,JMP可以用来跳转到指定的地址等。
4.内存映像调试汇编语言程序时,可以通过内存映像来查看程序在内存中的执行情况。
在Keil中,可以用Memory窗口来查看各个地址中的值,并根据需要修改它们。
同时,也可以使用Watch窗口来监视某个变量或内存地址的变化,并在程序执行时实时显示它们的值。
总体来说,调试汇编语言程序需要先熟悉Keil中的窗口和调试命令,同时还需要了解汇编指令的语法和用途,并能够使用内存映像来查看程序在内存中的执行情况。
此外,还需要有耐心和细心,仔细观察程序的执行情况,并通过断点和单步执行等操作来排查程序中的问题。
keil调试高级用法Keil是一款非常常用的嵌入式开发工具,用于开发和调试嵌入式系统。
它具有强大的功能和灵活的调试选项,可以帮助开发人员有效地调试代码。
在本文中,我将介绍一些Keil调试的高级用法,以帮助用户更好地利用该工具进行嵌入式系统的调试。
一、单步调试单步调试是Keil中最基本的调试功能之一、通过单步调试,我们可以一次执行一条机器指令,以逐行检查代码的执行情况。
Keil提供了多种单步调试的选项,包括单步进入(Step Into),单步跳过(Step Over),单步返回(Step Return)等。
- 单步进入(Step Into): 当程序运行到函数调用语句时,可以使用这个选项进入被调用函数并逐行执行。
- 单步跳过(Step Over): 当程序运行到函数调用语句时,可以使用这个选项跳过被调用函数,直接执行下一行代码。
- 单步返回(Step Return): 当程序运行到函数返回语句时,可以使用这个选项返回到调用该函数的地方,并继续执行下一行代码。
通过这些单步调试选项,我们可以有效地检查代码的执行情况,查找代码中的错误。
二、设置断点设置断点是Keil中另一个常用的调试功能。
通过设置断点,我们可以在代码的其中一行上暂停程序的执行,以便检查变量的值和程序的状态。
Keil提供了多种类型的断点,包括软件断点(Software Breakpoint)、数据断点(Data Breakpoint)和条件断点(Conditional Breakpoint)等。
- 软件断点(Software Breakpoint): 在程序的其中一行上设置软件断点,程序执行到该行时将会暂停。
这对于调试复杂的代码非常有用。
- 数据断点(Data Breakpoint): 在一些特定的变量上设置数据断点,当该变量的值发生变化时,程序将会暂停。
这对于调试特定变量的值变化非常有用。
- 条件断点(Conditional Breakpoint): 在一些条件上设置断点,当条件满足时,程序将会暂停。
Keil软件以及程序下载软件使用简介Keil是当前最流行的MCS51单片机开发软件,可以用它来汇编你的汇编语言源程序,编译你的C语言源程序,连接和重定位你的目标文件和库文件,创建HEX文件,调试你的目标程序。
现在有Keil uVision2和uVision3两种版本,程序界面稍有不同,我们主要使用uVision2。
一、Keil uVision2开发环境的使用使用Keil uVision2软件开发单片机程序的步骤一般分如下几步:(1)建立一个新项目(2)建立并编辑源程序文件(3)将源程序文件添加到项目中(4)编译项目,生成目标文件下面通过一个程序的设计过程,详细介绍每一个步骤。
1. 建立一个新项目uVision2是一个标准Windows应用程序,直接点击程序图标就可以启动它。
在windows XP操作系统的桌面上,点击“开始/所有程序”下的Keil uVision2菜单项,启动Keil uVision2软件,如图1所示。
新建一个项目的步骤如图2所示,从uVision2的Project菜单中选择New Project,将打开一个对话框,此对话框要求你输入项目名称。
建议你为每个项目建一个单独的文件夹。
你可以在弹出的对话框中点击新建文件夹的图标来得到一个空的文件夹,然后选择子文件夹并键入项目的名称,如“Project1”,点击[确定]。
这时会弹出“Select Device for Target”对话框,要求选择单片机型号(与目标板型号一致),这里我们假设选择Atmel公司的AT89C51,点击[确定],这样就创建了一个名字为Project1的新项目。
图1 启动Keil uVision2图2 建立新项目2.建立并编辑源程序文件可以用菜单选项File-New来新建一个源文件。
这将打开一个空的编辑窗口让你输入你的源代码。
当你把此文件另存为*.ASM的文件后,uVision2将高亮显示汇编语言语法字符。
我们把我们的例子程序保存为lianxi1.ASM,如图3所示。
Keil软件仿真调试简介Keil软件是ARM公司推出的一款集成开发环境(IDE),提供了编译器、调试器、仿真器、代码库和辅助工具等多种功能。
其中仿真器(Simulator)是Keil软件的主要功能之一,可以方便地对嵌入式系统进行模拟测试和调试,以达到开发的目的。
在Keil软件中,仿真调试(Simulation Debugging)是一种常见的调试方式,其主要思想是通过用实际输入数据替换程序输入参数,执行程序并输出实际的运行结果,与预期结果进行比较,进而找到程序的错误以及解决问题。
仿真调试的原理当我们进行仿真调试时,Keil软件会将程序文件加载到仿真器中进行模拟的运行,仿真器负责模拟CPU、中断、时钟、IO等外设的运行状态,使得程序在仿真环境中能够运行。
仿真调试的实现主要有两种方式:单步调试和断点调试。
单步调试单步调试(Step-by-Step Debugging)指的是在程序运行过程中,每执行一行指令都会停止,通过查看每个变量的值来进行调试的过程。
单步调试可以帮助程序员快速定位程序中可能的问题,并及时进行修改。
在Keil软件中,单步调试可以通过F10和F11快捷键来实现。
断点调试断点调试(Breakpoint Debugging)指的是在程序中设置停止执行的断点,当程序执行到断点处时,程序就会停止运行,执行者就可以检查变量值、栈信息等各种环境,找到程序的问题。
在Keil软件中,断点调试可以通过F9键来设置。
常用仿真调试功能Keil软件提供了众多仿真调试功能,常用的功能包括:数据查看窗口在Keil软件中,可通过打开数据查看窗口(Watch Window)来查看变量值的对应信息。
数据查看窗口主要由寄存器、内存和变量组成,可以通过添加、删除变量、地址以及其他类型来满足用户不同的需求。
显示ASM窗口ASM窗口是一个汇编指令窗口,可以将C语言源程序翻译成相应的汇编指令。
采用汇编语言的程序员可以在此窗口中检查程序的底层代码实现、地址分配等信息。
实验一 Keil软件的使用及简单程序的调试方法一、实验目的掌握Keil的使用方法和建立一个完整的单片机汇编语言程序的调试过程及方法。
二、实验器材计算机1台三、实验内容1.Keil的使用方法。
2.建立一个单片机汇编语言程序的调试过程及方法四、实验步骤1.Keil的使用方法。
Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。
启动Keil 后的界面如下:几秒钟后即进入Keil的编辑界面。
用户便可建立项目及应用程序。
2.简单程序的调试方法Keil是通过项目工程来管理汇编程序的。
因此在调试程序前必须建立一个工程,工程名称及保存位置由用户来指定,注意每位同学的工程名称用“学号姓名实验*”来命名。
(1)建立一工程单击Project菜单,在弹出的下拉菜单中选中New Project选项。
并在弹出的对话框中确定保存的位置及工程名称。
又弹出一对话框,要求用户选择相应的硬件CPU及相关设置。
选择Atmel公司的AT89C51单片机。
如下图所示单击“确定”后在弹出的对话框中行选择“否”即工程建好了,但该工程没有任何语句,需要再建一个程序文件并将其添加到此工程中。
(2)建一文件单击“File”/“New”命令,则弹出文件的编辑窗口,此时该文件还没有指明其文件名称及保存位置,该文件还没有加载到所建立的工程中。
单击“File”/“Save”命令在弹出的对话框中指明文件的类型为.ASM汇编型及文件名后单击“保存”即可进行汇编源文件的编辑。
如下图所示。
(3)将文件添加到工程中单击“Target 1”前的“+”号则展开后变成“-”号,并右键单击“Source Group 1”在弹出的下拉菜单中执行“Add Files to Group ‘Source Group 1’”命令并弹出对话框在该对话框中的“文件类型”下拉列表中选择“Asm source file”后找到要添加的文件名并选中,单击“Add”即可。
第2章Keil软件使用说明2.1 Keil工程的建立2.2 工程的设置2.3 编译和链接2.4 调试2.1 Keil1)进入Keil界面单击自己安装的Keilμvision2的图标。
进入Keil后,屏幕显示如图2-2所示。
图2-2 起动Keil软件时的界面2)建立一个工程选择菜单【Project】│【New Project】,界面如图2-3所示。
图2-3 新建工程文件界面3)保存工程选择工程要保存的路径,输入工程名。
例如,建立的文件夹名为“流水灯”,工程名也命名为“流水灯”,然后单击“保存”按钮。
此时,该工程已经建立,扩展名为.uv2,即项目名为“流水灯.uv2”,如图2-4所示。
图2-4 “保存新工程”对话框4)选择系统要用的单片机保存文件后弹出对话框,如图2-5所示,要求选择所设计系统要用的单片机,在此选择AT89C51单片机。
图2-5 “选择单片机”对话框4)选择系统要用的单片机在选择某个单片机,单击“确定”后,弹出如图2-6所示的对话框。
图2-6 “添加启动文件”对话框上述任务完成后,显示2-7所示的界面。
5)建立文件图2-8 新建文件界面选择菜单【File】│【New】,出现如图2-8界面。
在光标所在的窗口输入编写的源程序。
6)文件保存待录入源程序后,选择【File】│【Save】,保存文件为“流水灯.c”,和原来建立的项目放在同一个文件夹下。
如果源文件为汇编语言编写的,则扩展名为“.ASM”。
7)添加文件图2-9 添加文件中出现的菜单在项目窗口下,单击“Target1”前面的“+”,然后在“Source Group 1”选项上单击右键,弹出如图2-9所示对话框。
7)添加文件图2-10 “添加文件”对话框选择“Add Files to Group ‘Source Group 1’”选项,弹出要求添加进本项目的对话框。
如图2-10所示。
7)添加文件图2-11 添加了文件后的窗口将刚建立的“流水灯.c”选中,单击“Add”按钮或鼠标左键双击即可将本文件添加进本项目。
Keil软件及其调试功能简介目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision(通常称为μV2)。
Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:μVision IDE集成开发环境(包括工程管理器①、源程序编辑器②、程序调试器③,见图2)、C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及Monitor-51、RTX51实时操作系统。
应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。
Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。
工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。
首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C语言源程序(或选择File-O pen…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜单Project-New Project…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。
这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group ‘Source Group1’”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。
keil和iar调试方法Keil和IAR是两种常用的嵌入式开发工具,可以用于编写和调试嵌入式系统的程序。
本文将介绍如何使用Keil和IAR进行调试,并比较两者的优劣。
我们来介绍Keil调试方法。
Keil是一款功能强大的集成开发环境(IDE),广泛用于ARM处理器的嵌入式系统开发。
在Keil中,调试功能十分丰富,可以帮助开发者快速定位和解决程序中的错误。
在Keil中进行调试的第一步是创建一个工程,并将程序源代码添加到工程中。
之后,我们需要对程序进行编译,生成可执行文件。
在编译过程中,Keil会对代码进行语法检查,并生成编译器的警告或错误信息,方便开发者进行修正。
接下来,我们可以通过在程序中插入断点的方式来进行调试。
断点是一种调试工具,可以让程序在运行到指定位置时停止执行,从而可以查看此时的程序状态。
在Keil中,我们可以通过单击源代码左侧的行号来设置断点。
当程序运行到断点位置时,Keil会自动切换到调试模式,并在代码窗口中高亮显示当前执行的代码行。
此时,我们可以使用Keil提供的调试工具来查看变量的值、寄存器的状态等信息。
同时,Keil还提供了逐条执行、单步调试等功能,可以帮助开发者逐步查看程序的执行过程,从而找出错误所在。
除了断点调试外,Keil还支持远程调试功能。
通过使用Keil提供的调试器和调试适配器,我们可以将目标设备与开发电脑连接起来,并在开发电脑上进行远程调试。
这种方式适用于无法直接在开发电脑上运行程序的嵌入式系统,可以极大地提高调试效率。
而IAR也是一款常用的嵌入式开发工具,与Keil相比,IAR具有更加友好的界面和更强大的调试功能。
在IAR中,调试的操作方式与Keil类似,同样需要创建工程、编译程序,并设置断点来进行调试。
与Keil相比,IAR的一个优势是其更强大的性能分析功能。
IAR提供了丰富的性能分析工具,可以帮助开发者分析程序的执行时间、函数调用关系等信息。
这对于优化程序性能、提高系统响应速度非常有帮助。
keil使用介绍Keil是一款适用于嵌入式开发的集成开发环境(IDE),它支持多种微控制器和嵌入式处理器。
以下是Keil使用的一些主要步骤和特点:1. 创建新项目:在Keil中,您可以通过选择“Project”菜单中的“New uVision Project”来创建一个新项目。
然后,您需要为项目选择一个保存位置并命名。
2. 选择目标设备:在创建项目时,您需要选择目标设备,即您正在使用的微控制器或嵌入式处理器。
Keil支持多种设备,您可以从设备数据库中选择适合您的设备的型号。
3. 编写代码:在Keil中,您可以使用内置的文本编辑器编写代码。
编辑器具有语法高亮、自动缩进和代码补全等功能,可以提高编码效率。
4. 编译代码:编写完代码后,您可以使用Keil的编译器将代码编译为目标文件。
编译器可以检查代码中的语法错误和警告,并生成可在目标设备上运行的二进制文件。
5. 调试代码:Keil具有强大的调试功能,可以帮助您在目标设备上测试和调试代码。
您可以使用调试器设置断点、查看变量和寄存器的值、单步执行代码等。
6. 下载程序:在调试和测试代码后,您可以使用Keil将程序下载到目标设备上。
Keil支持多种下载方式,如串口下载、JTAG下载等。
除了上述基本功能外,Keil还具有以下特点:1. 支持多种编程语言:Keil支持C语言、汇编语言等多种编程语言,可以满足不同开发需求。
2. 丰富的库函数:Keil提供了丰富的库函数,可以帮助您快速开发嵌入式应用程序。
3. 集成化开发环境:Keil将编辑器、编译器、调试器等工具集成在一个统一的界面中,方便用户进行开发和管理。
4. 良好的跨平台性:Keil可以在Windows、Linux等多种操作系统上运行,具有良好的跨平台性。
总之,Keil是一款功能强大的嵌入式开发环境,具有丰富的功能和特点,可以满足不同开发需求。
Keil 程序调试窗口上一讲中我们学习了几种常用的程序调试方法,这一讲中将介绍Keil 提供各种窗口如输出窗口、观察窗口、存储器窗口、反汇编窗口、串行窗口等的用途,以及这些窗口的使用方法,并通过实例介绍这些窗口在调试中的使用。
Keil软件在调试程序时提供了多个窗口,主要包括输出窗口(Output Windows )、观察窗口(Watch&Call Statck Windows )、存储器窗口(Memory Window )、反汇编窗口(Dissambly Window )串行窗口(Serial Window )等。
进入调试模式后,可以通过菜单View 下的相应命令打开或关闭这些窗口。
图1是输出窗口、观察窗口和存储器窗口,各窗口的大小可以使用鼠标调整。
进入调试程序后,输出窗口自动切换到Command 页。
该页用于输入调试命令和输出调试信息。
对于初学者,可以暂不学习调试命令的使用方法。
1、存储器窗口存储器窗口中可以显示系统中各种内存中的值,通过在Address 后的编缉框内输入“字母:数字”即可显示相应内存值,其中字母可以是C 、D 、I 、X ,分别代表代码存储空间、直接寻址的片内存储空间、间接寻址的片内存储空间、扩展的外部RAM 空间,数字代表想要查看的地址。
例如输入D :0即可观察到地址0开始的片内RAM 单元值、键入C :0即可显示从0开始的ROM 单元中的值,即查看程序的二进制代码。
该窗口的显示值可以以各种形式显示,如十进制、十六进制、字符型等,改变显示方式的方法是点鼠标右键,在弹出的快捷菜单中选择,该菜单用分隔条分成三部份,其中第一部份与第二部份的三个选项为同一级别,选中第一部份的任一选项,内容将以整数形式显示,而选中第二部份的Ascii 项则将以字符型式显示,选中Float 项将相邻四字节组成的浮点数形式显示、选中Double 项则将相邻8字节组成双精度形式显示。
第一部份又有多个选择项,其中Decimal 项是一个开关,如果选中该项,则窗口中的值将以十进制的形式显示,否则按默认的十六进制方式显示。
keil调试汇编语言摘要:1.汇编语言基本概念2.Keil调试器简介3.汇编语言程序调试步骤4.实战案例:汇编语言程序调试5.总结与建议正文:汇编语言是一种低级编程语言,它与机器语言密切相关,主要用于编写嵌入式系统、操作系统等底层程序。
汇编语言的优势在于它能够直接操作硬件,使得程序员能够更加深入了解硬件结构和系统运行原理。
Keil是一款流行的嵌入式软件开发工具,它具有强大的调试功能,可以帮助程序员高效地调试汇编语言程序。
本文将介绍如何使用Keil调试汇编语言程序。
一、汇编语言基本概念汇编语言是一种面向硬件的编程语言,它使用助记符代替机器语言的操作码,使得编写程序更加简便。
汇编语言程序通常由汇编指令、数据定义和程序段组成。
汇编语言程序的编写需要对硬件结构和指令集有一定了解,这样才能充分发挥硬件性能。
二、Keil调试器简介Keil调试器是嵌入式开发中常用的调试工具,它支持多种处理器架构,如ARM、MIPS等。
Keil调试器具有以下功能:1.实时调试:可以在运行时观察程序状态,如寄存器值、内存数据等。
2.断点调试:设置断点,当程序执行到断点时,调试器会暂停程序运行。
3.单步调试:逐步执行程序,观察程序运行过程。
4.数据监视:实时监视程序中的数据变化。
5.调试输出:设置调试输出,如打印、图形界面等。
三、汇编语言程序调试步骤1.创建项目:在Keil中创建一个新的项目,选择相应的处理器和编译器。
2.编写汇编程序:在项目中编写汇编程序,注意合理划分程序段和定义数据。
3.配置调试参数:设置调试时所需的参数,如断点、监视变量等。
4.编译程序:编译汇编程序,生成目标文件。
5.下载目标文件:将目标文件下载到开发板,开始运行程序。
6.调试程序:使用Keil调试器进行实时调试,观察程序运行状态,找出问题所在。
7.修改程序:根据调试结果,对汇编程序进行修改。
8.重复步骤3-7,直至程序正常运行。
四、实战案例:汇编语言程序调试以下是一个简单的汇编语言程序示例,通过Keil调试器进行调试:```ORG 00HMOV A, #00HMOV P1, AEND```1.创建项目,编写汇编程序。
Keil软件使用手册什么是Keil软件?Keil软件是一款用于开发和调试嵌入式系统的集成开发环境(IDE),由Keil Software公司开发。
它包含了一套完整的开发工具链,可用于开发各种嵌入式系统,如单片机、嵌入式微处理器和嵌入式操作系统等。
Keil软件支持多种硬件平台,包括ARM Cortex-M,Cortex-R和Cortex-A系列微处理器,以及8位和16位的常见单片机和嵌入式处理器。
它还提供了一个丰富的集成式开发环境,包括代码编辑器、编译器、调试器等多项功能,使得开发人员能够高效地开发嵌入式系统。
Keil软件提供了很多功能强大的工具和组件,可以使开发人员更加轻松地开发和调试嵌入式系统。
下面将介绍Keil软件的主要功能和使用方法。
Keil软件功能介绍Keil软件提供了以下几个主要功能:1. 代码编写和编辑Keil软件提供了一款强大的代码编辑器,支持多种编程语言,包括C语言、汇编语言、C++等。
代码编辑器可以自动完成代码,包括语法检查、自动格式化、自动缩进等多项功能。
2. 代码编译Keil软件提供了多款优秀的编译器,支持各种处理器架构和操作系统,包括ARM Cortex-M,Cortex-R和Cortex-A系列微处理器,8位和16位的常见单片机,以及各种嵌入式操作系统。
编译器还支持优化代码,使代码在处理器上运行得更快。
3. 调试器Keil软件提供了一种强大的调试器,可以帮助开发人员在开发和调试过程中追踪问题。
调试器支持单步执行、断点调试、变量监视、函数调用堆栈等功能,可以有效地帮助开发人员调试代码。
4. 数据手册和帮助文档Keil软件提供了大量的帮助文档和教程,帮助开发人员快速学习和使用Keil软件。
此外,Keil软件还包含了各种嵌入式系统的数据手册,帮助开发人员更加深入地了解嵌入式系统的工作原理。
Keil软件使用方法Keil软件的使用方法比较简单,下面简单介绍一下Keil软件的安装和使用流程。
Keil软件介绍及使⽤步骤KEIL51软件简介单⽚机开发中除必要的硬件外,同样离不开软件,我们写的汇编语⾔源程序要变为CPU可以执⾏的机器码有两种⽅法,⼀种是⼿⼯汇编,另⼀种是机器汇编,⽬前已极少使⽤⼿⼯汇编的⽅法了。
机器汇编是通过汇编软件将源程序变为机器码,⽤于MCS-51单⽚机的汇编软件有早期的A51,随着单⽚机开发技术的不断发展,从普遍使⽤汇编语⾔到逐渐使⽤⾼级语⾔开发,单⽚机的开发软件也在不断发展,Keil软件是⽬前最流⾏开发MCS-51系列单⽚机的软件,这从近年来各仿真机⼚商纷纷宣布全⾯⽀持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和⼀个功能强⼤的仿真调试器等在内的完整开发⽅案,通过⼀个集成开发环境(µVision)将这些部份组合在⼀起。
运⾏Keil软件需要Pentium或以上的CPU,16MB 或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。
掌握这⼀软件的使⽤对于使⽤51系列单⽚机的爱好者来说是⼗分必要的,如果你使⽤C语⾔编程,那么Keil⼏乎就是你的不⼆之选(⽬前在国内你只能买到该软件、⽽你买的仿真机也很可能只⽀持该软件),即使不使⽤C语⾔⽽仅⽤汇编语⾔编程,其⽅便易⽤的集成环境、强⼤的软件仿真调试⼯具也会令你事半功倍。
1.1.1 软件功能Keil C51是美国Keil Software公司出品的51系列兼容单⽚机C语⾔软件开发系统,与汇编相⽐,C语⾔在功能上、结构性、可读性、可维护性上有明显的优势,因⽽易学易⽤。
⽤过汇编语⾔后再使⽤C来开发,体会更加深刻。
C51⼯具包的整体结构,其中µVision与Ishell分别是C51 for Windows 和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发⼈员可⽤IDE本⾝或其它编辑器编辑C或汇编源⽂件。
Keil软件及其调试功能简介
目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision(通常称为μV2)。
Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:μVision IDE集成开发环境(包括工程管理器①、源程序编辑器②、程序调试器③,见图2)、C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及Monitor-51、RTX51实时操作系统。
应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。
Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。
工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。
首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C语言源程序(或选择File-O pen…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜单Project-New Project…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。
这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group ‘Source Group1’”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。
加入文件后点close返回主界面,展开“Source Group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。
紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project-Option for Target‘Target1’(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如要写片,还必须在Output选项卡中选中“Creat Hex Fi”;其它选项卡内容一般可取默认值。
工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。
成功编译/汇编、连接后,选择菜单Debug-Start/Stop Debug Session(或按Ctrl+F5键)进入程序调试状态,Keil提供对程序的模拟调试功能,内建一个功能强大的仿真CPU以模拟执行程序。
Keil能以单步执行(按F11或选择Debug-Step)、过程单步执行(按F10或选择Debug-Step Over)、全速执行等多种运行方式进行程序调试。
如果发现程序有错,可采用在线汇编功能对程序进行在线修改(Debug-Inline Assambly…),不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤。
对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方式进行调试的程序行,可采用断点设置的方法处理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints…等)。
在模拟调试程序后,还须通过编程器将.hex目标文件烧写入单片机中才能观察目标样机真实的运行状况。
Keil软件Eval版(免费产品)的功能与商业版相同,只是程序的最大代码量不得超过2kB,但对初学者而言已是足够。
Keil软件由于其
强大的软件仿真功能,友好的用户界面以及易于掌握的特点而受到工程技术人员的欢迎,有人甚至认为Keil是目前最好的51单片机开发应用软件。
51单片机数字实验室的应用实例
运用Keil软件并结合数字外围器件只需在PC机上便可进行单片机实验(可称为数字实验室方式),下面以两个实例来说明运用Keil软件进行程序调试(软件模拟仿真)的过程。
例1:单片机(80C51)晶振频率为12MHz,利用T0方式0产生5ms的定时,在P1.0引脚上输出10ms的方波
按前面所述方法步骤对源程序成功汇编、连接后按Ctrl+F5键进入程序调试,再选择菜单Peripherals-I/O-Ports-Port 1打开P1口参数窗口显示P1口状态,选择Peripherals-Timer-Timer 0打开定时器T0窗口显示其参数;这里采用断点调试方式,在中断服务子程序第一行设置断点,出现红色标记,如图3所示。
点击调试工具栏上的Run(运行)按钮,程序执行到断点处停止,如连续点击运行则可从Port1窗口观察到P1.0引脚电平值的变化(1-0-1-…),而此时Regs(寄存器)窗口中的sec值即为定时时间(按5ms幅度递增,会有误差)。
显然该例需要实验者根据P1口(P1.0)的值来对输出的方波进行想象,并不直观。
例2:数字实验仿真板的应用:流水灯实验
针对Keil的软件仿真器,有人提出了利用VC++编写动态链接库仿真单片机外围器件的思路和方法;另有人设计开发了几个外围器件数字实验仿真板,这些实验仿真板相当于是Keil μVersion2仿真环境下的dll插件。
如键盘、LED显示实验仿真板(ledkey.dll)、带有数码管的实验仿真板(simboard.dll)等,见图4所示。
以ledkey仿真板为例,它采用Atmel89C51单片机(含有4kBFLASH ROM)作为主芯片,P1引脚上接8个发光二极管,P3.2-3.5引脚上接4个按钮开关。
安装数字仿真实验板时只需将实验仿真板文件(*.dll)复制到Keil软件的KeilC51Bin文件夹即可。
在使用实验仿真板之前还需对工程进行设置,先选择工程管理窗口的Target1,再选择Project-Option for Target ‘Target1’,打开对话框,选择Debug选项卡,在其左下角的Parameter文本框中输入“-d”和文件名,如使用ledkey.dll实验仿真板,就输入“-dledkey”(整个文本框内容为:-p51 -dledkey),然后点确定即可。
进入程序调试后点击菜单Peripherals,就会看到多出一项“键盘LED仿真板(K)”,选择该项,就会出现图4所示ledkey实验仿真板界面。
流水灯实验是最常见的单片机实验之一,这里我们要实现用单片机控制图4ledkey仿真板上8个LED依次循环发光。
应用Keil 软件,按照步骤进入程序调试状态,并点击菜单Peripherals打开ledkey仿真板,然后运行程序,可通过观察仿真板上灯光的变化,检查程序的正确与否,非常形象生动,而不必再依靠对P1口的值进行观察想象,有助于初学者对单片机基本知识的掌握和激发学习的热情。