开发工具KeilC51介绍.ppt_第1页
开发工具KeilC51介绍.ppt_第2页
开发工具KeilC51介绍.ppt_第3页
开发工具KeilC51介绍.ppt_第4页
开发工具KeilC51介绍.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

第四讲 开发工具KeilC51介绍 一、应用C语言开发单片机程序 二、熟悉Keil开发单片机C程序的流程 三、C关于SFR及位的定义 四、掌握Keil与Proteus联合调试的方法 五、实训 一、应用C语言开发单片机程序 n1、单片机运行程序的流程 u两种类型的语言 汇编语言 C语言 n2、汇编语言 u优点: 执行效率高,运行速度快,与硬件结合较好,能充分 发挥程序员的优势。 u缺点: 对编程人员要求高,编程难度大,开发周期长,硬件 更换后程序的可移植性差,可读性差。不大适合专业 人员开发程序。 n3、C语言 u具有以下优点: 1)C语言是编译型语言,具有高级语言的特点,也 具备汇编语言简洁、可以控制硬件的功能。 2)表达能力强,易于编程,可读性好。 3)可移植性好,C语言本身不依赖系统硬件,可以 很容易移植到不同类型的单片机上。编译时要选择芯 片,将同一条语句变成该芯片对应的指令。 4)有丰富的库函数可以调用。 5)寄存器的分配,由编译器完成,编程者可将精力 集中到软件整体设计,有利于提高软件质量。(汇编 语言编程者必须记住这些分配) 6)可以多人编写一个大程序,将各模块之间接口确 定即可。 7)有实时多任务操作系统(RTOS),可以合理的 分配CPU的时间及单片机的资源。 8)开发周期短,适合工程技术人员开发应用软件。 u存在的问题: 1)代码长度, C语言向单片机移植,最大的困难之 一“是高级语言产生的代码长,运行速度慢” 。 2)单片机种类多,结构不同。编译软件还不能全部 适应。 二、熟悉Keil开发单片机C程序的流程 n1、Keil编译器简介 uKeil是德国Keil公司开发的单片机编译器,是目 前最好的51单片机开发工具之一。 Keil C51是 美国Keil Software公司出品的51系列兼容单片 机C语言软件开发系统。 uKeil C51 软件提供丰富的库函数和功能强大的 集成开发调试工具,全Windows界面。 uKeil C51标准C编译器为8051微控制器的软件开 发提供了C语言环境。C51已被完全集成到 Vision3的集成开发环境中,这个集成开发环境 包含:编译器,汇编器,实时操作系统,项目 管理器,调试器。 n2、Keil C51 单片机软件开发系统的整体结 构 u可以完成编辑、编译、连接、调试、仿真等整 个开发流程,该集成系统可以编译C源程序,也 可以编译汇编语言源程序。 uC51工具包的整体结构如图所示 n 由C51及A51 编译器编译生成目标文件(.OBJ); n 目标文件可由LIB51 创建生成库文件,也可以与库文件一 起经L51连接定位生成绝对目标文件(.ABS) ; n 由OH51 转换成标准的Hex 文件。 HEX文件供调试器使用进行源代码级调试。 HEX文件也可由仿真器使用对目标板调试。 HEX文件是最后写入程序存贮器中的代码。 n3、单片机C语言与一般C语言的异同 u相同点: 语法结构基本相同,也是采用函数结构;大部分函数 相同。 u不同点: 1)输入、输出不同 2)数据类型不同 单片机增加了bit、sbit、sfr、sfr16等数据类型。 3)单片机C语言增加了存储类型。 4)不隐含支持递归调用,要递归调用前必须说明。 5)库函数不同。 如在CX51中没有fputs等库函数。在ANSIC中没 有_NOP_,_crol_( )应用时查相关资料。 6)单片机C有自动覆盖技术 单片机的RAM和计算机相比少的可怜,所以 在编译时会自动分析判断,将不再被用的变量 占用的空间重新使用。 7)单片机C有优化技术,可以最大限度减少代码 长度。 8)由于单片机C语言编程的目的是要将程序最后 固化到单片机或者EPROM中,所以最后要生产 后缀为.HEX的文件,该文件可以固化到单片机中 。 u用单片机C语言编程是要注意: 1) 应用单片机的c更要注重对系统资源的理解 2) 对于程序上应用的各种算法要精简 三、C关于SFR及位的定义 n1、 SFR uC51扩充的数据类型,用于访问MCS-51单片机 中的特殊功能寄存器数据,它分sfr和sfr16两种 类型。 sfr为字节型特殊功能寄存器类型,占一个内存单元, 利用它可以访问MCS-51内部的所有特殊功能寄存器 ; sfr16为双字节型特殊功能寄存器类型,占用两个字 节单元,利用它可以访问MCS-51内部的所有两个字 节的特殊功能寄存器。 在C51中对特殊功能寄存器的访问必须先用sfr或 sfr16进行声明。 n格式如下: usfr或sfr16 sfr_name=地址; u例如: sfr PSW=0xD0; sfr P0=0x80; sfr P1=0x90; sfr P2=0xA0; sfr P3=0xB0; sfr16 DPTR=0x82; DPTR低8位地址=0x82,高8位地址=0x83。 在0x800xFF 之间。 n2、位变量bit、sbit u在C51中,支持两种位类型:bit型和sbit型。 它们在内存中都只占一个二进制位,其值可以 是“1”或“0”。 用bit定义的位变量在C51编译器编译时,在不同的时 候位地址是可以变化的 用sbit定义的位变量必须与MCS-51单片机的一个可 以寻址位单元或可位寻址的字节单元中的某一位联系 在一起,在C51编译器编译时,其对应的位地址是不 可变化的。 n(1)sbit位类型定义的方法: u第一种方法:Sfr_nameint_constant(07) u比如: sfr PSW=0xD0; sbit OV=PSW2; sbit CY=PSW7; sfr P2=0xA0; sbit led_flash=P20; sbit 7segment_display=P21; sfr P3=0xB0; sbit RXD=P30; sbit TXD=P31; 在0x800xFF之 间,并能位寻址 。 u第二种方法: int_constantint_constant(07) u比如: PSW的地址为:0xD0; sbit OV=0xD02; sbit CY=0xD07; P2的地址为: 0xA0; sbit led_flash=0xA00; sbit 7segment_display=0xA01; P3的地址为: 0xB0; sbit RXD=0xB00; sbit TXD=0xB01; 在0x800xFF之 间,并能位寻址 。 u第三种方法:int_constant u比如: PSW的地址为:0xD0; sbit OV=0xD2; sbit CY=0xD7; P2的地址为: 0xA0; sbit led_flash=0xA0; sbit 7segment_display=0xA1; P3的地址为: 0xB0; sbit RXD=0xB0; sbit TXD=0xB1; 在0x800xFF之 间,并能位寻址 。 n(2)bit类型 n定义一个位变量,例: ubit led_flash; ubit t_count; ubit status_flag; 在程序编译时,编译器会把这些位变量 安放在片内RAM的位寻址区,即片内的 0x200x2F单元,共16字节,128个位 。 nC51编译器把MCS-51单片机的常用的特殊功 能寄存器和特殊位进行了定义,放在一个 “reg51.h”或“reg52.h”的头文件中。用一条 预处理命令: u#include u#include n然后就可使用殊功能寄存器名和特殊位名称 。 n头文件的位置: uC:KeilC51INC 四、掌握Keil与Proteus联合调试的方法 n 1、安装Proteus; n 2、安装Keil; n 3、运行压缩包内 “Keil驱动vdmagdi.exe” ,安装完 毕; n 4、把proteus安装目录下MODELS目录中的 VDM51.dll(如果能找到,否则在网上找到它), 文件复制到Keil安装目录的 C51BIN 目录中; n 5、修改keil安装目录下 Tools.ini文件,在C51字段 加入 TDRV8=BINVDM51.DLL (“Proteus VSM Monitor-51 Driver”),保存; u 注意:不一定要用TDRV8,根据原来字段选用一个不 重复的数值就可以了; n 5、运行“ISIS 7 Professional,画出相应电,打开“菜 单“Debug(调试)“, 选中“Use Remote Debug Monitor(使用远程调试监控)“; n 6、每次新建Keil C的工程后,进入菜单“Project”- “Options for Target Target 1 ,“ 打开“Options for Target Target 1 “窗口后,选择“Debug“选项卡, 选择右边的Use:“Proteus VSM Simulators“,确定; 再进入seting,如果同一台机IP 名为127.0.0.1,如 不是同一台机则填另一 台的IP地址,端口号一定为 80

温馨提示

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

最新文档

评论

0/150

提交评论