- 47
- 0
- 约4.01千字
- 约 30页
- 2021-03-31 发布于北京
- 举报
模块二 C51语言与Keil C集成开发系统 2.2 C51程序结构控制语句 2.2.1 C51语句概述 一个完整的C51程序包括数据描述和数据操作。 数据描述定义数据结构和数据初值,由数据定义部分来实现; 数据操作是对己提供的数据进行加工,这部分的功能就是由语句来实现的。 2.2.1 C51语句概述 分号是语句的终结符,一个语句必须在最后出现分号,分号是语句中不可缺少的一部分,在后面介绍空语句时会看到,甚至一个单独的分号也可以构成一个语句。 C51的语句按其复杂度可以分为简单语句和复杂语句。 可以用花括号“{”和“}”把一些语句组合在一起,使其在语法上等价于一个简单语句,这样的语句就称之为复合语句。 复合语句中最后一个语句中最后的分号不能忽略不写;结束一个复合语句的右花括号之后不能带分号。 2.2.2 分支控制语句 1.if…else…语句 if(表达式) { 分支一 } else { 分支二 } 2.2.2 分支控制语句 2.if…语句 if(表达式) {语句} 实例2-3 P0口接8只发光二极管,P1.0接一个按钮,要求将按钮按下时,左边四个发光二极管亮,当按钮放开时,右边四个发光二极管亮。 实例2-3 #includereg51.h sbit p10=P1^0; main() { while(1) { if(p10==1) P0=0x0f; else P0=0xf0; } } 3.多级if…else…语句 if(表达式1) { 分支一 } else if(表达式2) { 分支二 } 多级if语句流程图 实例2-4 P0口接8只发光二极管,P1.0、P1.1分别接一个按键S1、S2,要求当没有键按下时,8全灭,当S1按键按下时,左边四个亮,当S2按键按下时,右边四个亮,当两个按键按下时,全亮。 流程图 源程序 #includereg51.h sbit p10=P1^0; sbit p11=P1^1; void main() { while(1) { if(p10==0p11==0) P0=0; else if(p11==0) P0=0x0f; else if(p10==0) P0=0xf0; else P0=0xff; } } 4.switch语句 switch(整形或字符型变量) { case 变量可能值1:分支一;break; case 变量可能值2:分支二;break; …… case 变量可能值n:分支n;break; default:分支n+1或空语句; } switch语句流程图 【例2-5】 P1.0~P1.3接4个按键,P1.4~P1.7接4个发光二极管,现要求一般情况下,4个发光二极管全亮,如果只按S1时D1灭,只按S2时D2灭,依此类推。 源程序清单: #includereg51.h void main() { unsigned char ctl; P1=0X0F; while(1) { ctl=P1; } } 2.2.3 循环语句 1.while语句 while(表达式) { 循环体 } 【例2-6】 使用while语句实现从1到100的累加。 2.for语句 for(表达式1;表达式2;表达式3) { 循环体 } 表达式1为循环控制变量初始化表达式,表达式2为循环条件表达式,表达式3为循环控制变量增值表达式。 “增值”仅仅是指循环控制变量发生了变化,不要按其字面意思去理解。 for语句的几点说明 ①for语句中的控制变量初始化表达式可以省略,但分号(;)不可省略。 ②for语句中的循环条件表达式可以省略。此时一般要在循环体中对循环条件进行判断并提供退出循环的措施,否则会导致“死循环”。 ③for语句中的循环控制变量增值表达式也可以省略。 ④可以同时省略for语句中的循环控制变量初始化表达式和增量表达式,这样的for语句完全等价于while语句。 实例: 常见程序段: int i; for(i = 0; i 30000; i++) { } 自行完成例2-6的功能。 3.do…while语句 do { 循环体 } while (表达式); 4.嵌套的循环结构 实际应用中,经常要用到嵌套的循环结构。 在嵌套循环结构中,内层循环需要置于称之为外层循环的另一个循环中。 3种循环语句还可以互相嵌套。 【例2-9】 P0.0接一个发光二极管,P1.0按一个按键,要求当按键按下时,发光二极管不停地闪烁,当按键放开时,停止闪烁。 源程序清单: #inc
您可能关注的文档
- 船体加工与装配船体加工与装配47-船台总装的准备工作.pptx
- 船体加工与装配船体加工与装配51-纵向涂油滑道下水过程分析.pptx
- 船体识图与制图船体识图与制图、13.中横剖面图的组成1-3-13中横剖面图的组成.ppt
- 船体识图与制图船体识图与制图、16.中横剖面图绘制方法1-3-16中横剖面图绘制方法.ppt
- 船长岗位适任训练课程航海图书资料配备要求1海船航海图书资料配备要求.pptx
- 船长岗位适任训练课程驾驶台团队工作09驾驶台资源管理9-疲劳.ppt
- 船长岗位适任训练课程预定航次相关信息的获取1航路设计图.pptx
- 船长岗位适任训练课程制定偶发事件计划12驾驶台资源管理12-偶发事件.ppt
- 船长岗位适任训练课程制定通过指定水域计划11驾驶台资源管理11-计划.ppt
- 床品工艺设计与实施常用工艺名词与制图符号认知家用纺织品的制图符号.pptx
最近下载
- 如何找回误删微信好友,微信好友一键恢复.doc VIP
- 《蜀道难》课件34张.pptx VIP
- 《建筑地面工程施工质量验收规范》GB-50209-2022.pdf VIP
- 尼龙拉架织物的除油原理和产品资料.ppt VIP
- 2026年黑龙江农垦职业学院单招职业技能考试题库附答案.docx VIP
- 在带头强化政治忠诚、提高政治能力等“五个带头”方面个人对照检查材料【两篇】供参考2026.docx VIP
- 大病低保申请书.docx VIP
- 盐酸(31%)安全技术说明书.doc VIP
- 解读GB 6441-2025《生产安全事故分类与编码》.pptx
- FUJITSU 富士通存储系统ETERNUS DX60 S4 DX100 S4 DX200 S4, ETERNUS DX60 S3 DX100 S3 DX200 S3, ETERNUS DX500 S3 DX600 S3, ETERNUS DX8100 S3 DX8700 S3 DX8900 S3, ETERNUS AF250 AF650, ETERNUS DX200F 用户手册.pdf VIP
原创力文档

文档评论(0)