您的位置 首页 系统

KeilC51运用详解 (一)

第一章KeilC51开发系统基本知识第一节系统概述KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编…

榜首章 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中。

第三节 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.bat

2. C51 for Windows的装置及留意事项:

在Windows下运转软件包中WIN/Setup.exe,最好挑选装置目录与C51 for Dos相同,这样设置最简略(设装置于C:/C51目录下)。然后将软件包中crack目录中的文件拷入C:/C51/Bin目录下。

第四节 Keil C51东西包各部分功用及运用简介

1. C51与A51

(1) C51

C51是C言语编译器,其运用办法为:C51 sourcefile[编译操控指令]或许C51 @ commandfile其间sourcefile为C源文件(.C)。很多的编译操控指令完结C51编译器的悉数功用。包控C51输出文件C.LST,.OBJ,.I和.SRC文件的操控。源文件(.C)的操控等,详见第五部分的详细介绍。而Commandfile为一个衔接操控文件其内容包含:.C源文件及各编译操控指令,它没有固定的姓名,开发人员可根据自己的习气指定,它适于用操控指令较多的场合。

(2) A51

A51是汇编言语编译器,运用办法为:A51 sourcefile[编译操控指令]或A51 @ commandfile其间sourcefile为汇编源文件(.asm或.a51),而编译操控指令的运用与其它汇编如ASM言语相似,可参看其他汇编言语材料。Commandfile同C51中的Commandfile相似,它使A51运用和修正便利。

2. L51和BL51

(1) L51

L51是Keil C51软件包供给的衔接/定位器,其功用是将编译生成的OBJ文件与库文件衔接定位生成肯定方针文件(.ABS),其运用办法为: L51 方针文件列表[库文件列表] [to outputfile] [衔接操控指令]或 L51 @Commandfile源程序的多个模块别离经C51与A51编译后生成多个OBJ文件,衔接时,这些文件全列于方针文件列表中,作为输入文件,假如还需与库文件(.LiB)相衔接,则库文件也有必要列在这以后。outputfile为输文件名,缺少时为榜首模块名,后缀为.ABS。衔接操控指令供给了衔接定位时的全部操控功用。Commandfile为衔接操控文件,其详细内容是包含了方针文件列表,库文件列表及输出文件、衔接操控指令,以替代榜首种繁琐的格局,由于方针模块库文件大多不止1个,因此第2种办法较多见,这个文件姓名也可由运用者随意指定。

(2) Bl51

BL51也是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. DScope51,Tscope51及Monitor51

(1) dScope51

dScope51是一个源级调试器和模仿器,它能够调试由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.iof Map 0,0xffffdScope51 for Windows则直接用鼠标进入,然后用load装入待调文件。

(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) Monitor 51

Monitor51是一个监控程序经过PC机的串口与方针板进行通讯,Monitor操作需求MON51或dScope51 for Windows,后边部分将对Monitor51做较为详细的介绍。

4. Ishell及uVision

(1) Ishell for Dos

这是一个for Dos的IDE,直接在指令行键入Ishell,则进入该环境,它运用简略便利。其指令行与DOS指令行具有相同的功用,对单模块的Project直接由菜单进行编译衔接,对多模块的project。则经过批处理,BAT文件进行编译衔接,然后经过菜单操控由dScope51或tScope51对程序进行调试,由于是for dos的,不做太详细介绍。

(2) uVision for Windows

uVision for Windows是一个规范的Windows运用程序,它是C51的一个集成软件开发渠道,具有源代码修正、project办理、集成的make等功用,它的人机界面友爱,操作便利,是开发者的首选,详细装备及运用见第五部分。

第二章 Keil C51软件运用详解

榜首节 Keil C51编译器的操控指令

C51编译器的操控指令分为三类:源文件操控类,方针文件操控类及列表操控类。

1. 源文件操控类

NOEXTEND:C51源文件不答应运用ANSI C扩展功用。DEFINE(DF):界说预处理(在C51指令行)。

2. 方针文件(Object)操控类:

COMPACT LARGE SMALL 选编译方法 DEBUG(DB) 包含调试信息,以供仿真器或dSCope51运用。 NOAMAKE(NOAM) 制止AutoMake信息记载 NOREGPARMS 制止用寄存器传递参数 OBJECTEXTEND(OE) Object文件包含附加变量类型信息 OPTIMIZE(OT) 指定优化等级 REGFILE(RF) 指定一个寄存器运用的文件以供全体优化用 REGISTERBANK(RB) 指定一个供肯定寄存器拜访的寄存器区名 SRC 不生成方针文件只生成汇编源文件 其它控件不常用。

3. 列表文件(listing)操控类:

CODE(CD):向列表文件参加汇编列表 LISTINCLUDE(LC):显现indude文件 SYMBOLS(SB):列表文件包含模块内全部符号的列表 WARNINGLEVEL(WL):挑选“正告”等级

第二节 dScope51的运用

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为寄存器窗。

(1) 高档言语显现方法

单击主菜单中的“View”,榜首栏中的三条指令“Highlevel”、“Mixed”、“Assembly”别离对所装入的程序依照“高档”、“混合级”及“汇编级”三种办法显现,以便利调试运用。

(2) 集成硬件环境模仿显现

主菜单中“Peripheral”各条能显现模仿硬件环境的状况,其间:i/o Port:显现各I/O口之值,对8031而言SFR中的P1、P2、P3、P0与引脚之值别离列出:Interrupt:显现5个中止源的进口方法是否答应,优先级等中止状况。Timer:显现各守时/计数器的方法,初始值状况等。int Message:中止信息答应,如为答应(“>>”呈现),则当中止请求时,显现中止源信息。比方当中止产生时会显现: “interrupt Timer 0 occured”等 A/D converter: 显现A/D转换器状况无时,则提示“无”。 Serial:串口信息显现,包含串口方法、波特产等 Other:其它器材,如为8031则显现“ 无”

(3) 单步或“Go”履行

“F8”单步履行,“F5”全速履行到断点。或选主菜单中Trace单步履行CPU中的Go全速履行。

(4) 存储器寄存器及变量拜访

外部存储器办理MAP菜单:设置(set)、撤销(reset)、显现(Display)处理可用存储空间。修正Code代码:ASM指令存储器显现指令:D 类别为(X、D、I、B、C)修正存储器指令:E 有以下几种指令EB、EC、EI、EL、EF、EP杂乱数据类型显现:Object指令;用以显现结构或数组的内容。欲使此指令有用,C51编译器有必要有DB及OBJECTEXTEND两条。反汇编指令:U

(5) “Watch”表达式之值

在View菜单的“Watch”一栏中有四项:其间包含界说Watch Point(Define)、删去Watch Point(remove,kill all),及主动更新选项。也可用WS、WK等指令替代,下面详细看“表达式”类型:dScope51一次最多可设16个WtchPoint表达式,显现于Watch Window之中,表达式能够是简略变量,也但是杂乱数据类型如结构、数组和指向结构的指针等,例如:>WS *ptime>WS ptime→hour>WS some_record[o],analog等等

(6) 关于.IOF文件

发动DS51后有必要装入.IOF文件才能使CPU及Peripheral各项起效果,这个函数的运用是根据8051系列CPU的不同特色,装入8051各CPU硬件设备模仿驱动文件,比方8031CPU就有必要load DS51目录下的8051.IOF。

2. dScope for Windows

dScope for windows具有dScope for dos的悉数功用,此外,它还具有以下显着的长处: (1) 规范的Windows界面,操作更简略更简略; (2) 常用操作多用对话框,而非Dos的行指令办法; (3) 窗口资源愈加丰厚:存储器窗口、覆盖率剖析、运转状况剖析窗口,加强了调试功用;由于dScope for Windows功用强大,详细操作在第八章详细介绍。

第三节 Monitor51及其运用

1. Monitor51对硬件的要求

(1) 硬件体系为51系列CPU; (2) 带5K外部程序存储器(从O地址开端),寄存Monitor51程序; (3) 256Bytes的外部数据存储器以及5K的盯梢缓冲区,此外,外部数据存储器有必要满足包容全部运用程序代码及数据,且全部外部数据存储器有必要为冯·诺伊曼存储器,即能共同拜访XDATA与Code空间。 (4) 一个守时器作为波特率产生器供串口运用; (5) 6 Bytes的空余仓库。

2. Mon51的运用

Mon51的运用途径有三种办法: (1) Dos行指令办法 即先用install对MON51进行装备,然后用MON51进入Monitor状况,启用各种指令对Monitor51进行调试。 (2) tScope51办法 发动tScope51装入TS51目录下的MON51.IOT驱动文件,与方针板通讯。 (3) dScope51 for Windows办法 在选CPU驱动文件时,选“MON51.dll”,则查看方针板并进入MON51状况。

3. MON51的装备

(1) MON51 for Dos的装备 运转install文件(在MON51目录下),不同的参数能够装备不同的硬件环境。INSTALL Serialtype [xdstastart[codestart[bank][PROMCHECK]]],详细阐明见MON51协助文件或运用手册。 (2) MON51 for Windows的装备 在启用MON51.dll时,会使得体系主动查看方针板衔接,如装备不对,则弹出“Configuration”对话框,设置PC串口,波特率等,结束单击“apply”有用。

4. 串口衔接图:

收发穿插互连,RTS、CTS直连,DSR、DTR直连,详细引脚摆放参看串口材料。

5. MON51指令及运用

详细的MON51指令可参看协助。

第四节 集成开发环境(IDE)的运用

1. Ishell for Dos的运用

进入Ishell之后看到两个窗口:一个是文件窗口,一个是Dos指令行窗口,窗口上方是下拉式的指令菜单,其间的Files操控文件窗口的显隐。运用Ishell,榜首步便是装备体系,即要学习两个文件的修正与创立:

(1) Ishell.CFG文件

每一个project都有一个Ishell.CFG,其间寄存有“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”,这样才可正式开端下面作业。

(2) IShell.col文件

对IDE色彩设置,如不改动,能够缺省为主。

(3) CDF文件

该文件坐落BIN目录下,每一文件界说一组外部函数东西包,即界说外部环境如8051.CDF,USER.CDF等,开发者可修正CDF文件,供自己运用,至于CDF文件内容可查看一下8051.CDF即可知道。留意.CDF文件是Ishell体系的中心地点,不同的CDF文件可使本IDE适用于不同的编译、衔接体系,即本IDE并不只适于C51。下面谈一谈Automake东西:C51的Automake是一个project办理器,在8051东西包中以OBJECT文件方法保留了一个project的信息,AutoMake用这些信息来进行project办理,一旦手艺树立一个project,Automake可生成一个新的OBJECT,AutoMake运用此文件来编译那些修正过的文件。Automake支撑C51、A51、L51/BL51、C166、A166、L166等编译衔接器。点中主菜单中的Automake即运转本东西。Ishell for Dos运用比较繁琐,引荐运用uVision for windows。

2. uVision for windows的运用

uVision是一个规范的windows运用程序,其编译功用、文件处理功用、project处理功用、窗口功用以及东西引证功用(如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初始化文件。Make则是界说一个make文件。(2) 进入调试是在RUN菜单下运转dScope。(3) project中包含新建、翻开、修正、更新、编译、衔接等poject处理,详细运用可参看后边的比如。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/xitong/266900.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部