第2章C与805118434.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
① 启动μVision2,创建并保存一个工程项目文件; ② 为工程项目选择目标器件; ③ 为目标器件添加和配置启动代码; ④ 创建并保存源程序文件; ⑤ 把源程序文件添加到项目中; ⑥ 配置目标硬件的工具选项; ⑦ 编译项目并生成一个可供PROM编程的HEX文件 * * 第2章 C与8051 主要内容: 2.1 8051的编程语言 2.2 Cx51编译器 2.3 KEIL8051开发工具 2.4 KEIL Cx51编程实例 2.5 Cx51程序结构 §2.1 8051的编程语言 8051单片机,现有4种语言支持,即汇编、PL/M、C和BASIC。 *BASIC原附在PC机上,是初学者编程的第一种语言。8052单片机片内固化有解释BASIC语言,BASIC适用于要求编程简单而对编程效率或运行速度要求不高的场合。 *PL/M是从8080微处理器开始为其系列产品开发的编程语言。PL/M 语言是一种高级语言,它由美国 INTEL 公司设计,主要用于 Intel 公司生产的单片机和微处理器系统软件和应用软件的开发。作为高级语言,它更接近和体现人的设计思想。 PL/M 语言不仅具有一般高级语言的特点,而且还能象汇编语言那样直接利用 CPU的硬件特性进行程序设计。因而,与其它高级语言相比,功能多,用途更广泛,尤其在 16 位单片机应用领域更受到人们的普遍重视。 *C语言是一种源于编写UNIX操作系统的语言,是一种结构化语言,可产生紧凑代码。与汇编语言相比,C语言有如下优点: 1.对单片机的指令系统不要求了解,仅要求对8051的存储器结构有初步了解; 2.寄存器的分配、不同存储器的寻址及数据类型等细节可由编译器管理; 3.程序有规范的结构,可分为不同的函数,这种方式可使程序结构化; 4.具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性; 5.关键字及运算函数可用近似人的思维过程方式使用; 6.编程及程序调试时间显著缩短,从而提高效率; 7.提供的库包含许多标准子程序,具有较强的数据处理能力; 8.已编好的程序容易植入新程序,因为C语言具有方便的模块化编程技术。 8051汇编语言非常像其他汇编语言,指令系统比第一代微处理器要强一些。 C语言与8051 用汇编程序设计8051系列单片机应用程序时,必须要考虑其存储器结构,尤其必须考虑其片内数据存储器与特殊功能寄存器正确、合理的使用以及按实际地址处理端口数据。用C语言编写8051单片机的应用程序,虽然不像用汇编语言那样具体地组织、分配存储器资源和处理端口数据,但在C语言编程中,对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。用C语言编写单片机应用程序与编写标准的C语言程序的不同之处就在于根据单片机存储结构及内部资源定义相应的C语言中的数据类型和变量,其它的语法规定、程序结构及程序设计方法都与标准的C语言程序设计相同。 编译器能自动完成变量的存储单元的分配,编程者可以专注于应用软件的设计,可以对常用的接口芯片编制通用的驱动函数,对常用的功能模块和算法编制相应的函数,可以方便地进行信号处理算法和程序的移植,从而加快单片机应用系统的开发速度。 当代码长度超过4KB以上时,Cx51比汇编语言更具有明显的优势。 用C语言编写的应用程序必须经单片机的C语言编译器(简称C51),转换生成单片机可执行的代码程序。支持MCS–51系列单片机的C语言编译器有很多种。 §2.2 Cx51编译器 No No SL[4] [2] 2.11 Dunfields No No SML [2] 1.7 MCC Yes No SL[3] 2min52s 3.32 Intermetrics Yes Yes SAL 1min28s 3.01 KEIL Yes Yes SAL 2min25s 1.10 Bso/Taking Yes No SML 1min47s 1.3 Avocet Yes Yes TSCMLB 2min3s 4.05A IAR [1] No SML 6min3s 16.02.07 American Automation 浮点支持 编译堆栈 储存模式 编译时间 版本 编译器 表2-1 整体特性 注:[1]仅大模式有浮点支持; [2]不能编译所有测试程序; [3]支持几种动态分配方案; [4]ROM和RAM必须映像到同一地址空间。 KEIL以它的紧凑代码和使用方便领先;IAR以它性能完善和

文档评论(0)

rovend + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档