登录|立即注册|使用QQ帐号登录
论坛 > 24小时必答区
发帖|
看3373|回7|收藏
楼主 ID:320832 只看他
2018-10-14 22:17
本来应该是这样的,现在是开关单个闭合没有灯亮,都闭合6个灯全亮。
希望能帮忙解决,非常感谢。
1)设计任务
设计一个汽车尾灯控制电路,用六个发光二极管模拟汽车尾灯(左右各三个),用开关S1S0选择控制汽车正常运行、右转弯、左转弯和刹车时尾灯的情况。
2)设计要求
1汽车正常运行时尾灯全部熄灭;
2汽车左转弯时左边的三个发光二极管按顺序循环点亮;
3汽车右转弯时右边的三个发光二极管按顺序循环点亮;
4汽车刹车时所有的指示灯随CP脉冲同时闪烁。



附件列表
图片23.png (2018-10-14 22:12 上传)

原图尺寸 86.68 KB, 下载次数: 56

图片23.png

沙发 ID:213173 只看他
2018-10-15 13:31
这个电路功能用单片机很容易做到,楼主用S1、S0两个开关如何表示汽车运行的4种状态?
板凳 ID:409939 只看他
2018-10-15 14:42
汽车用电标准,小汽车12V,卡车24V,新能源48V。你这5V供电的灯完全不对。输出要么MOS,要么继电器。外保护电路更多。你这电路不如说是玩具汽车。。。
地板 ID:389519 只看他
2018-10-15 15:05

引用:

wulin 发表于 2018-10-15 13:31
这个电路功能用单片机很容易做到,楼主用S1、S0两个开关如何表示汽车运行的4种状态?

这是一个数电的设计吧,S1,S0用单刀双掷开关可以实现四种状态
5# ID:213173 只看他
2018-10-15 15:29
给你用单片机画的电路和程序及仿真
无标题.jpg


#include <REG51.H>
#define uchar unsigned char
#define uint unsigned int
sbit D0=P2^0;
sbit D1=P2^1;
sbit D2=P2^2;
sbit D3=P2^3;
sbit D4=P2^4;
sbit D5=P2^5;

sbit K1=P3^0;//左闪
sbit K2=P3^1;//右闪
sbit K3=P3^2;//刹车开关
uchar sign=0;
bit num;
uint com=0;
void Timer0Init()        //250微秒@12.000MHz
{
        TMOD= 0x02;                //设置定时器模式
        TL0 = 0x06;                //设置定时初值
        TH0 = 0x06;                //设置定时重载值
        TR0 = 1;                //定时器0开始计时
        EA=1;                        //开总中断
        ET0=1;                        //开定时器0中断       
}

void main()
{
        uchar i=0;
        Timer0Init();
        while(1)
        {
                if(K3==0)
                        sign=3;
                else if(K2==0)               
                        sign=2;
                else if(K1==0)
                        sign=1;
                else sign=0;       

                if(num==1)
                {
                        num=0;
                        i++;
                        if(i>=3)
                                i=0;
                        D0=D1=D2=D3=D4=D5=1;
                        switch(sign)
                        {
                                case 0: D0=D1=D2=D3=D4=D5=1; break;
                                case 1:
                                switch(i)
                                {
                                        case 0:D2=0;D1=D0=1;break;
                                        case 1:D1=0;D2=D0=1;break;
                                        case 2:D0=0;D1=D2=1;break;
                                }
                                break;
               
                                case 2:
                                switch(i)
                                {
                                        case 0:D3=0;D4=D5=1;break;
                                        case 1:D4=0;D3=D5=1;break;
                                        case 2:D5=0;D3=D4=1;break;
                                }               
                                break;

                                case 3:
                                switch(i)
                                {
                                        case 1:D0=D1=D2=D3=D4=D5=0; break;
                                        case 2:D0=D1=D2=D3=D4=D5=1; break;
                                }               
                                break;
                        }
                }
        }
}

void timer0() interrupt        1
{
        com++;
        if(com>=400)
        {
                com=0;
                num=1;
        }
}

6# ID:320832 只看他
2018-10-15 16:40

引用:

wulin 发表于 2018-10-15 15:29
给你用单片机画的电路和程序及仿真

非常感谢,有点不好意思,我们是做课程设计的必须用 multisim 画。
谢谢你。
7# ID:96682 只看他
2018-10-15 16:48
就这图片萌萌哒能帮上忙么
8# ID:463357 只看他
2019-1-7 22:52

引用:

0123. 发表于 2018-10-15 16:40
非常感谢,有点不好意思,我们是做课程设计的必须用 multisim 画。
谢谢你。

我们也是啊,,问题是老师还给增加了要求,,,,好难啊

51黑电子论坛

Powered by Discuz! X3.1

首页|标准版|触屏版|电脑版