- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE
PAGE9
教案纸第1页
学
科
单片机
C51语句汇总
检查
授课班级
2
授课时数
6
教具
授课时间
教学方法
演示、讲解、
教学目的
掌握C51语句格式和使用方法和范围
教学重点
和难点
C51语句格式和使用方法和范围
复习提问
教学内容、方法、过程和板书设计
教学追记
一、if语句
if语句是用来判定所给定的条件是否满足根据判定的结果(真或假)决定执行给出的两
种操作之一。
C语言提供了三种形式的if语句
1.if(表达式)语句
如果表达式的结果为真,则执行语句,否则不执行
2.if(表达式)语句1else语句2
如果表达式的结果为真,则执行语句1,否则执行语句2
3.if(表达式1)语句1
elseif(表达式2)语句2
elseif(表达式3)语句3
…
elseif(表达式m)语句m
else语句n
这条语句执行如图2所示。
上述程序中的如下语句:
if((KeyV|0xc3)==0xff)//无键按下
return(0);
教案纸附页
第2页
教学内容、方法、过程和板书设计
教学追记
一种if语句的应用:该语句中“|”符号是C语言中的位运算符,按位相或的意思,
相当于汇编语言中“ORL”指令,将读取的P3口的值KeyV与0xc3()按位或,如果结果为0xff()说明没有键被按下,因为中间4位接有按键,如果有键按下,那么P3口值的中间4位中必然有一位或更多位是“0”。该语句中的“return(0)”是返回之意,相当于汇编语言中的“ret”指令,通过该语句可以带返回值,即该号中的数值,返回值就是这个函数的值,在这个函数被调用时,用了如下的形式:KValue=Key();因此,返回的结果是该值被赋给Kvalue这个变量。因此,如果没有键被按下,则直接返回,并且Kvalue的值将变为0。如果有键被按下,那么return(0)将不会被执行。程序其他地方还有这样的用法,请注意观察与分析。
程序中:
if(Start)
{…灯流动显示的代码}
else
P1=0xff;//否则灯全灭
是if语句的第二种用法,其中Start是一个位变量,该变量在main函数的中被定义,并赋以初值0,该变量在按键K1被按下后置为1,而K2按下后被清为0,用来控制灯流动是否开始。这里就是判断该变量并决定灯流动是否开始的代码,观察if后面括号中的写法,与其他语言中写法很不一样,并没有一个关系表达式,而仅仅只有一个变量名,C根据这个量是0还是1来决定程序的走向,如果为1则执行灯流动显示的代码,如果为0,则执行P1=0xff;语句。可见,在C语言中,数据类型的概念比其他很多的编程语言要“弱化”,或者说C更着重从本质的角度去考虑问题,if后面的括号中不仅可以是关系表达式,也可以是算术表达式,还可以就是一个变量,甚至是一个常量,不管怎样,C总是根据这个表达式的
值是零还是非零来决定程序的走向,这个特点是其他中所没有的,请注意理解。
if语句的第三种用法在本程序中没有出现,下面我们举一例说明。在上述的键盘处理函数Key中,如果没键被按下,返回值是0,如果有键被按下,经过去键抖的处理,将返回键
值,程序中的“return(KeyV);”即返回键值。当K1被按下(P3.2接地)时,返回值是0xfb
),而K2被按下(P3.3接地)时,返回值是0xf7),K3被按下(P3.4接地)时,返回值是0xef),K4被按下(P3.5接地)时,返回值是0xdf),该值将被赋给主程序中调用键盘程序的变量KValue。程序用了另一种选择结构switch进行处理,关于switch将在稍后介绍。下面用if语句来改写:
教案纸附页
第3页
教学内容、方法、过程和板书设计
教学追记
if(KValue==0xfb)
{Start=1;}
elseif(KValue==0xf7)
{Start=0;}
elseif(KValue==0xef)
{UpDown=1;}
elseif(KValue==0xdf)
{UpDown=0;}
else
{//意外处理}
……
if(KValue==0xfb)
{Start=1;}
elseif(KValue==0xf7)
{Start=0;}
elseif(KValue==0xef)
{UpDown=1;}
elseif(KValue==0xdf)
{UpDown=0;}
else
{//意外处理}
……
您可能关注的文档
- 人体解剖生理学-第三章-神经系统.ppt
- 显微镜的结构和使用.ppt
- 执业药师考试辅导《中药药剂学》第十八章-中药制剂的稳定性.doc
- 医院职业病防治工作计划及实施方案(五篇范文).docx
- 2020年液压支架(柱)修理工技能竞赛真题精选.doc
- 冠心病防治不可忽视的武器体外反搏——张辉.ppt
- 关注戏剧历史.pdf
- 2-2-动能定理-保守力与非保守力-能量守恒定律.ppt
- 三星堆“上新”背后的四川文化自信.pdf
- 太原理工大学第六期“清泽源”青马工程培养班一班学员.doc
- 某县纪委监委开展“校园餐”突出问题专项整治工作汇报22.docx
- 中小学校园食品安全与膳食经费管理专项整治工作自查报告66.docx
- 某县委常委、宣传部部长年度民主生活会“四个带头”个人对照检查发言材料.docx
- XX县委领导班子年度述职述廉报告3.docx
- 某县纪委关于校园餐问题整治工作落实情况的报告.docx
- 中小学校园食品安全与膳食经费管理专项整治工作自查报告22.docx
- 某县税务局党委领导班子年度民主生活会“四个带头”对照检查材料.docx
- 某县委书记在县委常委班子年度民主生活会专题学习会上的讲话.docx
- 某县纪委校园餐问题整治工作落实情况的报告.docx
- 某区委副书记、区长年度民主生活会对照检查材料.docx
文档评论(0)