C51程序控制语句解析课件.ppt

上传人(卖家):三亚风情 文档编号:3008331 上传时间:2022-06-21 格式:PPT 页数:30 大小:645.50KB
下载 相关 举报
C51程序控制语句解析课件.ppt_第1页
第1页 / 共30页
C51程序控制语句解析课件.ppt_第2页
第2页 / 共30页
C51程序控制语句解析课件.ppt_第3页
第3页 / 共30页
C51程序控制语句解析课件.ppt_第4页
第4页 / 共30页
C51程序控制语句解析课件.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、 2.2.1 C51语句概述一个完整的C51程序包括数据描述和数据操作。数据描述定义数据结构和数据初值,由数据定义部分来实现;数据操作是对己提供的数据进行加工,这部分的功能就是由语句来实现的。l既包括与底层硬件无关的数据l也包括如特殊功能寄存器(SFR)等与底层硬件状态直接相关的数据。2.2.1 C512.2.1 C51语句概述语句概述分号是语句的终结符,一个语句必须在最后出现分号,分号是语句中不可缺少的一部分,在后面介绍空语句时会看到,甚至一个单独的分号也可以构成一个语句。 C51的语句按其复杂度可以分为简单语句和复杂语句。可以用花括号“”和“”把一些语句组合在一起,使其在语法上等价于一个简

2、单语句,这样的语句就称之为复合语句。 复合语句中最后一个语句中最后的分号不能忽略不写;结束一个复合语句的右花括号之后不能带分号。 2.2.2 2.2.2 分支控制语句分支控制语句1 1ififelseelse语句语句 if(表达式) 分支一else 分支二表达式分支1分支2TT2.2.2 2.2.2 分支控制语句分支控制语句2.if2.if语句语句 if(表达式)语句既可以是简单语句也可以是复合语句 if(表达式) 语句else P0口接8只发光二极管,P1.0接一个按钮,要求将按钮按下时,左边四个发光二极管亮,当按钮放开时,右边四个发光二极管亮。 实例实例2-32-3实例实例2-32-3#i

3、ncludesbit p10=P10;main() while(1) if(p10=1) P0=0 x0f; else P0=0 xf0; #include sbit p10=P10 ; void main() while(1) if(p10=1) P0=0 x0f ; if(p10=0) P0=0 xf0 ; 3 3多级多级ififelseelse语句语句 if(表达式1) 分支一else if(表达式2) 分支二else if(表达式3) 分支三else 分支n多级多级ifif语句流程图语句流程图 表达式1分支1表达式2分支2表达式3分支3分支n真假假真真假假实例实例2-42-4P0口接8

4、只发光二极管,P1.0、P1.1分别接一个按键S1、S2,要求当没有键按下时,8全灭,当S1按键按下时,左边四个亮,当S2按键按下时,右边四个亮,当两个按键按下时,全亮。 流程图流程图开始S1、S2同时按下P00(全亮)只S2按下P00 x0f(右4亮)只S1按下P00 xf0(左4亮)P00 xff(全灭)结束TFFFTT源程序源程序#includesbit p10=P10;sbit p11=P11; void main() while(1) if(p10=0&p11=0) P0=0; else if(p11=0) P0=0 x0f; else if(p10=0) P0=0 xf0; els

5、e P0=0 xff; P0口接8只发光二极管,P1.0、P1.1分别接一个按键S1、S2,要求当没有键按下时,8全灭,当S1按键按下时,左边四个亮,当S2按键按下时,右边四个亮,当两个按键按下时,全亮。4 4switchswitch语句语句 switch(整形或字符型变量整形或字符型变量) case 变量可能值变量可能值1:分支一:分支一;break; case 变量可能值变量可能值2:分支二:分支二;break; case 变量可能值变量可能值n:分支:分支n;break; default:分支:分支n+1或空语句或空语句;switchswitch语句流程图语句流程图 变量分支1分支2分支

6、n分支n+1值1值2值n其他值【例【例2-52-5】P1.0P1.3接4个按键,P1.4P1.7接4个发光二极管,现要求一般情况下,4个发光二极管全亮,如果只按S1时D1灭,只按S2时D2灭,依此类推。源程序清单:源程序清单:#includevoid main() unsigned char ctl; P1=0X0F; while(1) ctl=P1; ctl=ctl & 0 x0f; switch(ctl) case 0 x0e:P1=0 x8f ; break; case 0 x0d:P1=0 x4f ; break; case 0 x0b:P1=0 x2f ; break; case 0

7、 x07:P1=0 x1f ; break; default:P1=0 x0f; 2.2.3 2.2.3 循环语句循环语句1while语句while(表达式表达式) 循环体循环体 事先测试循环,在执行语句之前判断表达式,因此,循环可能没有执行循环体就退出。 语句循环条件?FT【例【例2-62-6】使用while语句实现从1到100的累加。#include#includevoid main() unsigned int i=1; unsigned int sum=0; SCON=0 x52; TMOD=0 x20; TH1=0 xE8; TR1=1; while(i=100) sum+=1; i

8、+; printf(“sum=%dn”,sum); while(1) 2 2forfor语句语句 for(表达式1;表达式2;表达式3) 循环体 表达式1为循环控制变量初始化表达式,表达式2为循环条件表达式,表达式3为循环控制变量增值表达式。“增值”仅仅是指循环控制变量发生了变化,不要按其字面意思去理解。 表达式1表达式2循环体表达式3真假forfor语句的几点说明语句的几点说明for语句中的控制变量初始化表达式可以省略,但分号(;)不可省略。for语句中的循环条件表达式可以省略。此时一般要在循环体中对循环条件进行判断并提供退出循环的措施,否则会导致“死循环”。 for语句中的循环控制变量增值

9、表达式也可以省略。 可以同时省略for语句中的循环控制变量初始化表达式和增量表达式,这样的for语句完全等价于while语句。 实例:实例:常见程序段:int i;for(i = 0; i 30000; i+) 自行完成例2-6的功能。3 3dodowhilewhile语句语句 do 循环体 while (表达式);注意:在while(表达式)后面要加分号。 语句继续循环?FT4 4嵌套的循环结构嵌套的循环结构实际应用中,经常要用到嵌套的循环结构。在嵌套循环结构中,内层循环需要置于称之为外层循环的另一个循环中。3种循环语句还可以互相嵌套。 【例【例2-92-9】P0.0接一个发光二极管,P1.

10、0按一个按键,要求当按键按下时,发光二极管不停地闪烁,当按键放开时,停止闪烁。源程序清单:源程序清单:#includesbit p10=P10;sbit p00=P00;void main() while(1) while(p10=0) p00=p00; for(i=50000;i0;i-);unsigned int i;2.2.4 2.2.4 转移语句转移语句1break语句break ;在switch语句中,break语句用来使流程跳出switch结构,继续执行switch之后的语句;在for语句中,break语句用来使流程跳出循环体,接着执行循环后面的语句。 【例【例2-102-10】#

11、include sbit P10 = P10;sbit P00 = P00;void main() int i; while(1) P0=P0; for(i=30000;i0;i+); if(P10 = 0) break; while(1);针对例2-9,若与P0.0相连的发光二极管不停地闪烁,当与P1.0相连的按键按下时停止闪烁。2.2.4 2.2.4 转移语句转移语句2continue语句 continue;continue语句的作用是跳过本次循环中剩余的循环体语句,立即进行下一次循环 【例【例2-112-11】针对例2-9,其功能改变为当与P1.0相连的K1按下时,发光二极管暂停闪烁,K1放开时,发光二极管继续闪烁,试编写程序实现之。#include sbit P10 = P10;sbit P00 = P00;void main() int i; while(1) if(P10 = 0) continue; P0=P0; for(i=30000;i0;i+);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(C51程序控制语句解析课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|