榜首章 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)操控类:
CO
第二节 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)处理可用存储空间。修正Co
(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与Co
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处理,详细运用可参看后边的比如。