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

下载本文档

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

文档简介

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

温馨提示

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

评论

0/150

提交评论