网站大量收购独家精品文档,联系QQ:2885784924

单片机的C基础知识研讨.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机的C基础知识研讨

第3章 单片机的C51基础知识 本章以51单片机为背景,结合标准C的相关知识,介绍了51单片机的C语言—C51的特点、C51程序结构特点、C51的标识符和关键字、数据类型、数据的存储类型和存储模式、指针与函数的定义与使用,并简单介绍了C语言与汇编语言的混合编程。要求重点掌握C51数据的存储类型和存储模式、C51对SFR、可寻址位、存储器和I/O口的定义和访问。学完本章之后,读者将对程序设计以及C语言有一个初步的完整印象。 3.1 C51概述 3.1.1 单片机支持的高级语言 单片机应用系统是由硬件和软件组成的。汇编语言是能够利用单片机所有特性直接控制硬件的唯一语言,对于一些需要直接控制硬件的场合,汇编语言是必不可少的。但汇编语言不是一种结构化的程序设计语言,对于较复杂的单片机应用系统,它的编写效率很低。 为了提高软件的开发效率,许多软件公司致力于单片机高级语言的开发研究,许多型号的单片机内部ROM已经达到64KB甚至更大,且具备在系统编程(ISP, In System Programmable)功能,进一步推动了高级语言在单片机应用系统开发中的应用。 51系列单片机支持三种高级语言:PL/M、BASIC 和C。PL/M是一种结构化的语言,很象PASCAL,PL/M编译器好象汇编器一样产生紧凑的机器代码,可以说是高级汇编语言,但它不支持复杂的算术运算,无丰富库函数支持,学习PL/M无异于学习一种新的语言。BASIC语言适用于简单编程而对编程效率、运行速度要求不高的场合,8051单片机内固化有BASIC语言解释器。 C语言是美国国家标准协会(ANSI)制定的编程语言标准,1987年ANSI公布87 ANSI C,即标准C语言。C语言作为一种非常方便的语言而得到广泛的支持,很多硬件开发(如各种单片机、DSP、ARM等)都用C语言编程。C程序本身不依赖于机器硬件系统,基本上不作修改或仅做简单修改就可将程序从不同的单片机中移植过来直接使用。C语言提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。 3.1.2 C51语言编程 单片机的C语言编程称为C51编程。C51语言是在ANSI C的基础上针对51单片机的硬件 特点进行的扩展,并向51单片机上移植,经过多年努力, C51语言已经成为公认的高效、简洁而又贴近51单片机硬件的实用高级编程语言。 用C语言编写的应用程序必须经专门C语言编译器编译生成可以在单片机上运行的可执行文件。支持51系列单片机的C语言编译器有很多种。如Tasking Crossview51、Keil/ Franklin C51(一般称为Keil C51)、IAR EW8051等。其中最为常见的单片机编译器为Keil C51。 Keil C51是德国Keil software公司开发的用于51系列单片机的C51语言开发软件。Keil C51在兼容ANSI C的基础上,又增加很多与51单片机硬件相关的编译特性,使得开发51系列单片机程序更为方便和快捷,程序代码运行速度快,所需存储器空间小,完全可以和汇编语言相媲美。 它支持众多的MCS-51架构的芯片,同时集编辑、编译、仿真等功能于一体,具有强大的软件调试功能,是众多的单片机应用开发软件中最优秀的软件之一。 表3.1 ANSI C的关键字 Keil C51编译器除了支持ANSI C标准的32个关键字外,还根据51单片机的特点扩展了相关的关键字,如表3.2所示。在Keil C51开发环境的文本编辑器中编写C程序,系统可以把保留字以不同颜色显示,缺省颜色为蓝色。 表3.2 C51的扩展关键字 3.2.2 C51的数据类型 表3.3 C51编译器支持的基本数据类型 图3.1 存储种类与变量间的关系 3.3 C51的存储种类和存储模式 C51编译器通过将变量、常量定义成不同存储类型的方法将它们定义在单片机的不同存储区中。 同ANSI C一样,C51规定变量必须先定义后使用。C51对变量的进行定义的格式如下: [存储种类] 数据类型 [存储器类型] 变量名表; 其中,存储种类和存储类型是可选项。 3.3.1 变量的存储种类 按变量的有效作用范围可以将其划分为局部变量和全局变量;还可以按变量的的存储方式为其划分存储种类。 在C语言中变量有四种存储种类,即自动(auto)、外部(extern)、静态(static)和寄存器(register)。

文档评论(0)

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

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

1亿VIP精品文档

相关文档