单片机课件第2章与_第1页
单片机课件第2章与_第2页
单片机课件第2章与_第3页
单片机课件第2章与_第4页
单片机课件第2章与_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 C与80512.1 8051编程语言2.2 CX51编译器2.3 KEIL 8051开发工具2.4 KEIL Cx51 编程实例2.5 Cx51程序结构2013/10/13 L12.1 8051编程语言一、汇编语言二、C语言C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。 2013/10/13 L21.对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步了解;2.寄存器分配、不同存贮器的寻址及数据类

2、型等细节可由编译器管理;3.程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;4.具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;5.提供的库包含许多标准子程序,具有较强的数据处理能力;6.由于具有方便的模块化编程技术,使已编好程序可容量地植入新程序;C-51与ASM-51相比,有如下优点:2013/10/13 L32.2 Cx51编译器2013/10/13 L42.3 KEIL 8051开发工具 Keil Software 的8051开发工具可用于编译C源码、汇编源程序、连接和重定位标文件和库文件,创建HEX文件,调试目标程序。uVision2是一个集成开发环境它把

3、项目管理源代码编辑程序调试等集成到一个功能强大的环境中。C51是标准优化C交叉编译器。从你的C源代码产生可重定位的目标文件A51宏汇编器。从你的8051汇编源代码产生可重定位的目标文件 2013/10/13 L5LIB51库管理器。组合你的目标文件生成可以被连接器使用的库文件。OH51目标文件到HEX格式的转换器。从绝对目标文件创建Intel HEX 格式的文件。RTX-51实时操作系统。简化了复杂和对时间要求敏感的软件项目。BL51连接/重定位器。组合你的由C51和A51产生的可重定位的目标文件生成绝对目标文件 2013/10/13 L6正式版包括没有限制的8051工具和全套手册(含本手册)

4、正式版套件包含1年的免费技术支持和产品升级升级通过 提供 。测试版工具包和产品工具包Keil Software把软件分成两种类型测试版和正式版测试版包括8051工具的测试版本和本用户手册你可以用它们产生目标代码小于2K字节的应用。2013/10/13 L71、 Keil开发套件 Keil Software提供第一流的8051系列开发工具,把不同的开发工具捆绑到不同的开发包或工具套件。2013/10/13 L8PK51 专业开发套件 PK51专业开发套件包括了所有专业开发人员创建和调试复杂8051嵌入式应用系统所要用到的一切工具。PK51专业开发套件可以针对所有的8051及其派生系列进行配置使用

5、 DK51开发套件 DK51开发套件是PK51专业开发套件的精简版本。它不包括小型RTX51实时操作系统。此套件可以针对所有的8051及其派生系列进行配置使用。 CA51编译套件 CA51编译套件是那些需要C编译器而不需要调试系统的开发人员的最好选择。CA51开发包仅仅包含uVision2 IDE,uVision2调试器不包括在内。此套件可以针对所有的8051及其派生系列进行配置使用 2013/10/13 L9A51汇编套件 A51汇编套件包括一个汇编器和你创建嵌入式应用所需要的所有功能此套件可以针对所有的8051及其派生系列进行配置使用。 RTX51 实时操作系统FR51 RTX51实时操作

6、系统是一个8051系列MCU的实时内核。RTX51 FULL提供RTX51 TINY的所有功能和一些扩展功能并且包括CAN通信协议接口。 2013/10/13 L102、 软件开发流程 使用Keil Software工具时你的项目开发流程和其它软件开发项目的流程极其相似。 创建一个项目,从器件库中选择目标器件,配置工具设置; 用C语言或汇编语言创建源程序; 用项目管理器构造应用; 修改源程序中的错误; 调试连接后的应用 2013/10/13 L11 一个完整的8051工具集的框图可以最好地表述此开发流程。 2013/10/13 L12uVision2 IDE uVision2 集成开发环境集成

7、了项目管理器、功能丰富编辑器、选项设置、生成工具、在线帮助。 利用uVision2创建你的源代码并把它们组织到一个目标应用的项目中去。uVision2自动编译汇编连接嵌入式应用。C51编译器和A51汇编器 由uVision2 IDE创建的源代码,被C51编译或A51汇编器生成可重定位的目标文件。 Keil C51编译器完全遵照ANSI C语言标准,支持C语言的所有标准特性。另外增加了可以支持8051结构的特性。 Keil A51宏汇编器支持8051及其派生系列的全部指令集。 2013/10/13 L13LIB51 库管理器 LIB51库管理器允许你从由编译器或汇编器生成的目标文件创建目标库库是

8、一种被特别地组织过并在以后可以被连接重用的对象模块当连接器处理一个库时仅仅那些被使用的目标模块才被真正使用 BL51 连接器/定位器 BL51 连接器/定位器利用从库中提取的目标模块和由编译器、汇编器生成的目标模块,创建一个绝对地址的目标模块。一个绝对地址目标模块或文件包含不可重定位的代码和数据。所有的代码和数据被安置在固定的存储器单元中。此绝对地址目标文件可以用来: 写入EPROM或其它存储器件 由uVision2调试器使用来模拟和调试 由仿真器用来测试程序 2013/10/13 L14uVision2 调试器 uVision2源代码级调试器是快速可靠的程序调试器。此调试器包含一个高速模拟器

9、,使用它可以模拟整个8051系统,包括片上外围器件和外部硬件。当从器件库中选择器件时,这个器件的特性将自动配置 。 uVision2调试器提供了几种实际目标板上测试程序方法: 安装MON51目标监控器到你的目标系统并且通过Monitor-51接口下载你的程序; 利用高级的GDIAGDI接口把uVision2调试器绑定到你的目标系统 。2013/10/13 L15Monitor-51 uVision2调试器支持用Monitor-51进行目标板调试。此监控程序驻留在你的目标板的存储器里,利用串口和uVision2调试器进行通信。 利用Monitor-51 uVision2调试器可以对你的目标硬件实

10、行源代码级的调试。 RTX51实时操作系统 RTX51实时操作系统是一个针对8051系列的多任务核。RTX51实时内核从本质上简化了对实时事件反应速度要求高的复杂应用系统的设计、编程和调试。 RTX51实时内核是完全集成到C51编译器中的从而方便使用任务描述表和操作系统的连接由BL51连接器/定位器自动控制 。2013/10/13 L163、 安 装 系统需求 为了取得比较好的运行效果最低的硬件和软件配置必须满足: 具有奔腾奔腾II或兼容的处理器的个人计算机 操作系统为WIN95WIN98WINNT4.0或更高 RAM大于16MB 20MB 的硬盘空余空间 安装详细说明 所有的Keil产品都带

11、有一个安装程序。8051开发工具的安装步骤如下 插入Keil开发工具光盘 从CD浏览界面选择安装软件 跟随提示进行安装操作 2013/10/13 L17文件夹组织结构 安装程序复制开发工具到基本目录的各个子目录中。默认的基本目录是C:KEIL。下表列出的文件夹结构是包括所有8051开发工具的全部安装信息。C:KEILC51ASM 汇编SFR定义文件和模板源程序文件 C:KEILC51BIN 8051工具的执行文件 C:KEILC51EXAMPLES 示例应用 C:KEILC51RTX51 完全实时操作系统文件 C:KEILC51RTX_TINY 小型实时操作系统文件 C:KEILC51INC

12、C编译器包含文件 C:KEILC51LIB C编译器库文件启动代码和常规I/O资源 C:KEILC51MONITOR 目标监控文件和用户硬件的监控配置 C:KEILUV2 普通uVision2文件 2013/10/13 L182.4 KEIL Cx5 编程实例#include /* special function register declarations */#include /* prototype declarations for I/O functions */void main (void) #ifndef MONITOR51 SCON = 0 x50;/* SCON: mode

13、1, 8-bit UART, enable rcvr */ TMOD |= 0 x20; /* TMOD: timer 1, mode 2, 8-bit reload*/ TH1 = 221; /* TH1: reload value for 1200 baud 16MHz*/ TR1 = 1; /* TR1: timer 1 run */ TI = 1; /* TI: set TI to send first char of UART */ #endifwhile (1) P1 = 0 x01; /* Toggle P1.0 each time we print */ printf (Hel

14、lo Worldn); /* Print Hello World */ 2013/10/13 L19Keil uvision2 使用简介2013/10/13 L202.5 Cx51程序结构程序:P1端口输出#include /单片机资源描述void main( void )/一个项目只有一/个main主函数/函数体开始P1 = 0 x55;/隔一个为高while( 1 ) ; /单片机空循环待机/函数体结束2013/10/13 L21C程序的规范化设计在单片机C程序设计中,项目一般按功能模块化进行结构化设计。将一个项目划分为多个功能,每个功能的相关程序放在一个C程序文档中,称之为一个模块,对应

15、的文件名即为模块名。一个模块通常由两个文档组成,一个为头文件.h,对模块中的数据结构和函数原型进行描述;另一个则为C文件.c ,对数据实例或对象定义,以及函数算法具体实现。2013/10/13 L22H头文件的作用作为项目设计,除了对项目总体功能进行详细描述外,就是对每个模块进行详细定义,也就是给出所有模块的头文件。通常H头文件要定义模块中各函数的功能,以及输入和输出参数的要求。模块的具体实现,由项目组成根据H文件进行设计、编程、调试完成。为了保密和安全,模块实现后以可连接文件OBJ、或库文件LIB的方式提供给项目其他成员使用。2013/10/13 L23H头文件的基本格式/如下为键盘驱动模块

16、KeyDriver.H的模型#ifndef_KeyDriver_H_/防重复引用#define_KeyDriver_H_/此符号唯一/char kbhit( void ); /击键否unsigned char getch( void );/取键值/#endif 2013/10/13 L24C程序的基本格式#include /头文件在系统中#include “KeyDriver.h”/头文件在项目中char kbhit( void ) /击键否unsigned char getch( void )/取键值2013/10/13 L25C程序的书写要求函数之间相隔两个空行函数内功能块相隔一个空行用TAB调整结构括号 中的凹进函数内if、switch、while、for

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论