- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机原理及应用教程
* * 第9章 单片机C语言程序设计 9.1 Keil C简介与环境设置 9.2 Cx51简介 9.3 Cx51开发工具简介 9.4 Cx51应用程序设计举例 随着单片机应用的深入发展和强盛的社会需求,应用高级语言进行单片机程序设计正在逐渐增多,本章主要介绍如何用C语言开发单片机应用程序。 一般情况下单片机常用的程序设计语言有两种: ● 汇编语言: 汇编语言具有执行速度快、占存储空间少、对硬件可直接编程等特点,因而特别适合在对实时性能要求比较高的情况下使用。 ● C语言: C语言克服了汇编语言的不足之处,同时又增加了代码的可读性,C语言大多数代码被翻译成目标代码后,其效率和汇编语言相当。特别是C语言的内嵌汇编功能,使C语言对硬件操作更加方便。 9.1 Keil C简介与环境设置 Keil C μVision2 开发环境是德国Keil Software,Inc.and Keil Elektro nik GmbH开发的微处理器开发平台,可以开发多种8051兼容单片机程序。其界面如图9-1所示。 图9-1:Keil C μVision2 Cx51有两种使用方式。第一种方式是在μVision2 IDE中使用,不用进行设置;第二种方式是在命令提示符下使用。如果使用命令方式,需要设置如下变量: ① PATH=E:\Keilc\C51\BIN ② TMP=E:\Keilc\Tmp ③ C51INC=E:\Keilc\C51\INC ④ C51LIB=E:\Keilc\C51\LIB 在Windows NT环境下设置方式为:我的电脑-属性-高级-环境变量-新建 设置好运行环境后就可以在命令提示符下编译C语言源程序,其格式如下: C51 源文件名 [控制命令 ...] 9.2 Cx51简介 9.2.1 Cx51的扩展 Cx51编译器兼容ANSI C标准,又扩展支持了8051微处理 器,其扩展内容如下: ① 存储区; ② 存储区类型; ③ 存储模型; ④ 存储类型说明符; ⑤ 变量数据类型说明符; ⑥ 位变量和位可寻址数据; ⑦ SFR; ⑧ 指针; ⑨ 函数属性。 9.2.2 存储区 8051单片机支持程序存储器和数据存储器的分离,存储器根据读写情况可以分为:程序存储区(ROM)、快速读写存储器(内部RAM)、随机读写存储器(外部RAM)。 1. 程序存储器(code) 在8051中程序存储器是只读存储器,其空间为64K 。 2. 内部数据存储器 在8051单片机中,内部数据存储器属于快速可读写存储器,与51兼容的扩展型单片机最多有256字节内部数据存储区。 3. 外部数据存储器 外部数据存储器又称随机读写存储器,访问存储空间为64KB。其访问速度要比内部RAM慢。访问外部RAM的数据要使用指针进行间接访问。 9.2.3 存储模式 在Cx51中,存储器模式可以确定一些变量在缺省情况下的存储器类型。程序中可用编译器控制命令SMALL、COMPACT、LARGE指定存储器模式。 1. SMALL模式 SMALL模式中所有的变量在缺省的情况下位于单片机的内部数据区,这和用data存储类型标识符声明的变量是相同的。在本模式中变量访问非常有效,然而所有对象和堆栈必须适和内部RAM。 2. COMPACT模式 COMPACT模式中所有变量在缺省的情况下都存放在外部数据区的一页(256B)中,这和用pdata存储类型标识符声明的变量是相同的。 3. Large模式 LARGE模式下所有变量在缺省情况下存放在外部数据存储区(范围为64k字节),这和用xdata存储类型标识符声明的变量是一致的,该模式使用数据指针DPTR寻址。 9.2.4 数据类型 在Cx51中不仅支持所有的C语言标准数据类型,而且还对其进行了扩展,增加了专用于访问8051硬件的数据类型,使其对单片机的操作更加灵活。 1. bit类型 bit用于声明位变量,其值为1或0。 2. sbit类型 sbit类型用于声明可位寻址变量中的某个位变量,其值为1或0。 3. sfr类型 sfr类型用于声明特殊功能寄存器(8位),位于内部RAM地址为0x80-0xFF的128字节存储单元,这些存储器一般用作对计时器、计数器、串口、并口和外围使用。 4. sfr16类型 sfr16类型用于声明两个连续地址的特殊功能寄存器(地址范围为0~65 535)。 9.2.5 指针 所谓指针就是存储单元的地址,指针变量就是存放地址的变量。 在Cx51编译器中指针可以分为两种类型:通用指针和指定存储区地址指针。 1. 通用指针 所谓通用指针是指未对指向的对象(变量)存储空间进行说明的指针。通用指针可以访问8051存储空间中与位置无关的任何变量。 2. 存储区域的指针 所
您可能关注的文档
- 单元14系统优化与注册表基础.ppt
- 单元3土的抗剪强度和地基承载力.ppt
- 单元五车身及的检测与诊断.ppt
- 单克隆抗体技术ppt.ppt
- 单位“四个能力”建设现状的图片资料式样.ppt
- 单元评估质量检测(一).ppt
- 单克隆抗体的制备.ppt
- 单层板的正轴刚度.ppt
- 单反数码相机摄影入门.ppt
- 单片机C语言程序设计教学作者侯殿有12.ppt
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
文档评论(0)