第3章单片机C51语言程序设计基础.ppt
《第3章单片机C51语言程序设计基础.ppt》由会员分享,可在线阅读,更多相关《第3章单片机C51语言程序设计基础.ppt(58页珍藏版)》请在三一办公上搜索。
1、第3章 单片机C51语言程序设计基础,3.1 语句与流程控制 3.2 函数 3.3 本章小结 3.4 实训三 简易十字路口交通信号灯控制,返回首页,教学提示,C51 语言程序是由函数组成的。函数是C51 语言的基本模块。用C51语言设计程序就是编写函数。从来源看,函数可分为用户自定义函数和标准库函数两大类。在一个C51 语言程序中有且只能有一个名为main的主函数。C51 语言程序的执行部分是由语句组成的。程序的各种主要功能都是由语句实现的。C 语言的语句可分为流程控制语句、表达式语句、复合语句、空语句。本章重点介绍C51语言中语句的使用方法以及C51语言中新增的函数类型中断函数和重入函数。,
2、教学要求,掌握C51语言基本语句的使用方法,包括赋值语句、函数调用语句、复合语句、空语句;掌握C51语言分支语句的使用方法,包括if语句、switch语句;掌握C51语言循环语句的使用方法,包括while语句、dowhile语句、for语句;掌握辅助控制语句break、continue的使用方法;理解中断函数和重入函数的使用方法;掌握常用标准库函数的使用方法。,3.1 语句与流程控制,3.1.1 基本语句 3.1.2 分支语句 3.1.3 循环语句 3.1.4 辅助控制语句,3.1.1 基本语句,基本语句主要用于顺序结构程序的编写。在C51语言中,语句的结束符为分号。,1.赋值语句,在任何合法
3、的赋值表达式的尾部加上一个分号就构成了赋值语句。赋值语句的一般形式为变量=表达式;,赋值语句的作用是先计算赋值号右边表达式的值,然后将该值赋给赋值号左边的变量。,赋值语句是一种可执行语句,应当出现在函数的可执行部分。,在C51语言中,若函数仅进行某些操作而不返回函数值,这时函数的调用可作为一条独立的语句,称为函数调用语句。其一般形式为函数名(实际参数表);,2.函数调用语句,【例3.1】从键盘输入一个3位整数,将其反向输出。例如,输入127,输出应为721。,在C51语言中,把多条语句用一对大括号括起来组成的语句称为复合语句。复合语句又称为“语句块”,其一般格式为 语句1;语句2;语句n;,3
4、.复合语句,注意:大括号之后不再加分号。,复合语句虽然可由多条语句组成,但它是一个整体,相当于一条语句,凡可以使用单一语句的位置都可以使用复合语句。在复合语句内,不仅可以有执行语句,还可以有变量定义(或说明)语句。,如果一条语句只有语句结束符号“;”则称为空语句。,4.空语句,空语句在执行时不产生任何动作,但仍有一定的作用。比如,预留位置或用来作为空循环体。但是,在程序中随意加分号也会导致逻辑上的错误,需要慎用。,3.1.2 分支语句,为了便于理解,图3.2给出一个简单的单片机应用系统。,图3.2 简单的单片机应用系统,1.if语句,if语句的一般形式为:if(表达式)语句;其中,if 是关键
5、字,表达式两侧的圆括号不可少,最后的语句可以是C51语言任意合法的语句。,图3.3给出了if语句的执行过程。可见,if语句是一种单分支语句。,【例3.2】基于图3.2,编程实现下列功能:按下K1键,发光二极管全亮;弹起K1键后,发光二极管全灭。,图3.3 if语句的执行过程,2.if-else语句,if-else语句的一般形式为:if(表达式)语句1;else 语句2;其中,语句1、语句2可以是C51语言中任意合法的语句。,注意:else不是一条独立的语句,只是if语句的一部分,在程序中else必须与if配对,共同组成一条if-else 语句。,【例3.3】基于图3.2,编程实现下列功能:开机
6、后,全部发光二极管不亮。只有当K1键与K2键同时按下,发光二极管才全亮;否则发光二极管全灭。,图3.4给出了if-else语句的执行过程。可见,if-else语句是一种二分支语句。,图3.4 if-else语句的执行过程,3.if-else-if语句,if-else-if语句的一般形式:if(表达式1)语句1;else if(表达式2)语句2;else语句3;if-else-if语句又称为嵌套的if-else语句,其中,语句1、语句2、语句3可以是C51语言中任意合法的语句。,图3.5给出了if-else-if语句的执行过程。可见,只要一直嵌套下去,if-else-if语句可实现多分支程序设计
7、要求。,【例3.4】基于图3.2,编程实现下列功能:分别用按键K1、K2、K3、K4控制发光二极管D0、D1、D2、D3的亮灭。当键按下时点亮对应的发光二极管;当键弹起时熄灭对应的发光二极管。4个按键的优先权从K1到K4依次减小,若4个按键都按下,则只有D0亮。,图3.5 if-else-if语句的执行过程,4.switch语句,switch语句的一般形式:switch(表达式)case 常量表达式1:语句1;case 常量表达式2:语句2;case 常量表达式n:语句n;default:语句n+1;,图3.6给出了switch语句的执行过程。,图3.6 switch语句的执行过程,【例3.5
8、】基于图3.2,编程实现下列功能:开机后,全部LED 不亮。D0的亮灭仅受K1键控制,与其他按键无关,即不管其他按键处在什么状态,只要按下K1键就点亮D0,弹起K1键就熄灭D0。同理,要求D1的亮灭仅受K2键控制,D2的亮灭仅受K3键控制,D3的亮灭仅受K4键控制。,5.在switch 语句中使用break 语句,break 语句又称为间断语句,其作用是使程序的执行立即跳出switch 语句,从而使switch 语句真正起到分支的作用。,为了解决【例3.5】中存在的问题,必须在switch 语句中使用break 语句,即在每个语句的后面添加一条“break;”语句。,使用break 语句后,s
9、witch 语句的一般格式:switch(表达式)case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;case 常量表达式n:语句n;break;default:语句n+1;,使用break 语句后,switch 语句的执行过程如图3.7所示。,【例3.6】在switch语句中使用break语句,对例3.5进行改写。,图3.7 使用break语句后switch语句的执行过程,3.1.3 循环语句,在程序设计中经常会遇到需要重复执行的操作,如延时、累加、累乘、数据传递等,利用循环结构来处理各类重复操作既简单又方便。C51 语言中提供了3种语句来实现循环结构,分
10、别是while 语句、do-while 语句和for 语句。其中,while语句又称为“当”型循环,do-while语句又称为“直到”型循环。,1.while 语句,while 语句的一般形式:while(表达式)循环体其中,“表达式”可以是C51语言中任意合法的表达式,其作用是控制循环体是否执行;“循环体”是循环语句中需要重复执行的部分,可以是一条简单的可执行语句,也可以是用大括号括起来的复合语句。,while 语句的执行过程如图3.8所示。while 语句的特点是:先判断,后执行。,(1)要定义循环控制变量。(2)要确定循环变量的初值、终值、增量(步长)。(3)要保证每执行一次循环体,循环
11、控制变量的值按增量向终值靠近一些,即要避免死循环。,图3.8 while 语句的执行过程,【例3.7】基于图3.2,编程实现下列功能:开机后,全部发光二极管不亮;按下K1键,D0闪烁;松开K1键,D0停止闪烁并熄灭。,while 语句的使用注意事项:,2.do-while 语句,do-while 语句的一般格式:do 循环体 while(表达式);其中,“表达式”可以是C51语言中任意合法的表达式,其作用是控制循环体是否执行;“循环体”可以是C51语言中任意合法的可执行语句;最后的“;”不可丢,表示do-while 语句结束。,do-while 语句的执行过程如图3.9所示。do-while
12、语句的特点是:先执行,后判断。,【例3.8】基于图3.2编写程序,用do-while语句实现下列功能:开机后,全部发光二极管不亮;按下K1键,D0闪烁;松开K1键,D0停止闪烁并熄灭。,图3.9 do-while 语句的执行过程,3.for 语句,for 语句的典型应用形式:for(循环变量初值;循环条件;循环变量增值)循环体,for语句的一般形式:for(表达式1;表达式2;表达式3)循环体其中,“表达式1”、“表达式2”、“表达式3”可以是C51语言中任意合法的表达式,3个表达式之间用“;”隔开,其作用是控制循环体是否执行;循环体可以是C51语言中任意合法的可执行语句。,for 语句的执行
13、过程如图3.10所示。,(1)for 语句中的表达式可以部分或全部省略,但两个“;”不可省略。例如:for(;)D0=!D0;3个表达式均被省略,因缺少条件判断,循环将会无限制地执行,形成无限循环(通常称为死循环)。,在使用for语句时应注意以下两点:,图3.10 for语句的执行过程,(2)所谓省略,只是在for 语句中的省略。实际上是把所需表达式放在for的循环体中或for的语句前面。下面几种for 语句的表达方式是等价的。,表达方式1(正常情况):sum=0;for(i=1;i=100;i+)sum+=i;表达方式2(省略表达式1):sum=0;i=1;for(;i=100;i+)sum
14、+=i;表达方式3(省略表达式3):sum=0;for(i=1;i=100;)sum+=i;i+;表达方式4(省略表达式1和表达式3):sum=0;i=1;for(;i=100;)sum+=i;i+;,【例3.9】基于图3.2编程实现下列功能:开机后,全部LED不亮;按下K1键,D0闪烁;松开K1键,D0停止闪烁并熄灭。,4.循环的嵌套,在编写程序时,嵌套循环的书写要采用缩进形式,使程序层次分明,例如:for(i=1;i=10;i+)/外层循环 for(j=1;j=10;j+)/中层循环 for(k=1;k=10;k+)/内层循环循环语句,在一个循环体内又完整地包含了另一个循环称为循环嵌套。循
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 C51 语言程序设计 基础
链接地址:https://www.31ppt.com/p-6617868.html