×
单片机 > 其他资讯 > 详情

课程设计题五:汽车尾灯控制器设计

发布时间:2020-07-10 发布时间:
|

要求:


1、汽车车尾左右两侧各有四盏灯:黄灯、红灯、雾灯、倒车照明灯,前面有照明灯(远光、近光)、黄灯、雾灯


2、白天正常行驶时照明灯都不亮,夜间行驶时两个前照明灯都亮。


3、左转弯时左侧黄灯闪亮(2Hz),右转弯时右侧黄灯闪亮。


4、汽车刹车时,两个红灯都亮。


5、能见度低或者夜间行驶时雾灯点亮。


6、倒车时红灯、倒车照明灯亮。


一、Protues仿真图:

二、程序源码:

因为注释非常的全,这里就不再进行讲解了。

/*******************************************************************************

================================================================================

【平    台】STC89C51平台

【编    写】Sumjess

【E-mail  】1371129880@qq.com

【软件版本】V2.0

【最后更新】2018年09月06日

【相关信息参考下列地址】

【网    站】

  Sumejss博客  https://blog.csdn.net/qq_38351824

  电子发烧友  http://bbs.elecfans.com/zhuti_mcu_1.html

  中国电子网  http://bbs.21ic.com/icfilter-typeid-11-214.html

---------------------------------------------------------------------------------

【dev.env.】MDK4.14及以上版本

【Target  】STC89C51

第一次修订:2019/05/23

第二次修订:2018/05/24

第三次修订:2018/05/26

================================================================================

********************************************************************************/

#include          //调用单片机头文件

#define uchar unsigned char  //无符号字符型 宏定义 变量范围0~255

#define uint  unsigned int //无符号整型 宏定义 变量范围0~65535

 

sbit led0 = P0^0;   //led定义   前照明灯1

sbit led1 = P0^1;   //led定义   前照明灯2

sbit led2 = P0^2;   //led定义   左转弯灯

sbit led3 = P0^3;   //led定义   右转弯灯

sbit led4 = P0^4;   //led定义   红灯1

sbit led5 = P0^5;   //led定义   红灯2

sbit led6 = P0^6;   //led定义   雾灯1

sbit led7 = P0^7;   //led定义   雾灯2

sbit led8 = P2^0;   //led定义   倒车照明1

sbit led9 = P2^1;   //led定义   倒车照明2

 

sbit key0 = P3^0;   //定义夜间行驶按键

sbit key1 = P3^1;   //定义左转弯按键

sbit key2 = P3^2;   //定义右转弯按键

sbit key3 = P3^3;   //定义刹车按键

sbit key4 = P3^4;   //定义夜间活能见度低按键

sbit key5 = P3^5;   //定义倒车按键

 

 

 

void delayms(uint z) //毫秒

{

uint x,y;

    for(x=z;x>0;x--)

      for(y=110;y>0;y--);   

}

void guan_all(); //关闭所有灯

 

void main()

{

   while(1)

   {

if(key0==0)  //夜间行驶

{

  guan_all(); //关闭所有灯

  led0 = 0;   //led赋值

  led1 = 0;   //led赋值

  }

if(key1==0)  //左转弯

{

  guan_all(); //关闭所有灯

  led2 = 0;   //led赋值

  delayms(300);

  led2 = 1;   //led赋值

  delayms(300);

  led2 = 0;   //led赋值

  delayms(300);

  led2 = 1;   //led赋值

  delayms(300);

  led2 = 0;   //led赋值

  delayms(300);

  led2 = 1;   //led赋值   

  }

if(key2==0)      //右转弯

{

  guan_all(); //关闭所有灯

  led3 = 0;   //led赋值

  delayms(300);

  led3 = 1;   //led赋值

  delayms(300);

  led3 = 0;   //led赋值

  delayms(300);

  led3 = 1;   //led赋值

  delayms(300);

  led3 = 0;   //led赋值

  delayms(300);

  led3 = 1;   //led赋值   

  }

if(key3==0)     //刹车

{

  guan_all(); //关闭所有灯

  led4 = 0;   //led赋值

  led5 = 0;   //led赋值

  }

if(key4==0)    //夜间活能见度低

{

  guan_all(); //关闭所有灯

  led6 = 0;   //led赋值

  led7 = 0;   //led赋值

  }

if(key5==0)    //倒车

{

  guan_all(); //关闭所有灯

  led8 = 0;   //led赋值

  led9 = 0;   //led赋值

  led6 = 0;   //led赋值

  led7 = 0;   //led赋值

  }

     }

  }

void guan_all()

{

led0 = 1;   //led赋值

led1 = 1;   //led赋值

led2 = 1;   //led赋值

led3 = 1;   //led赋值

led4 = 1;   //led赋值

led5 = 1;   //led赋值

led6 = 1;   //led赋值

led8 = 1;   //led赋值

led9 = 1;   //led赋值

  }

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
用运算放大器构成的气敏控制电路图