Keil-C51-基本使用方法 (1) 。。。。2
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所示。
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使用详解V1.0第一章 Keil C51开发系统基本知识 (6)第一节系统概述 (6)第二节Keil C51单片机软件开发系统的整体结构 (6)1. C51 for Dos 72. C51 for Windows的安装及注意事项: (7)第四节Keil C51工具包各部分功能及使用简介 (7)1. C51与A51. 72. L51和BL51. 83. DScope51,Tscope51及Monitor51. 84. Ishell及uVision. 9第二章 Keil C51软件使用详解 (10)第一节Keil C51编译器的控制指令 (10)1. 源文件控制类 (10)2. 目标文件(Object)控制类: (10)3. 列表文件(listing)控制类: (10)第二节dScope51的使用 (11)1. dScope51 for Dos 112. dScope for Windows 12第三节Monitor51及其使用 (13)1. Monitor51对硬件的要求 (13)2. Mon51的使用 (13)3. MON51的配置 (13)4. 串口连接图: (13)5. MON51命令及使用 (14)第四节集成开发环境(IDE)的使用 (14)1. Ishell for Dos的使用 (14)2. uVision for windows的使用 (15)第三章 Keil C51 vs 标准C.. 15第二节内存区域(Memory Areas): (16)1. Pragram Area: (16)2. Internal Data Memory: 163. External Data Memory. 164. Speciac Function Register Memory. 16第三节存储模式 (16)1. Small模式 (16)2. Compact模式 (17)3. large模式 (17)第四节存储类型声明 (17)第五节变量或数据类型 (17)第六节位变量与声明 (17)1. bit型变量 (17)2. 可位寻址区说明20H-2FH.. 18第七节Keil C51指针 (18)1. 一般指针 (18)2. 存储器指针 (18)3. 指针转换 (18)第八节Keil C51函数 (19)1. 中断函数声明: (19)2. 通用存储工作区 (19)3. 选通用存储工作区由using x声明,见上例。
Keil C51使用详解
Keil C51使用详解keilc51使用详解v1.0电子设计世界!版权所有,热烈欢迎贴文,切勿修正并标明原文。
留存一切权利。
第一章keilc51开发系统基本知识 (6)1第一节系统概述 (6)第二节keilc51单片机软件开发系统的整体结构...6第三节keilc51工具包的加装...71.c51fordos72.c51forwindows的安装及注意事项:...7第四节keilc51工具包各部分功能及使用简介...71.c51与a51.72.l51和bl51.83.dscope51,tscope51及monitor51.84.ishell及uvision.9第二章keilc51软件使用详解 (10)第一节keilc51编译器的控制指令...101.源文件掌控类 (10)2.目标文件(object)控制类:...103.列表文件(listing)控制类:...10第二节dscope51的使用...111.dscope51fordos112.dscopeforwindows12第三节monitor51及其使用...131.monitor51对硬件的要求...132.mon51的使用...133.mon51的配置...134.串口连接图:...135.mon51命令及使用...14第四节集成开发环境(ide)的使用...141.ishellfordos的使用 (14)22.uvisionforwindows的使用 (15)第三章keilc51vs标准c..15第一节keilc51扩展关键字...15第二节内存区域(memoryareas):...161.pragramarea:...162.internaldatamemory:163.externaldatam emory.162.可位串行区表明20h-2fh..18第七节keilc51指针...181.通常指针...182.存储器指针...183.指针切换...18第八节keilc51函数...191.中断函数声明:...192.通用型存储工作区 (19)3.选通用存储工作区由usingx声明,见上例。
keil 使用教程
Keil C51使用教程---开发系统基本知识(一)第一节系统概述Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows 界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍Keil C51开发系统各部分功能和使用。
第二节 Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
图(1) C51工具包整体结构图第三节 Keil C51工具包的安装1. C51 for Dos在Windows下直接运行软件包中DOS\C51DOS.exe然后选择安装目录即可。
完毕后欲使系统正常工作须进行以下操作(设C:\C51为安装目录):修改Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后运行Autoexec.bat2. C51 for Windows的安装及注意事项:在Windows下运行软件包中WIN\Setup.exe,最好选择安装目录与C51 for Dos 相同,这样设置最简单(设安装于C:\C51目录下)。
Keil C51软件使用说明
}
10
MCS-51单片机原理、接口及应用
第6章 单片机的C51语言编程
(3)其它头文件
math.h:数学运算函数,如求绝对值、平方根、指数、正弦等
函数。 ctype.h:提供两类重要的函数:字符测试函数和字符大小转化 函数。 例如,判断一个整型变量是数字、字母、换行符、控制符等。 stdio.h:标准输入输出函数头文件,用于从标准输入设备读取 字符、数字,或向标准输出设备输出字符、字符串等。
整型
signed int
unsigned int singed long
2B
2B 4B
-32768~+32767
0~65535 -2147483648~+2147483647
unsigned long
实型
14
4B
4B
0~4294967295
1.176E-38~6.40E+38
MCS-51单片机原理、接口及应用
17
MCS-51单片机原理、接口及应用
第6章 单片机的C51语言编程
(2)compact模式
所有参数及局部变量都放在外部RAM区的一页(最大256B), 这和用pdata定义变量的作用相同。 具体哪一页,可由P2口定义,并在STARTUP.A51文件中说明。 一般默认的是外部RAM的低256B。
特点:存储器空间比small 模式大,但速度较small 模式慢,却比
reg52.h比reg51.h多了几行定义T2寄存器的内容。
7
MCS-51单片机原理、接口及应用
第6章 单片机的C51语言编程
sfr P1=0x90; /*定义P1口的地址为90H*/ sfr TCON=0x88; sfr TMOD=0x89; sfr TL0=0x8A; sfr16 T2=0xCC; T2L=0CCH,T2H=0CDH*/ sbit ET0=IE^1; /*指定ET0为中断允许控制寄存器IE的第1位*/ sbit ET0=0xaa;/*指定ET0为可寻址位0AAH,即IE.1。*/
keil C51入门教程
第三章 C51语言作者:彭保基 西安交通大学 电信学院 电子2002级 版本:V1.1 写作时间:2004年12月---2005年3月本章主要介绍在Keil 的集成环境下用C 语言编程,并对C51语言与标准的C 语言的异同进行比较。
由于篇幅有限并考虑到读者大部分已经学过标准的C 语言,不再对C 语言进行深入的讲解;如果读者想深入了解和掌握C 语言,则可查阅和参考其他相关资料。
第一节 C51简介汇编语言是编写单片机程序的常用语言之一,很多老的单片机开发者使用汇编语言已经成为了一种习惯;汇编语言编写的程序所生成的代码效率很高,能直接操作硬件,指令的执行速度快。
但其指令系统的固有格式受硬件结构的限制很大,且难于编写与调试,可移植性也差。
随着单片机硬件性能的提高,其工作速度越来越快,因此在编写单片机应用系统程序时,更着重于程序本身的编写效率。
与汇编语言相比,C 语言在功能、结构、可读性和可维护性上有明显的优势,因而易学易用;在开发大型软件时更能体现其高级语言的优势。
因此,近些年来越来越多地人喜欢用C 语言来编写单片机的应用程序。
本章所说的C51语言就是标准C 语言的变种,是标准C 语言的扩展;关于两者的区别,将在下一节中详细的介绍。
第二节 C51与ANSI C 的比较Keil C51编译器是一个完全支持ANSI 标准C 语言的编译器,除了少数关键的地方之外,Keil C51和标准ANSI C 语言是基本类似的;但由于51单片机的特殊性,Keil C51在标准C 语言基础上进行了扩展,使其能够更有效地利用单片机各种有限的资源。
深入理解和掌握C51对标准C 语言的扩展,是学好C51语言的关键。
一、 Keil C51扩展关键字关键字 用 途 说 明bit 声明一个位标量或位类型的函数sbit 位标量声明声明一个可位寻址变量 Sfr 声明一个特殊功能寄存器 Sfr16 特殊功能寄存器声明声明一个16位的特殊功能寄存器 data 直接寻址的内部数据存储器 bdata可位寻址的内部数据存储器idata 间接寻址的内部数据存储器 pdata 分页寻址的外部数据存储器xdata 外部数据存储器 code 存储器类型说明 程序存储器interrupt 中断函数说明 定义一个中断函数 reentrant 再入函数说明 定义一个再入函数 using 寄存器组定义定义芯片的工作寄存器_at_ 绝对定位_task_ alien small compact large存储模式附表3- C51编译器的扩展关键字二、 数据类型Keil C51编译器支持下表列出的数据类型。
Keil C51 基本使用方法
附录:一、Keil C51工程建立与仿真1、建立一个工程项目,选择芯片并确定选项双击Keil uVision2快捷图标后进入Keil C51开发环境,单击“工程”菜单,在弹出的下拉菜单选中“新工程”选项,屏幕显示为图1。
图1 建立一个工程项目在文件名中输入一个项目名“my-test”,选择保存路径(可在“我的文档”中先建立一个同名的文件夹),单击保存。
在随后弹出的“为目标target选择设备”(Select Device for Target “Target1”)对话框中用鼠标单击Atmel前的“+”号,选择“89C51”单片机后按确定,如图2所示。
图2 选择单片机后按确定选择主菜单栏中的“工程”,选中下拉菜单中“Options for Target ‘Target1’”,出现图3所示的界面。
单击“target”页面,在晶体Xtal(MHz)栏中选择试验板的晶振频率,默认为24MHz,我们讲座试验板的晶振频率为11.0592MHz,因此要将24.0改为11.0592。
然后单击输出“Output”页面,在“建立hex格式文件”前打勾选中,如图3-4。
其它采用默认设置,然后点确定。
图3 选择Target页面图4 选择Output页面2、建立源程序文件单击“文件”菜单,在下拉菜单中选择“新建”,随后在编辑窗口中输入以下的源程序(如图5)。
ORG 0000HLJMP MAINORG 030HMAIN: MOV P0,#00HMOV P1 ,#00HMOV P2 ,#00HMOV P3 ,#00HACALL DELMOV P0 ,#0FFHMOV P1 ,#0FFHMOV P2 ,#0FFHMOV P3 ,#0FFHACALL DELAJMP MAINORG 0200HDEL: MOV R5,#04HF3: MOV R6,#0FFHF2: MOV R7,#0FFHF1: DJNZ R7,F1DJNZ R6,F2DJNZ R5,F3RETEND图5 建立源程序文件程序输入完成后,选择“文件”,在下拉菜单中选中“另存为”,将该文件以扩展名为.asm格式(如my-test.asm)保存在刚才所建立的一个文件夹中(my-test)。
Keil C51使用详解
Keil C51使用详解第一章Keil C51开发系统基本知识 (6)第一节系统概述 (6)第二节Keil C51单片机软件开发系统的整体结构 (6)第三节Keil C51工具包的安装 (7)1. C51 for Dos 72. C51 for Windows的安装及注意事项: (7)第四节Keil C51工具包各部分功能及使用简介 (7)1. C51与A51. 72. L51和BL51. 83. DScope51,Tscope51及Monitor51. 84. Ishell及uVision. 9第二章Keil C51软件使用详解 (10)第一节Keil C51编译器的控制指令 (10)1. 源文件控制类 (10)2. 目标文件(Object)控制类: (10)3. 列表文件(listing)控制类: (10)第二节dScope51的使用 (11)1. dScope51 for Dos 112. dScope for Windows 12第三节Monitor51及其使用 (13)1. Monitor51对硬件的要求 (13)2. Mon51的使用 (13)3. MON51的配置 (13)4. 串口连接图: (13)5. MON51命令及使用 (14)第四节集成开发环境(IDE)的使用 (14)1. Ishell for Dos的使用 (14)2. uVision for windows的使用 (15)第三章Keil C51 vs 标准C.. 15第一节Keil C51扩展关键字 (15)第二节内存区域(Memory Areas): (16)1. Pragram Area: (16)2. Internal Data Memory: 163. External Data Memory. 164. Speciac Function Register Memory. 16第三节存储模式 (16)1. Small模式 (16)2. Compact模式 (17)3. large模式 (17)第四节存储类型声明 (17)第五节变量或数据类型 (17)第六节位变量与声明 (17)1. bit型变量 (17)2. 可位寻址区说明20H-2FH.. 18第七节Keil C51指针 (18)1. 一般指针 (18)2. 存储器指针 (18)3. 指针转换 (18)第八节Keil C51函数 (19)1. 中断函数声明: (19)2. 通用存储工作区 (19)3. 选通用存储工作区由using x声明,见上例。
Keil C51语言的用法介绍
强制类型转换运算符1.变量赋值时发生的隐式转换,“=”号右边的表达式的数据类型转换成左边变量的数据类型。
如把浮点数赋值给整形变量,小数部分将丢失。
2.所有char 型的操作数转换成int型。
3.两个具有不同数据类型的操作数用运算符连接时,隐式转换会按以下次序进行:如有一操作数是float 类型,则另一个操作数也会转换成float类型;如果一个操作数为long 类型,另一个也转换成long;如果一个操作数是unsigned 类型,则另一个操作会被转换成unsigned 类型。
从上面的规则可以大概知道有那几种数据类型是可以进行隐式转换的。
在C51中只有char, int, long及float这几种基本的数据类型可以被隐式转换。
而其它的数据类型就只能用到显示转换。
要使用强制转换运算符应遵循以下的表达形式:(类型) 表达式用显示类型转换来处理不同类型的数据间运算和赋值是十分方便和方便的,特别对指针变量赋值是很有用的。
表达式语句C语言是一种结构化的程序设计语言。
C语言提供了相当丰富的程序控制语句。
学习掌握这些语句的用法也是C语言学习中的重点。
表达式语句是最基本的一种语句。
不同的程序设计语言都会有不一样的表达式语句,如VB 就是在表达式后面加入回车就构成了VB的表达式语句,而在51单片机的C语言中则是加入分号“;”构成表达式语句。
举例如下:b = b * 10;Count++;X = A;Y = B;Page = (a+b)/a-1;以上的都是合法的表达式语句。
在C 语言中有一个特殊的表达式语句,称为空语句,它仅仅是由一个分号“;”组成。
有时候为了使语法正确,那么就要求有一个语句,但这个语句又没有实际的运行效果那么这时就要有一个空语句。
空语句通常用会以下两种用法。
(1)while,for 构成的循环语句后面加一个分号,形成一个不执行其它操作的空循环体。
我会常常用它来写等待事件发生的程序。
要注意的是“;”号作为空语句使用时,要与语句中有效组成部分的分号相区分,如for (;a<50000;a++);第一个分号也应该算是空语句,它会使a 赋值为0(但要注意的是如程序前有a值,则a的初值为a的当前值),最后一个分号则使整个语句行成一个空循环。
Keil C51和伟福仿真器使用方法
Keil C51和伟福V8/T仿真器使用方法1.先安装Keil C51;2.安装VW仿真开发环境;(在光驱内放入仿真器安装软件)3.运行Keil uVision3(Keil C51汉化版);4.点击→工程→新建工程,在本地磁盘内创建一新目录,单击保存;5.在“为目标1选择设备”中选择Atmel下的AT89C2051;6.选择主菜单栏中的“工程”→“为目标‘目标1’设置选项”;7.在界面内:8.选择“输出”,对话框内如下图复选5项;9.选择“调试”,使用框内选择“W A VE V series MCS51 Drive”,其余如下图,确认;10.单击“文件”→“新建”,随后可在编辑窗口中输入源程序;11.程序输入完成后,选择“文件”→“另存为”,将该文件以扩展名为*.asm格式保存在(电子钟)文件夹中;12.添加文件到当前项目组中:单击工程管理器中目标1前的“+”号,出现“源代码组1”后再单击,加亮后右击,选择“添加文件到组‘源代码组1’”,在增加文件窗口中选择刚才以asm格式编辑的文件,单击“ADD”按钮,然后点“CLOSE”(文件格式选*.*);13.编译文件:选择“工程”→“重建所有目标文件”或点击图标,这时输出窗口出现源程序的编译结果,如果编译出错,将提示错误ERRORS的类型和行号。
14.检查并修改源程序文件中的错误,直至编译通过为止。
编译通过后将输出一个以HEX为后缀名的目标文件;15.软件模拟仿真调试:将仿真器与电路板连接好,在主菜单中点击“调试”→,在打开的界面内选择V8/T 仿真器,POD-H8X5X仿真头,AT89C2051的CPU,晶体频率输入12000,然后打开仿真器电源,点击,仿真器准备就绪;16.执行程序:在主菜单中点击“调试”→,线路板即可按写入的程序进行运行,观察运行结果,与设计要求相比较,调整程序,直至达到设计要求;17.程序执行后,需在主菜单中点击“调试”→,方可退出系统。
keilc51集成开发环境的使用
Keil C51集成开发环境的使用Keil C51软件可以从相关网站下载并安装。
安装好后,双击桌面快捷图标或在“开始”菜单中选择Keil μVision3,启动Keil μVision3集成开发环境,启动后界面如图4-3所示。
图4-3 Keil μVision3启动后的集成开发环境界面(一)创建项目Keil μVision3中有一个项目管理器,用于对项目文件进行管理。
它包含了程序段环境变量和编程有关的全部信息,为单片机程序的管理带来了很大的方便。
创建一个新项目的操作步骤如下:(1)启动μVision3,创建一个项目文件,并从器件数据库中选择一款合适的单片机型号。
(2)创建一个新的源程序文件,并把这个源文件添加到项目中;(3)为该单片机芯片添加或配置启动程序代码;(4)设置工具选项,使之适合目标硬件;(5)编译项目并创建一个*.hex文件。
下面以本章任务为例分别介绍每一步的具体操作。
1.新建项目文件单击菜单“Project”→“New Project”命令,弹出如图4-4所示的新建项目对话框,指定保存路径,建议每个项目使用一个独立文件夹,例如本项目保存在“第4章”文件夹;然后,在“文件中名”输入项目名称,例如“4-1”,单击“保存”按钮即完成新项目的创建(系统默认扩展名为“.uv2”)。
输入文件图4-4 新建项目对话框此时弹出选择单片机的型号对话框,如图4-5所示,展开Atmel系列单片机,选择“AT89C51”,单击“确定”按钮完成设备的选择。
图4-5 选择单片机的型号对话框单片机型号选择结束后,在μVision3工作界面左边的项目管理器中新增加了一个“Target 1”目标1文件夹,如图4-6所示。
图4-6 项目管理器中新增“Target 1”对话框2.新建源程序文件单击菜单“File”→“New”命令,就可以创建一个源程序文件。
该命令会打开一个空的编辑器窗口,默认名为“Text 1”,输入如下源程序:/******************************************************************名称:流水灯控制模块名:AT89C51,74LS373功能描述:当开关打开时,LED自上而下依次点亮;当开关闭合时,LED从下向上依次点亮。
Keil C51软件的安装与使用
Keil C51软件的安装与使用一、系统要求安装Keil C51集成开发软件,必须满足一定的硬件和软件要求,才能确保编译器以及其他程序功能正常,必须具有:Pentium、Pentium-II或兼容处理器的PC;Windows95、Windows98、WindowsNT4.0、 Windows2000、Windowsxp;至少16MRAM;至少20MB硬盘。
二、软件的安装下面以Keil C51 V7.10版为例,介绍如何安装Keil uVision3集成开发环境。
2.1拿出随机赠送的系统光盘放入光驱中(假设E盘),进入E:\单片机开发工具\Keil_setup\目录,这时你会看到Setup.EXE文件,双击该文件即可安装。
2.2 这时会出现如图2.1所示的安装初始画面,稍后弹出一个安装向导对话框如图2.2所示,询问用户是安装评估版(Eval Version)还是完全版(Full Version),可以选Full Version。
图2.1图2.2在此后弹出的几个对话框中选择Next,这时会出现一个如图2.4 所示的安装路径设置对话框,默认路径是C:\KEIL,图2.3 当然用户点击Browse 选择适合自己的安装目录,如D:\Keil C51。
2.5在接下来的询问确认对话框如图2.4中选择Next命令按钮加以确认即可继续安装。
图2.42.6 接下来就是等待安装,安装完毕后单击Finish 加以确认,此时您可以在桌面上看到Keil uVision3软件的快捷图标,双击它就可以进入Keil C51集成开发环境。
3) Keil C51软件的使用Keil C51集成开发环境是以工程的方法来管理文件的,而不是单一文件的模式。
所有的文件包括源程序(包括C程序、汇编程序)、头文件、甚至说明性的技术文档都可以放在工程项目文件里统一管理。
在使用Keil C51前,您应该习惯这种工程管理方式,对于刚刚使用Keil C51的用户来说,一般按照以下步骤来创建一个自己的Keil C51应用程序。
KEIL C51使用说明
20.1 工程项目的建立、源程序文件的建立及加载Keil C51软件UVision打开后,程序窗口的左边有一个项目工作区管理窗口,该窗口有3个标签,分别是Files、Regs和Books,这3个标签页分别显示当前项目的文件结构、CPU的寄存器及部分特殊功能寄存器的值(调试时才出现)和所选CPU的附加说明文件,如果是第一次启动Keil C51,那么这3个标签页全是空的(图20-1)。
图20-1 Keil C51打开后界面20.1.1 建立工程文件在单片机开发项目中,有时有多个的源程序文件,并且还要为项目选择CPU以确定编译、汇编、连接的参数,指定调试的方式等。
为便于管理,Keil C51使用工程项目(Project)的方法,将这些参数设置和所需的所有文件都放在一个工程项目中,只能对工程项目而不能对单一的源程序进行编译(汇编)和连接等操作。
一、先在硬盘上建立一个需保存工程文件的目录(例如在“我的文档” 中建立一个test的文件夹),为便于管理及使用,目录名称可与工程名称一致。
二、1、选择“工程>新工程”菜单(图20-2)。
弹出对话框,要求给将要建立的工程起一个名字,可以在编辑框中输入一个名字(例如test),扩展名不必输入(默认的扩展名为.uv2)。
点击“保存”按钮(图20-3)。
2、随后弹出一个“为目标target选择设备”(Select Device for Target “Target1”)对话框,这个对话框要求选择目标CPU(即你所用单片机开发板芯片的型号),Keil C51支持的CPU很多,我们选择Atmel公司的AT89C51(或AT89S51)芯片,用鼠标单击Atmel前的“+”号,选择“AT89C51(或AT89S51)”单片机后按确定(图20-4)。
随即系统弹出是否拷贝8051启动代码到工程项目并添加到当前项目组的提示(Copy Standard 8051 Startup Code to Project Folder and Add File to Project ?),我们选否。
Keil C51仿真器的使用说明
Keil C51仿真器的使用说明一、Keil uVison3编程软件的安装(1)如计算机中已经安装此软件,无须再安装。
(2)打开随箱的软件安装光盘,在keil750AHK(3000TC)\setup 目录下,双击setup图标,显示如图2,点击Full V ersion,顺序点击Next、Y es等,在图3中,输入序列号:k1dzp-5iush-a01ue,其他任意。
安装完成后,默认安装目录为C:\Keil,此目录下还包括一些实验例程。
图2图3二、Keil C51仿真器的使用(1)仿真器的连接:将仿真器的40孔插头插入图4所示的插座中,另一端的USB口插入计算机的USB插孔中。
(2)仿真器驱动程序的安装:打开实验箱电源开关,在计算机上将显示“未知硬件”,按照图5、6的指示,安装硬件驱动(驱动程序在随箱的软件光盘中)。
驱动安装后,在计算机硬件属性串口中可以看到如图7所示的新USB接口设备ProlificUSB-to-Serial Bridge(COM5),COM5表示此设备占用了5号COM口(注:不同的计算机安装后占用的COM口可能不同)。
在图7中点击上端的“端口设置”,可看到如图8所示,此窗口用于设置串口的的波特率等信息,设置的各项参数要与Keil uVision软件中串口设置的一样,方能保证通讯正常。
图4图5图6图7图8(3)K eil uVision2软件中对仿真器的设置:启动Keil uVision2软件,在主界面中,点击工具栏Project(项目)选项中的New Project(新项目),如图9,文件名任意,点保存后出现图10,在器件目录的Atmel目录中选择所要仿真的芯片(如:A T89S51)后确认。
点击主界面的工具栏Project(项目)选项中的“为目标1设置选项”,出现如图11所示,此界面用于设置项目的各项参数,在“目标”选项中设置单片机的晶振时钟,在“调试”选项中,选择使用“Keil Monitor-51 Driver”仿真器,点击框后的“设置”按钮,弹出仿真器通讯参数设置选项,这里的参数要设置与计算机中串口设置的参数一致(见第2步)。
使用keilc51软件的开发流程
使用Keil C51软件的开发流程1. 准备工作在使用Keil C51软件进行开发之前,需要进行以下准备工作: - 下载并安装Keil C51软件 - 确保计算机上安装了相应的驱动程序 - 准备所需的硬件设备和器件2. 创建新项目•打开Keil C51软件,选择“File”菜单,点击“New Project”选项•在弹出的对话框中,选择项目保存的文件夹和名称,点击“Save”•在弹出的对话框中,选择“8051”系列的芯片类型,点击“OK”•在弹出的对话框中,选择芯片型号,点击“OK”3. 配置项目选项•在项目窗口中,点击鼠标右键,选择“Options for Target”选项•在弹出的对话框中,可以进行各项项目选项的配置,如存储器映射、优化选项等•配置完成后,点击“OK”按钮保存配置4. 编写程序代码•在项目窗口中,选择“Source Group”文件夹,点击鼠标右键,选择“Add Files to Group”选项•在弹出的对话框中,选择要添加的代码文件,点击“Add”•在代码编辑器中编写程序代码5. 编译程序•点击Keil C51软件界面的“Build”按钮,开始编译程序•若编译过程中出现错误提示,需要根据错误信息进行代码修改•编译无误后,将生成的目标文件保存在指定的文件夹中6. 调试程序•连接硬件设备到计算机上•在Keil C51软件界面的“Debug”选项中,选择“Start/Stop Debug Session”选项•在弹出的对话框中,选择调试使用的硬件接口,点击“OK”•进入调试模式,可以进行单步调试、断点设置等操作,查看程序运行情况7. 烧写程序•在Keil C51软件界面的“Flash”选项中,选择“Download”选项•在弹出的对话框中,选择要烧写的目标芯片和烧写方式,点击“OK”•点击“Start”按钮开始烧写程序到目标芯片中•烧写完成后,断开硬件连接,程序即可在目标芯片上运行8. 测试与调试•将目标芯片插入到目标系统中•针对项目的需求,进行测试和调试工作•根据测试结果进行代码的优化和修改,重新编译、烧写程序9. 打包与发布•最终确定程序无误后,可以将程序进行打包•打包后的程序可以发布到目标设备或进行产品交付以上就是使用Keil C51软件的开发流程的基本步骤。
KEIL C51使用技巧
函数的递归调用和再入函数函数类型函数名(形参表)[reentrant]再入函数可被递归调用,无论何时,包括中断服务函数在内的任何函数都可调用再入函数。
与非再入函数的参数传递和局部变量的存储分配方式不同,Cx51编译器为再入函数生成一个模拟栈,通过其来完成参数传递和存放局部变量。
模拟栈所在的存储器空间根据再入函数存储器模式的不同,可以是DA TA、PDATA、XDATA 存储器空间。
当程序中包含有多种存储器模式的再入函数时,编译器为每种模式单独建立一个模拟栈并独立管理各自的栈指针。
对于再入函数有如下规定:(1)再入函数不能传送bit类型的参数,也不能定义一个局部位变量,再入函数不能包括位操作和8051系列单片机的可位寻址区(2)与PL/M51兼容的函数不能具有reentrant属性,也不能调用再入函数(3)编译时存储器模式基础上为再入函数在内部或外部存储器中建立一个模拟堆栈区,称为再入栈。
在small模拟下再入栈位于idata区,在compact模式下再入栈位于pdaa 区,在large模式下再入栈位于xdata区。
再入函数的局部变量及参数都被放入再入栈中,从而使再入函数可进行递归调用。
而非再入函数的局部变量被放在再入栈外的暂存区内,如对其进行递归调用,则上次调用时使用的局部变量数据将被覆盖。
(4)在同意个程序中可定义或使用不同存储器模式的再入函数,任意模式的再入函数不能调用不同模式的再入函数,但可任意调用非再入函数。
(5)在参数的传递上,实际参数可传递给间接调用的再入函数。
无再入属性的间接调用函数不能包含调用参数,但可以使用定义的全局变量来进行参数传递。
采用函数递归调用可使程序结构紧凑,但要求采用再入函数,以便利用再入栈来保存有关的局部变量数据,因此要占用较大的内存空间。
另外,递归调用时对函数的处理速度较慢,因此一般情况下应尽量避免使用函数递归调用,定义函数时应尽量避免使用再入属性。
8051常规栈是位于内部数据RAM中,是向上生长型的而模拟再入栈是向下生长型的。
Keil C51使用和操作步骤
Keil软件安装完毕后,会在桌面上生成Keil uVision4图标,双 击该图标,或选择“开始”-“程序”-Keil uVision4,卽 可进入Keil软件的集成开发环境。
1、工程项目的建立 (1)点击 “Project->NewProject ”菜单,出现一个对 话框,要求给将要建立的工程起一个名字,你可以在编缉框中 输入一个名字(设为 exam1),不需要扩展名。点击“保存” 按钮,将你的项目文件名存入指定的路径下的文件夹里,此时 会出现第二个对话框。 (需要预先/或即时在指定的路径下建立一个文件夹) (2)选择你所用CPU芯片的型号。 (3)选择 Atmel 公司的 AT89C51 芯片。 (4)点击“OK”确认 (5)点击“否”后建立项目完成
(2)给源文件起个名,请记住,文件名后面一定要加上后缀“.C”,点击快捷键“保存”,将 文件保存在指定的文件夹里。
3、给工程加入源文件
(1)在项目管理窗里,用右键点击“Source Group 1”
出现下一个提示: (2)点击“ (3)选择刚建立的源程序,点击“Add”
4、工程项目的设置
(1)点击项目管理窗中的 出现一个新的对话窗:在Greate HEX File HEXFomat选项上打上勾
” 出现一个新的对话框。
2、源文件的建立
(1)使用菜单“File ->New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个 新的文本编缉窗口,在该窗口中输入以下C语言源程序。
#include <reg51.h> //包含头文件REG51.H,定义了51单片机的 特殊功能寄存器。 sbit P2_0=P2^0; //定义位名称 void delay(unsigned char i); //延时函数声明 void main() //主函数 { while(1) { P2_0=0; //点亮信号灯 delay(255); //调用延时函数,实际变量为255 P2_0=1; //熄灭信号灯 delay(255); //调用延时函数,实际变量为255 } } //函数名:delay //函数功能:实现软件延时 void delay(unsigned char i) //延时函数,无符号字符型变量i为形式参数 { unsigned char j,k; //定义无符号字符型变量j和k for(k=0;k<i;k++) //双重for循环语句实现软件延时 for(j=0;j<255;j++); }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
、Keil C51工程建立与仿真
1、建立一个工程项目,选择芯片并确定选项
双击Keil uVision2快捷图标后进入Keil C51开发环境,单击“工程”菜单,在弹出的下拉菜单选中“新工程”选项,屏幕显示为图1。
附录:
一
图1 建立一个工程项目在文件名中输入一个项目名“my-test”,选择保存路径(可在
“我的
文档”
中先建
立一个
同名的
文件夹),单击保存。
在随后弹出的“为目标target选择设备”(Select Device for Target “Target1”)对话框中用鼠标单击Atmel前的“+”号,选择“89C51”单片机后按确定,如图2所示。
图 2 选择单片机后按确定
选择主菜单栏中的“工程”,选中下拉菜单中“Options for Target ‘Target1’”,出现图3所示的界面。
单击“target”页面,在晶体Xtal(MHz)栏中选择试验板的晶振频率,默认为24MHz,我们讲座试验板的晶振频率为11.0592MHz,因此要将24.0改为11.0592。
然后单击输出“Output”页面,在“建立hex格式文件”前打勾选中,如图3-4。
其它采用默认设置,然后点确定。
图3 选择Target
页面
图4 选择Output页面
2、建立源程序文件
图 5 建立源程序文件
程序输入完成后,选择“文件”,在下拉菜单中选中“另存为”,将该文件以扩展名为.asm格式(如my-test.asm)保存在刚才所建立的一个文件夹中(my-test)。
3、添加文件到当前项目组中
单击工程管理器中“Target 1”前的“+”号,出现“Source Group1”后再单击,加亮后右击。
在出现的下拉窗口中选择“Add Files to Group‘Source Group1’”,如图6所示。
在增加文件窗口中选择刚才以asm格式编辑的文件my-test.asm,鼠标单击“ADD”按钮,这时my-test.asm文件便加入到Source Group1这个组里了,随后关闭此对话窗口。
图 6 添加文件到当前项目组中
4、编译(汇编)文件
选择主菜单栏中的“工程”,在下拉菜单中选中“重建
所有目标文件”,这时输出窗口出现源程序的编译结果,如图7所示。
如果编译出错,将提示错误ERROR(S)的类型和行号。
图7 编译文件
5、检查并修改源程序文件中的错误
我们可以根据输出窗口的提示重新修改源程序,直至编译通过为止,编译通过后将输出一个以HEX为后缀名的目标文件,如my-test.HEX。
6、软件模拟仿真调试
在主菜单中打开“除错”界面,点击“开/关DEBUG”,出现2K代码限制的提示窗口后点确定,这时进入软件模拟仿真调试界面(图3-8)。
点击“除错”栏,可看到下拉菜单中的“单步到之外”快捷键为F10,按一下F10,程序的光标箭头往下移一行。
打开“外围设备”栏,在其下拉菜单中
选“I/O-Ports>Port0”、“I/O-Ports>Port1”、“I/O-Ports>Port2”、“I/O-Ports>Port3”,将四个输出窗口全部打开(图9)。
鼠标在程序的光标箭头上点一下,随后继续按动F10,可发现Port0~3依次变为低电平(打勾消失),再按动F10,同时注意观察左边寄存器窗口中的Sec(时间)数值,可发现,Port0~3输出低电平到高电平的时间间隔约为0.5秒,反复循环。
仿真调试通过后,关闭Keil C51开发环境。
图3-8 软件模拟仿真调试界面
图9 打开四个输出窗口
二、Keil 程序调试窗口
1、程序调试时的常用窗口
Keil软件在调试程序时提供了多个窗口,主要包括输出窗口(Output Windows)、观察窗口(Watch&Call Statck W indows)、存储器窗口(Memory Window)、反汇编窗口(Dis sambly Window)串行窗口(Serial Window)等。
进入调试模式后,可以通过菜单View下的相应命令打开或关闭这些窗口。
图1是输出窗口、观察窗口和存储器窗口,各窗口的大小可以使用鼠标调整。
进入调试程序后,输出窗口自动切换到
Command页。
该页用于输入调试命令和输出调试信息。
图10 输出窗口、观察窗口和存储器窗口
2、存储器窗口
存储器窗口中可以显示系统中各种内存中的值,通过在A ddress后的编缉框内输入“字母:数字”即可显示相应内存值,其中字母可以是C、D、I、X,分别代表代码存储空间、直接寻址的片内存储空间、间接寻址的片内存储空间、扩展的外部RAM空间,数字代表想要查看的地址。
例如输入D:0即可观察到地址0开始的片内RAM单元值、键入C:0即可显示从0开始的ROM单元中的值,即查看程序的二进制代码。
该窗口的显示值可以以各种形式显示,如十进制、十六进制、字符型等,改变显示方式的方法是点鼠标右键,在弹出的快捷菜单中选择,该菜单用分隔条分成三部份,其中第一部份与第二部份的三个选项为同一级别,选中第一部份的任一选项,内容将以整数形式显示,而选中第二部份的Ascii项则将以字符型式显示,选中Float项将相邻四字节组成的浮点数形式显示、选中Double项则将相邻8字节组成双精度形式显示。
第一部份又有多个选择项,其中Decimal项是一个开关,如果选中该项,则窗口中的值将以十进制的形式显示,否则按默认的十六进制方式显示。
Unsigned和Signed后分别有三个选项:Char、Int、Long,分别代表以单字节方式显示、将相邻双字节组成整型数方式显示、将相邻四字节组成长整型方式显示,而Unsigned和Signed则分别代表无符号形式和有符号形式,究竟从哪一个单元开始的相邻单元则与你的设置有关,以整型为例,如果你输入的是I:0,那么00H和01H单元的内容将会组成一个整型数,而如果你输入的是I:1,01H和02H单元的内容全组成一个整型数,以此类推。
有关数据格式与C语言规定相同,请参考C语言书籍,默认以无符号单字节方式显示。
第三部份的Modify Memory at X:xx用于更改鼠标处的内存单元值,选中该项即出现如图12所示的对话框,可以在对话框内输入要修改的内容。
图11 内存窗口
图12 修改内存值
3、工程窗口寄存器页
图13是工程窗口寄存器页的内容,寄存器页包括了当前的工作寄存器组和系统寄存器,系统寄存器组有一些是实际存在的寄存器如A、B、DPTR、SP、PSW等,有一些是实际中并不存在或虽然存在却不能对其操作的如PC、Status等。
每当程序中执行到对某寄存器的操作时,该寄存器会以反色(蓝底白字)显示,用鼠标单击然后按下F2键,即可修改该值。
图13 工程窗口寄存器。