Keil C51使用详解Keil C51 是美国Keil Software 公司出品的51 系列兼容单片机C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C 来开发,体会更加深刻。Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍 Keil C51 开发系统各部分功能和使用。第二节 Keil C51 单片机软件开发系统的整体结构C51 工具包的整体结构,如图(1)所示,其中uVision 与Ishell 分别是C51 forWindows 和for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE 本身或其它编辑器编辑C 或汇编源文件。然后分别由C51 及A51 编译器编译生成目标文件(.OBJ)。目标文件可由LIB51 创建生成库文件,也可以与库文件一起经L51 连接定位生成绝对目标文件(.ABS)。ABS 文件由OH51 转换成标准的Hex 文件,以供调试器dScope51 或tScope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。图(1) C51 工具包整体结构图第三节 Keil C51 工具包的安装81. 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 目录下)。然后将软件包中crack 目录中的文件拷入C:\C51\Bin 目录下。第四节 Keil C51 工具包各部分功能及使用简介1. C51 与A51(1) C51C51 是C 语言编译器,其使用方法为:C51 sourcefile[编译控制指令]或者 C51 @ commandfile其中 sourcefile 为C 源文件(.C)。大量的编译控制指令完成C51 编译器的全部功能。包控C51 输出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,详见第五部分的具体介绍。而 Commandfile 为一个连接控制文件其内容包括:.C 源文件及各编译控制指令,它没有固定的名字,开发人员可根据自己的习惯指定,它适于用控制指令较多的场合。(2) A51A51 是汇编语言编译器,使用方法为:9A51 sourcefile[编译控制指令]或 A51 @ commandfile其中sourcefile 为汇编源文件(.asm或.a51),而编译控制指令的使用与其它汇编如ASM语言类似,可参考其他汇编语言材料。Commandfile 同C51 中的Commandfile 类似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 软件包提供的连接/定位器,其功能是将编译生成的OBJ 文件与库文件连接定位生成绝对目标文件(.ABS),其使用方法为:L51 目标文件列表[库文件列表] [to outputfile] [连接控制指令]或 L51 @Commandfile源程序的多个模块分别经 C51 与A51 编译后生成多个OBJ 文件,连接时,这些文件全列于目标文件列表中,作为输入文件,如果还需与库文件(.LiB)相连接,则库文件也必须列在其后。outputfile 为输文件名,缺少时为第一模块名,后缀为.ABS。连接控制指令提供了连接定位时的所有控制功能。Commandfile 为连接控制文件,其具体内容是包括了目标文件列表,库文件列表及输出文件、连接控制命令,以取代第一种繁琐的格式,由于目标模块库文件大多不止1 个,因而第2 种方法较多见,这个文件名字也可由使用者随意指定。(2) Bl51BL51 也是C51 软件包的连接/定位器,其具有L51 的所有功能,此外它还具有以下3 点特别之处:a. 可以连接定位大于64kBytes 的程序。b. 具有代码域及域切换功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系统RTX51 是一个实时多任务操作系统,它改变了传统的编程模式,甚至不必用main( )函数,单片机系统软件向RTOS 发展是一种趋势,这种趋势对于186 和38610及68K 系列CPU 更为明显和必须,对8051 因CPU 较为简单,程序结构等都不太复杂,RTX51 作用显得不太突出,其专业版软件PK51 软件包甚至不包括RTX51Full,而只有一个RTX51TINY 版本的RTOS。RTX51 TINY 适用于无外部RAM 的单片机系统,因而可用面很窄,在本文中不作介绍。Bank switching 技术因使用很少也不作介绍。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一个源级调试器和模拟器,它可以调试由C51 编译器、A51 汇编器、PL/M-51 编译器及ASM-51 汇编器产生的程序。它不需目标板(for windows 也可通过mon51 接目标板),只能进行软件模拟,但其功能强大,可模拟CPU 及其外围器件,如内部串口,外部I/O 及定时器等,能对嵌入式软件功能进行有效测试。
上传时间: 2013-11-01
上传用户:zhouxuepeng1
Keil C51开发系统基本知识3 1. 1. 专用寄存器include文件例如8031、8051均为REG51.h其中包括了所有8051的SFR及其位定义,一般系统都必须包括本文件。2. 2. 绝对地址include文件absacc.h该文件中实际只定义了几个宏,以确定各存储空间的绝对地址。3. 3. 动态内存分配函数,位于stdlib.h中 4. 4. 缓冲区处理函数位于“string.h”中其中包括拷贝比较移动等函数如:memccpy memchr memcmp memcpy memmove memset这样很方便地对缓冲区进行处理。5. 5. 输入输出流函数,位于“stdio.h”中流函数通8051的串口或用户定义的I/O口读写数据,缺省为8051串口,如要修改,比如改为LCD显示,可修改lib目录中的getkey.c及putchar.c源文件,然后在库中替换它们即可。3. 第三节 Keil C51库函数原型列表
上传时间: 2013-11-06
上传用户:smallfish
HI-TECH PICC C 的使用说明. 这里我们只讲述了PICC C 与标准C 的不同,它不是一本C 语言的教程, 并且我们假定你有C 语言的基础. 为了对PIC 单片机有更好的支持,PICC 在标准C 的基础上作了一些扩充: 定义I/O 函数,以便在你的硬件系统中使用<stdio.h>中定义的函数。 用C 语言编写中断服务程序 用C 语言编写I/O 操作程序 C 语言与汇编语言间的接口1-1 与标准C 的不同PICC 只在一处与标准C 不同:函数的重入。因为PIC 单片机的寄存器及堆栈有限,所以PICC 不支持可重入函数。1-2 支持的PIC 芯片PICC 支持很多PIC 单片机,支持PIC 单片机的类型在LIB 目录下的picinfo.ini文件中有定义。1-3 PICC 包含一些标准库1-4 PICC 编译器可以输出一些格式的目标文件,缺省设置为输出Bytecraft 的'COD'格式和 Intel 的'HEX'格式。你可以用表1-1 中的命令来指定输出格式。
上传时间: 2013-10-10
上传用户:781354052
Rabbit 32Bit RTOS 是基于ARM系列的32位RTOS。 Rabbit 是一个类似于UCOS II的实时嵌入式OS。它具有同步通信机制有:事件,信号量,互斥信号,消息邮箱,消息队列。带有一个字符设备缓冲区管理模块。比较UCOS II的时钟管理模块,Rabbit增加了定时器链表,使一些定时执行代码能够定时运行。对于内存管理Rabbit采用了可变分区内存管理,最先适应算法。另外Rabbit增加了一个小lib实现一些C语言常用库函数。Rabbit的任务队列采用散队列管理设计思想,使各种状态的任务TCB分散于各个就绪队列,阻塞队列。这样以减少队列查找时间。Rabbit系统是对于我来说已是过去式。由于Rabbit系统不包括文件管理,网络,GUI等模块。目前我准备开发基于CortexM3的全新操作系统。新的系统将包括文件,网络,GUI等模块。希望大家给点建议!我的邮箱:1317669200@qq.com
上传时间: 2013-10-11
上传用户:llandlu
protel99元件库大全 protel99元件库大全是由小编收集整理出的用于protel99元件库,包括一些常用的元件库,数量是非常丰富的。 以下是一些常用的protel99元件封装库下载地址及一些相关知识 protel99、DXP lib元件及封装库 protel99se_元件名系表--分立元件库中英文对照 protel99se常用封装库元件&分立元件库 protel99元件库 protel99se 元件库 Protel+DXP常用元件库 Protel DXP中元件库的使用 Protel元件封装库与符号对应总结
上传时间: 2013-10-11
上传用户:flg0001
工作环境设置及软件安装这章介绍工作环境的设置及软件安装方面知识。为什么要进行工作环境设置呢?因为现在的PCB 工程师要设计的文件很多。文件多了如果不进行管理就会很混乱,导致以后的维护十分困难。所以要从刚开始学习的时候养成一个好的操作习惯,这是很有必要的。2.1 建立自己的工作目录在电脑的桌面上打开我的电脑,在我的电脑中打开D盘。在D 盘中建立三个文件夹。分别为“D:\EDA”“D:\EDA_LIB”“D:\EDA_PROJECT 三个文件夹”。如下图所示:图2-1-1 “建立工作目录”建立好三个文件夹后,在这三个文件夹中分别另建立一个新文夹,并命名为Protel99se。三个文件夹的作用分别是:EDA文件夹是用来存放安装文件;EDA—LIB 文件夹是用来存放元件库。EDA—PROJECT 文件夹是用来存放设计数据。2.2 对Protel 99se 进行安装设置好工作目录后,就可以对软件进行安装。图2-1-2就是Protel 99se的安装程序。其中“Protel99SP6”是升级补丁,“Protel99 汉化”是汉化文件。(1)双击Setup 安装图标对软件进行安装。
上传时间: 2013-10-31
上传用户:jrsoft
本程序旨在讲解如何用Delphi创建一个可以在易语言中执行的支持库,并给出了一个实用的汉字取模的易程序, 1.支持库为标准DLL格式,扩展名为fne. 在其中实现了移位操作(Delphi7+WinXp通过) 2.在易语言中导入此支持库(复制TaoLibShift.fne)到易语言的LIB目录下,然后才可以执行 [诺亚点阵汉字提取器.e] 3.输出的格式有 ASM和C两种格式,可以直接应用于8x8点阵LED,
上传时间: 2015-01-07
上传用户:yoleeson
1:文件说明: ExampleServlet.java 发信JAVA源文件 CSEmail.jar 发信包 com CSEmail.jar 的源文件 2:部署: ExampleServlet.java 发到 WEB-INF/CLASSES/ CSEmail.jar 放到 web-inf/lib/ 3. 修改ExampleServlet.java 中 private String SERVLET_HTTP_PATH = "http://www.yourSite.com/servlet/ 把www.yourSite.com 改成你的网址 4运行: http://www.yourSite.com/servlet/ExampleServlet 填写你的SMTP邮件服务器和发信端口,还有你在这个邮件服务器上的帐号(不正确发不出信)
标签: ExampleServlet CSEmail java jar
上传时间: 2015-01-12
上传用户:cx111111
新技术天地留言版 v1.0 windows/linux(两个平台我都试过)+jdk1.4+resin+jdbc+mysql 本系统采用jsp编写,数据库采用的是MYSQL,使用JDBC驱动,所以要求有MYSQL的JDBC的驱动程序 本程序的JDBC驱动程序在LIB目录下,在发布的时候放在resin的WEB-INFlib目录下 本程序的类文件在CLASS目录下,发布的时候放在resin的发布目录的WEB-INFclasses下
上传时间: 2014-11-23
上传用户:xmsmh
MPEG4经典好书:Halsted.Press.H.264.And.MPEG-4.Video.Compression.Video.Coding.For.Next.Generation.Multimedia.eBook-LiB.pdf
标签: Video Compression Generation Multimed
上传时间: 2015-02-19
上传用户:onewq