您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页交通灯控制电路

交通灯控制电路

来源:好走旅游网
电子与信息学院电子课程设计

设 计 报 告

学 院 课程名称

电子与信息学院 电子电路课程设计

设计题目 十字路路口交通灯控制电路的设计 专 业 班 级 姓 名 学 号 指导教师 时 间

- 0 - 电子与信息学院电子课程设计

目录

1. 设计任务—--------------------------------------------2 2. 电路工作原理------------------------------------------2 3. 设计要求----------------------------------------------2 4. 方案论证和总体设计------------------------------------2

提出方案------------------------------------------------------2 方案比较------------------------------------------------------7

5.单元电路设计------------------------------------------7

5.1单片机最小系统------------------------------------------------7 5.2串口转并口显示电路--------------------------------------------8 5.3模拟红、绿、黄三色灯部分电路----------------------------------10 5.4软件部分------------------------------------------------------12

6.电路仿真调试------------------------------------------17 7.心得体会----------------------------------------------18

参考文献---------------------------------------------------------------------------------------------18

- 1 -

电子与信息学院电子课程设计

十字路路口交通灯控制电路的设计

1.设计任务

设计并制作一个十字路口的交通灯控制电路(用红、绿、黄发光二极管模拟显示灯),同时用数码管显示禁止和通行时间。

2.电路工作原理

利用AT89S51单片机电路设计并制作。

3.设计要求

3.1、绿灯亮表示允许通行,时间设定为25S;红灯亮表示禁止通行,时间设定为25S黄灯亮表示警告,并要求后5S中,绿灯闪2S,黄灯亮3S。 3.2、时间显示为倒计时,三个指示灯的交替显示要准确。

4.方案论证和总体设计

4.1 提出方案:实现此设计可有三种常用的方法。 4.1.1 用传统的数字电路设计并制作。

数字电路制作交通灯的制作流程图为:

图4-1数字电路交通灯设计流程图

电路电路图如图4-2所示:

- 2 -

电子与信息学院电子课程设计

图4-2 数字电路控制交通灯电路图

图中所示,选用JK触发器,设状态编码为:S0=00 S1=01 S2=11 S3=10,其输出为Q1 Q0倒计时显示采用七段数码管作为显示,它由计数器驱动并显示计数器的输出值。

计数器选用集成电路74190进行设计。74190是十进制同步可逆计数器,它具有异步并行置数功能、保持功能。74190没有专用的清零输入端,但可以借助QA、QB、QC、QD的输出数据间接实现清零功能。

现选用两个74190芯片级联成一个从可任意设定时间00~99倒计至00的计数器,其中作为个位数的74190芯片的CLK接秒脉冲发生器(频率为1),再把个位数74190芯片输出端的QA、QD用一个与门连起来,再接在十位数74190芯片的CLK端。当个位数减到0时,再减1就会变成9, 0(0000)和9(1001)之间的QA、QD同时由0变为1,把QA、QD与起来接在十位数的CLK端,此时会给十位数74190芯片一个脉冲数字减1,相当于借位。

整个交通灯控制系统需要有4个时间显示器,28个交通灯。我在这里共接了6个时间显示器,其中4个用于交通倒计时,另外2个用于显示当前置数

4.1.2 选择MAX7000S系列的EPM7128SLC84-7芯片设计制作。

电路划分为控制器和受控电路两部分。在本系统中,设定系统的工作情况如下。路口交通灯控制系统的东西路有交通灯R(红)、Y(黄)、G(绿);东西人行安全通道灯:RXR(红)、RXG(绿)。南北路有交通灯:r1(红)、y1(黄)、g1(绿);南北人行安全通道灯:rxr1(红)、rxg1(绿),所有灯均为高电平点亮。设置15s的通行时间和5s转换时

- 3 -

电子与信息学院电子课程设计

间的变模定时电路,由预置输入整数cnt决定是模15还是模5,输入逻辑cx是用来决定计数到4时清零还是到14时清零。Clk是外部提供的基准秒脉冲信号。x0、x1、x2、x3是由控制器输出的表示计数时间的四位二进制数。图4-3是该系统控制器的符

号框图。

图4-3 控制器的ASM图

根据系统设计要求,得到控制器的ASM图,如图2所示。在这里,所有输入信号均为高电平有效。该ASM图反映了交通灯系统的不同状态的转换过程及持续时间。

- 4 -

电子与信息学院电子课程设计

图4-4 控制器的VHDL程序设计

根据所分析的系统的ASM图,结合系统的设计要求,用VHDL语言对各个模块进行编程,最后形成顶层文件,在MAX+PLUSⅡ环境下进行编译与仿真,检查所编程序是否运行正确。如果出现错误,需要进行修改,直到完全通过为止。需要说明的是,在进行程序编译时,要先从底层程序开始,所有底层程序都正确后,才能开始顶层程序的编译。这是因为顶层程序是对底层程序的概括,它是把底层程序各个模块连接起来,就相当于把每个模块的功能汇聚到一起,实现整个系统的控制功能,所以底层程序的正确与否,关系到顶层程序的运行结果。

在控制器的程序设计中,在定义结构体时,有两种程序设计方法均可以通过编译及仿真,但在进行时序分析时结果却不同。 (1)如果这样定义: ...

ARCHITECTURE con1_arc of con1 IS SIGNAL current_state:state; BEGIN ...

在进行程序调试时,均通过了编译及仿真,但在进行时序分析中,却出现了不按设定的计数顺序工作的结果:14, 13, 2,1, 0...。经过反复修改调试,对程序进行了修改,如(2)所定义的。 (2)

ARCHITECYTURE con1_arc OF con1 IS SIGNAL current_state:state; SIGNAL TEMP_STATE:state; ...

TEMP STATE<=current_state; BEGIN ...

在这种设计方法中,多定义了一个信号变量,从而使得程序能按设定的状态14,13,12...进行转换。通过这个实例,可以看出EDA技术作为电子设计工具的功能修改

- 5 -

电子与信息学院电子课程设计

及调试的方便快捷,即不需要硬件电路的支持就可以找到问题所在并进行修改,体现了它的优越性。 硬件电路实现

根据交通灯系统的控制要求,图4-5所示为本系统的硬件电路图。该电路包含了1个CPLD芯片,2个七段LED数码显示器,20个分别表示各个方向上的红、黄、绿灯,以及相应的限流电阻。这个电路与其他控制方法相比,所用器件可以说是比较简单经济的。经过实验,实现了预定的交通灯系统的控制功能。

图4-5 系统的硬件电路图

4.1.2利用AT89S51单片机电路设计并制作。

单片机采用ATM 公司的AT89S51,这类芯片容易购买,用起来也很方便。显示部

分分为两部分,一部分就是数码管实现倒计时显示,一部分就是三种不同颜色的发光二极管模拟红、绿、黄交通灯。

数码管采用四个一位的七段数码管。电路用串口方式显示,这种方式可以节省

单片机的接口,实现的程序也比较容易。电路采用74LS164来实现串口对并口的转换,这种芯片价格便宜,容易买到。

电路图如图4-6所示:

- 6 -

电子与信息学院电子课程设计

图4-6利用AT89S51单片机电路设计并制作的电路图

4.2 方案比较:如上所述,采用传统的数字电路设计并制作方案。电路复杂,设计复杂,设计思维能力要求较高,调试起来也有一定的难度。加上电路需要的硬件多,成本高。所以不采用这种方案。

采用MAX7000S系列的EPM7128SLC84-7芯片设计制作方案。电路硬件比较少,但是采用的芯片比较贵,并且软件的设计难度比较大,对软件的设计要借助一定的工具。而这实现这种逻辑编程的工具很贵。所以也不宜采用这种方案。 利用AT89S51单片机电路设计并制作。这种方案硬件少,基本上硬件是设计没有什么难度,都是常用的接法。软件实现难度不高。并且单片机电路也是常用的电路,芯片容易买到,价格又相对便宜。所以我们决定采用这种方案。

5.单元电路设计

电路设计总体上可以分为软件的设计和硬件设计两个部分。而硬件设计部分主要由三个部分组成:单片机最小系统、串口转并口显示电路、模拟红、绿、黄三色灯部分电路。

而软件部分,主要有定时计数模块、七段数码管的输出显示模块和红、绿、黄三色灯的控制模块。

下面将各部分的设计分析如下,包括有关电路图和电路原理的分析。

5.1单片机最小系统。

单片机采用ATM 公司的AT89S51,组面的电路包括,复位电路、晶振电路,和51单片机芯片。电路图如图5-1所示。

- 7 -

电子与信息学院电子课程设计

图5-1 单片机最小系统

图中所示,电路,晶振采用11。0592M,提供电路工作时序。复位电路是上电时使单片机芯片的I/O口置高电平。接法和其它元器件的参数如图5-1所示。

5.2串口转并口显示电路

数码管采用四个一位的七段数码管。电路用串口方式显示,这种方式可以节省单片机的接口,实现的程序也比较容易。电路采用74LS164来实现串口对并口的转换。其引脚和内部结构图如图5-2、图5-3所示:

图5-2 74LS164引脚图

- 8 -

电子与信息学院电子课程设计

图5-3 74LS164内部结构图

74LS164的真值表如图表5-4所示

H-高电平 L-低电平 X-任意电平 ↑-低到高电平跳变 QA0,QB0,QH0 -规定的稳态条件建立前的电平 QAn,QGn -时钟最近的↑前的电平 串口转并口显示电路总体电路图如图5-5所示

- 9 -

电子与信息学院电子课程设计

图5-5 串口转并口显示电路

5.3模拟红、绿、黄三色灯部分电路

此部分电路由红绿黄三色发光二极管和一个非门集成芯片74LS05组成。 其中非门集成芯片74LS05的引脚和内部结构图如图5-6所示:

图5-6 74LS05的引脚和内部结构图

模拟红、绿、黄三色灯部分电路的总体电路图如图5-7所示:

图5-7 模拟红、绿、黄三色灯部分电路图

硬件部分的总体电路图如图5-8所示:

- 10 -

电子与信息学院电子课程设计

- 11 -

图5-8模拟交通灯总体电路图 电子与信息学院电子课程设计

5.4软件部分

软件部分,主要有定时计数模块、七段数码管的输出显示模块和红、绿、黄三色灯的控制模块。其程序如下所示: SECOND1 EQU 30H ;东西路口计时寄存器 SECOND2 EQU 31H ;南北路口计时寄存器 DBUF EQU 40H ;显示码缓冲区1 TEMP EQU 44H ;显示码缓冲区2 LED_R1 BIT P2.1 ;东西路口红灯 LED_G1 BIT P2.2 ;东西路口绿灯 LED_Y1 BIT P2.3 ;东西路口黄灯 LED_Y2 BIT P2.4 ;南北路口黄灯 LED_G2 BIT P2.5 ;南北路口绿灯 LED_R2 BIT P2.6 ;南北路口红灯 ORG 0000H

LJMP START ORG 0100H START: MOV TMOD,#01H ;置T0为工作方式1 MOV TH0,#3CH ;置T0定时初值50ms MOV TL0,#0B0H CLR TF0 SETB TR0 ;启动T0 CLR A MOV P2,A ;关闭不相关的LED

;*************************************************** LOOP: MOV R2,#20 ;置1s计数初值,50ms*20=1s MOV R3,#20 ;红灯亮20s MOV SECOND1,#25 ;东西路口计时显示初值25s MOV SECOND2,#25 ;南北路口计时显示初值25s LCALL DISPLAY

LCALL STATE1 ;调用状态1 WAIT1: JNB TF0,WAIT1 ;查询50ms到否 CLR TF0 MOV TH0,#3CH ;恢复T0定时初值50ms MOV TL0,#0B0H

DJNZ R2,WAIT1 ;判断1s到否?未到继续状态1 MOV R2,#20 ;置50ms计数初值 DEC SECOND1 ;东西路口显示时间减1s DEC SECOND2 ;南北路口显示时间减1s LCALL DISPLAY

DJNZ R3,WAIT1 ;状态1维持20s ;******************************************* MOV R2,#5 ;置50ms计数初值 5*4=20 MOV R3,#3 ;绿灯闪3s

- 12 -

电子与信息学院电子课程设计

MOV R4,#4 ;闪烁间隔200ms MOV SECOND1,#5 ;东西路口计时显示初值5s MOV SECOND2,#5 ;南北路口计时显示初值5s LCALL DISPLAY

WAIT2: LCALL STATE2 ;调用状态2 JNB TF0,WAIT2 ;查询50ms到否 CLR TF0 MOV TH0,#3CH ;恢复T0定时初值50ms MOV TL0,#0B0H

DJNZ R4,WAIT2 ;判断200ms到否?未到继续状态2 CPL LED_G1 ;东西绿灯闪 MOV R4,#4 ;闪烁间隔200ms

DJNZ R2,WAIT2 ;判1s到否?未到继续状态2 MOV R2,#5 ;置50ms计数初值 DEC SECOND1 ;东西路口显示时间减1s DEC SECOND2 ;南北路口显示时间减1s LCALL DISPLAY

DJNZ R3,WAIT2 ;状态2维持3s ;**************************************** MOV R2,#20 ;置50ms计数初值 MOV R3,#2 ;黄灯闪2s MOV SECOND1,#2 ;东西路口计时显示初值2s MOV SECOND2,#2 ;南北路口计时显示初值2s LCALL DISPLAY

WAIT3: LCALL STATE3 ;调用状态3 JNB TF0,WAIT3 ;查询100ms到否 CLR TF0 MOV TH0,#3CH ;恢复T0定时初值100ms MOV TL0,#0B0H

DJNZ R2,WAIT3 ;判断1s到否?未到继续状态3 MOV R2,#20 ;置100ms计数初值 DEC SECOND1 ;东西路口显示时间减1s DEC SECOND2 ;南北路口显示时间减1s LCALL DISPLAY

DJNZ R3,WAIT3 ;状态3维持2s ;******************************************* MOV R2,#20 ;置50ms计数初值 MOV R3,#20 ;红灯闪20s MOV SECOND1,#25 ;东西路口计时显示初值25s MOV SECOND2,#25 ;南北路口计时显示初值25s LCALL DISPLAY

WAIT4: LCALL STATE4 ;调用状态4 JNB TF0,WAIT4 ;查询100ms到否 CLR TF0

- 13 -

电子与信息学院电子课程设计

MOV TH0,#3CH ;恢复T0定时初值100ms MOV TL0,#0B0H

DJNZ R2,WAIT4 ;判断1s到否?未到继续状态4 MOV R2,#20 ;置100ms计数初值 DEC SECOND1 ;东西路口显示时间减1s DEC SECOND2 ;南北路口显示时间减1s LCALL DISPLAY

DJNZ R3,WAIT4 ;状态4维持20s ;******************************************* MOV R2,#5 ;置50ms计数初值 MOV R4,#4 ;红灯闪20ms MOV R3,#3 ;绿灯闪3s MOV SECOND1,#5 ;东西路口计时显示初值5s MOV SECOND2,#5 ;南北路口计时显示初值5s LCALL DISPLAY

WAIT5: LCALL STATE5 ;调用状态5 JNB TF0,WAIT5 ;查询100ms到否 CLR TF0 MOV TH0,#3CH ;恢复T0定时初值100ms MOV TL0,#0B0H

DJNZ R4,WAIT5 ;判断200ms到否?未到继续状态5 CPL LED_G2 ;南北绿灯闪 MOV R4,#4 ;闪烁200ms

DJNZ R2,WAIT5 ;判断1s到否?未到继续状态5 MOV R2,#5 ;置100ms计数初值 DEC SECOND1 ;东西路口显示时间减1s DEC SECOND2 ;南北路口显示时间减1s LCALL DISPLAY

DJNZ R3,WAIT5 ;状态5维持3s ;**************************************** MOV R2,#20 ;置50ms计数初值 MOV R3,#2 ;红灯闪2s MOV SECOND1,#2 ;东西路口计时显示初值2s MOV SECOND2,#2 ;南北路口计时显示初值2s LCALL DISPLAY

WAIT6: LCALL STATE6 ;调用状态6 JNB TF0,WAIT6 ;查询100ms到否 CLR TF0 MOV TH0,#3CH ;恢复T0定时初值100ms MOV TL0,#0B0H

DJNZ R2,WAIT6 ;判断1s到否?未到继续状态6 MOV R2,#20 ;置100ms计数初值 DEC SECOND1 ;东西路口显示时间减1s DEC SECOND2 ;南北路口显示时间减1s

- 14 -

电子与信息学院电子课程设计

LCALL DISPLAY

DJNZ R3,WAIT6 ;状态6维持2s LJMP LOOP ;大循环

;********************************************** STATE1: ;状态1

SETB LED_G1 ;东西路口绿灯亮 CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2

SETB LED_R2 ;南北路口红灯亮 RET

STATE2: ;状态2 CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2

SETB LED_R2 ;南北路口红灯亮 RET

STATE3: ;状态3 CLR LED_G1 CLR LED_R1 CLR LED_G2 CLR LED_Y2

SETB LED_R2 ;南北路口红灯亮 SETB LED_Y1 ;东西路口绿灯亮 RET

STATE4: ;状态4 CLR LED_G1 CLR LED_Y1

SETB LED_R1 ;东西路口红灯亮 SETB LED_G2 ;南北路口绿灯亮 CLR LED_Y2 CLR LED_R2 RET

STATE5: ;状态5 CLR LED_G1 CLR LED_Y1

SETB LED_R1 ;东西路口红灯亮 CLR LED_Y2 CLR LED_R2 RET

STATE6: ;状态6 CLR LED_G1

- 15 -

电子与信息学院电子课程设计

CLR LED_Y1

SETB LED_R1 ;东西路口红灯亮 CLR LED_G2 CLR LED_R2

SETB LED_Y2 ;南北路口红灯亮 RET DISPLAY: ;数码显示 MOV A,SECOND1 ;东西路口计时寄存器 MOV B,#10 ;16进制数拆成两个10进制数 DIV AB MOV DBUF+3,A MOV A,B MOV DBUF+2,A MOV A,SECOND2 ;南北路口计时寄存器 MOV B,#10 ;16进制数拆成两个10进制数 DIV AB MOV DBUF+1,A MOV A,B MOV DBUF,A MOV R0,#DBUF MOV R1,#TEMP MOV R7,#4 DP10: MOV DPTR,#LEDMAP MOV A,@R0 MOVC A,@A+DPTR MOV @R1,A INC R0 INC R1

DJNZ R7,DP10 MOV R0,#TEMP MOV R1,#4 DP12: MOV R7,#8 MOV A,@R0 DP13: RLC A MOV P3.0,C CLR P3.1 SETB P3.1 DJNZ R7,DP13 INC R0

DJNZ R1,DP12 RET LEDMAP:

DB 3FH,06H,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,07H,7FH,6FH,77H,7CH ;6,7,8,9,A,B

- 16 -

电子与信息学院电子课程设计

DB 58H,5EH,7BH,71H,0,40H END

;C,D,E,F, ,-

6.电路仿真调试

我们采用Protues对电路进行了仿真调试,并且采用Keil c对程序进行了调试。仿真电路图如图6-1 、图6-2所示:

图6-1仿真电路图1

- 17 -

电子与信息学院电子课程设计

图6-2仿真电路图2

7.心得体会

EDA课程设计,给我最大感想就是:从设计,到仿真调试,再到电路的焊接,最后成品的制成,每一个步骤都可能存在很多难点,.出现很多的问题。这要求我们首先要有信心和耐心,还得细心,其次要有正确的学习态度,最后你得有扎实的理论基础和一定的动手能力。要明白不管看上去多么简单的电路,实际做起来还是很难的,为了不走太多的弯路,一开始就要有认真对待的准备。

作品的选题和设计过程中,我们选取了一道我们有把握,知识点我们觉得可以掌握的题,这样做起来才能够实现理论和实践的接合,从中学到更多的知识。在设计过种中我们分难点分步进行设计,首先在心中要有一个模块,然后在把想法拿到仿真软件里去一一验证。这一步是很重要的,也是实实在在学习的关健所在。这其中我们碰到的难题就是,实验参数的设计。要达到课程的数据要求,必需进行了大量的仿真调试和大量查阅相关的芯片参数。这其中要求你要有一定的数电模电的基础知识。这其中另一个关键之处就是组员的合作,要把问题摆出来充分讨论共同去查阅解决。做到这点,才能事半功倍。我们这组一个人理论知识很好,一个人动手能力很好的人,这样设计起来才能很好的把理论和实践之间的不同点接合起来,少走了不少的弯路。

参考文献

1、韩克 柳秀山 冯明库 薛迎霄 《电子技能与EDA技术》·第1版·曁南大学·2004.12

3、江晓安 董秀峰 《模拟电子技术》·第2版·西安电子科技大学出版社·2005.1 4、清华大学电子学教研组 余孟尝 《数字电子技术基础简明教程》·第2版·高等教育出版社·2005.5

5、周润景 袁伟亭 景晓松 《Proteus在MCS-51和ARM7A系统中的应用百例》·第1版·电子工业出版社·2006.10

- 18 -

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务