汽车模拟转向灯 单片机教学资料

上传人:kms****20 文档编号:51691621 上传时间:2018-08-15 格式:PPT 页数:31 大小:1.41MB
返回 下载 相关 举报
汽车模拟转向灯 单片机教学资料_第1页
第1页 / 共31页
汽车模拟转向灯 单片机教学资料_第2页
第2页 / 共31页
汽车模拟转向灯 单片机教学资料_第3页
第3页 / 共31页
汽车模拟转向灯 单片机教学资料_第4页
第4页 / 共31页
汽车模拟转向灯 单片机教学资料_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《汽车模拟转向灯 单片机教学资料》由会员分享,可在线阅读,更多相关《汽车模拟转向灯 单片机教学资料(31页珍藏版)》请在金锄头文库上搜索。

1、机电工程学院 机电一体化教研室任务四 模拟汽车转向灯复习回顾v 单个LED闪烁的电路制作v 单个LED闪烁的程序编写v 任务1中的LED闪烁是不受控制的,实际生活中我们一般 需要根据某些条件来决定LED是否闪烁。驾驶员操作命令 无操作右转向 操作左转向 操作故障紧 急操作转向灯 状态左转灯灭灭闪烁闪烁右转灯灭闪烁灭闪烁工作任务采用单片机制作一个模拟汽车左右转向灯的控制任务!工作任务v 根据电路原理图,正确完成电路制作;v 输入模拟汽车转向灯程序并完成调试;v 根据要求修改程序,并观察运行结果;v 完成实训报告C语言的基本语句语言程序的执行部分由语句组成。C语言提供了丰富的程序控制语句,按照结构

2、化程序设计的基本结构:顺序结构、选择结构和循环结构,组成各种复杂程序。这些语句主要包括表达式语句、复合语句、选择语句和循环语句等。 相关知识点表达式语句和复合语句 p表达式语句是最基本的C语言语句。表达式语句由表达式加上分号“;”组成,其一般形式如下:表达式;执行表达式语句就是计算表达式的值。p在 C 语言中有一个特殊的表达式语句,称为空语句。空语句中只有一个分号“;”,程序执行空语句时需要占用一条指令的执行时间,但是什么也不做。在C51程序中常常把空语句作为循环体,用于消耗CPU时间等待事件发生的场合。 表达式语句和复合语句 p把多个语句用大括号括起来,组合在一起形成具有一定功能的模块,这种

3、由若干条语句组合而成的语句块称为复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句。p复合语句在程序运行时,中的各行单语句是依次顺序执行的。在C语言的函数中,函数体就是一个复合语句。 选择语句 基本if语句的格式如下: if (表达式)语句组; if语句执行过程:当“表达式”的结果为“真”时,执行其后 的“语句组”,否则跳过该语句组,继续执行下面的语句 。 选择语句 pif语句中的“表达式”通常为逻辑表达式或关系表达式, 也可以是任何其他的表达式或类型数据,只要表达式的 值非0即为“真”。以下语句都是合法的:if(3)if(x=8)if(P3_0) p在if语句中,“表达式”必须用括

4、号括起来。 p在if语句中,花括号“ ”里面的语句组如果只有一条语 句,可以省略花括号。如“if (P3_0=0) P1_0=0;”语句, 但是为了提高程序的可读性和防止程序书写错误,建议 读者在任何情况下,都加上花括号。选择语句 if-else语句的一般格式如下: if (表达式)语句组1;else 语句组2; if-else语句执行过程:当“表达式”的结果为“真”时,执行其后的“语句组1”, 否则执行“语句组2” 选择语句 if-else-if语句是由 if else 语句组成的嵌套,用来实现多个条件分支的选择 ,其一般格式如下: if (表达式1)语句组1;else if (表达式2)

5、语句组2;else if (表达式n) 语句组n;else 语句组n+1;选择语句 选择语句 多分支选择的switch语句, 其一般形式如下:switch(表达式) case常量表达式1: 语句组1;break;case常量表达式2: 语句组2;break;case常量表达式n: 语句组n;break;default : 语句组n+1; 该语句的执行过程是:首先计算表达式的值,并逐个与case后的常量表达 式的值相比较,当表达式的值与某个常量表达式的值相等时,则执行对应 该常量表达式后的语句组,再执行break语句,跳出switch语句的执行,继 续执行下一条语句。如果表达式的值与所有case

6、后的常量表达式均不相同 ,则执行default后的语句组。while语句用来实现“当型”循环, 执行过程:首先判断表达式, 当表达式的值为真(非0)时, 反复执行循环体。为假(0)时 执行循环体外面的语句。循环体循环继续的条 件表达式下一条语句非0(真)0(假 )循环体语句组while执行过程格式:while(循环继续的条件表达式 ) 语句组; 花括号不 能丢掉!请问:下述程序实现了什么功能? main( ) int i,sum=0;while(i sbit P1_0=P10; /定义P1.0引脚位名称为P1_0 sbit P1_1=P11; /定义P1.1引脚位名称为P1_1 sbit P3

7、_0=P30; /定义P3.0引脚位名称为P3_0 sbit P3_1=P31; /定义P3.1引脚位名称为P3_1 void delay(unsigned char i); 模拟汽车转向控制程序void main() bit left,right; /定义位变量left、right表示左、右状态while(1) left=P3_0;/读取P3.0引脚的状态并赋值给leftright=P3_1;/读取P3.1引脚的状态并赋值给rightP1_0=left;/将left的值送至P1.0引脚P1_1=right;/将right的值送至P1.1引脚delay(200);P1_0=1;/将P1.0引脚

8、置1输出(熄灭LED)P1_1=1;/将P1.1引脚置1输出(熄灭LED)delay(200); 程序编写 v创建工程保存工程 v建立源文件保存源文件 v源文件加入工程 v编译链接调试动动手电路制作 v在任务1完成的电路基础上进行扩充,合理布置 元器件,制作模拟转向灯电路。 v将调试通过的程序代码下载到单片机芯片中。 v接通电源,拨动 S0、S1观察左右转向灯的现象 。动动手拓展思考v 通常,汽车上的左右转向操作和紧急故障操作是这样的 : 双向开关SA1拨向左,左转向灯闪烁; 双向开关SA1拨向右,右转向灯闪烁; 按下紧急故障按钮,左右转向同时闪烁。 v 如何修改程序实现该功能?拓展要求一、采用if-else-if 语句实现模拟汽车转向灯控制程序 。二、完成拓展思考中的任务要求。畅所欲言 你说我说1、学习C语言感觉如何? 2、学习C 语言困难在哪里? 3、建议:老师教学方法如何改进?同学们学习方法如何改进?没有辛勤的汗水,就没有 成功的泪水;没有艰辛的付出,就没有 丰硕的果实;没有刻苦的训练,就没有 闪光的金牌。机电工程学院 机电一体化教研室

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号