单片机开发与仿真软件Keil C51的使用
C51程序在Keil C51下的调试步骤

C51程序在Keil C51下的调试步骤现在广泛使用的C51集成开发环境是Keil软件。
要使用Keil软件,首先要正确安装Keil软件,该软件的Eval版本可以直接去http://www. 下载,其步骤与一般Windows 程序安装类似,这里就不再赘述了。
Keil软件的详细说明见相关资料,这里仅作简要说明,以便于读者在后面的章节中实际动手调试、仿真程序。
1.建立工作项目文件图1启动Keil μVison2启动Keil μVison2,如果打开后就有打开的文件,单击“Project->Close Project”菜单将其关闭。
单击“File->New... ",打开一个新的文件输入窗口,在这个窗口里输入上述源程序。
输入完毕之后,选择“File-->Save",给这个文件取名保存,取名字的时候必须要加上扩展名,一般C语言程序均以“.c”为扩展名(一定要加扩展名,否则后面添加文件就找不到该文件,这是初学者很容易忘记的),这里将其命名为mytest.c。
图2 建立工程文件单击“Project->New Project...",出现对话框,要求给将要建立的工程起一个名字,这里起名为test,不需要输入扩展名。
单击“保存”按钮,出现第二个对话框,如图3所示:图3 CPU选择窗口这个对话框要求选择工程中所用的单片机型号,这里选择Atmel公司的89S52芯片。
单击ATMEL前面的“+”号,展开该层,单击其中的89S52,然后再单击“确定”按钮,会出现一个对话框,询问是否要将标准的8052启动代码加入工程,单击“是”按钮。
此时,在工程窗口的文件页中出现了“Target 1”,前面有“+”号,单击“+”号展开,可以看到下一层的“Source Group 1 ",需要手动把刚才编写好的源程序加入,方法如下:单击“Source Group 1 ",使其反白显示,然后单击鼠标右键,出现一个下拉菜单,如图4所示。
全面的KEIL和C51的使用免费

全面的KEIL和C51的使用免费
KEIL和C51是一款强大的集成开发环境和一种流行的8051系列单片
机C语言编译器。
KEIL提供了C51编译器和调试器,以及丰富的软件库
和开发工具,使得开发人员能够更方便地编写、调试和测试嵌入式系统。
全面使用KEIL和C51需要掌握以下几个方面的内容:
2.创建工程:在KEIL中创建工程是开始开发的第一步。
可以选择新
建空白工程或者导入已有的工程。
在工程中,可以添加源文件、头文件、
库文件等。
同时,还需要指定目标芯片型号和连接器脚本。
4.编译和调试:编写完程序后,可以选择编译和调试。
KEIL的C51
编译器会将源代码编译成可以在目标芯片上运行的机器码。
编译过程中,
会检查语法错误、类型错误、符号错误等,并生成可执行文件。
调试过程中,可以设置断点、查看变量值、单步运行等功能,以便调试和测试程序。
此外,KEIL还提供了一系列的工具和功能,如性能分析器、内存监
视器、逻辑分析器等,用于进一步提高开发效率和调试能力。
全面使用KEIL和C51需要学习的知识较多,可以通过以下途径进一
步深入学习:。
KEILC51和PROTEUS的使用

KEILC51和PROTEUS的使用KEILC51是一款针对51系列单片机的集成开发环境,可以方便地进行编译、调试和仿真。
PROTEUS是一款集成电路设计软件,可以用于电路图的设计、仿真和调试。
本文将介绍KEILC51和PROTEUS的使用方法。
一、KEILC51的安装和使用2. 安装完成后,打开KEIL C51,创建一个新项目。
选择新建一个“Project”。
在对话框中输入项目名称,并选择项目的存放路径。
3.在项目内部,可以添加源文件、库文件和头文件。
可以通过右键单击项目名称,选择“添加”,然后选择相应的文件类型进行添加。
4. 在源文件中编写C语言程序。
可以使用标准的C语法进行编写,也可以使用Keil C51提供的51系列特定的语法进行编写。
5. 进行编译和生成可执行程序。
在菜单栏中选择“Project”->“Build Target”,或者使用快捷键“Ctrl+F7”进行编译。
编译完成后,会在项目目录下生成相应的可执行程序。
6. 进行调试和仿真。
在菜单栏中选择“Debug”->“Start/Stop Debug Session”,或者使用快捷键“F5”进行调试。
可以设置断点、单步执行、查看变量值等进行调试。
二、PROTEUS的安装和使用2. 安装完成后,打开PROTEUS,创建一个新电路。
选择“Schematic Capture”->“Design”创建一个新的电路图。
在电路图中添加所需的元件,例如电阻、电容、晶体管等。
3.连接元件之间的引脚,可以使用连线工具进行连线。
在连线时,可以使用自动连接功能快速连接元件之间的引脚。
4.设置仿真属性。
在电路图中选择“P”工具,然后在对话框中选择相应的仿真模型和仿真参数,例如选择51系列单片机的仿真模型。
5. 进行仿真和调试。
在菜单栏中选择“Debug”->“Start Debugging”,或者使用快捷键“F5”进行仿真。
可以查看元件的工作状态,观察电路的波形等进行调试。
[计算机软件及应用]Keil C51软件使用说明
![[计算机软件及应用]Keil C51软件使用说明](https://img.taocdn.com/s3/m/be9215d4dbef5ef7ba0d4a7302768e9951e76ef9.png)
* ——表示是指针类型,此处*不含取内容之意;
数据类型——声明指针所指变量的类型;
[存储器类型1]——声明指针所指变量的存储类型,若默认则定义
为一般指针;
[存储器类型2]——声明该指针变量本身的存储类型;
标识符——声明指针变量本身的数据类型和名称.
22
MCS-51单片机原理、接口及应用
第6章 单片机的C51语言编程
6
MCS-51单片机原理、接口及应用
第6章 单片机的C51语言编程
6.1.2 C51中常用的头文件
reg51.h、reg52.h、math.h、ctype.h、stdio.h、stdlib.h、 absacc.h和intrins.h. 〔1〕reg51.h和reg52.h
〔定义51或52子系列单片机特殊功能寄存器和特殊位〕 reg52.h比reg51.h多了几行定义T2寄存器的内容.
第6章 单片机的C51语言编程
汇编语言:
优点:面向机器、目标代码短、占用存储器空间少、运行
快. 缺点:指令助记符多、编程灵活性差.
C语言: 优点:具有面向机器和面向用户的特点,良好的可读性﹑易
维护性和可移植性,对硬件的控制能力也很强, C语言的数据类 型及运算符丰富,具有良好的程序结构.
缺点:代码效率稍低〔同汇编语言相比〕,占用存储空间较 大. 解决方法:单片机内部都嵌入了大容量的Flash ROM,有效的 弥补了这个缺陷.
{
局部变量说明
执行语句〔包括子函数的调用语句〕
}
4
MCS-51单片机原理、接口及应用
第6章 单片机的C51语言编程
func1<形式参数及说明>
//子函数1
{ 局部变量说明
Keil C51的使用

编辑课件
16
5、移除文件
要把某个文件从工程中移除,可在此文件上单击右键, 然后单击“Remove File ’ ’ ”。
移除不是删除,文件依然存在。
编辑课件
17
我来演示
1、打开一个已有的工程项目(不是默认项目)。 2、打开一个已有的工程项目,修改单片机型号。
3、打开一个已有的工程项目,删除原有的文件,装 入一个已有的C语言文件。
此时光标在编辑窗口里闪烁,就可以输入用户的应 用程序了。
或者把已有的程序从其他地方直接复制到程序编辑 窗口内。
文件的建立也可以用Windows环境的附件中的记 事本或写字板等纯文本编辑软件完成。
参见教材《单片机的C5编1辑应课件用程序设计》第 309 页 27
新建文件时,建议首先保存空白文件。
编辑课件
11
如果在选择了目标器件后,想更改器件,可选择 Project菜单中的Select Device for Target‘Tartet 1’。
由于不同厂家的许多型号性能相近,因此,如果找不 到用户要求的芯片信号,可以选择其他公司的相近型 号。
参见教材《单片机的C5编1辑应课件用程序设计》第 308 页 12
uVision2支持的所有CPU器件的型号根据生产厂家 形成器件组。
用户可根据需要选择相应的器件组并选择相应的器 件型号。
编辑课件
10
通过滚动条,选择生产厂商、目标CPU。
如:Atmel器件组内的AT89C51单片机。首先找到 Atmel公司,然后单击左边的“+”号展开该组。选择 AT89C51之后,单击“确定”。
程序输入完毕后别忘了再次保存。
参见教材《单片机的C5编1辑应课件用程序设计》第 309 页 28
keil C51 应用入门

keil C51 应用入门keil C51软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编和C 语言的程序设计,界面友好,易学易用。
本章主要介绍keil C51的安装、开发环境和程序调试及仿真方法。
一keil C51软件的安装下面以keil C51 V7.50a版本为例,介绍如何安装keil µVision3集成开发环境。
先安装keil µVision2,然后安装升级版本keil µVision3。
图1-1安装初始化图1-2 安装向导对话框(1)把光盘放入光驱中(假定为F盘),进入F:keil 51V7.50a\setup目录下,这时会看到SETUP.EXE文件,双击该文件即可开始安装。
(2)这时会出现如图1-1所示的安装初始化画面,稍后弹出一个如图1-2所示的安装向导对话框,询问用户是安装、更新还是卸载软件,当然选择第一项“Install Support for Additional Microcontroller Architectures”安装该软件。
(3)单击Next钮,这时会出现如图1-3所示的安装询问对话框,提示用户是安装完全版还是评估版。
如果买了正版的keil C51就可选择Full V ersion,否则选择Eval V ersion。
图1-3 安装询问对话框(4)此后在弹出的几个确认对话框中选择Next,这是会出现如图1-4所示的安装路径设置对话框,默认路径是C:/KEIL。
当然用户可以单击选择适合自己安装的目录。
图1-4 安装路径设置对话框(5)在接下来的询问对话框中选择Next命令按钮加以确认,即可出现如图1-5所示的安装进度指示画面。
(6)接下来就是等待安装。
安装完成后单击Finish加以确认,此时可以在桌面上可看到keil µVision2软件的快捷图标,如图1-6所示。
双击它就可进入keil C51集成开发环境。
KEIL C51 的使用

KEIL的使用
1、安装KEIL C51
2、安装完后打开KEIL,进入KEIL界面
3、进入KEIL工作界面
4、新建工程点击Project→New µVsion Project
5、然后选择你要保存的路径,输入工程文件的名字,如下所示:
5、选择单片机类型,如A TC8951,然后点击是
6、完成以上步骤后,展开Taget 1,如下图所示:
7、用记事本输入如下程序:
9、输入完后保存后缀为.asm 的格式(汇编语言)(注意:如果是C语言的,就保存后缀为.C 格式)。
10、把刚才编写好程序添加到soursce group 1,过程如下所示:
11、展开soursce group 1,如下所示:
12、双击打开KEIL C51,工作界面如下:
13、单击“Project”菜单,再在下拉菜单中单击“” 在下图中,单击“Output”中单击“Create HEX File” 选项,使程序编译后产生HEX代码,供下载
器软件使用。
(或右键打开Targe 1 再选择)
14、这里还可以改变晶振的周期,如下所示:
15、设置完以上的设置后,然后单击“Project”菜单,再在下拉菜单中单击“Buid target”(创建目标文件)。
16、如有语句错误,则不能创建成功,如下所示,直到把错误排除,才能创建成功。
以上是KEIL C51 的入门教程。
单片机开发与仿真软件keilc51的使用

单片机开发与仿真软件Keil C51的使用一、Keil C51 操作入门Keil C51 简介Keil C51 是德国知名软件公司Keil(现已并入ARM 公司)开发的基于8051 内核的微控制器软件开发平台,是目前开发8051 内核单片机的主流工具。
Keil 51支持汇编语言、C语言等各种开发语言。
其中,uVision2集成开发环境包含项目管理、源代码编辑和强大的程序调试环境。
uVision2调试器是一个强大的全特性调试器,允许用户在PC机上完全模拟目标程序、指令集和片内外围功能。
实验所用的是Keil C51 评估版。
Keil C51 的启动双击桌面上的“Keil uVision2”图标,启动Keil C51程序,启动界面如图1所示。
图1 Keil C51的启动界面建立第1 个Keil C51 程序Keil C51 是一个功能很强大的软件,但是使用起来并不复杂。
现在就通过建立一个简单的LED(发光二极管)闪烁发光的实例来初步掌握Keil C51的基本用法。
硬件电路参见图2,单片机I/O 输出低电平可点亮LED。
图2 LED 闪烁发光电路●新建工程。
执行Keil C51 软件的菜单“Project | N ew Project…”,弹出一个名为“Create New Project”的对话框。
先选择一个合适的文件夹准备来存放工程文件,比如“E:\Project\LedFlash”,其中“LedFlash”是新建的文件夹。
建议:今后每新建一个工程都要在适当的磁盘位置新建一个文件夹用来保存工程文件,以方便管理,并养成良好的习惯。
最后,为工程取名为“LedFlash”,并保存。
参见图3。
图3 新建Keil C51 工程●选择CPU。
紧接着,Keil C51 提示选择CPU 器件。
8051 内核单片机最早是由鼎鼎大名的Intel 公司发明的,后来其他厂商如Philips 、Atmel 、Winbond 等先后推出其兼容产品,并在8051 的基础上扩展了许多增强功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机开发与仿真软件Keil C51的使用一、Keil C51 操作入门1.1 Keil C51 简介Keil C51 是德国知名软件公司Keil(现已并入ARM 公司)开发的基于8051 内核的微控制器软件开发平台,是目前开发8051 内核单片机的主流工具。
Keil 51支持汇编语言、C语言等各种开发语言。
其中,uVision2集成开发环境包含项目管理、源代码编辑和强大的程序调试环境。
uVision2调试器是一个强大的全特性调试器,允许用户在PC机上完全模拟目标程序、指令集和片内外围功能。
实验所用的是Keil C51 V7.09评估版。
1.2 Keil C51 的启动双击桌面上的“Keil uVision2”图标,启动Keil C51程序,启动界面如图1所示。
图1 Keil C51的启动界面1.3 建立第1 个Keil C51 程序Keil C51 是一个功能很强大的软件,但是使用起来并不复杂。
现在就通过建立一个简单的LED(发光二极管)闪烁发光的实例来初步掌握Keil C51的基本用法。
硬件电路参见图2,单片机I/O 输出低电平可点亮LED。
图2 LED 闪烁发光电路●新建工程。
执行Keil C51 软件的菜单“Project | N ew Project…”,弹出一个名为“CreateNew Project”的对话框。
先选择一个合适的文件夹准备来存放工程文件,比如“E:\Project\LedFlash”,其中“LedFlash”是新建的文件夹。
建议:今后每新建一个工程都要在适当的磁盘位置新建一个文件夹用来保存工程文件,以方便管理,并养成良好的习惯。
最后,为工程取名为“LedFlash”,并保存。
参见图3。
图3 新建Keil C51 工程●选择CPU。
紧接着,Keil C51 提示选择CPU 器件。
8051 内核单片机最早是由鼎鼎大名的Intel 公司发明的,后来其他厂商如Philips 、Atmel 、Winbond 等先后推出其兼容产品,并在8051 的基础上扩展了许多增强功能。
在这里可以选择Philips 的第1 个器件“80/87C51”,该器件与Intel 的8051 完全兼容。
参见图4 。
图4 选择CPU●接下来弹出一个如图5 所示的对话框。
该对话框提示是否要把标准8051 的启动代码添加到工程中去。
Keil C51 既支持C 语言编程也支持汇编语言编程。
如果打算用汇编语言写程序,则应当选择“否(N)”。
如果打算用C 语言写程序,一般也选择“否(N)”,但是,如果用到了某些增强功能需要初始化配置时,则可以选择“是(Y)”。
在这里,我们选择“否(N)”,即不添加启动代码。
图5 选择是否要添加启动代码至此,一个空的Keil C51 工程建立完毕。
●执行菜单“File | N ew…”,出现一个名为“Text n”(其中n 表示序号)的文档。
●接着执行菜单“File | Save”,弹出一个名为“Save As”的对话框。
将文件名改为“main.c”,然后保存,参见图6 。
注意:扩展名“.c”不可省略。
图6 保存新建的源程序文件●添加源程序文件到工程中。
现在,一个空的源程序文件“main.c”已经建立,但是这个文件与刚才新建的工程之间并没有什么内在联系。
我们需要把它添加到工程中去。
单击Keil C51 软件左边项目工作窗口“Target 1 ”上的“+”,将其展开。
然后右击“Source Group 1”文件夹,会弹出如图7 所示的选择菜单。
单击其中的“Add Files to Group 'Source Group 1' ”项,将弹出如图8 所示的对话框。
●先选择文件类型为“C Source file (*.c)”,这时,对话框内将出现刚才保存过的“main.c”。
单击文件“main.c”,再按一次“Add”按钮(请不要多次点击“Add”按钮),最后按“Close”按钮。
这时,源程序文件“main.c ”已经出现在项目工作窗口的“Source Group 1 ”文件夹内,可以单击左边的“+”展开后查看。
图7 准备添加源程序文件到工程中图8 向工程中添加源程序文件●现在开始输入源程序。
先最大化“main.c”源程序窗口,然后请按以下程序清单输入程序代码。
程序清单: LED 闪烁发光程序main.c/******************************************************************************** 程序名称:LED 闪烁发光硬件接法:P1.1 控制LED,低电平点亮运行效果:LED 亮200ms ,灭800ms,反复循环*******************************************************************************/#include <reg51.h> //包含8051 的SFR 寄存器定义头文件sbit LED = P1^1; //定义I/O 接口/*******************************************************************************函数:Delay()功能:延时0.01s~2.56s参数:t>0 时,延时(t*0.01)st=0 时,延时2.56s说明:定时10ms 的定时器初值=65536-0.01/(1/(f/12)) ,其中f为晶振频率*******************************************************************************/ void Delay(unsigned char t){do{TH0 = 0xDC; //设置定时器初值(定时10ms)TL0 = 0x00;TR0 = 1; //启动定时器while ( !TF0 ); //等待定时器溢出TR0 = 0; //停止定时器TF0=0; // 清除溢出标志} while ( --t != 0 ); //循环t 次}//主函数void main(){TMOD &= 0xF0; //T0 设置在方式1,即16 位定时器(不影响T1 的模式)TMOD |= 0x01;for (;;){LED = 0; //点亮LEDDelay(20); //延时200msLED = 1; //熄灭LEDDelay(80); //延时800ms}}●单击Keil C51 工具栏的“”图标,弹出名为“Options for Target …Target 1‟ ”的对话框。
单击“Output”标签页,选中“Create HEX File”项,然后“确定”。
参见图9 。
图9 编译环境设置●单击工具栏的按钮“”编译当前源程序。
编译结果会显示在输出窗口内。
如果是“0 Error(s), 0 Warning(s).”就表示程序没有问题了(至少是在语法上不存在问题了)。
如果存在错误或警告,则仔细检查程序是否与程序清单一致。
修改后,再编译,直到通过为止。
●编译后的结果会生成Intel HEX 格式的程序文件“LedFlash.hex”。
该文件可以被专门的芯片烧写工具载入并最终烧录到具体的芯片中。
芯片安装到自己的电路板上,通电,就可以运行里面的程序了。
还有一类叫做“ISP”(In SystemProgramming )的下载方法,也能够把程序文件烧录到芯片内,但是采用的是串行在线方式,芯片不必从电路板上取下。
ISP 方式编程速度较慢但操作要方便些。
Philips 的多款8051 内核单片机都能很好的支持ISP 下载功能,比如P89V51RB2 、P89V51RD2 等等。
1.4 新建A51 汇编工程Keil C51 软件也支持A51 汇编编程。
建立A51 工程的操作步骤与建立C51 工程基本相同,但有两个要点请注意:●新建的源程序文件名要以”.A51”或“.ASM”作为后缀。
● A51 源程序添加到工程中时,文件类型要选择“Asm Source file(*.s*; *.src;*.a*)”。
其它操作步骤都跟建立C51 工程相同。
二、在Keil C51 下调试程序Keil C51 的调试功能非常强大,现在仍然以LED 闪烁发光程序为例,来具体了解如何进行仿真操作。
2.1 进入仿真状态如果程序编译通过,就可以仿真了。
在仿真之前,有一项参数最好配置一下,仍然按“”图标进入编译环境设置,找到“Xtal (MHz)”项,填入11.0592 。
最后点击“确定”。
进入仿真状态很简单,直接点击工具栏红色的“”图标。
2.2 认识各个仿真窗口图10 Keil C51 源程序窗口1. 源程序窗口Keil C51 调试界面的中间是源程序窗口,参见图10 。
黄色箭头“”所指为当前即将执行但还没有执行的代码。
以深灰色标记的程序行是可以执行的代码(当然,在调试过程中未必一定要去执行)。
以浅灰色标记的程序行不可作为代码来执行,它们是注释、空行、标号或ROM 数据表。
以绿色标记的程序行表示曾经执行过的代码。
2. 寄存器窗口图11 Keil C51 寄存器窗口Keil C51 调试界面的左边是寄存器窗口,参见图11 。
8051 的工作寄存器(R0~R7)和系统寄存器(a、b、sp、dptr、PC、psw)都列出来了。
Value 栏显示的是寄存器的当前数值。
如果在调试过程中某个寄存器的值有变化,则会用蓝色的背景标记。
单击psw 寄存器左边的“+”,展开后还可以看到其每一位的情况。
3. 汇编窗口单击工具栏的“”图标,源程序窗口会自动切换成汇编窗口,参见图12。
在汇编窗口里,我们可以看到每条指令的存储地址和编码等信息。
再次单击“”,回到源程序窗口。
4. 存储器窗口单击工具栏的“”图标,将显示出存储器窗口,参见图13。
8051 单片机的存储器分为多个不同的逻辑空间。
如果要观察代码存储器的内容,就在地址栏“Address:”内输入“C: 地址”,例如:C:0080H 。
同理,观察内部数据存储器输入“I:地址”,观察外部数据存储器输入“X:地址”。
拖动存储器窗口右边的滚动条可观察其它存储单元。
存储器窗口有“Memory #1~Memory #4 ”共4 个观察子窗,可以用来分别观察代码存储器、内部数据存储器和外部数据存储器。
存储器的内容是可以修改的。
用鼠标右击打算要修改的存储单元,选择“Modify Memory at … ”项,弹出修改对话框,可以随意修改存储单元的内容。
图12 Keil C51 汇编窗口图13 Keil C51 存储器窗口图14 Keil C51 变量观察和堆栈窗口5、变量观察和堆栈窗口单击工具栏的“”图标,将显示变量观察和堆栈窗口(Watch & Call StackWindow),参见图 14。