第3章+单片机的C语言程序设计浅析.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3 单片机的C语言程序设计;教学目的;本章内容;3.1 C51的程序结构 ;C51的特点: 1.C51在吸取了汇编语言精华的基础上又有所改进 2.C51继承和发扬了高级语言的长处 3.C51的可移植性好 4.生成的代码质量高,在代码效率方面可以和汇编语言相媲美 ;C51程序的结构 一个C51程序大体上是一个函数定义的集合,在这个集合中仅有一个名为main的函数(主函数)。 函数定义由类型、函数名、参数表和函数体四部分组成。 函数的一般格式如下: 类型 函数名(参数表) 参数说明; { 数据说明部分; 执行语句部分; } ;编写C51 程序时应注意以下几点: 1.一个C51程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。 2.C语言程序的书写格式十分自由。一条语句可以写成一行,也可以写成几行,还可以在一行内写多条语句。但每条语句都必须以分号“;”作为结束符。 3.C语言对大小字母敏感,C语言编译器编译程序时对同一个字母的大小写作为不同的变量来处理。 4.可以用/*……*/对C程序中的任何部分作注释。程序加上必要的注释,可增加程序的可读性。;3.2 数据类型、存储类型及存储模式 ;数据类型 可分为基本数据类型和构造数据类型。构造数据类型由基本数据类型构造而成。 C51的数据类型分类如下所示: ;常量和变量 C语言中的数据有常量、变量之分。 常量——在程序运行的过程中,其值不能改变的量称为常量。C语言支持4种常量:整数常量、浮点数常量、枚举量常量、字符常量。 变量——在程序执行过程中,其值能不断变化的量。使用一个变量之前必须进行定义,用一个标识符作为变量名并指出它的数据类型和存储类型,以便编译系统为它分配相应的存储单元。 ;C51的存储类型及存储模式 51系列单片机的存储器采用哈佛结构。即其程序存储器和数据存储器分开,并有各自的寻址机构和寻址方式。以AT89C52为例,其具体结构如图3.1所示。 ;C51的存储类型及存储模式 AT89C52单片机在物理上有四个存储空间: 1.片内程序存储器空间 2.片外程序存储器空间 3.片内数据存储器空间 4.片外数据存储器空间;C51的存储类型及存储模式 C51在定义变量、常量时,将通过不同的存储类型(data、bdata、idata、pdata、xdata、code)将它们定位在不同的存储区中。存储类型与AT89C52单片机实际存储空间的对应关系如表3.2所列。 存储模式:存储模式决定了变量的默认存储类型,参数传递区和无明确存储类型说明变量的存储类型。;特殊功能寄存器的定义 AT89C52单片机中除了程序计数器PC和4组通用寄存器组(R0R7)之外,其他所有寄存器均称为特殊功能寄存器(SFR),它们分散在片内RAM区的高128B中,它们只能采用直接寻址方式访问。 为了能直接访问这些SFR,C51扩充了类型说明符sfr、sfr16、sbit。利用它们可在C语言源程序中直接对AT89C52单片机的特殊功能寄存器进行定义。 定义方法如下: sfr 特殊功能寄存器名=地址常数 sfr16特殊功能寄存器名=地址常数;并行接口的定义 AT89C52单片机内部有4个8位并行口,即SFR中的P0P3。这些内部并行口既可进行字节寻址,也可进行位寻址。 除了内部4个并行口之外,AT89C52单片机还可以在片外扩展硬件I/O口,这些I/O口大多只能进行字节寻址。 AT89C52单片机没有专用的I/O指令,它的口地址是和数据存储器统一编址的。即把一个口看作是数据存储器的一个单元。程序采用访问数据存储器的指令来访问I/O口。;位变量的定义 1.定义位变量的语法如下: bit check_bit ;/*将变量check_bit定义为位变量*/ 2.函数可包含类型为bit的参数,也可将其作为返回值。 3 .可位寻址对象的定义和访问;3.3 运算符、函数及程序流程控制 ;C51的运算符 1.C51的赋值运算符和算术运算符(+、-、*、/、%) 2.C51的关系运算符(、、=、=、==、!=) 3.C51逻辑运算符(||、、!) 4.C51位操作运算符(~、|、、︿、 、 ) 5.自增减运算 6.复合运算符(10种);C51的函数 函数是C语言中的一种基本模块,一个C语言程序就是由若干个模块化的函数所构成的。 1.函数的分类 从用户使用角度划分,函数分为标准库函数和用户自定义函数。 用户自定义函数是指用户根据任务自己编写的函数。从函数定义的形式上可划分为三种形式:无参数函数、有参数

文档评论(0)

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

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档