精华内容
下载资源
问答
  • 十字路口交通灯控制设计(附电路图及源代码).doc
    2021-05-24 07:18:14

    十字路口交通灯控制设计(附电路图及源代码)

    《计算机控制技术》

    课程设计报告

    课题名称 交通灯控制设计

    专 业

    班 级

    学生姓名

    学 号

    指导教师

    201*年 6 月 8日

    目录

    TOC \o "1-1" \h \u HYPERLINK \l _Toc16316 一、总体方案设计……………………………………………………….1

    HYPERLINK \l _Toc16316 1.1 设计要求3

    HYPERLINK \l _Toc16316 1.2总体方案设计框图介绍3

    HYPERLINK \l _Toc16316 1.3元件列表4

    TOC \o "1-1" \h \u HYPERLINK \l _Toc16316 二、单元电路设计6

    2.1 AT89C51介绍......................................................................................6

    2.2主控制系统模块..................................................................................7

    2. HYPERLINK \l _Toc16316 3晶振电路..............................................................................................7

    HYPERLINK \l _Toc16316 2.4复位电路8

    HYPERLINK \l _Toc16316 2.5紧急电路11

    HYPERLINK \l _Toc16316 2.6时间设置电路11

    2.7交通灯电路15

    2.8数码管显示电路.................................................................................16

    2.9整体电路图.........................................................................................17

    HYPERLINK \l _Toc16316 三、系统程序设计17

    HYPERLINK \l _Toc16316 3.1主程序流程图17

    HYPERLINK \l _Toc16316 3.2设计程序18

    HYPERLINK \l _Toc16316 四、实验总结...........................................................................................21

    五、参考资料….……………………………………………………….22

    六、附录…………………………………………………………………………………..….22

    一、总体方案设计

    1.1实验要求

    (1)能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态。(初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。延时T1秒后转状态2,南北绿灯闪2秒转黄灯,延时3秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。延时T1秒后转状态4,东西绿灯闪2秒转黄灯,延时3秒,南北仍然红灯。最后循环至状态1。)

    (2)用拨动开关K0~K7实现延时时间T1的设置,当K7闭合时,为T1的设置状态,K0~K6为设置时间(秒),此时东西、南北两个方向均显示红灯状态。当K7断开时为工作状态。绿灯的闪烁频率为1HZ。

    (3)在紧急状态下,可通过开关设置,使所有指示灯均为红灯状态。

    1.2总体方案设计框图介绍

    用AT89C51单片机设计一个智能交通灯控制系统,使其能模仿城市十字路口交通灯的功能,并对满足特殊的控制要求。每条道路上各配有一组红、黄、绿交通信号灯,其中红灯亮,表示该道路禁止通行;黄灯亮表示该道路上未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯表示该道路允许通行。该电路自动控制十字路口两组红、黄、绿交通灯的状态转换,实现十字路口自动化。

    a 实现红、绿、黄灯的循环控制。可以利用三种不同颜色的LED灯分别接在P1个管脚,用软件编程实现灯的循环。

    b实现紧急通车及时间设置。这需要人工实现,编程时利

    更多相关内容
  • 本文给读者提供了基于单片机的交通灯信号控制器设计方案,给出了源程序供读者设计参考。
  • 使用multisim14软件编写的交通灯控制系统,亲测可动态显示,数字变动较慢,请耐心等待。可通过示波器观察电压变化。
  • EDA软件Quartus II的基本 操作方法。熟悉MSI组合逻辑电路和时序逻辑路的逻辑功能使用方法 。掌握MSI组合逻辑器件和时序逻辑器件组成数字小系统的设计和测试方法。学会使用Quartus II设计、仿真和调试数字逻辑电路
  • 十字路口交通灯信号控制器设计要求: 1)东西通道和南北通道交替通行,东西...整个电路设计,包括原理和PCB、原理和PCB封装库文件,用AD软件打开; 源程序(用汇编语言编写); 十字路口交通灯信号控制器论文分析;
  • 交通灯控制电路设计+设计流程图+设计电路+实物.pdf
  • STM32实现交通灯设计

    2020-05-14 21:46:36
    用Keil软件编写控制代码,使用Proteus软件仿真STM32以及LED灯、按键等硬件; 交通灯有三种方案,区别在于红灯和绿灯亮的时间不一样
  • 模拟十字路口的红绿灯以及数码管倒计时时间显示,51单片机代码附带proteus仿真电路,原理 直观实验现象
  • 1. 能根据交通规律正确设置交通灯状态数码管显示内容 2. 能手动调节时间 3. 能根据交通状况自动延长直行时间; 带行人与繁忙检测的单片机交通灯仿真原理如下: 注:通过键盘调节时间项目中,分为东西直行时间、...
  • 设计一个交通灯系统,通过两位数码管和三色发光二极管来模拟交通灯的变化规律,东西南北各2个数码管来显示秒倒计时,东西南北各一个红、黄、绿发光二极管,用于表示红灯、黄灯、绿灯状态。 基本功能: (1) 首先...
  • 交通灯课程设计,实现东西方向和南北方向的智能控制,同时拥有语音播报和红外技术功能
  • 摘要:AT89C51单片机的交通灯控制系统是由AT89C51单片机、键盘电路、LED倒计时、交通灯显示等模块组成。系统除基本交通灯功能外,还具有通行时间手动设置、可倒计时显示、急车强行通过、交通特殊情况处理等相关功能...
  • 基于C51单片机交通灯设计(软件源程序+硬件原理+proteus仿真+设计文档资料) 本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示...
  • 设计一个十字路口交通信号控制器,其要求如下: 1.满足如4.1顺序工作流程中设南北方向的红、黄、绿灯分别为NSR、NSY、NSG,东西方向的红、 黄、绿灯分别为EWR、EWY、EWG。 它们的工作方式,有些必须是并行...
  • 基于51单片机的十字路口交通灯控制系统设计(含源码仿真) (1)东西、南北方向各设有一个绿、黄、红指示灯,两个显示数码管。 (2)两个方向交替允许通行,基本放行时间为25s,另外有黄灯闪烁5s。 (3)控制人员可以...
  • 单片机交通灯课程设计报告(含电路图,源程序).pdf
  • 基于AT98S52单片机交通灯设计(毕业论文文档+源程序+DXP原理+proteus仿真) 本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示...
  • 十字路口交通灯,附原理和仿真,带程序。经验证,仿真真实有效。 附件部分截图如下:
  • 5、交通灯程序框图 4.1clock_division模块Clock_division模块主要实现数字时钟的模式控制,程序代码截图如下: 4.2 Curren_state模块 这部分代码的作用是将次态赋值给当前态,这是三段式的标志性模块。该模块程序...
  • Proteus仿真原理:Keil C源程序:#include#define uchar unsigned char#define uint unsigned intsbit RED_DONGXI = P1^0;//南北方向红灯亮sbit YELLOW_DONGXI = P1^1;//南北方向黄灯亮sbit RED_NANBEI = P1^3;//...

    Proteus

    仿真原理图:

    Keil C源程序:

    #include

    #define uchar unsigned char

    #define uint unsigned int

    sbit RED_DONGXI = P1^0;//南北方向红灯亮

    sbit YELLOW_DONGXI = P1^1;//南北方向黄灯亮

    sbit RED_NANBEI = P1^3;//东西方向红灯亮

    sbit GREEN_DONGXI = P1^2;//南北方向绿灯亮

    sbit YELLOW_NANBEI = P1^4;//东西方向黄灯亮

    sbit GREEN_NANBEI = P1^5;//东西方向绿灯亮

    sbit DXweixuan1 = P1^6;//南北方向数码管位选1

    sbit DXweixuan2 = P1^7;//南北方向数码管位选2

    sbit NBweixuan1 = P3^0;//东西方向数码管位选1

    sbit NBweixuan2 = P3^1;//东西方向数码管位选2

    sbit L1=P3^5;

    sbit L2=P3^6;

    sbit L3=P3^7;

    uint aa, bai,shi,ge,bb;

    uint shi1,ge1,shi2,ge2;

    uint code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uint code table1[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};

    void delay(uint z);

    void init(uint a);

    void display(uint shi1,uint ge1,uint shi2,uint ge2);

    void xtimer0();

    void init1();

    void init2();

    void init3();

    void init4();

    void init5();

    void xint1();

    void xint0();

    void LED_ON();

    void LED_OFF();

    void main()

    {

    P0=0xFF;

    P1=0xFF;

    P2=0x00;

    P3=0xFF;

    EA=1;

    EX0=1;

    IT0=0;

    init1();

    while(1)

    {

    init2();//第2个状态

    init3(); //第3个状态

    init4(); //第4个状态

    init5();//第5个状态

    }

    }

    void init1()//第一个状态:东西、南北方向均亮红灯5S

    {

    uint temp;

    temp=5;

    TMOD=0x01;

    TH0=(65535-50000)/256;

    TL0=(65535-50000)%256;

    EA=1;

    ET0=1;

    TR0=1;

    while(1)

    {

    } } RED_DONGXI=0; //第一个状态东西、南北均亮红灯5S RED_NANBEI=0; GREEN_DONGXI=1; GREEN_NANBEI=1; YELLOW_DONGXI=1; YELLOW_NANBEI=1; if(aa==20)//定时20*50MS=1S { aa=0; temp--; } shi1=shi2=temp/10; ge1=ge2=temp%10; if(temp==0) { temp=5; break; } display(ge1,shi1,ge2,shi2);

    void init2()//第二个状态:东西亮红灯30S~5S、南北亮绿灯25~0S; {

    uint temp;

    temp=26;

    TMOD=0x01;

    TH0=(65535-50000)/256;

    TL0=(65535-50000)%256;

    EA=1;

    ET0=1;

    TR0=1;

    while(1)

    {

    RED_DONGXI=1;

    RED_NANBEI=0;

    GREEN_DONGXI=0;

    GREEN_NANBEI=1;

    YELLOW_DONGXI=1;//第二个状态:东西亮绿灯25S、南北亮红灯 YELLOW_NANBEI=1;

    if(aa==20)//定时20*50MS=1S

    {

    aa=0;

    temp--;

    shi1=(temp+5)/10;

    ge1=(temp+5)%10;

    shi2=temp/10;

    ge2=temp%10;

    if(temp==0)

    {

    temp=26;

    break;

    }

    }

    display(ge1,shi1,ge2,shi2);

    }

    }

    void init3() //第三个状态:东西绿灯变为黄灯闪5次、南北亮红灯5S {

    uint temp;

    temp=6;

    TMOD=0x01;

    TH0=(65535-50000)/256;

    TL0=(65535-50000)%256;

    EA=1;

    ET0=1;

    TR0=1;

    while(1)

    {

    RED_NANBEI=0;

    GREEN_DONGXI=1;

    } } if(aa==20)//定时20*50MS=1S { aa=0; temp--; YELLOW_DONGXI=~YELLOW_DONGXI; shi1=temp/10; shi2=shi1; ge1=temp%10; ge2=ge1; } if(temp==0) { temp=6; break; } display(ge1,shi1,ge2,shi2);

    void init4()//第四个状态:东西亮绿灯25~0S,南北方向亮红灯30~5S; {

    uint temp;

    temp=26;

    TMOD=0x01;

    TH0=(65535-50000)/256;

    TL0=(65535-50000)%256;

    EA=1;

    ET0=1;

    TR0=1;

    while(1)

    {

    RED_DONGXI=0;

    RED_NANBEI=1;

    }

    } YELLOW_DONGXI=1;//第一个状态东西、南北均亮红灯5S GREEN_NANBEI=0; if(aa==20) { aa=0; temp--; shi1=temp/10; shi2=(temp+5)/10; ge1=temp%10; ge2=(temp+5)%10; if(temp==0) { temp=26; break; } } display(ge1,shi1,ge2,shi2);

    void init5()//第五个状态:东西亮红灯、南北绿灯闪5次转亮黄灯5S {

    uint temp;

    temp=6;

    TMOD=0x01;

    TH0=(65535-50000)/256;

    TL0=(65535-50000)%256;

    EA=1;

    ET0=1;

    TR0=1;

    while(1)

    {

    RED_NANBEI=1;

    RED_DONGXI=0;

    GREEN_DONGXI=1;

    GREEN_NANBEI=1;

    if(aa==20)

    {

    aa=0;

    temp--;

    YELLOW_NANBEI=~YELLOW_NANBEI;

    shi1=temp/10;

    shi2=shi2;

    ge1=temp%10;

    ge2=ge1;

    if(temp==0)

    {

    temp=6;

    break;

    }

    }

    display(ge1,shi1,ge2,shi2);

    }

    }

    void display(uint shi1,uint ge1,uint shi2,uint ge2) {

    DXweixuan1=0;

    DXweixuan2=1;

    NBweixuan1=1;

    NBweixuan2=1;

    P0=table[ge1];

    delay(5);

    DXweixuan1=1;

    DXweixuan2=0;

    NBweixuan1=1;

    NBweixuan2=1;

    P0=table[shi1];

    delay(5);

    DXweixuan1=1;

    DXweixuan2=1;

    NBweixuan1=0;

    NBweixuan2=1;

    P0=table[ge2]; delay(5);

    DXweixuan1=1; DXweixuan2=1; NBweixuan1=1; NBweixuan2=0; P0=table[shi2]; delay(5);

    }

    void xint0() interrupt 0 {

    RED_NANBEI=0; RED_DONGXI=0; GREEN_NANBEI=1; GREEN_DONGXI=1; YELLOW_NANBEI=1; YELLOW_DONGXI=1; P0=0x00;

    NBweixuan1=0; NBweixuan2=0; DXweixuan1=0; DXweixuan2=0; delay(2);

    return ;

    }

    void xint1() interrupt 2 {

    RED_NANBEI=1; RED_DONGXI=1; GREEN_NANBEI=0; GREEN_DONGXI=0; YELLOW_NANBEI=1; YELLOW_DONGXI=1; P0=0x00;

    NBweixuan1=0; NBweixuan2=0; DXweixuan1=0; DXweixuan2=0; delay(2);

    return ;

    }

    void xtimer0() interrupt 1 {

    TH0=(65535-50000)/256;

    TL0=(65535-50000)%256; aa++;

    }

    void delay(uint z) {uint x,y;

    for(x=0;x

    for(y=0;y

    展开全文
  • 基于89s52的交通灯控制系统,内含电路图,源程序,完整的设计报告格式~~可以直接使用
  • 该文件为基于 Multisim 13.0 的数电交通灯仿真程序(已验证通过),可以直接运行! 设计一个十字路口交通灯定时控制器: 1) 主、支干道交替通行,主道每次放行 30s,支道每次放行 20s。 2) 绿灯亮表示可以通行,...
  • 该文件包含了proteus电路仿真和汇编程序程序都经过本人亲测是成功的,其中硬件部分用器件:8253a,74ls373,74ls138,8255a,功能分为手动和自动模式的交通灯,通过按键调节控制模式。
  • 前面我们用两篇文章分别介绍了设计要求和原理内容,我们已经对交通灯设计有了初步了解,这里,我们继续学习程序的编写。这一篇我们用到的工具软件有:思维导图制作软件流程图制作软件Keil4 c51编译软件Proteus7 ...

    前面我们用两篇文章分别介绍了设计要求和原理图内容,我们已经对交通灯设计有了初步了解,这里,我们继续学习程序的编写。

    这一篇我们用到的工具软件有:

    思维导图制作软件

    流程图制作软件

    Keil4 c51编译软件

    Proteus7 仿真软件

    按照我们之前在第一篇文章里绘制的“基本功能和设计思路的图表”内容,在“设计思路”里面列出了两个方法,我们选择第一种,先制作仿真后制作实物。

    01.分析程序中用到的内容

    可能一开始让人觉得无从下手,这个程序到底怎么写,写什么内容?

    不着急,我们回顾最开始的内容,那时候我们画了一个“基本功能和设计思路的图表”,现在就根据这个图表,给它添砖加瓦,增加程序的内容,有了内容,就能做出控制流程,有了控制流程,就会有程序……

    看下图:

    e7c196fa9306453e6dba3d359783088e.png

    程序设计思路整理--思维导图

    交通灯设计——从功能产生程序内容

    从图中可以看出,有两大部分:

    一是“功能”,这是我们第一篇文章里面的内容;

    二是“程序内容”,这是根据“功能”的需求,制定出的程序要编写的内容。

    后面,我们就根据程序内容来完成每个小定义、小函数的编写,直到给程序准备好所有的“材料”,那么搭建一个完整的程序结构也就水到渠成了。

    02.确定程序控制流程

    有了内容,把它们合理安排,就可以做出我们原先设计的功能。

    程序的流程用图来表达会比语言描述更加形象和直观,虽然在实际程序编写过程中不一定会完全按照这个结构完成任务,但是,事先有一个清晰的思想脉络,是非常必要的。

    下面是一个简单的主程序流程图:

    f0711dda8665cdc18e63f305efbce55e.png

    交通灯控制主程序流程图

    03. 绘制proteus仿真图

    这里贴一张程序完成后的正常运行截图:

    59802121bb7645ccc295c30185e18e4d.png

    04. 选择编写和编译程序的工具

    对于51单片机,编译器不二的选择当然是Keil C51,但是编写程序的编辑器可以有很多选择。

    常见的代码编辑工具软件有:Sublime Text3、Atom、Visual Studio Code 等等。

    73d973e76cd9a4fd0a04fc7ace8aa2f5.png

    要注意的一点是,用编辑软件编写源码时,编译软件Keil不要点保存文件(当然工程可以保存),只编译,这样就不容易出现乱码。

    git也是必要的工具,对于单片机新手来说暂时不用也不影响。

    05. 编写完整程序

    函数较多,首先是编写头文件,定义端口;其次编写单个程序,逐一测试。最后整合起来,用主函数来控制执行顺序。

    为了思路清晰,这里采用了状态切换的方式,也加入了模式切换。实际简单程序可以只用状态来切换,调理会更清晰。

    主要的子函数有:定时中断、按键检测、数码管显示、倒计时计算、信号灯控制等。

    下面是主函数:// 主函数

    void main(void) {

    Delay_ms(200);

    PortInit();      // 初始化IO端口

    Timer0Init();    // 初始化定时器0

    TimeValueInit(); // 初始化倒计时时间值

    StatusInit();    // 初始化状态

    while (1) {

    //判断模式

    switch (uc_Mode) {

    // 如果为正常模式

    case kMode_Normal: {

    if (g_flag1s == isYes) {    // 如果中断计数1S时间到

    testTimeChangeState();    // 检测倒计时时间,时间到则改变状态

    g_flag1s = isNo;          // 重置1S标记

    if (uc_State == i_EWY) {

    ioLed_EW_Yellow = isLedON;

    } else if (uc_State == i_SNY) {

    ioLed_SN_Yellow = isLedON;

    }

    } else if (g_flag05s == isYes) {  // 如果中断计数0.5S时间到

    g_flag05s = isNo;               // 重置1S标记

    if (uc_State == i_EWY) {

    ioLed_EW_Yellow = isLedOFF;

    } else if (uc_State == i_SNY) {

    ioLed_SN_Yellow = isLedOFF;

    }

    }

    mainDisplay();        // 主显示子程序(包含按键检测和执行子程序)

    } break;

    // 如果为设置时间模式

    case kMode_SetTime: {

    mainDisplay();        // 主显示子程序(包含按键检测和执行子程序)

    g_flag1s = isNo;

    } break;

    //如果为深夜模式

    case kMode_LateNight: {

    //如果中断计数1S时间到

    if (g_flag1s == isYes) {

    g_flag1s = isNo;

    ioLed_EW_Yellow = isLedON;

    ioLed_SN_Yellow = isLedON;

    } else if (g_flag05s == isYes) {

    g_flag05s = isNo;

    ioLed_EW_Yellow = isLedOFF;

    ioLed_SN_Yellow = isLedOFF;

    }

    key_Monitor();  //监控键

    } break;

    //如果为其它模式

    default: {

    key_Monitor();  //监控键

    } break;

    }

    }

    }

    上面给出编写主函数的例子。

    一边编写程序,一边编译成代码,用仿真加载运行调试,不断修改完善。

    06.总结与积累

    同样的控制功能,程序有各种各样的写法,通常采用一种自己习惯的方式,但是也应该不断学习别人的优点,改变自己的的不好习惯。

    当然,笔者更趋向于用实际电路调试,毕竟仿真和实际硬件往往存在不可预知的差异,有时候会出现很多奇怪的问题,而真实板子就没有哪些问题,前提是硬件要正常。

    展开全文
  • 1、设计一个十字路口的交通灯控制电路,要求南北方向(主干道)车道和东西方向(支 干道)车道两条交叉道路上的车辆交替运行,主支干道每次通行时间都设为25秒、。 2、在绿灯转为红灯时,要求黄灯先亮5秒钟,才能...
  • 简易交通灯控制逻辑电路设计报告一、设计任务和要求二、设计目的三、设计方案选择 一、设计任务和要求 设计一个简易交通灯控制逻辑电路,要求: 1、东西方向绿灯亮,南北方向红灯亮,时间15s。 2、东西方向与南北...

    一、设计任务和要求

    设计一个简易交通灯控制逻辑电路,要求:
    1、东西方向绿灯亮,南北方向红灯亮,时间15s。
    2、东西方向与南北方向黄灯亮,时间5s。
    3、南北方向绿灯亮,东西方向红灯亮,时间10s。
    4、如果发生紧急事件,可以动手控制四个方向红灯全亮。

    二、设计目的

    1、进一步熟悉和掌握数字电子电路的设计方法和步骤
    2、进一步将理论和实践相结合
    3、熟悉和掌握仿真软件的应用

    三、设计方案选择

    任务要求实际上就是4个状态,不妨设:
    S1:东西方向绿灯亮,南北方向红灯亮,时间15s;
    S2:东西方向与南北方向黄灯亮,时间5s;
    S3:南北方向绿灯亮,东西方向红灯亮,时间l0s;
    S4:如果发生紧急事件,可以手动控制四个方向红灯全亮。
    【表1】主电路状态与指示灯状态转换

    主电路状态东西方向绿灯G1南北方向红灯R2黄灯Y东西方向红灯R1南北方向绿灯G2
    S111000
    S200100
    S300011
    S410010

    主电路要实现S1→S2→S3状态的循环转换,而且可以在任何一个状态进入S4,并能恢复正常工作状态。S1=15s;S2=5s;S3=10s。

    方案一

    ①、S1-S3使用2个SR锁存器,设置00,01,10三个状态。
    ②、S4使用触发器,当出现紧急情况,触发器由“0”进入S4状态“1”后,在解除紧急时,恢复“0”,进入S1状态。
    ③、使用4个JK触发器,实现16位计数。

    方案二

    ①、S1-S3使用2个7473替代的T触发器。JK触发器包含SR触发器和T触发器的功能,J=K=T,则得到T触发器。
    ②、S4使用或门、非门实现,从【表1】可知:
    G1=S3+S4
    R2=S1·~S4
    Y=S2·~S4
    R1=S3+S4
    G2=S3·~S4
    ③、使用74192同步可逆10进制计数器(8421码)2个

    方案一、优点:状态转换简单;

              解除紧急(S4)后指定回到S1;
        缺点:电平触发,与时钟信号不匹配;
    

    方案二、优点:下降脉冲触发,与时钟信号匹配;

              容易处理,可显示数值;
        缺点:解除紧急(S4)后回到S1/S2/S3任一状态,不固定;
    

    综合考虑,为使电路简化、运行稳定,选用方案二。

    方案框图

    在这里插入图片描述

    1. 计时器:使用上升时序,个位、十位两片74192。进位关联使用个位TCU=十位UP实现(Terminal Count Up (Carry) Line)。数据状态通过判断条件进入选择器74S153。判断条件成立后执行清零。
    2. 时序Sx控制:使用74LS73改装的T触发器2个,实现S1→S2→S3状态的循环转换。
    3. 判断时钟、Sx:判断74192和74LS73的状态,满足条件输出74192的清零使能和74LS73的CLK信号。
    4. 翻译Sx-LED,翻译S1、S2、S3对应LED的5个状态:
    5. 输出调整电路,令紧急电平开关控制LED的状态。

    四、单元电路的选择设计

    • 1、秒脉冲电路的选择设计

    ①秒脉冲可以由函数信号发生器产生,也可以由555定时器组成多谐振荡器产生。

    ②本实验采用555定时器组成的多谐振荡器,采用如图所示的接法,引入了二极管D1和D2,电容的充电电流和放电电流流经不同的路径,充电电流只流经R1,放电电流只流经R2,因此电容的充电时间变为T1=R1Cln2,放电时间变为T2=R2Cln2,故得脉冲的占空比为q=R1/(R1+R2),若取R1=R2,则q=50%,相应的周期变为T=(R1+R2)Cln2,取C=100uF。为了使输出波形稳定,取R1=R2=5.6K。

    1.秒脉冲电路原理图:

    在这里插入图片描述

    电路仿真图:

    在这里插入图片描述

    2、计时系统电路的选择设计

    计时系统包括由74192构成的计数器和数字译码显示器等,电路图
    如图
    在这里插入图片描述

    • 计数器由两片74192十进制计数器组成两位十进制加法计数器,控制个位数的74192接入脉冲输入,进位输出端接十位数的加计数输入端。
    • 两个芯片上的计数器输入端都接地,清零端接紧急开关,当紧急开关接地时,清零端输入低电平,计数器正常工作,当紧急开关接高电平时,计数器清零停止工作。74S153的1Y、2Y通过一个或门后接两个74192的预置数端,数据状态通过判断条件进入选择器74S153。判断条件成立后执行清零。控制个位数的74192的QB、QC经与门接入74S153的B输入端,当个位到达6时,输出为“1”;控制十位数的74192的QA接74S153的1C2、2C1、2C3,当十位到达1时,输出为“1”。
    • 计数器的输出端分别连接对应数字译码显示器的输入端。
      74192功能表如下:
      在这里插入图片描述

    3、状态控制器电路的选择设计

    状态控制器是交通灯控制电路的核心,能够控制交通灯工作状态的转换。本设计需要循环的状态一共是三个,分别是S1、S2、S3,采用74LS73,JK触发器。

    在这里插入图片描述

    用JK触发器构成T触发器:
    在这里插入图片描述
    则有:
    在这里插入图片描述

    • 使2个T触发器的4状态循环变为3状态循环,使用作系统状态。由选择器74153判断。
    74LS7374LS73
    状态在这里插入图片描述在这里插入图片描述持续时间
    S1001115S
    S201105S
    S3110010S

    状态转换图:

    在这里插入图片描述
    74LS73功能表如下:
    在这里插入图片描述

    4、时钟、状态控制判断系统电路的选择设计

    判断系统由74S153数据选择器构成,电路原理图如下:
    在这里插入图片描述

    数据选择器输出的逻辑式为:

    		1Y=[1C0(~A~B)+1C1(~AB)+1C2(A~B)+1C3(AB)]·1G;
    	    2Y=[2C0(~A~B)+2C1(~AB)+2C2(A~B)+2C3(AB)]·2G;
    

    由图可知:

    		   1C0=1C1=2C0=2C2=0;
    		   1C2=2C1=2C3=QA(十位74192);
    		   1C3=1;
    		   B=QA·QB(74S153);
    		   A=Q0(JK0 74LS73);
    
       ~1G、~2G分别接Q1(JK1 74LS73)和~Q1(JK1 74LS73)
    
    状态CLKQ1 74LS75Q0 74LS73@B74192@C74192(2)
    S110011
    S21011X
    S3111X1

    在这里插入图片描述
    74S153功能表如下:
    在这里插入图片描述

    5.状态翻译电路的选择设计

    状态翻译电路由74LS138(3-8线译码器)实现,电路图如下:
    在这里插入图片描述
    A=Q0(74LS73)
    B=Q1(74LS73)
    C接紧急开关
    74LS138功能表如下:
    在这里插入图片描述
    74LS138功能表如下:
    在这里插入图片描述

    6.输出调整电路的选择设计

    由于74LS138输出的是而不是,另外需要实现正的逻辑,所以增加G6~G1来调整线路。电路图如下:
    在这里插入图片描述

    7.紧急开关设计

    紧急开关电路图如下:
    在这里插入图片描述

    当紧急开关接地电平时,74192计数器正常工作,74LS138译码器工作输出为Y0、Y1、Y3,交通灯正常工作;当紧急开关接高电平时,74192计数器停止工作,74LS138输出不为Y0、Y1、Y3中的任意一个,所以黄、绿交通灯均不能工作,而红交通灯直接接了紧急开关,所以红交通灯全部亮起。

    8.信号灯系统电路设计

    信号灯系统的电路图如下:
    在这里插入图片描述

    五、系统的调试与仿真

    1、调试软件:采用Multisim10软件进行仿真。

    2、仿真电路的联成

    仿真电路如下:
    在这里插入图片描述

    3、电路的调试

    • ①调试秒脉冲
      将秒脉冲输出接示波器,观察输出波形,当两个电阻阻值为5.6K时,波形最稳定。

    • ②调试运行时,仿真软件时间太长,难以看出结果,可以点击菜单栏中Simulate/Interractive transient analysis,在弹出对话框中的Instrument Analysis区进行更改,将Maximum time step(TMAX)中的时间调整到0.001~0.005之间比较合适。

    • ③计数器测试时,首先是将个位数的QA、QC引出到74S153中,但运行时在个为显示器到刚到达4计数器便立即清零只能显示13,猜想原因可能是由于元件的延时造成的,所以改为将个位数的QB、QC引出到74S153,再运行结果稍稍有所改善可以短暂显示4。

    • ④紧急开关最初的设计没有连接计数器的清零端,计数器的清零端是接地的,但在紧急开关开启时,计数器仍然在计数所以改为将紧急开关连接计数器的清零端,正常工作时,清零端输入低电平,当紧急开关开启时,清零端输入高电平,计数器工作在清零状态。

    • ⑤元件调整:双击原件即可调整原件参数。如果在运行状态,这个操作会导致总电源的关闭。

    • ⑥接线问题:当且仅当元件、结点不移动的情况下,连线不移动,新接连线会自动调整,可用鼠标移动到线上拖动,若线上出现小方框,说明线太密,不能移动。连线不能倾斜,全部横向或竖向。当第三点需要连接在线上是,可以从端点拖动到线上。EWB不允许出现悬空线,也不允许从导线开始延伸到端点。

    • ⑦器件、结点圈选以后可以整体移动。圈内的器件、结点相对位置不会移动,导线两端均在圈内则不移动,导线两端在圈外亦不移动。导线一端在圈内,一端在圈外则会自动调整。

    仿真截图如下:
    在这里插入图片描述

    S1状态,东西方向绿灯亮南北方向红灯亮,时间为15秒;

    在这里插入图片描述

    S2状态,东南西北四个方向黄灯亮,时间为5秒;
    在这里插入图片描述

    S3状态,东西方向红灯亮,南北方向绿灯亮,时间为10秒;
    在这里插入图片描述

    S4状态,紧急状态,东南西北四个方向红灯全亮,计数器清零不显示。

    六、心得体会

    经过两周的努力终于完成了关于交通灯控制电路的电子课程设计,
    通过不断的查资料让我积累了许多实际操作经验,
    已初步掌握了数电的应用技术。巩固了数电课程知识,加深对基本器件、FF、时序电路、逻辑电路的理解。
    我深刻体会到数字电子技术对当今现代社会的重要作用。经过这次设计,我学会了严密的思考,构想及怎样把计划付诸于实际行动中。
    同时与社会的不断高速发展的步伐相比
    我认识到自己所学的知识和技能还远远不足 有些实际问题还不能解决,很多更好的设想也无法实现,缺少很多有实际运用价值的知识储备,缺乏应有的动手解决实际问题的能力,缺乏高效利用及筛选大量资料的能力,有待在今后的学习实践中进一步提高。经过这次课程设计,我更加认识到要学好自己的专业知识以适应不断发展的社会。

    七、元件列表

    元件序号型号主要参数数量
    7419274LS192十进制、LOAD低电平有效2
    74S15374LS1532组数据4选1选择器 使能端Ea、Eb低电平有效1
    74LS7374LS73J=K=T,2个T触发器1
    74LS13874LS1383-8线译码器1
    G074LS00+74LS042输入与门1
    G1、G274LS002输入与非门1
    G3、G6、G7、G874LS042输入非门1
    G4、G9、G1074LS02+74LS042输入或门1
    G574LS862输入异或门1
    红灯2.5V4
    绿灯2.5 V4
    黄灯2.5V4
    个(十)位显示DCD_HEX2

    八、参考书

    [1]阎石.数字电子技术基础第四版[M].北京:高等教育出版社
    [2]罗中华.数字电路与逻辑设计课程[M].北京:电子工业出版社
    [3]梁宗善.电子技术基础课程设计[M].武汉:华中理工大学出版社
    [4]郭海文.电气试验技术[M].北京:中国矿业大学出版社
    [5]74LS73说明书
    [6]74LS138说明书
    [7]74LS153说明书
    [8]74LS192说明书

    展开全文
  • 0 引言随着自动化控制技术和微电子技术的迅猛发展,PLC作为前沿的工业控制器,具有体积小、可靠性高、易操作、灵活性强、抗干扰能力强等一系列...交通灯控制工艺:南北、东西向的十字路口,均设有红、黄、绿三只信号
  • 基于STM32的智能交通灯系统.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,130
精华内容 852
关键字:

交通灯电路设计图及程序