历史上的今天
今天是:2024年09月29日(星期日)
2019年09月29日 | 课程设计题五:汽车尾灯控制器设计
2019-09-29 来源:eefocus
要求:
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赋值 }
上一篇:课程设计题七:交通灯控制器
下一篇:课程设计题六:秒表
史海拾趣
|
VC++ --->> WinCE 的问题(对大家应该不会很难) 在VC中用到了一个类CxImage,编译和链接都没有问题,(*.lib的调用也正常)。但是把程序移植到WinCE中,在链接的时候总是出现这样的错误信息,这是什么原因呢? ximage.obj : error LNK2019: 无法解析的外部符号 \"public: void __cdecl CxImage::S ...… 查看全部问答> |
|
前断时间把wince上的usb VIDEO device做好了(是slave的不是host),现在老板又需要做USB AUDIO DEVICE. USB部分已经正常能够发送数据,在电脑上录音设备也能录到声音。但是要真正实现把CE设备的声音通过USB传到电脑上来播放还必须要去修改AUDIO驱 ...… 查看全部问答> |
|
怎么从/PROC/DEVICES中得到动态主设备号?脚本怎么样写,应该写在哪个文件里,怎么样在linux启动时运行这个脚本?谢谢! 怎么从/PROC/DEVICES中得到动态主设备号?脚本怎么样写,应该写在哪个文件里,怎么样在linux启动时运行这个脚本?谢谢!… 查看全部问答> |
|
主机和目标机连接不上什么原因??????????????????????????? 初学VXWORKS不太清楚是不是网卡驱动没有加载?ping也ping不通 我用ifShow显示: lo (unit number 0): Flags: (0x8069) UP LOOPBACK MULTICAST ARP RUNNING Type: SOFTWARE_LOOPBACK ...… 查看全部问答> |
|
求助:如何去除交流采样AD出来的声音信号结果中含有直流分量? 交流采样AD出来的声音信号结果中含有直流分量(可以认为是零漂),即交直流混合电平,感觉上好像这个直流分量会发生变化,可以排除是AD前面电路造成的问题,也就是说可以确认是AD输出的漂移造成的,我想是否可以用数字滤波的方法去掉它,如果可以, ...… 查看全部问答> |
|
现在重新测试,同样的板子,程序也一样。 用149一切正常, 换为2418,电流有1.3ma,而且会经常自动重启。。。 郁闷啊。。。。。。。 lierda的工程师们知道为什么吗?… 查看全部问答> |
|
常见的通讯控制电路里面都包含了,一般的430开发项目直接照搬电路原理图就可以了,包含485通讯,电流、电压、频率数据采集,外部控制,数码管显示、红外遥控等等等功能… 查看全部问答> |
|
复位对于FPGA设计很重要,一些很奇怪而找不到原因的问题很有可能是由于复位造成的,本人就因为没理解好复位情况而受困扰几天。 复位信号可以是高电平也可以是低电平复位。并且电路分外部信号的硬件电路复位和内部信号的软件复位。 外部硬件复 ...… 查看全部问答> |




