单片机原理与控制技术第5章 (2).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.5 C51函数 函数是C程序的基本单位,即C51程序主要是由函数构成的。 5.5.1 函数概述 ⒈ 函数的分类 C51函数可分为主函数main( )和普通函数两种: 一个C51源程序必须有也只能有一个main函数, 而且是整个程序执行的起始点。 普通函数是被主函数调用的子函数, 普通函数又可分为标准库函数和自定义函数。 标准库函数是由C51编译系统的函数库提供的, 自定义函数就是用户根据自己的需要编写的函数。 ⒉ 函数的定义方式 返回值类型 函数名([形式参数列表]) [编译属性] [中断属性] [寄存器组属性] {局部变量说明 函数体语句} ①返回值类型是指本函数返回值的数据类型, 若无返回值,则成为无类型,用void表示; 若该项要素缺省,则C51编译系统默认为int类型。 ②函数名除了main函数有固定名称外, 其他函数由用户按标识符的规则自行命名。 ③形式参数用变量名(标识符)表示,没有具体数值; 可以是一个,或多个(中间用逗号“,”分隔),或没有形式参数。 ④编译属性是指定该函数采用的存储器编译模式, 有Small、Compact和Large 3种选择,缺省时,默认Small模式。 ⑤中断属性是指明该函数是否中断函数; 寄存器组属性是指明该函数被调用时准备采用哪组工作寄存器。 ⑥局部变量是仅应用于本函数内的变量, 在执行本函数时临时开辟存储单元使用,本函数运行结束即予释放; 局部变量说明是说明该变量的数据类型、存储器类型等。 ⑧不能颠倒局部变量说明与函数体语句的次序,否则C51编译器将视作出错。 ⑨一对花括号是必须的。 5.5.2 函数的参数和返回值 C51函数之间可以进行数据传递。 一种是数据输入: 主调用函数的实际参数向被调用函数的形式参数传递; 另一种是数据输出: 被调用函数的运行结果向主调用函数返回。 ⒈ 函数的参数 函数的参数有形式参数(简称形参)和实际参数(简称实参)。 形式参数是定义函数时在函数名后面括号中的变量, 可以是基本类型、指针类型和数组等。 实际参数是主调用函数赋给形式参数的实际数值。 【例5-24】 试编制一个能根据n值计算 的程序。 解:例5-10已给出计算 =1+2+…+100的程序,本例n不定,由外部输入。 Keil C51软件调试:参阅例9-2。 若输入n=100,程序运行结果:sum=5050。 ⒉ 函数的返回值 如果需要用到被调用函数中执行某段程序的结果, 可将该结果(称为函数值或函数返回值)返回给主调用函数。 返回语句的一般形式为: return 表达式; ① 函数的返回值只能通过return语句返回; return语句可有多条,但最终只能返回一个返回值。 ② 函数的返回值必须与函数的类型一致。 ③ 允许函数没有返回值, 但凡是不需要返回值的函数均宜明确定义为无类型void。 ④ 无类型函数不能使用return语句。 【例5-25】 试编制一个能比较两个数大小,返回其中较大值的子函数。并要求在主函数中调用,输出较大值。 Keil C51软件调试:编译连接并进入调试状态后, 打开串行输入/输出信息窗口Serial #1, 若输入x=0x64,y=0xc8, 则程序运行结果:x=100,y=200,max=200。 ⒉ Keil C51概述 用于80C51系列单片机编程的C语言,通常称为C51。C51实际上是一个编译系统,种类很多。其中,德国Keil Software公司推出的Keil C51软件应用最为广泛而方便。 ⒊ C51编程的特点 与80C51汇编语言相比,主要具有以下特点: ⑴ 编程相对方便。 ⑵ 便于实现各种复杂的运算和程序。 ⑶ 可方便地调用各已有程序模块。 ⑷ 可读性较好。 ⑸ 实时性较差。 5.2 C51数据与运算 5.2.1 数据与数据类型 ⒈ 数据类型 ⒉ 数据长度 ⒊ 标识符 C语言标识符命名规定: ⑴ 标识符只能由字母、数字和下划线三种字符组成,且须以字母或下划线开头。 ⑵ 标识符不能与“关键词”同名。关键词是C语言中一种具有固定名称和特定含义的专用标识符,用户不能用它自行定义其他用途。 ⑶ 英文字母区分大小写。即标识符中的英文字母大小写不能通用。 ⑷ 有效长度随编译系统而异,一般多于32个字符,已足够用了。 ⒋ 常量 : 程序运行过程中,其值不能被改变的量称为常量。 ⑴ 位型常量(bit) ⑵ 字符型常量(char) ⑶ 整

文档评论(0)

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

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

1亿VIP精品文档

相关文档