资源预览内容
第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
第9页 / 共29页
第10页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第0章 Keil开发环境介绍,Keil Uvision2 IDE 的组成,Keil Uvision2 IDE 的工具程序, Windows应用程序uVision2是一个集成开发环境,它把项目管理源代码编辑程序调试等集成到一个功能强大的环境中 C51美国标准优化C交叉编译器从你的C源代码产生可重定位的目标文件 A51宏汇编器从你的8051汇编源代码产生可重定位的目标文件 BL51连接/重定位器组合你的由C51和A51产生的可重定位的目标文件生成绝对目标文件 LIB51库管理器组合你的目标文件生成可以被连接器使用的库文件 OH51目标文件到HEX格式的转换器从绝对目标文件创建Intel HEX 格式的文件 RTX-51实时操作系统简化了复杂和对时间要求敏感的软件项目,C51编译器和A51汇编器,源代码由uVision2 IDE创建并被C51编译或A51汇编编译器和汇编器从源代码生成可重定位的目标文件 Keil C51编译器完全遵照ANSI C语言标准支持C语言的所有标准特性另外直接支持8051结构的几个特性被添加到里面 Keil A51宏汇编器支持8051及其派生系列的全部指令集,LIB51 库管理器,LIB51库管理器允许你从由编译器或汇编器生成的目标文件创建目标库,库是一种被特别地组织过并在以后可以被连接重用的对象模块,当连接器处理一个库时仅仅那些被使用的目标模块才被真正使用,BL51 连接器/定位器,BL51 连接器/定位器利用从库中提取的目标模块和由编译器或汇编器生成的目标模块创建一个绝对地址的目标模块,一个绝对地址目标模块或文件包含不可重定位的代码和数据,所有的代码和数据被安置在固定的存储器单元中,此绝对地址目标文件可以用来 写入EPROM或其它存储器件 由uVision2调试器使用来模拟和调试 由仿真器用来测试程序,uVision2 调试器,uVision2源代码级调试器是一个理想地快速可靠的程序调试器,此调试器包含一个高速模拟器,能够让你模拟整个8051系统,包括片上外围器件和外部硬件,当你从器件库中选择器件时,这个器件的特性将自动配置。 uVision2调试器为你在实际目标板上测试你的程序提供了几种方法 安装MON51目标监控器到你的目标系统并且通过Monitor-51接口下载你的程序 利用高级的GDIAGDI接口把uVision2调试器绑定到你的目标系统,Monitor-51,uVision2调试器支持用Monitor-51进行目标板调试,此监控程序驻留在你的目标板的 存储器里,它利用串口和uVision2调试器进行通信,利用Monitor-51,uVision2调试器 可以对你的目标硬件实行源代码级的调试,RTX51实时操作系统,RTX51实时操作系统是一个针对8051系列的多任务核,RTX51实时内核从本质上简化了对实时事件反应速度要求高的复杂应用系统的设计编程和调试,RTX51实时内核是完全集成到C51编译器中的,从而方便使用任务描述表和操作系统的连接,由BL51连接器/定位器自动控制,开发套件和工具对照表,Keil C51的基本数据类型,构造数据类型,数组类型:array 结构体类型:struct 共用体类型:union 枚举类型:enum,存储器类型,Keil C51编译器支持8051及其派生类型的结构能够访问8051的所有存储器空间具有下表列出的存储器类型的变量都可以被分配到某个特定的存储器空间,如果在变量的定义中没有包括存储器类型,将自动选用默认的存储器类型,默认的存储器类型适用于所有的全局变量和静态变量,还有不能分配在寄存器中的函数参数和局部变量,默认的存储器类型由编译器的参数SMALL,COMPACT及LARGE决定.这些参数定义了编译时使用的存储模式 小(SMALL)模式 所有变量都默认在8051的内部数据存储器中,这和用data显式定义变量起到相同的作用,在此模式下变量访问是非常快速的,然而所有数据对象包括堆栈都必须放在内部RAM中,堆栈空间面临溢出。因为堆栈所占用多少空间依赖于各个子程序的调用嵌套深度。在典型应用中如果具有代码分段功能的BL51连接/定位器被配置成覆盖内部数据存储器中的变量时,此SMALL模式是最好的选择,紧凑COMPACT模式,此模式中所有变量都默认在8051的外部数据存储器的一页中,地址的高字节往往通过Port 2输出,其值必须由你在启动代码中设置,编译器不会为你设置,这和用pdata显式定义变量起到相同的作用。此模式最多只能提供256字节的变量,这种限制来自于间接寻址所使用的R0,R1,MOVX R0/R1,这种模式不如SMALL模式高效所以变量的访问不够快不过它比LARGE模式要快 。,大LARGE模式,在大模式下,所有的变量都默认在外部存储器中(xdata),这和用xdata显式定义变量起到相同的作用,数据指针DPTR用来寻址,通过DPTR进行存储器的访问的效率很低,特别是在对一个大于一个字节的变量进行操作时尤为明显。此数据访问类型比SMALL和COMPACT模式需要更多的代码 。,指针,通用指针,通用或未定型的指针的声明和标准C语言中一样,如:,通用指针总是需要三个字节来存储,第一个字节是用来表示存储器类型,第二个字节是指针的高字节,第三字节是指针的低字节 通用指针可以用来访问所有类型的变量,而不管变量存储在哪个存储空间中,因而许多库函数都使用通用指针,通过使用通用指针一个函数可以访问数据而不用考虑它存储在什么存储器中。 通用指针很方便,但是也很慢,在所指向目标的存储空间不明确的情况下它们用的最多。,存储器指针,重入函数,中断服务程序,参数传递,函数返回值,函数返回值总是通过CPU寄存器进行,下表列出了返回各种数据时所用的CPU寄存器,和汇编语言的接口,库函数,内连的库函数,工作界面,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号