概念7.单片机c51编程语言里的 编程语句:
c51代码执行方式:从上到下依次执行:
如
aaa=1;
bbb=3;
aaa=4;
aaa=aaa+bbb;
这里就是先执行aaa=1;这句,再执行bbb=3;这句,再aaa=4;……..这样往下依次执行
1.判断语句
写法:
if(条件1){
执行体1
}else{
执行体2
}
,其中:
if表示的意思是中文里的 “如果”,
else就是 否则的 意思
简单的说,就是判断一下情况来做对应的处理,
如果条件1成立则执行执行体1 里的代码,
如果条件1不成立则执行执行体2 里的代码,
比如我要判断今天的时间是否大于8点,大于8点就开灯,怎么写呢:
if(shijian>8){
执行开灯的代码。。。。
}else{
不开灯。。。。
}
当然shijian 这个变量要读取时间芯片里的时间,不能独立存在,
而执行开灯的代码。。。。 这个可以是比如 P1.7=1; 即设置P1.7引脚为高电平来开灯
2.循环语句:
比如我要把灯亮了再灭了,再亮再灭了,这样循环10次,(比如一些霓虹灯的闪烁效果),
就要用到循环语句:
写法如下:
for(第1次循环执行前执行这里 ; 每次循环执行前判断这里,看是否仍然成立,成立则继续下次循环 ; 每次循环执行完后执行这里 ){
每次循环执行这里的代码。。。。。
}
具体如下代码:
for(int aaa=0;aaa<10;aaa=aaa+1){
这个可以是把灯亮了再灭了的控制代码……
}
我们来仔细分析下上面的语句:
- for(int aaa=0;aaa<10;aaa=aaa+1){ 这里(int aaa=0;是定义个循环次数变量aaa(int 前缀表示是整数型的),
并把他初始化为0,每次循环后执行aaa=aaa+1这个来把变量aaa的值加上后再赋值给aaa,
,在每次循环前先判断aaa是否小于10,如果成立则继续下一次循环,
可以想象:
第1次循环前,aaa等于0
第2次循环前,aaa等于1
第3次循环前,aaa等于2
第4次循环前,aaa等于3
第5次循环前,aaa等于4
。。。。。
因为每次循环后执行aaa=aaa+1来加1,
可以想象,直到第10次循环后aaa会等于10,
然后第11次循环前执行判断aaa<10,即10<10,不成立,所以不再执行第11次循环
,所以我们发现以上 已经做到了我们所要的循环功能且控制了循环次数(上面是10次),而不是无限制循环下去,
那么我们如果要循环20次呢:
只要
for(int aaa=0;aaa<20;aaa=aaa+1){
这个可以是把灯亮了再灭了的控制代码……
}
,如果我们要43次呢
只要
for(int aaa=0;aaa<43;aaa=aaa+1){
这个可以是把灯亮了再灭了的控制代码……
}
如果我们要动态调整循环次数呢:
只要
bbb=13
for(int aaa=0;aaa<bbb;aaa=aaa+1){
这个可以是把灯亮了再灭了的控制代码……
}
bbb=23
for(int aaa=0;aaa<bbb;aaa=aaa+1){
这个可以是把灯亮了再灭了的控制代码……
}
这样可以控制循环13次(先定义变量bbb等于13),再循环23次(先定义变量bbb等于23)