单片机3章.docVIP

  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文档。上传文档
查看更多
单片机3章

第3章 C51语言编程基础 内容概要 目前单片机应用设计与开发,多使用C51语言来编程。 C51语言是在标准C的基础上,根据单片机存储器硬件结构及内部资源,扩展相应的数据类型和变量,而在语法规定、程序结构与设计方法上,都与标准C相同。 本章介绍C51语言的基础知识、对C51集成开发环境Keil μVision3以及单片机虚拟仿真平台Proteus也作以介绍。 在单片机应用开发中,软件编程占有非常重要的地位。要求编程人员在短时间内编写出执行效率高、运行可靠的程序代码。同时,由于实际系统的日趋复杂,对程序的可读性、升级与维护以及模块化的要求越来越高,以方便多个工程师协同开发。 C51语言是近年来在国内外的51单片机开发中,普遍使用的一种程序设计语言。C51能直接对单片机硬件进行操作,既有高级语言的特点,又有汇编语言的特点,因此在单片机应用的程序设计中,得到非常广泛的使用。 3.1 编程语言Keil C51简介 Keil C51(简称C51),是在标准C语言的基础上发展的。 3.1.1 Keil C51简介 Keil C51语言是在标准C的基础上针对51单片机的硬件特点进行的扩展,并向51单片机上移植,经多年努力,C51语言已成为公认的高效、简洁的51单片机的实用高级编程语言。 与汇编语言相比,用C51语言进行软件开发,有如下优点: (1)可读性好。C51语言程序比汇编语言程序的可读性好,因而编程效率高,程序便于修改、维护以及程序升级。 (2)模块化开发与资源共享。C51开发的模块可直接被其他项目所用,能很好地利用已有的标准C程序资源与丰富的库函数,减少重复劳动,也有利于多个工程师的协同开发。 (3)可移植性好。为某型单片机开发的C51程序,只需将与硬件相关之处和编译链接的参数进行适当修改,就可方便地移植到其它型号的单片机上。例如,为51单片机编写的程序通过改写头文件以及少量的程序行,就可以方便地移植到PIC单片机上。 (4)生成的代码效率高。代码效率比直接使用汇编语言低20%左右,如使用优化编译选项,最高可达90%左右,效果会更好。 3.1.2 C51与标准C的比较 C51标准C语言有许多相同的地方,但也有自身特点。不同的嵌入式C语言编译系统与标准C语言的不同,主要是由于它们所针对的硬件系统不同。对于51单片机,目前广泛使用的是Keil C51语言,简称C51语言。 C51的基本语法与标准C相同,C51在标准C的基础上进行了适合于51系列单片机硬件的扩展。深入理解Keil C51对标准C的扩展部分以及不同之处,是掌握C51语言的关键之一。 C51与标准C的主要区别如下: (1)库函数的不同。标准C中的部分库函数不适合于嵌入式控制器系统,被排除在Keil C51之外,如字符屏幕和图形函数。有些库函数可继续使用,但这些库函数都必须针对51单片机的硬件特点做出相应的开发。例如库函数printf和scanf,在标准C中,这两个函数通常用于屏幕打印和接收字符,而在Keil C51中,主要用于串行口数据的收发。 (2)数据类型有一定的区别。在C51中增加了几种针对51单片机特有的数据类型,在标准C的基础上又扩展了4种类型。例如,51单片机包含位操作空间和丰富的位操作指令,因此,C51语言与标准C相比就要增加位类型。 (3)C51的变量存储模式与标准C中的变量存储模式数据不一样。标准C是为通用计算机设计的,计算机中只有一个程序和数据统一寻址的内存空间,而C51中变量的存储模式与51单片机的存储器紧密相关。 (4)数据存储类型的不同。51单片机存储区可分为内部数据存储区、外部数据存储区以及程序存储区。内部数据存储区可分为3个不同的C51存储类型:data、idata和bdata。外部数据存储区分为2个不同的C51存储类型:xdata和pdata。程序存储区只能读不能写,在51单片机内部或外部。C51提供了code存储类型来访问程序存储区。 (5)标准C语言没有处理单片机中断的定义。C51中有专门的中断函数。 (6)头文件的不同。C51语言与标准C头文件的差异是C51头文件必须把51单片机内部的外设硬件资源如定时器、中断、I/O等所相应的功能寄存器的写入头文件内。 (7)程序结构的差异。由于51单片机硬件资源有限,它的编译系统不允许太多的程序嵌套。其次,标准C所具备的递归特性不被C51语言支持。 但是从数据运算操作、程序控制语句以及函数的使用上来说,Keil C51与标准C几乎没有什么明显的差别。 如果程序设计者具备了有关标准C的编程基础,只要注意Keil C51与标准C的不同之处,并熟悉51单片机的硬件结构,就能够较快地掌握C51的编程。 3.2 Keil C51的开发工具 Keil C51是德国Keil sof

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档