- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 单片机C51语言程序设计基础 3.1 语句与流程控制 3.2 函数 3.3 本章小结 3.4 实训三 简易十字路口交通信号灯控制 教学提示 教学要求 3.1 语句与流程控制 3.1.1 基本语句 3.1.2 分支语句 3.1.3 循环语句 3.1.4 辅助控制语句 3.1.1 基本语句 3.1.2 分支语句 1. if语句 2. if-else语句 3. if-else-if语句 4. switch语句 5. 在switch 语句中使用break 语句 3.1.3 循环语句 1. while 语句 2. do-while 语句 3. for 语句 4. 循环的嵌套 5. 几种循环的比较 3.1.4 辅助控制语句 1. break 语句 2. continue 语句 3.2 函数 3.2.1 中断函数 3.2.2 重入函数 3.2.3 标准库函数 3.3 本章小结 3.4 实训三 简易十字路口交通信号灯控制 在循环过程中,有时不一定要执行完所有的循环后才终止,每次循环也不一定要执行完循环体中的所有语句,可能在一定的条件下跳出循环或进入下一轮循环。 为了方便对程序流程的控制,除了前面介绍的流程控制语句外,C51 语言还提供了两种辅助控制语句:break 和continue 语句。 【例3.11】 求其平方数小于100 的所有整数。 break 语句的一般形式: break; break 语句的功能是:① 终止所在的switch 语句;② 跳出本层循环体,从而提前结束本层循环。 【例3.12】 求1~100之间不能被3整除的数。 continue 语句的一般形式: continue; continue 语句的功能是:用于循环体内结束本次循环,接着进行下一次循环的判定。 3.2.1 中断函数 3.2.2 重入函数 3.2.3 标准库函数 C51语言程序是由一个个函数构成的。所谓函数,是指可以被其他程序调用的具有特定功能的一段相对独立的程序。引入函数的主要目的有两个:一是为了解决代码的重复;二是结构化模块化编程的需要。 C51语言中函数定义的一般格式 : 其中,大括号以外的部分称为函数头;大括号以内的部分称为函数体。如果函数体内无语句,则称之为空函数。空函数不执行任何操作,定义它的目的只是为了以后程序功能的扩充。 [return_type]funcname([args])[{small | compact | large}][reentrant][interrupt n][using n] { 局部变量定义 可执行语句 } 用C51语言设计程序,就是编写函数。在构成C51语言设计程序的若干个函数中,有且仅有一个是主函数main( )。因为C51 语言程序的执行都是从main( ) 函数开始的,也是在main( ) 函数中结束整个程序运行的,其他函数只有在执行main( ) 函数的过程中被调用才能被执行。 从函数的定义格式可以看出,C51语言在4个方面对标准C语言的函数进行了扩展:指定函数的存储模式;指定函数是可再入的;指定函数是一个中断函数;指定函数所用的工作寄存器组。 同变量一样,函数也必须先定义后使用。所有函数在定义时都是相互独立的,一个函数中不能再定义其他函数,但可以相互调用。函数调用的一般规则是:主函数可以调用其他普通函数;普通函数之间可以相互调用;普通函数不能调用主函数。 从用户使用的角度看,函数可以分成两大类:标准库函数和用户自定义函数。下面重点介绍C51语言中新增的中断函数、重入函数和常用的标准库函数。 51系列单片机通常有5个中断源,为了方便使用,C51语言对它们进行了编号,见表3-1。 表3-1 51系列单片机的中断源及其编号 当CPU正在执行一个特定任务时,可能有更紧急的事情需要CPU处理,这就涉及中断优先级。高优先级中断可以中断正在处理的低优先级中断程序,因此最好给每种不同优先级程序分配不同的工作寄存器组,以达到压栈保护的目的。 中断函数的定义格式: 函数类型 函数名()interrupt 中断编号 using 工作寄存器组编号 { 可执行语句 } 例如,下列程序片段为定时器/计数器0的中断服务程序,指定使用第2组工作寄存器。 …… unsigned int CNT1; unsigned char CNT2; ? void
原创力文档


文档评论(0)