- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 汽车转向控制灯设计 项目2 任务 + 1.单键控制单灯设计; 2.模拟汽车转向控制器设计 所谓独立式按键是指直接用I/0口线构成的单个按键电路,每个按键单独有一根I/O口线,且其工作状态不会影响其它I/O口线的工作状态。这种按键的电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线。 跟我学1——独立式按键 任务1 单键控制单灯设计 跟我学2——基本if语句 if语句有if、if-else和if-else-if三种不同的形式。 基本if语句格式如下: if(表达式) { 语句组; } if语句执行的过程是:当表达式为真时,执行语句组,否则跳过该语句组,继续执行下面的语句。 动手做1——画出硬件电路图 单片机有4个8位的I/O口P0、P1、P2、P3,任意一个I/O口都可以用来控制一个LED灯的亮灭显示(P0口要外接上拉电阻),该任务采用P1口的P1.0控制LED灯,P3.0连接按键,用按键控制一个LED灯电路如图所示。 动手做2——编写单灯闪烁的程序 //程序:ex2_1.c //功能:单键控制单灯程序 #include reg51.h sbit P1_0=P1^0; //定义P1.0引脚名称为P1_0 sbit P3_0=P3^0; //定义P3.0引脚名称为P3_0 void main() //主函数 { while(1) { bit led; //定义位变量led P3_0=1; //P3.0作为输入口,置1 led=P3_0; //读P3.0 if(led==1) P1_0=1; //判断按键是否按下,没有按下,灯熄灭 if(led==0 ) P1_0=0; //按键按下,灯点亮 } } 动手做3——proteus仿真 安装在汽车不同位置的信号灯是汽车驾驶员之间及驾驶员向行人传递汽车行使状况的语言工具。一般包括转向灯、刹车灯、倒车灯等,其中,汽车转向灯包括左转灯和右转灯,其显示状态如表所示。 任务要求 任务2 模拟汽车转向控制器设计 1 1 故障命令 闪烁 闪烁 0 1 左转命令 灭 闪烁 1 0 右转命令 闪烁 灭 0 0 无命令 灭 灭 S1 S0 右转灯 左转灯 开关状态 驾驶员命令 转向灯显示状态 跟我想 分析任务 左转灯 右转灯 驾驶员命令 ——发光二极管 ——发光二极管 ——按下按键1输入低电平——左转 ——按下按键2输入低电平——右转 右转指示灯亮(P1.1) 1 (高电平) 0(低电平) 左右转指示灯不亮 1 (高电平) 1(高电平) 左右转指示灯闪烁 0 (低电平) 0(低电平) 左转指示灯亮(P1.0) 0(低电平) 1 (高电平) 汽车状态或命令 按键1—(P3.0) 按键2—(P3.1) 动手做1——画出硬件电路图 按键S0、S1的不同状态组合,控制LED灯D1、D2的状态,则只需要检测连接按键S0、S1的P3.0和P3.1的电平高低,再给P1.0和P1.1相应的高低电平即可实现。由于不仅仅要使LED灯亮,并且还要闪烁,程序中使用了while语句,其表达式为常数1,即循环条件永远成立,不断重复执行,属于无限循环,从而实现闪烁的效果。程序中还使用了延时程序delay,用于控制闪烁的时间间隔,其时间长短可由实参进行传递。 if语句一般用作单一条件或者分支数目较少的场合,如果使用if语句来编写超过3个以上的分支程序,则程序的可读性将降低。C语言提供了一种用于多分支选择的switch语句,其一般格式如下。 switch(表达式) { case 常量表达式1: 语句组1;break; case 常量表达式2: 语句组2;break; …… case 常量表达式n: 语句组n;break; default: 语句组n+1; } 该语句的执行过程是:运行switch后面的表达式的值将会作为条件,与case后面的各个常量表达式的值相对比,如果相等时则执行后面的语句组,再执行break(间断语句)语句,(break语句也可省略),跳出s
文档评论(0)