KeilC51开发系统基本知识.
全面的KEIL和C51的使用免费
![全面的KEIL和C51的使用免费](https://img.taocdn.com/s3/m/da7cf275b80d6c85ec3a87c24028915f804d84e3.png)
全面的KEIL和C51的使用免费
KEIL和C51是一款强大的集成开发环境和一种流行的8051系列单片
机C语言编译器。
KEIL提供了C51编译器和调试器,以及丰富的软件库
和开发工具,使得开发人员能够更方便地编写、调试和测试嵌入式系统。
全面使用KEIL和C51需要掌握以下几个方面的内容:
2.创建工程:在KEIL中创建工程是开始开发的第一步。
可以选择新
建空白工程或者导入已有的工程。
在工程中,可以添加源文件、头文件、
库文件等。
同时,还需要指定目标芯片型号和连接器脚本。
4.编译和调试:编写完程序后,可以选择编译和调试。
KEIL的C51
编译器会将源代码编译成可以在目标芯片上运行的机器码。
编译过程中,
会检查语法错误、类型错误、符号错误等,并生成可执行文件。
调试过程中,可以设置断点、查看变量值、单步运行等功能,以便调试和测试程序。
此外,KEIL还提供了一系列的工具和功能,如性能分析器、内存监
视器、逻辑分析器等,用于进一步提高开发效率和调试能力。
全面使用KEIL和C51需要学习的知识较多,可以通过以下途径进一
步深入学习:。
keil c51 详细中文手册
![keil c51 详细中文手册](https://img.taocdn.com/s3/m/225e757a1711cc7931b7164e.png)
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开发系统基本知识](https://img.taocdn.com/s3/m/35c87fd69f3143323968011ca300a6c30c22f18b.png)
Keil_C51开发系统基本知识Keil C51开发系统基本知识1. 第一节系统概述Keil C51是美国Keil Software公司出品的51系列兼容单片机C 语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C 来开发,体会更加深刻。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍Keil C51开发系统各部分功能和使用。
2. 第二节 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工具包整体结构图3. 第三节 Keil C51工具包的安装1. 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. 2. C51 for Windows的安装及注意事项:在Windows下运行软件包中WIN\Setup.exe,最好选择安装目录与C51 for Dos相同,这样设置最简单(设安装于C:\C51目录下)。
Keil C51使用详解
![Keil C51使用详解](https://img.taocdn.com/s3/m/80dfba135b8102d276a20029bd64783e09127d88.png)
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声明,见上例。
第3章_C51语言编程基础
![第3章_C51语言编程基础](https://img.taocdn.com/s3/m/1eeb20c7be23482fb4da4cd4.png)
.
3
2、Keil C51语言简介
对于51单片机,目前广泛使用的是Keil C51语言,简称C51语言。
Keil C51语言是在标准C的基础上,针对51单片机的硬件特点进行 扩展,并向51单片机上移植的高效、简洁的实用高级语言。
与汇编语言相比的特点: (1)可读性好。 (2)可模块化开发。 (3)可移植性好。 (4)生成的代码效率较低。
unsigned char j ;
for(j=0; j<8; j++) {
buffer[j]=0; }
}
.
8
33
3、C51的基本运算 C51语言的基本运算与标准C类似,主要包括算术运算、关系运算、 逻辑运算、位运算和赋值运算及其表达式等。
1)算术运算符
.
34
2)关系运算符
关系表达式
int x=3; int y=6; int R;
bit的值可以是1(true),或0(false)。
格式: bit 变量名;
例如:
bit
flag;
flag = 0;
.
8
(2)特殊功能寄存器sfr 地址单元80H——FFH之间的片内数据存储区; “sfr” 数据类型占用一个内存单元; 利用它可以访问51单片机内部的所有特殊功能寄存器。 格式: sfr 寄存器变量名 = 字节地址常数;
01000000 | 11111111
00001000 << 3
.
38
【例】以字节操作方式对I/O口P1的P1.5清0 ,P1.1置为1, 其他位保持不变。
例如:
sfr
PSW = 0xd0;
//定义PSW寄存器地址为0xd0
keil C51 应用入门
![keil C51 应用入门](https://img.taocdn.com/s3/m/ba52e61d59eef8c75fbfb336.png)
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+c51工作原理](https://img.taocdn.com/s3/m/94f6d88b68dc5022aaea998fcc22bcd126ff4216.png)
keil+c51工作原理(原创版)目录1.Keil 与 C51 的简介2.Keil uVision 软件与 C51 编程语言的结合3.Keil uVision 软件的工作原理4.C51 编程语言的工作原理5.总结正文【1.Keil 与 C51 的简介】Keil 是一款集成开发环境(IDE)软件,主要用于嵌入式系统开发。
C51 是一种通用的 C 编程语言,适用于各种微处理器和微控制器。
当Keil 与 C51 结合时,开发人员可以利用 Keil 的强大功能编写和调试C51 程序,从而实现对嵌入式系统的控制。
【2.Keil uVision 软件与 C51 编程语言的结合】Keil uVision 软件是 Keil 公司推出的一款用于嵌入式系统开发的IDE。
它支持 C51 编程语言,并提供了丰富的功能,如代码编辑、编译、调试等。
通过使用 Keil uVision 软件,开发人员可以轻松地编写和调试C51 程序,从而实现对嵌入式系统的控制。
【3.Keil uVision 软件的工作原理】Keil uVision 软件的工作原理主要包括以下几个步骤:(1)编写代码:开发人员在 Keil uVision 软件中编写 C51 代码。
(2)编译代码:Keil uVision 软件将编写好的 C51 代码编译成目标文件,如.hex 文件。
(3)下载代码:将编译好的目标文件下载到嵌入式系统中。
(4)调试代码:在嵌入式系统中运行程序,并利用 Keil uVision 软件的调试功能进行程序调试。
【4.C51 编程语言的工作原理】C51 编程语言的工作原理主要包括以下几个步骤:(1)编写代码:开发人员使用 C51 编程语言编写嵌入式系统程序。
(2)编译代码:利用 Keil uVision 软件将 C51 代码编译成目标文件,如.hex 文件。
(3)下载代码:将编译好的目标文件下载到嵌入式系统中。
(4)执行代码:在嵌入式系统中执行程序,实现对嵌入式系统的控制。
keil+c51工作原理
![keil+c51工作原理](https://img.taocdn.com/s3/m/086deacf6429647d27284b73f242336c1eb930fa.png)
keil+c51工作原理
Keil C51是一种针对Intel 8051微控制器的集成开发环境(IDE),它的工作原理涉及以下几个方面:
1. 编译器,Keil C51集成了一款专门针对8051微控制器的C
语言编译器,它能够将高级C语言代码转换为8051微控制器可以执
行的机器语言代码。
编译器会对代码进行语法分析、优化和生成目
标代码。
2. 调试器,Keil C51提供了强大的调试功能,可以通过仿真
器或者连接实际的8051微控制器进行调试。
用户可以在IDE中设置
断点、单步执行、监视变量等操作,帮助定位和解决程序中的错误。
3. 集成开发环境,Keil C51提供了一个集成的开发环境,包
括源代码编辑器、项目管理工具、编译器、链接器、调试器等,使
得开发人员可以在一个统一的界面下完成整个软件开发过程。
总的来说,Keil C51的工作原理是通过将高级C语言代码转换
为8051微控制器可以执行的机器语言代码,并提供强大的调试功能
和集成开发环境,帮助开发人员进行嵌入式软件开发。
keil+c51工作原理
![keil+c51工作原理](https://img.taocdn.com/s3/m/1a316f83d4bbfd0a79563c1ec5da50e2534dd169.png)
keil+c51工作原理(最新版)目录1.Keil 与 C51 的概述2.Keil uVision5 软件的安装与使用3.C51 编程语言的特点与应用4.Keil 与 C51 的工作原理与流程5.总结正文一、Keil 与 C51 的概述Keil 是一款集成开发环境(IDE)软件,主要用于 C 语言和 C++语言的编程。
而 C51 则是基于 Intel 8051 核心的一种 C 语言编程规范。
Keil 与 C51 的结合,使得开发者能够更方便地进行嵌入式系统开发。
二、Keil uVision5 软件的安装与使用Keil uVision5 是 Keil 公司的一款集成开发环境软件,适用于 Windows 操作系统。
在使用 Keil uVision5 之前,需要先安装软件并进行相关配置。
配置完成后,通过该软件可以进行 C51 程序的编写、编译和下载。
三、C51 编程语言的特点与应用C51 编程语言具有以下特点:1.适用于 8051 单片机,支持单片机的所有寄存器和指令。
2.支持 C 语言的语法,易于学习和使用。
3.支持浮点运算和硬件串行通信。
C51 广泛应用于嵌入式系统开发,如单片机控制、智能家居、自动控制等领域。
四、Keil 与 C51 的工作原理与流程Keil 与 C51 的工作原理主要是通过 Keil uVision5 软件进行程序的编写、编译和下载。
具体流程如下:1.编写程序:使用 Keil uVision5 软件编写 C51 程序代码。
2.编译程序:在 Keil uVision5 中编译 C51 程序,生成.hex 文件。
3.下载程序:将编译生成的.hex 文件通过串口下载器下载到单片机中。
4.运行程序:单片机运行下载的程序,实现所需功能。
五、总结Keil 与 C51 的结合为嵌入式系统开发提供了方便、高效的工具。
第1页共1页。
KEli C51软件入门
![KEli C51软件入门](https://img.taocdn.com/s3/m/67b0e7eb6294dd88d0d26b66.png)
keil软件的使用有关“Keil uVision2”软件的使用:开发单片机的第一步就是用Keil软件编写汇编程序,并形成最终的“*.hex”目标文件,然后用编程器将该文件烧写到单片机中就行了,最后将烧写好的单片机插到电路板上,一接通电源就可以工作了。
下面以编写小灯闪烁的程序为例介绍KILL软件的使用方法:1、双击桌面上的图标,打开以下窗口:点“工程”,新建工程:给工程起一个名字,我用“xiaodeng”就是小灯的意思,然后点保存:选择你使用的芯片型号,我用的是Atmel公司生产的89s51,双击Atmel:在下面找到At89S51后,点击它,然后确定:点击确定后,接下来再为你的工程新建一个文件弹出以下窗口:在弹出的窗口里面写入你的汇编程序:然后点文件,另存为:为你的文件起一个名字,我这里名字为“xiaodeng.asm”。
注意文件的扩展名不能省略,而且必须是“.asm”:点击保存,出现以下界面:将左边Target 1前面的“+”号展开,在它下面的字符“Source Group 1”上点击鼠标右键,再点击增加文件到组:在文件类型中点击asm源文件:在文件中找到你刚才新建的xiaodeng.asm文件,然后点击Add加入:只需要加入一次就够了,如果再次加入,将出现以下画面,不要紧,点确定就好了:这时候,左边的文件夹“Source Group 1”前面就有了一个“+”号:点击该“+”号展开后,下面就出现了一个名为“Xiakdeng.asm”的文件,说明已经将文件加进来了。
接下来将鼠标移到“Target 1”上,点击右键,再点击“目标‘Target 1’属性”:弹出以下窗口:点“输出”,在新弹出的窗口中,一定要确保“E生成 HEX文件”前面的小方格内有一个勾“√”,即选中该项,然后再点击“确定”:最后点击下面的符号:即“构造所有目标文件夹”,当出现以下画面时,说明目标文件“xiaodeng.hex”文件已经生成了:。
keil c51 详细中文手册
![keil c51 详细中文手册](https://img.taocdn.com/s3/m/225e757a1711cc7931b7164e.png)
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声明,见上例。
开发工具KeilC51介绍
![开发工具KeilC51介绍](https://img.taocdn.com/s3/m/470568b7900ef12d2af90242a8956bec0975a580.png)
目录
• Keil C51简介 • Keil C51开发环境 • Keil C51的编程语言 • Keil C51的实践应用 • Keil C51的未来发展
01 Keil C51简介
什么是Keil C
01
Keil C51是一款针对8051微控制器 的集成开发环境(IDE),由德国 Keil Software公司开发。
THANKS FOR WATCHING
感谢您的观看
制系统、工业控制系统等。
单片机应用开发
03
使用Keil C51开发工具进行单片机应用开发,如电子门锁、智
能仪表等。
常见问题及解决方案
01
编译错误
检查代码中是否有语法错误或拼 写错误,确保代码符合C语言规 范。
链接错误
02
03
调试错误
检查链接器设置是否正确,确保 目标硬件平台和编译器之间的兼 容性。
习和使用。
02 Keil C51开发环境
界面介绍
菜单栏
包含文件、编辑、工程、查看 、工具等常用菜单,方便用户
进行操作。
工具栏
提供常用操作按钮,如新建、 打开、保存、编译等,方便用 户快速执行操作。
工程管理器
展示工程文件和文件夹结构, 方便用户管理工程文件。
编辑器
提供代码编写和编辑功能,支 持语法高亮、自动缩进等功能
嵌入式C语言编程规范
内存管理
由于嵌入式系统资源有限,程序员需要谨慎管理内存,避免内存 泄漏和非法访问。
实时性
嵌入式系统通常要求实时响应,因此程序应尽量减少不必要的延 时和计算。
可靠性
程序应具备错误处理和异常处理机制,确保系统稳定可靠。
KeilC51开发系统知识
![KeilC51开发系统知识](https://img.taocdn.com/s3/m/03563738f342336c1eb91a37f111f18583d00c98.png)
KeilC51开发系统知识简介KeilC51是一款基于Keil公司开发的微处理器开发系统。
它是针对Intel 8051系列单片机的集成开发环境(IDE),提供了丰富的工具和功能,方便开发人员进行单片机软件的编写、调试和仿真。
开发环境搭建要开始使用KeilC51开发系统,需要按照以下步骤搭建开发环境:1.下载和安装KeilC51软件,可以从Keil官方网站上下载安装程序。
2.安装所需的编译器和调试器。
KeilC51集成了多个编译器和调试器,用户可以根据需要选择合适的版本安装。
3.连接目标硬件。
将开发板或嵌入式系统与电脑连接,确保硬件的正常工作。
KeilC51的主要功能KeilC51提供了以下主要功能:1. 编辑器KeilC51内置了一个强大的文本编辑器,支持多种编程语言的语法高亮显示、代码自动补全和代码折叠等功能。
开发人员可以通过编辑器编写和修改单片机的软件代码。
2. 编译器KeilC51集成了多个编译器,可以将高级语言(如C语言)编译为可执行的机器码。
编译器还提供了丰富的编译选项,可以对代码进行优化,以提高程序的性能和效率。
3. 调试器KeilC51的调试器功能强大,可以帮助开发人员定位程序中的错误和问题。
调试器可以实时监测程序的执行状态,包括变量的值、寄存器的状态和内存的使用情况等。
开发人员可以通过调试器来查看和修改程序的运行状态,以便进行调试和测试。
4. 仿真器KeilC51还提供了仿真器的功能,可以模拟目标设备的行为,以便在不连接实际硬件的情况下进行程序的调试和测试。
仿真器可以模拟外部设备的输入和输出,以及处理器的执行过程,方便开发人员进行程序的验证和优化。
5. 项目管理KeilC51具有强大的项目管理功能,开发人员可以将相关的文件组织为一个项目,并进行版本控制和管理。
项目管理功能还可以帮助开发人员生成可执行文件和固件,方便部署和测试。
小结KeilC51开发系统是一款功能强大、易于使用的微处理器开发环境。
keil c51 详细中文手册
![keil c51 详细中文手册](https://img.taocdn.com/s3/m/5091a7676c85ec3a86c2c50f.png)
KeilC51使用详解V1.0第一章KeilC51开发系统基本知识 (6)第一节系统概述 (6)第二节KeilC51单片机软件开发系统的整体结构 (6)第三节第四节1.C512.L51第一节1.2.3.第二节1.dScope51forDos112.dScopeforWindows12第三节Monitor51及其使用 (13)1.Monitor51对硬件的要求 (13)2.Mon51的使用 (13)3.MON51的配置 (13)5.MON51命令及使用 (14)第四节集成开发环境(IDE)的使用 (14)1.IshellforDos的使用 (14)2.uVisionforwindows的使用 (15)第三章KeilC51vs标准C..15第一节KeilC51扩展关键字 (15)1.bit2.可位寻址区说明20H-2FH..18第七节KeilC51指针 (18)1.一般指针 (18)2.存储器指针 (18)3.指针转换 (18)第八节KeilC51函数 (19)2.通用存储工作区 (19)3.选通用存储工作区由usingx声明,见上例。
(19)4.指定存储模式 (19)5.#pragmadisable.196.递归或可重入函数指定 (19)7.指定PL/M-51函数 (20)1.2._at_3.第二节1.2.第三节1.2.C513.4.第四节段名协定与程序优化 (25)1.段名协定(SegmentNamingConventions)252.程序优化 (25)第五章KeilC51库函数参考 (26)第一节本征库函数(intrinsicroutines)和非本征证库函数 (26)第二节几类重要库函数 (26)1.专用寄存器include文件 (26)2.绝对地址include文件absacc.h.263.动态内存分配函数,位于stdlib.h中 (27)4.缓冲区处理函数位于“string.h”中 (27)5.输入输出流函数,位于“stdio.h”中 (27)第三节KeilC51库函数原型列表 (27)1.CTYPE.H..27第一节第二节2.调试窗口(DEBUGWindow) (32)3.命令窗口(CommandWindow) (32)4.观察窗口(WatchWindow) (32)5.寄存器窗口(RegisteWindow) (32)6.串口窗口(SericalWindows) (32)7.性能分析窗口 (32)8.内存窗口(MemoryWindow) (32)9.符号浏览窗口(SymbolBrowserWindow) (33)10.调用线窗口(Call-StackWindow) (33)11.代码覆盖窗口 (33)12.外围设备窗口(peripherals)33第二节dScopeforWindows基本操作 (33)1.指定初始化文件 (33)第三节8.指针: (38)9.dScope命令语句 (38)10.函数 (43)第一章KeilC51开发系统基本知识第一节系统概述KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
keilc51简介,lx51与BL51,AX51与A51,CX51与C51区别
![keilc51简介,lx51与BL51,AX51与A51,CX51与C51区别](https://img.taocdn.com/s3/m/2da51ca285868762caaedd3383c4bb4cf6ecb757.png)
keilc51简介,lx51与BL51,AX51与A51,CX51与C51区别简介Keil C51集成开发环境的主要功能有以下几点:1.RTX-51实时操作系统:简化了复杂的实时应用软件项目的设计。
2.C51国际际准化C交叉编译器:从C源代码产生就可以重定位的目标模块。
3.LIB51库管理器:从目标模块生成连接器可以使用的库文件。
4.BL51链接器/定位器:组合由C51和A51产生的可重定位的目标模块,生成绝对目标模块。
5.A51宏汇编器:从89C51汇编源代码产生可重定位的目标模块。
6.OH51目标文件至HEX格式的转换器,从绝对目标模块生成Intel Hex文件。
7.μVision4 for Windows:是一个集成开发环境,它将项目管理、程序调试、源代码编辑等组合在一个功能强大的环境中。
μVision4支持所有的Keil 89C51的工具软件,其中包括C51宏汇编器、编译器、链接器/定位器和目标文件至HEX格式转换器,μVision4可以自动地完成编译、汇编、链接程序等基本的操作。
还可以在编译之后进行模拟仿真调试,清楚的显示出每个变量的变化。
区别详见A51手册的附录D:汇编器的差异<br /><br />A51与BL51:<br />针对传统8051单片机的开发工具,最大支持32×64KB Code Bank。
<br /><br />AX51与LX51:<br />针对传统8051单片机以及部分衍生型号的开发工具,最大支持外扩16 MB的xdata或code。
AX51汇编器是A51汇编器的超集,两者的主要差异包括:<br />1.AX51中的数值默认为32位,A51是16位;<br />2.AX51不包含8051的默认SFR定义;<br />3.AX51支持更多的特殊符号,例如ECALL等;<br />4.生成的目标文件不同。
Keil C51基本关键字
![Keil C51基本关键字](https://img.taocdn.com/s3/m/392cd46d011ca300a6c39021.png)
Keil C51基本关键字:一、由ANSI标准定义的共32个:auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static二、Keil Cx51扩展的关键字:•_at_•alien •bdata •bit •code •compact •data •far•idata•interrupt•large•pdata•_priority_•reentrant•sbit•sfr•sfr16•small•_task_•using•xdata三、标准C关键字说明:1数据类型关键字(12个):(1)char:声明字符型变量或函数(2)double:声明双精度变量或函数(3)enum:声明枚举类型(4)float:声明浮点型变量或函数(5)int:声明整型变量或函数(6)long:声明长整型变量或函数(7)short:声明短整型变量或函数(8)signed:声明有符号类型变量或函数(9)struct:声明结构体变量或函数(10)union:声明联合数据类型(11)unsigned:声明无符号类型变量或函数(12)void:声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)(2)控制语句关键字(12个):A循环语句(1)for:一种循环语句(可意会不可言传)(2)do:循环语句的循环体(3)while:循环语句的循环条件(4)break:跳出当前循环(5)continue:结束当前循环,开始下一轮循环B条件语句(1)if:条件语句(2)else:条件语句否定分支(与if连用)(3)goto:无条件跳转语句C开关语句(1)switch:用于开关语句(2)case:开关语句分支(3)default:开关语句中的“其他”分支Dreturn:子程序返回语句(可以带参数,也看不带参数)3存储类型关键字(4个)(1)auto:声明自动变量一般不使用(2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)(3)register:声明积存器变量(4)static:声明静态变量4其它关键字(4个):(1)const:声明只读变量(2)sizeof:计算数据类型长度(3)typedef:用以给数据类型取别名(当然还有其他作用(4)volatile:说明变量在程序执行中可被隐含地改变四、C51扩展关键字说明1、_at_定义变量的绝对地址格式:<[>memory_type<]>type variable_name_at_constant;例:int xdata value_at_0x8000;/*int at xdata0x8000*/ 2、alien(PL/M-51)函数外部声明C函数调用PL/M-51必须先用alien声明例:extern alien char plm_func(int,char);char c_func(void){int i;char c;for(i=0;i<100;i++){c=plm_func(i,c);/*call PL/M func*/}return(c);}C函数要被PL/M-51调用必须先用alien声明例:alien char c_func(char a,int b){return(a*b);}3、Code data,bdata,pdata,idata,xdata C51存储器类型声明Code程序代码存储区Data直接寻址片内数据存储区(低128字节)Bdata位寻址片内数据存储区(16字节)Idata间接寻址片内数据存储区(256字节)Pdata分页寻址外部数据存储区(256字节)Xdata可寻址片外数据存储区(64KB)例:int bdata ibase;/*Bit-addressable int*/char bdata bary[4];/*Bit-addressable array*/4、bit位变量定义格式:bit name<[>=value<]>;例:static bit done_flag=0;/*bit variable*/5、sfr sfr16sbit C51扩展数据类型sfr用于定义8位特殊功能寄存器sfr16用于定义16位特殊功能寄存器sbit用于定义可位寻址对象例:sfr P0=0x80;/*Port-0,address80h*/sfr16T2=0xCC;/*Timer2:T2L0CCh,T2H0CDh*/sbit EA=0xAF; //将位绝对地址赋給位变量sfr PSW=0xD0; sbit OV=PSW^2; sbit OV=0xD0^2;int bdata ibase;/*Bit-addressable int*/sbit mybit0=ibase^0;/*bit0of ibase*/6、compact,large,small C51中变量的存储模式选择Small模式用于将所有未指明存储区的变量均保存在data存储区compact模式用于将所有未指明存储区的变量均保存在pdata存储区Large模式用于将所有未指明存储区的变量均保存在xdata存储区例:#pragma small/*Default to small model*/extern int calc(char i,int b)large reentrant;extern int func(int i,float f)large;extern void*tcp(char xdata*xp,int ndx)compact;int mtest(int i,int y)/*Small model*/{ return(i*y+y*i+func(-1,4.75)); }int large_func(int i,int k)large/*Large model*/{ return(mtest(i,k)+2); }7、far far存储区是指许多新的8051扩展地址空间。
C51语言编程基础
![C51语言编程基础](https://img.taocdn.com/s3/m/6d981b9002d276a200292eb9.png)
图6 完成新建工程文件
21
KEIL C51快速入门
下面可以编写程序。 5、在图2-7中,单击“File”菜 单,再在下拉菜单中单击“New”选 项。
新建文件后屏幕如图8所示。
图7 新建文档
图8 完成 新建文档
22
KEIL C51快速入门
此时光标在编辑窗口里闪烁,这时可以键入应用程序了,建议首先保 存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As” 选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使 用的文件名,用C语言编写扩展名为(.c)如果用汇编语言编写扩展名必须 为(.asm)。然后,单击“保存”按钮。 如图8所示。
图10 添加文档
25
KEIL C51快速入门
选中main.c,然后单击“Add ”屏幕如下图所示。
图10 完成添加文档
注意到“Source Group 1”文件夹中多了一个子项“main.c”子 项的多少与所增加的源程序的多少相同。
7、现在便可输入程序了,输入完毕进行调试便可运行。
26
Proteus 快速入门
一些例程来介绍C51的程序设计思想。
1
单片机入门主要掌握以下知识和应用
最小系统能够运行起来的必要条件。 1.电源 2.晶振3.复位电路
对单片机任意IO口的随意操作
1.输出控制电平高低2.输入检测电平高低。 定时器:重点掌握最常用的方式2 中断:外部中断、定时器中断、串口中断 串口通信:单片机之间、单片机与计算机间
3
使用C语言的优点
C 语言具有结构化和模块化特点,便于阅读和维 护。
C 语言可移植性好,很多微控制器都支持C 编译 器。功能化的代码能够很方便的从一个工程移植 到另一个工程,从而减少了开发时间。 提供的库函数包含许多标准子程序,具有较强的 数据处理能力。
使用keilc51软件的开发流程
![使用keilc51软件的开发流程](https://img.taocdn.com/s3/m/e6e9d2d418e8b8f67c1cfad6195f312b3169ebfe.png)
使用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软件的开发流程的基本步骤。
单片机C51知识介绍
![单片机C51知识介绍](https://img.taocdn.com/s3/m/e23e0f36580216fc700afdc9.png)
课后练习
1.熟练建立KEIL工程 2.熟悉使用protues软件的应用
单片机工作的基本时序
(1) 振荡周期: 也称时钟周期, 是指为单片机提 供时钟脉冲信号的振荡源的周期,TX实验板上为 11.0592MHZ。 (2) 状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。 (3) 机器周期: 一个机器周期包含 6 个状态周 期S1~S6, 也就是 12 个时钟周期。 在一个机器周 期内, CPU可以完成一个独立的操作。 (4) 指令周期: 它是指CPU完成一条操作所需 的全部时间。 每条指令执行时间都是有一个或几个 机器周期组成。MCS - 51 系统中, 有单周期指令、 双周期指令和四周期指令。
KEIL的使用
掌握KEIL工程的建立和软件的开发; 掌握KEIL中软件仿真的基本应用; 掌握用KEIL直接硬件仿真TX-1C单片机学 习板的方法
Main 函数 格式:void main() 特点:无返回值,无参。 任何一个C程序有且仅有一个main函数,它 是整个程序开始执行的入口。 例:void main() { 总程序从这里开始执行;; | ^ ~
<<
(位右移
(按位与 (按位异或
位左移)
按位或) 按位取反)
C-51的基本语句
与标准C语言基本相同: if while for 选择语言 循环语言 循环语言
switch/case
do-while
多分支选择语言
循环语言
中断服务程序
函数名()interrupt n using m
{
C语言中的基本数据类型
类型 符号 关键字 (signed) int (signed) short (signed) long 无 unsigned int unsigned short int unsigned long int float double char unsigned char 数的表示范围 所占位数 16 -32768~32767 16 -32768~32767 32 16 16 32 32 -2147483648~2147483647 0~65535
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Keil C51开发系统基本知识Keil C51开发系统基本知识1. 第一节系统概述Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍Keil C51开发系统各部分功能和使用。
2. 第二节 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工具包整体结构图3. 第三节 Keil C51工具包的安装1. 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. 2. C51 for Windows的安装及注意事项:在Windows下运行软件包中WIN/Setup.exe,最好选择安装目录与C51 for Dos相同,这样设置最简单(设安装于C:/C51目录下)。
然后将软件包中crack目录中的文件拷入C:/C51/Bin目录下。
4. 第四节 Keil C51工具包各部分功能及使用简介1. 1. C51与A511. (1) C51C51是C语言编译器,其使用方法为:C51 sourcefile[编译控制指令]或者C51 @ commandfile其中sourcefile为C源文件(.C)。
大量的编译控制指令完成C51编译器的全部功能。
包控C51输出文件C.LST,.OBJ,.I和.SRC文件的控制。
源文件(.C)的控制等,详见第五部分的具体介绍。
而Commandfile为一个连接控制文件其内容包括:.C源文件及各编译控制指令,它没有固定的名字,开发人员可根据自己的习惯指定,它适于用控制指令较多的场合。
2. (2) A51A51是汇编语言编译器,使用方法为:A51 sourcefile[编译控制指令]或A51 @ commandfile其中sourcefile为汇编源文件(.asm或.a51),而编译控制指令的使用与其它汇编如ASM语言类似,可参考其他汇编语言材料。
Commandfile同C51中的Commandfile类似,它使A51使用和修改方便。
2. 2. L51和BL511. (1) L51L51是Keil C51软件包提供的连接/定位器,其功能是将编译生成的OBJ文件与库文件连接定位生成绝对目标文件(.ABS),其使用方法为:L51 目标文件列表[库文件列表] [to outputfile] [连接控制指令]或 L51 @Commandfile源程序的多个模块分别经C51与A51编译后生成多个OBJ文件,连接时,这些文件全列于目标文件列表中,作为输入文件,如果还需与库文件(.LiB)相连接,则库文件也必须列在其后。
outputfile为输文件名,缺少时为第一模块名,后缀为.ABS。
连接控制指令提供了连接定位时的所有控制功能。
Commandfile为连接控制文件,其具体内容是包括了目标文件列表,库文件列表及输出文件、连接控制命令,以取代第一种繁琐的格式,由于目标模块库文件大多不止1个,因而第2种方法较多见,这个文件名字也可由使用者随意指定。
2. (2) Bl51BL51也是C51软件包的连接/定位器,其具有L51的所有功能,此外它还具有以下3点特别之处:a. 可以连接定位大于64kBytes的程序。
b. 具有代码域及域切换功能(CodeBanking & Bank Switching)c. 可用于RTX51操作系统RTX51是一个实时多任务操作系统,它改变了传统的编程模式,甚至不必用main( )函数,单片机系统软件向RTOS发展是一种趋势,这种趋势对于186和386及68K系列CPU更为明显和必须,对8051因CPU较为简单,程序结构等都不太复杂,RTX51作用显得不太突出,其专业版软件PK51软件包甚至不包括RTX51Full,而只有一个RTX51TINY版本的RTOS。
RTX51 TINY适用于无外部RAM的单片机系统,因而可用面很窄,在本文中不作介绍。
Bank switching技术因使用很少也不作介绍。
3. 3. DScope51,Tscope51及Monitor511. (1) dScope51dScope51是一个源级调试器和模拟器,它可以调试由C51编译器、A51汇编器、PL/M-51编译器及ASM-51汇编器产生的程序。
它不需目标板(for windows也可通过mon51接目标板),只能进行软件模拟,但其功能强大,可模拟CPU及其外围器件,如内部串口,外部I/O及定时器等,能对嵌入式软件功能进行有效测试。
其使用方法为:DS51[debugfile][INIT(initfile)]其中debugfile是一个Hex格式的8051文件,即待调试的文件其为可选的,可在进入dScope51后用load命令装入。
Initfile为一个初使化文件,它在启动dScope51后,在debugfile装入前装入,装有一些dScope的初使化参数及常用调试函数等。
下面是一个dScope.ini文件(for dos)的内容:Load ../../ds51/8051.iofMap 0,0xffffdScope51 for Windows则直接用鼠标进入,然后用load装入待调文件。
2. (2) tScope51与dScope51不同的是Scope51必须带目标板,目前它可以通过两种方式访问目标板。
(1) 通过EMul51在线仿真器,tScope51为该仿真器准备了一个动态连接文件EMUL51.IOT,但该方法必须配合该仿真器。
(2) 通过Monitov51监控程序,这种方法是可行的,tScope51为访问Monitor51专门带有MON51.IOT连接程序,使用时可通过串口及监控程序来调试目标板。
其使用方法为:TS51[INIT(file_name.ini)]其中file_name.ini为一个初使化文件。
进入TS51后,必须装入IOT文件,可用的有MON51.IOT及EMUL51.IOT两种,如装入MON51.IOT:Load.C:/C51/TS51/MON51.IOT CPUTYPE(80517)可惜的是tScope51只有for Dos的版本。
3. (3) Monitor 51Monitor51是一个监控程序通过PC机的串口与目标板进行通信,Monitor操作需要MON51或dScope51 for Windows,后面部分将对Monitor51做较为详细的介绍。
4. 4. Ishell及uVision1. (1) Ishell for Dos这是一个for Dos的IDE,直接在命令行键入Ishell,则进入该环境,它使用简单方便。
其命令行与DOS命令行具有同样的功能,对单模块的Project直接由菜单进行编译连接,对多模块的project。
则通过批处理,BAT文件进行编译连接,然后通过菜单控制由dScope51或tScope51对程序进行调试,因为是for dos的,不做太详细介绍。
2. (2) uVision for WindowsuVision for Windows是一个标准的Windows应用程序,它是C51的一个集成软件开发平台,具有源代码编辑、project>'/guanlilunwen/'target='_blank' class='infotextkey'>管理、集成的make等功能,它的人机界面友好,操作方便,是开发者的首选,具体配置及使用见第五部分。
2. 第二章 Keil C51软件使用详解1. 第一节 Keil C51编译器的控制指令C51编译器的控制指令分为三类:源文件控制类,目标文件控制类及列表控制类。
1. 1. 源文件控制类NOEXTEND:C51源文件不允许使用ANSI C扩展功能。
DEFINE(DF):定义预处理(在C51命令行)。
2. 2. 目标文件(Object)控制类:COMPACT LARGE SMALL 选编译模式DEBUG(DB) 包含调试信息,以供仿真器或dSCope51使用。
NOAMAKE(NOAM) 禁止AutoMake信息记录NOREGPARMS 禁止用寄存器传递参数OBJECTEXTEND(OE) Object文件包含附加变量类型信息OPTIMIZE(OT) 指定优化级别REGFILE(RF) 指定一个寄存器使用的文件以供整体优化用REGISTERBANK(RB) 指定一个供绝对寄存器访问的寄存器区名SRC 不生成目标文件只生成汇编源文件其它控件不常用。
3. 3. 列表文件(listing)控制类:CODE(CD):向列表文件加入汇编列表LISTINCLUDE(LC):显示indude文件SYMBOLS(SB):列表文件包括模块内所有符号的列表WARNINGLEVEL(WL):选择“警告”级别2. 第二节 dScope51的使用1. 1. dScope51 for Dos总的来说dScope51具有以下特性:l 高级语言显示模式l 集成硬件环境模拟l 单步或“GO”执行模式l 存储器、寄存器及变量访问l Watch表达式之值l 函数与信号功能下面,具体说明在进入dScope51 for Dos之后,如何实现上述功能,dScope51采用下拉菜单格式和窗口显示控制,共有language、serial、exe、register四个窗口,其中exe为命令行窗口,language为程序窗口,serial为串口窗,register为寄存器窗。