ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:36.67KB ,
资源ID:24758223      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24758223.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(KeilC51语言软件开发系统基本知识.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

KeilC51语言软件开发系统基本知识.docx

1、KeilC51语言软件开发系统基本知识Keil C51开发系统基本知识1. 第一节 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 下面详细介

2、绍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或tS

3、cope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 图(1) C51工具包整体结构图 3. 第三节 Keil C51工具包的安装 1. 1. C51 for Dos 在Windows下直接运行软件包中DOSC51DOS.exe然后选择安装目录即可。完毕后欲使系统正常工作须进行以下操作(设C:C51为安装目录): 修改Autoexec.bat,加入 path=C:C51Bin Set C51LIB=C:C51LIB Set C51INC=C:C51INC 然后运行Autoexec.bat 2. 2. C51 for Windows的安

4、装及注意事项: 在Windows下运行软件包中WINSetup.exe,最好选择安装目录与C51 for Dos相同,这样设置最简单(设安装于C:C51目录下)。然后将软件包中crack目录中的文件拷入C:C51Bin目录下。 4. 第四节 Keil C51工具包各部分功能及使用简介 1. 1. C51与A51 1. (1) C51 C51是C语言编译器,其使用方法为: C51 sourcefile编译控制指令 或者 C51 commandfile 其中sourcefile为C源文件(.C)。大量的编译控制指令完成C51编译器的全部功能。包控C51输出文件C.LST,.OBJ,.I和.SRC文

5、件的控制。源文件(.C)的控制等,详见第五部分的具体介绍。 而Commandfile为一个连接控制文件其容包括:.C源文件及各编译控制指令,它没有固定的名字,开发人员可根据自己的习惯指定,它适于用控制指令较多的场合。 2. (2) A51 A51是汇编语言编译器,使用方法为: A51 sourcefile编译控制指令 或A51 commandfile 其中sourcefile为汇编源文件(.asm或.a51),而编译控制指令的使用与其它汇编如ASM语言类似,可参考其他汇编语言材料。 Commandfile同C51中的Commandfile类似,它使A51使用和修改方便。 2. 2. L51和B

6、L51 1. (1) L51 L51是Keil C51软件包提供的连接/定位器,其功能是将编译生成的OBJ文件与库文件连接定位生成绝对目标文件(.ABS),其使用方法为: L51 目标文件列表库文件列表 to outputfile 连接控制指令 或 L51 Commandfile 源程序的多个模块分别经C51与A51编译后生成多个OBJ文件,连接时,这些文件全列于目标文件列表中,作为输入文件,如果还需与库文件(.LiB)相连接,则库文件也必须列在其后。outputfile为输文件名,缺少时为第一模块名,后缀为.ABS。连接控制指令提供了连接定位时的所有控制功能。Commandfile为连接控制

7、文件,其具体容是包括了目标文件列表,库文件列表及输出文件、连接控制命令,以取代第一种繁琐的格式,由于目标模块库文件大多不止1个,因而第2种方法较多见,这个文件名字也可由使用者随意指定。 2. (2) Bl51 BL51也是C51软件包的连接/定位器,其具有L51的所有功能,此外它还具有以下3点特别之处: a. 可以连接定位大于64kBytes的程序。 b. 具有代码域及域切换功能(CodeBanking & Bank Switching) c. 可用于RTX51操作系统 RTX51是一个实时多任务操作系统,它改变了传统的编程模式,甚至不必用main( )函数,单片机系统软件向RTOS发展是一种

8、趋势,这种趋势对于186和386及68K系列CPU更为明显和必须,对8051因CPU较为简单,程序结构等都不太复杂,RTX51作用显得不太突出,其专业版软件PK51软件包甚至不包括RTX51Full,而只有一个RTX51TINY版本的RTOS。RTX51 TINY适用于无外部RAM的单片机系统,因而可用面很窄,在本文中不作介绍。Bank switching技术因使用很少也不作介绍。 3. 3. DScope51,Tscope51及Monitor51 1. (1) dScope51 dScope51是一个源级调试器和模拟器,它可以调试由C51编译器、A51汇编器、PL/M-51编译器及ASM51

9、汇编器产生的程序。它不需目标板(for windows也可通过mon51接目标板),只能进行软件模拟,但其功能强大,可模拟CPU及其外围器件,如部串口,外部I/O及定时器等,能对嵌入式软件功能进行有效测试。 其使用方法为: DS51debugfileINIT(initfile) 其中debugfile是一个Hex格式的8051文件,即待调试的文件其为可选的,可在进入dScope51后用load命令装入。 Initfile为一个初使化文件,它在启动dScope51后,在debugfile装入前装入,装有一些dScope的初使化参数及常用调试函数等。下面是一个dScope.ini文件(for do

10、s)的容: Load .ds518051.iof Map 0,0xffff dScope51 for Windows则直接用鼠标进入,然后用load装入待调文件。 2. (2) tScope51 与dScope51不同的是Scope51必须带目标板,目前它可以通过两种方式访问目标板。(1) 通过EMul51在线仿真器,tScope51为该仿真器准备了一个动态连接文件EMUL51.IOT,但该方法必须配合该仿真器。(2) 通过Monitov51监控程序,这种方法是可行的,tScope51为访问Monitor51专门带有MON51.IOT连接程序,使用时可通过串口及监控程序来调试目标板。 其使用方

11、法为: TS51INIT(file_name.ini) 其中file_name.ini为一个初使化文件。 进入TS51后,必须装入IOT文件,可用的有MON51.IOT及EMUL51.IOT两种,如装入MON51.IOT: Load.C:C51TS51MON51.IOT CPUTYPE(80517) 可惜的是tScope51只有for Dos的版本。 3. (3) Monitor 51 Monitor51是一个监控程序通过PC机的串口与目标板进行通信,Monitor操作需要MON51或dScope51 for Windows,后面部分将对Monitor51做较为详细的介绍。 4. 4. Ish

12、ell及uVision 1. (1) Ishell for Dos 这是一个for Dos的IDE,直接在命令行键入Ishell,则进入该环境,它使用简单方便。其命令行与DOS命令行具有同样的功能,对单模块的Project直接由菜单进行编译连接,对多模块的project。则通过批处理,BAT文件进行编译连接,然后通过菜单控制由dScope51或tScope51对程序进行调试,因为是for dos的,不做太详细介绍。 2. (2) uVision for Windows uVision for Windows是一个标准的Windows应用程序,它是C51的一个集成软件开发平台,具有源代码编辑、p

13、roject管理、集成的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使用。 NOAM

14、AKE(NOAM) 禁止AutoMake信息记录 NOREGPARMS 禁止用寄存器传递参数 OBJECTEXTEND(OE) Object文件包含附加变量类型信息 OPTIMIZE(OT) 指定优化级别 REGFILE(RF) 指定一个寄存器使用的文件以供整体优化用 REGISTERBANK(RB) 指定一个供绝对寄存器访问的寄存器区名 SRC 不生成目标文件只生成汇编源文件 其它控件不常用。 3. 3. 列表文件(listing)控制类: CODE(CD):向列表文件加入汇编列表 LISTINCLUDE(LC):显示indude文件 SYMBOLS(SB):列表文件包括模块所有符号的列表

15、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为串口窗,regi

16、ster为寄存器窗。 1. (1) 高级语言显示模式 单击主菜单中的“View”,第一栏中的三条命令“Highlevel”、“Mixed”、“Assembly”分别对所装入的程序按照“高级”、“混合级”及“汇编级”三种方式显示,以方便调试使用。 2. (2) 集成硬件环境模拟显示 主菜单中“Peripheral”各条能显示模拟硬件环境的状态,其中: i/o Port:显示各I/O口之值,对8031而言SFR中的P1、P2、P3、P0与引脚之值分别列出: Interrupt:显示5个中断源的入口模式是否允许,优先级等中断状态。 Timer:显示各定时/计数器的模式,初始值状态等。 int Mes

17、sage:中断信息允许,如为允许(“”出现),则当中断申请时,显示中断源信息。比如当中断发生时会显示: “interrupt Timer 0 occured”等 A/D converter: 显示A/D转换器状态无时,则提示“无”。 Serial:串口信息显示,包括串口模式、波特产等 Other:其它器件,如为8031则显示“ 无” 3. (3) 单步或“Go”执行 “F8”单步执行,“F5”全速执行到断点。或选主菜单中Trace单步执行CPU中的Go全速执行。 4. (4) 存储器寄存器及变量访问 外部存储器管理MAP菜单:设置(set)、取消(reset)、显示(Display)处理可用存

18、储空间。 修改Code代码:ASM命令 存储器显示命令:D 类别为(X、D、I、B、C) 修改存储器命令:E 有以下几种命令EB、EC、EI、EL、EF、EP 复杂数据类型显示:Object命令;用以显示结构或数组的容。欲使此命令有效,C51编译器必须有DB及OBJECTEXTEND两条。 反汇编命令:U 5. (5) “Watch”表达式之值 在View菜单的“Watch”一栏中有四项:其中包括定义Watch Point(Define)、删除Watch Point(remove,kill all),及自动更新选项。 也可用WS、WK等命令代替,下面具体看“表达式”类型: dScope51一次

19、最多可设16个WtchPoint表达式,显示于Watch Window之中,表达式可以是简单变量,也可是复杂数据类型如结构、数组和指向结构的指针等,例如: WS *ptime WS ptimehour WS some_recordo,analog等等 6. (6) 关于.IOF文件 启动DS51后必须装入.IOF文件才能使CPU及Peripheral各项起作用,这个函数的使用是依据8051系列CPU的不同特点,装入8051各CPU硬件设备模拟驱动文件,比如8031CPU就必须load DS51目录下的8051.IOF。 2. 2. dScope for Windows dScope for w

20、indows具有dScope for dos的全部功能,此外,它还具有以下明显的优点: (1) 标准的Windows界面,操作更容易更简单; (2) 常用操作多用对话框,而非Dos的行命令方式; (3) 窗口资源更加丰富:存储器窗口、覆盖率分析、运行状态分析窗口,加强了调试功能; 因为dScope for Windows功能强大,具体操作在第八章详细介绍。 3. 第三节 Monitor51及其使用 1. 1. Monitor51对硬件的要求 (1) 硬件系统为51系列CPU; (2) 带5K外部程序存储器(从O地址开始),存放Monitor51程序; (3) 256Bytes的外部数据存储器以

21、及5K的跟踪缓冲区,此外,外部数据存储器必须足够容纳所有应用程序代码及数据,且所有外部数据存储器必须为诺伊曼存储器,即能一致访问XDATA与Code空间。 (4) 一个定时器作为波特率发生器供串口使用; (5) 6 Bytes的空余堆栈。 2. 2. Mon51的使用 Mon51的使用途径有三种方式: (1) Dos行命令方式 即先用install对MON51进行配置,然后用MON51进入Monitor状态,启用各种命令对Monitor51进行调试。 (2) tScope51方式 启动tScope51装入TS51目录下的MON51.IOT驱动文件,与目标板通信。 (3) dScope51 fo

22、r Windows方式 在选CPU驱动文件时,选“MON51.dll”,则检查目标板并进入MON51状态。 3. 3. MON51的配置 (1) MON51 for Dos的配置 运行install文件(在MON51目录下),不同的参数可以配置不同的硬件环境。INSTALL Serialtype xdstastartcodestartbankPROMCHECK,具体说明见MON51帮助文件或使用手册。 (2) MON51 for Windows的配置 在启用MON51.dll时,会使得系统自动检查目标板连接,如配置不对,则弹出“Configuration”对话框,设置PC串口,波特率等,完毕单

23、击“apply”有效。 4. 4. 串口连接图: 收发交叉互连,RTS、CTS直连,DSR、DTR直连,具体引脚排列参考串口资料。 5. 5. MON51命令及使用 详细的MON51命令可参阅帮助。 4. 第四节 集成开发环境(IDE)的使用 1. 1. Ishell for Dos的使用 进入Ishell之后看到两个窗口:一个是文件窗口,一个是Dos命令行窗口,窗口上方是下拉式的命令菜单,其中的Files控制文件窗口的显隐。 使用Ishell,第一步就是配置系统,即要学习两个文件的修改与创建: 1. (1) Ishell.CFG文件 每一个project都有一个Ishell.CFG,其中存放

24、有“Option菜单和Setup菜单下的部分信息;Bell enabled、Monochrome enabled、Editor Selected、CRT Lines、target enviroment、name of user edit、Automatic load for configuration enabled、file window enabled、file specification for file window、translate command line controls、project name等。 对每个project都必须设置以上信息,然后存盘“setup”的的“save

25、”,这样才可正式开始下面工作。 2. (2) IShell.col文件 对IDE颜色设置,如不改动,可以缺省为主。 3. (3) CDF文件 该文件位于BIN目录下,每一文件定义一组外部函数工具包,即定义外部环境如8051.CDF,USER.CDF等,开发者可修改CDF文件,供自己使用,至于CDF文件容可查看一下8051.CDF即可知道。注意.CDF文件是Ishell系统的核心所在,不同的CDF文件可使本IDE适用于不同的编译、连接系统,即本IDE并不仅适于C51。 下面谈一谈Automake工具: C51的Automake是一个project管理器,在8051工具包中以OBJECT文件形式保

26、留了一个project的信息,AutoMake用这些信息来进行project管理,一旦手工建立一个project,Automake可生成一个新的OBJECT,AutoMake利用此文件来编译那些修改过的文件。 Automake支持C51、A51、L51/BL51、C166、A166、L166等编译连接器。点中主菜单中的Automake即运行本工具。 Ishell for Dos使用比较繁琐,推荐使用uVision for windows。 2. 2. uVision for windows的使用 uVision是一个标准的windows应用程序,其编译功能、文件处理功能、project处理功能

27、、窗口功能以及工具引用功能(如A51、C51、PL/M41、BL51 dScope等)等都较Ishell for Dos要强得多。 uVision采用BL51作连接器,因为BL51兼容L51,所以一切能在Dos下工作的project都可以到uVision中进行连接调试。 uVision采用dScope for windows作调试器,该调试器支持MON51及系统模拟两种方式,功能较for DOS要强大好用,调试功能强大。 注意: (1) Option菜单下的各项要会使用,其中A51、C51、PL/M51、BL51定义各文件所使用的编译、连接控制指令,dScope定义一个dScope初始化文件。

28、Make则是定义一个make文件。 (2) 进入调试是在RUN菜单下运行dScope。 (3) project中包括新建、打开、修改、更新、编译、连接等poject处理,具体使用可参考后面的例子。 3. 第三章 Keil C51 vs 标准C 深入理解并应用C51对标准ANSIC的扩展是学习C51的关键之一。因为大多数扩展功能都是直接针对8051系列CPU硬件的。大致有以下8类: l 8051存储类型及存储区域 l 存储模式 l 存储器类型声明 l 变量类型声明 l 位变量与位寻址 l 特殊功能寄存器(SFR) l C51指针 l 函数属性 具体说明如下(8031为缺省CPU)。 1. 第一节

29、 Keil C51扩展关键字 C51 V4.0版本有以下扩展关键字(共19个): _at_ idata sfr16 alien interrupt small bdata large _task_ Code bit pdata using reentrant xdata compact sbit data sfr 2. 第二节 存区域(Memory Areas): 1. 1. Pragram Area: 由Code说明可有多达64kBytes的程序存储器 2. 2. Internal Data Memory: 部数据存储器可用以下关键字说明: data:直接寻址区,为部RAM的低128字节 0

30、0H7FH idata:间接寻址区,包括整个部RAM区 00HFFH bdata:可位寻址区, 20H2FH 3. 3. External Data Memory 外部RAM视使用情况可由以下关键字标识: xdata:可指定多达64KB的外部直接寻址区,地址围0000H0FFFFH pdata:能访问1页(25bBytes)的外部RAM,主要用于紧凑模式(Compact Model)。 4. 4. Speciac Function Register Memory 8051提供128Bytes的SFR寻址区,这区域可位寻址、字节寻址或字寻址,用以控制定时器、计数器、串口、I/O及其它部件,可由以

31、下几种关键字说明: sfr:字节寻址 比如 sfr P0=0x80;为PO口地址为80H,“”后HFFH之间的常数。 sfr16:字寻址,如sfr16 T2=0xcc;指定Timer2口地址T2L=0xcc T2H=0xCD sbit:位寻址,如sbit EA=0xAF;指定第0xAF位为EA,即中断允许 还可以有如下定义方法: sbit 0V=PSW2;(定义0V为PSW的第2位) sbit 0V0XDO2;(同上) 或bit 0V-0xD2(同上)。 3. 第三节 存储模式 存储模式决定了没有明确指定存储类型的变量,函数参数等的缺省存储区域,共三种: 1. 1. Small模式 所有缺省变量参数均装入部RAM,优点是访问速度快,缺点是空间有限,只适用于小程序。 2. 2. Compact模式 所有缺省变量均位于外部RAM区的一页(256Bytes),具体哪一页可由P2口指定,在STARTUP.A51文件中说明,也可用pdata指定,优点是空间较Small为宽裕速度较Small慢,较large要快,是一种中间状态。 3. 3. lar

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1