项目2汽车转向控制灯设计_第1页
项目2汽车转向控制灯设计_第2页
项目2汽车转向控制灯设计_第3页
项目2汽车转向控制灯设计_第4页
项目2汽车转向控制灯设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 汽车转向控制灯设计汽车转向控制灯设计项目2 任务任务+1.单键控制单灯设计;单键控制单灯设计;2.模拟汽车转向控制器设计模拟汽车转向控制器设计 所谓独立式按键是指直接用所谓独立式按键是指直接用I/0口线构成的单个按键电口线构成的单个按键电路,每个按键单独有一根路,每个按键单独有一根I/O口线,且其工作状态不会影口线,且其工作状态不会影响其它响其它I/O口线的工作状态。这种按键的电路配置灵活,口线的工作状态。这种按键的电路配置灵活,软件结构简单,但每个按键必须占用一根软件结构简单,但每个按键必须占用一根I/O口线。口线。 跟我学跟我学1独立式按键独立式按键 任务任务1 1单键控制单灯设计单键控

2、制单灯设计跟我学跟我学2基本基本if语句语句 if语句有语句有if、ifelse和和ifelseif三种不同的形式。三种不同的形式。基本基本if语句格式如下:语句格式如下: if(表达式)(表达式) 语句组;语句组; if语句执行的过程是:当表达式为真时,执行语句组,语句执行的过程是:当表达式为真时,执行语句组,否则跳过该语句组,继续执行下面的语句。否则跳过该语句组,继续执行下面的语句。动手做动手做1画出硬件电路图画出硬件电路图 单片机有单片机有4个个8位的位的I/O口口P0、P1、P2、P3,任意一个,任意一个I/O口都可以用来控口都可以用来控制一个制一个LED灯的亮灭显示(灯的亮灭显示(P

3、0口要外接上拉电阻),该任务采用口要外接上拉电阻),该任务采用P1口的口的P1.0控制控制LED灯,灯,P3.0连接按键,用按键控制一个连接按键,用按键控制一个LED灯电路如图所示。灯电路如图所示。 动手做动手做2编写单灯闪烁的程序编写单灯闪烁的程序 /程序:ex2_1.c/功能:单键控制单灯程序#include sbit P1_0=P10; /定义P1.0引脚名称为P1_0sbit P3_0=P30; /定义P3.0引脚名称为P3_0void main()/主函数 while(1) bit led; /定义位变量ledP3_0=1; /P3.0作为输入口,置1led=P3_0; /读P3.0

4、if(led=1) P1_0=1; /判断按键是否按下,没有按下,灯熄灭if(led=0 ) P1_0=0; /按键按下,灯点亮动手做动手做3proteus仿真仿真 安装在汽车不同位置的信号灯是汽车驾驶员之间及驾驶员向行安装在汽车不同位置的信号灯是汽车驾驶员之间及驾驶员向行人传递汽车行使状况的语言工具。一般包括转向灯、刹车灯、倒车灯人传递汽车行使状况的语言工具。一般包括转向灯、刹车灯、倒车灯等,其中,汽车转向灯包括左转灯和右转灯,其显示状态如表所示。等,其中,汽车转向灯包括左转灯和右转灯,其显示状态如表所示。 任务要求任务要求 任务任务2 2模拟汽车转向控制器设计模拟汽车转向控制器设计转向灯显

5、示状态转向灯显示状态驾驶员命驾驶员命令令开关状态开关状态左转灯左转灯右转灯右转灯S0S0S1S1灭灭灭灭无命令无命令0 00 0灭灭闪烁闪烁右转命令右转命令0 01 1闪烁闪烁灭灭左转命令左转命令1 10 0闪烁闪烁闪烁闪烁故障命令故障命令1 11 1跟我想 分析任务左转灯左转灯右转灯右转灯驾驶员命令驾驶员命令发光二极管发光二极管发光二极管发光二极管按下按键按下按键1输入低电平输入低电平左转左转按下按键按下按键2输入低电平输入低电平右转右转按键按键1(P3.0) 按键按键2(P3.1)汽车状态或命令汽车状态或命令0(低电平)(低电平) 1 (高电平高电平)左转指示灯亮(左转指示灯亮(P1.0)

6、 1 (高电平高电平) 0(低电平)(低电平) 右转指示灯亮(右转指示灯亮(P1.1) 1 (高电平高电平) 1(高电平)(高电平) 左右转指示灯不亮左右转指示灯不亮 0 (低电平低电平) 0(低电平)(低电平) 左右转指示灯闪烁左右转指示灯闪烁动手做动手做1画出硬件电路图画出硬件电路图 按键按键S0、S1的不同状态组合,控制的不同状态组合,控制LED灯灯D1、D2的状态,则只需要检测连接按的状态,则只需要检测连接按键键S0、S1的的P3.0和和P3.1的电平高低,再给的电平高低,再给P1.0和和P1.1相应的高低电平即可实现。相应的高低电平即可实现。由于不仅仅要使由于不仅仅要使LED灯亮,并

7、且还要闪烁,程序中使用了灯亮,并且还要闪烁,程序中使用了while语句,其表达式为语句,其表达式为常数常数1,即循环条件永远成立,不断重复执行,属于无限循环,从而实现闪烁的效,即循环条件永远成立,不断重复执行,属于无限循环,从而实现闪烁的效果。程序中还使用了延时程序果。程序中还使用了延时程序delay,用于控制闪烁的时间间隔,其时间长短可由,用于控制闪烁的时间间隔,其时间长短可由实参进行传递。实参进行传递。if语句一般用作单一条件或者分支数目较少的场合,如果使用语句一般用作单一条件或者分支数目较少的场合,如果使用if语句来语句来编写超过编写超过3个以上的分支程序,则程序的可读性将降低。个以上的

8、分支程序,则程序的可读性将降低。C语言提供了语言提供了一种用于多分支选择的一种用于多分支选择的switch语句,其一般格式如下。语句,其一般格式如下。 switch(表达式)(表达式) case 常量表达式常量表达式1: 语句组语句组1;break; case 常量表达式常量表达式2: 语句组语句组2;break; case 常量表达式常量表达式n: 语句组语句组n;break;default: 语句组语句组n+1; 该语句的执行过程是:运行该语句的执行过程是:运行switch后面的表达式的值将会作为条件,后面的表达式的值将会作为条件,与与case后面的各个常量表达式的值相对比,如果相等时则执

9、行后面的后面的各个常量表达式的值相对比,如果相等时则执行后面的语句组,再执行语句组,再执行break(间断语句)语句,(间断语句)语句,(break语句也可省略语句也可省略),跳,跳出出switch语句。如果表达式的值与语句。如果表达式的值与case后面常量表达式的值均不相等,后面常量表达式的值均不相等,则执行则执行default后面的语句组。当要求没有符合条件时也不做任何处理,后面的语句组。当要求没有符合条件时也不做任何处理,则可以不写则可以不写default语句。语句。跟我学跟我学1基本基本if语句语句 动手做动手做2编写汽车模拟转向控制电路的程序编写汽车模拟转向控制电路的程序 /程序:e

10、x2_2.c/功能:模拟汽车转向控制器程序#include void delay(unsigned char i);/延时函数申明sbit P1_0=P10; /定义P1.0引脚名称为P1_0sbit P1_1=P11; /定义P1.1引脚名称为P1_1sbit P3_0=P30; /定义P3.0引脚名称为P3_0sbit P3_1=P31; /定义P3.1引脚名称为P3_1void main()/主函数 while(1) /无限循环 P3_0=1; /P3。0作为输入口,置1 P3_1=1; /P3。1作为输入口,置1 switch(P3) case 0 xfc: P1_0=0,P1_1=0

11、;break; /按键S0和S1均按下 case 0 xfd: P1_0=1,P1_1=0;break; /按键S1按下,S0未按下 case 0 xfe: P1_0=0,P1_1=1;break; /按键S0按下,S1未按下 case 0 xff: P1_0=1,P1_1=1;break; /按键S0和S1均未按下 delay(200);/延时,控制闪烁时间 P1_0=1; /左转灯熄灭 P1_1=1; /右转灯熄灭 delay(200);/延时 void delay(unsigned char i)/延时函数,无符号字符型变量i为形参 unsigned char j,k; /定义无符号字符

12、型变量j和k for(j=0;ji;j+) /双重for循环语句实现软件延时 for(k=0;k255;k+) ;动手做动手做3proteus仿真仿真举一反三举一反三问:如果要求程序用问:如果要求程序用ifelse语句来编写,怎么修改程序?语句来编写,怎么修改程序?答:电路依然可以采用原来电路,只要将答:电路依然可以采用原来电路,只要将ex2_2.c中的程序修改一个地方即中的程序修改一个地方即可:将主程序可:将主程序main中的中的switch多分支语句修改为多分支语句修改为ifelse语句即可实现同样语句即可实现同样的功能,修改的的功能,修改的ifelse语句如下:语句如下:if(P3_0=

13、0&P3_1=0) /按键按键S0和和S1均按下均按下 P1_0=1; P1_1=1; else if(P3_0=0&P3_1=1) /按键按键SO按下,按下,S1未按下未按下 P1_0=1; P1_1=0; else if(P3_0=1&P3_1=0)/按键按键S0未按下,未按下,S1按下按下 P1_0=0; P1_1=1; else if(P3_0=1&P3_1=1)/按键按键S0和和S1均未按下均未按下 P1_0=0; P1_1=0; 本项目涉及到按键控制本项目涉及到按键控制LED灯的基本原理,从最简单的单灯的基本原理,从最简单的单个按键控制单灯逐步过度到两个按键控制两个个按键控制单灯逐步过度到两个按键控制两个LED灯(模拟灯(模拟汽车转向控

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论