第10章 单片机的C语言应用设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 单片机的C语言应用设计 第10章 单片机的C语言应用设计 10.1 C语言与MCS-51单片机 10.2 C语言的入门知识 10.3 C51 的数据类型及其在51单片 机的存储方式 10.4 C51数据的存储类型与MCS-51 ?存储结构 第10章 单片机的C语言应用设计 10.5 MCS-51并行接口C51定义 10.6 C51的构造数据类型 10.7 单片机内部资源的编程 习题 10.1 C语言与MCS-51单片机 在单片机应用系统研发中,应用程序设计是主要工作。采用汇编语言编写应用程序,可直接操作系统的硬件资源,编写出高质量的程序代码。但是,采用汇编语言编写比较复杂的数值计算程序就感到非常困难,且汇编语言源程序的可读性不如高级语言源程序,若要修改,需花费较多的心思,进行单片机应用程序设计的时间长、效率较低。采用C语言,易开发复杂的单片机应用系统,易于进行程序的移植,有利于产品中的单片机重新选型,可大大提高单片机应用程序的开发速度。 10.1 C语言与MCS-51单片机 随着单片机开发工具水平的提高,现在的单片机仿真器普遍支持C语言程序的调试,为单片机编程使用C语言提供了便利的条件。 C语言是高级程序语言。用高级语言编程时,不必过多考虑计算机的硬件特性与接口形式。事实上,任何高级语言程序最终必须要转换成计算机可识别并能执行的机器指令代码,定位于存储器。程序中的数据也必须以一定的存储结构定位于存储器中。这种转换定位是由高级语言编译器来实现的。 高级语言程序中,对于不同类型数据的存储及引用是通过不同类型的变量来实现的,高级语言的变量就代表存储单元,变量的类型结构就表示了数据的存储、引用结构。 用汇编语言设计MCS-51系列单片机应用程序时,必须考虑存储器结构,尤其要考虑片内数据存储器与特殊功能寄存器的使用,按照实际地址处理端口数据。用C语言编写MCS-51单片机的应用程序,虽然不用像汇编语言那样具体地组织、分配存储器资源及处理端口数据,但在C语言编程中,对数据类型与变量的定义,必须与单片机的存储器结构相关联,否则编译器不能正确地映射定位。 用C语言编写单片机应用程序与编写标准的C语言程序的不同之处在于根据单片机存储器结构及内部资源定义相应的C语言中的数据类型和变量,其他的语法规定、程序结构及程序设计方法都与标准的C语言程序设计相同。 用C语言编写的应用程序必须由单片机的C51编译器,转换成单片机可执行的代码程序。支持MCS-51系列单片机的C51编译器有很多。如American Automation、Auocet、BSO/TASKING、DUNFIELDSHARWARE和Keil/Franklin等。其中Keil/Franklin的代码紧凑、使用方便成为最常用的一种编译工具。 10.2 C语言的入门知识 10.2.1 “文件包含”处理 10.2.2 符号P1_0表示P1.0引脚 10.2.3 主函数main 10.2.4 C语言特点 10.2.5 C51的一般格式 10.2 C语言的入门知识 通过下面一个简单实例介绍C语言编程的方法。这里采用80C51系列单片机的C编译器Keil作为开发环境。89S52的P1引脚上接8个发光二极管,这里的任务是让接在P1引脚上的发光二极管按要求发光,如图10-1所示。 【例10-1】 点亮P1.0引脚上的LED。 #include?reg51.h sbit?P1_0=P1^0; void?main( ) {? P1_1=0; } 10.2 C语言的入门知识 这个程序的作用是使接在P1.0引脚上的LED点亮,这个C语言程序包含如下信息。 10.2.1 “文件包含”处理 程序的第一行是一个“文件包含”处理。 所谓“文件包含”是指一个文件将另外一个文件的内容全部包含进来,所以这里的程序虽然只有4行,但C编译器在处理的时候却要处理几十或几百行。这里程序中包含reg51.h文件的目的是要使用P1这个符号,即通知C编译器,程序中所写的P1是指80C51单片机的P1端口而不是其他变量。 reg51.h 文件包含以下内容: /*-----------------------------------reg51.H Header?file?for?generic?80C51?and?80C31?microcontroller. Copyright?(c)??1988- 2001?Keil?Elektronik?GmbH?and?Keil?Software,?Inc. All?rights?reserved. ---------------

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档