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

2019-09-29来源: eefocus关键字:汽车尾灯控制器  STC89C51  Protues仿真图

要求:


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赋值

  }

关键字:汽车尾灯控制器  STC89C51  Protues仿真图 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic476087.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:课程设计题七:交通灯控制器
下一篇:课程设计题六:秒表

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

基于AT89S52单片机的汽车尾灯控制器设计
造型的完美体现有着很大作用,汽车尾灯控制系统在汽车成品中所占的比重也逐渐加大。   尾灯又是汽车品牌的最好体现,不同的尾灯的形状、在车上的安装位置、不同信号功能的相对位置等都是使汽车独树一帜的有效手段。同时,对汽车整体而言,尾灯安装后,与车身必须能浑然一体,并且在点亮与未点亮时都具有整体的协调性。国内汽车尾灯控制技术方面的产品主要是动态式图文显示的汽车尾灯口。   本文所研究和开发的课题是汽车尾灯控制器的电路设计,其基于Intel公司生产的AT89S52芯片设计了汽车尾灯控制系统。在该系统中,通过8个LED显示汽车尾灯的基本工作状况,汽车尾灯控制系统的研发不仅使汽车的先进性有了较大提高,更重要的是降低了交通事故发生的可能性
发表于 2013-01-26
基于AT89S52单片机的汽车尾灯控制器设计
GY521 mpu-6050调试经验与教训
源程序如下://****************************************// Update to MPU6050 by shinetop// MCU: STC89C52// 2012.3.1// 功能: 显示加速度计和陀螺仪的10位原始数据//****************************************// GY-52 MPU3050 IIC测试程序// 使用单片机STC89C51 // 晶振:11.0592M// 显示:LCD1602// 编译环境 Keil uVision2// 参考宏晶网站24c04通信程序// 时间:2011年9月1日
发表于 2019-11-14
GY521 mpu-6050调试经验与教训
STC12C60S2单片机双485通讯开发双485通讯控制程序
*********************************************************************/#include "STC12C5A60S2.h"  //库文件#define uchar unsigned char//宏定义无符号字符型#define uint unsigned int  //宏定义无符号整型/********************************************************************                            初始
发表于 2019-11-13
STC12C60S2单片机双485通讯开发双485通讯控制程序
STC12C5A60S2利用PCA时钟溢出做的PWM信号
输出 频率可调 -------------------------- -----------*//* --- STC12C5Axx                                            -------*//* --- 对于定时器选择的时候,应该选择16位
发表于 2019-11-12
STC12C5A60S2利用PCA时钟溢出做的PWM信号
stc12c5a60s2 0-30电压测量 有注释
#include <STC12C5A60S2.H>#include "intrins.h"#define uchar unsigned char#define uint  unsigned int#define ulong unsigned long/*Define ADC operation const for ADC_CONTR*/#define ADC_POWER   0x80            //ADC 电源控制位  10000000  0X80  /#define
发表于 2019-11-08
基于STC89C52RC单片机制作的频率及占空比均可调程序
注意  单片机必须是52rc不能用60s2*/#include"main.h"#include"peizhi.h"#include"smg.h"#include"eeprom.h"sfr WDT_CONTR=0XE1;unsigned char HighRH = 0;  //高电平重载值的高字节unsigned char HighRL = 0;  //高电平重载值的低字节unsigned char LowRH  = 0;  //低电平重载值的高字节unsigned char LowRL  = 0
发表于 2019-11-06
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved