EDA实验报告实验五:交通灯控制器设计

合集下载

交通灯控制器设计实验报告

交通灯控制器设计实验报告

设计性实验项目名称 交通灯控制器设计

实验项目学时:3学时 实验要求:■ 必修 □ 选修

一、实验目的

1、 学习与日常生活相关且较复杂数字系统设计;

2、 进一步熟悉EDA 实验装置和Quartus Ⅱ软件的使用方法;

3、 学习二进制码到BCD 码的转换;

4、 学习有限状态机的设计应用。

二、实验原理

交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又 有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很 简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北 和东西直行的情况。

要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的

发光

极管

,即红

、黄

三、设计要求

完成设计、仿真、调试、下载、硬件测试等环节,在型EDA 实验装置上实现一个由一条主干道和一条乡间公路的汇合点形成的十字交叉路口的交通灯控制器功能,具体要求如下: 1、 有MR (主红)、MY (主黄)、MG (主绿)、CR (乡红)、CY (乡黄)、CG (乡绿)六盏交通灯需要控制; 2、 交通灯由绿转红前有4秒亮黄灯的间隔时间,由红转绿没有间隔时间; 3、 乡间公路右侧各埋有一个串连传感器,当有车辆准备通过乡间公路时,发出请求信号S=1,其余时间S=0;

4、 平时系统停留在主干道通行(MGCR )状态,一旦S 信号有效,经主道黄灯4

秒(MYCR )状态后转入乡间公路通行(MRCG )状态,但要保证主干道通行大于一分钟后才能转换; 5、 一旦S 信号消失,系统脱离MRCG 状态,即经乡道黄灯4秒(MRCY )状态进入MGCR 状态,即使S 信号一直有效,MRCG 状态也不得长于20秒钟;

EDA-实验报告

EDA-实验报告

实验一五人表决器设计

一、实验目的

1 加深对电路理论概念的理解

3 加深计算机辅助分析及设计的概念

4 了解及初步掌握对电路进行计算机辅助分析的过程

二、实验要求

制作一个五人表决器,共五个输入信号,一个输出信号。若输入信号高电平数目多于低电平数目,则输出为高,否则为低。

三、实验原理

根据设计要求可知,输入信号共有2^5=32种可能,然而输出为高则有15种可能。对于本设计,只需一个模块就能完成任务,并采用列写真值表是最简单易懂的方法。

四、计算机辅助设计

设A,B,C,D,E引脚为输入引脚,F为输出引脚。则原理图如1所示

图1.1 五人表决器原理图

实验程序清单如下:

MODULE VOTE

A,B,C,D,E PIN;

F PIN ISTYPE 'COM';

TRUTH_TABLE

([A,B,C,D,E]->[F])

[0,0,1,1,1]->[1];

[0,1,1,1,0]->[1];

[0,1,0,1,1]->[1];

[0,1,1,0,1]->[1];

[1,0,1,1,1]->[1];

[1,1,0,1,1]->[1];

[1,1,1,0,1]->[1];

[1,1,1,1,0]->[1];

[1,1,1,0,0]->[1];

[1,1,0,1,0]->[1];

[1,1,1,1,1]->[1];

[1,1,0,0,1]->[1];

[1,0,0,1,1]->[1];

[1,0,1,0,1]->[1];

[1,0,1,1,0]->[1];

EDA实验报告

EDA实验报告

一、实验内容

使用封装的标准74LS 器件基本电路设计一个四选一数据选择器。

二、实验设计

S A B OUT 1 / / 1 0 0 0 C0 0 0 1 C1 0 1 0 C2 0

1

1

C3

三、实验内容

按照分析的结果表格,计算出四选一数据选择器的逻辑函数 OUT=]''''['3210ABC C AB BC A C B A S ++++ 按照上述逻辑函数,连接下图逻辑图,即可达到功能。

1、使用文本设计方式完成一个四位二进制比较器

2、使用文本设计方式完成一个四位二进制加法器

三、四位二进制比较器的设计实验

1、四位二进制比较器的功能要求

四位二进制比较器的基本输入输出模式如右图

其中,输入为两个四位二进制数字a,b,3为高

位,0为低位。要求当a>b时,bt代表的灯亮(值

为1),a<b时,st代表的灯亮,a=b时,eq代表的

灯亮。

a b bt eq st

1 0 1 0 0

0 0 0 1 0

0 1 0 0 1

3、代码设计

library ieee;

use ieee.std_logic_1164.all; /*程序头文件*/

entity Exp_2 is /*定义此项目的输入与输出及其格式*/ port(a:in std_logic_vector(3 downto 0); /*定义了两个包含4个变量的变量组*/ b:in std_logic_vector(3 downto 0);

bt,st,eq:out std_logic);

end Exp_2;

architecture behave of Exp_2 is

EDA课程设计报告

EDA课程设计报告

EDA课程设计报告

实训任务:

一、实训目的和要求:

(1)熟练掌握keil c51集成开发环境的使用方法

(2)熟悉keil c51集成开发环境调试功能的使用和dp?51pro。net单片机仿真器、编程器、实验仪三合一综合开发平台的使用。

(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。

(4)了解掌握单片机芯片的烧写方法与步骤。

(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。

(6)掌握利用protel 99 se绘制电路原理图及pcb图。

(7)了解pcb板的制作腐蚀过程。

二、实训器材:

pc机(一台)

pcb板(一块)

520ω电阻(八只)

10k电阻(一只)

led发光二极管(八只)

25v 10μf电容(一只)

单片机ic座(一块)

at89c51单片机芯片(一块)

热转印机(一台)

dp?51pro。net单片机仿真器、编程器、实验仪三合一综合开发平台(一台)

三、实训步骤:

(2)将流水灯程序编写完整并使用tkstudy ice调试运行。

(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。

(6)制板。首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb 板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb板上布线图外的铜全部后,将其取出,清洗干净。

(7)焊接。将所给元器件根据原理图一一焊至pcb板相应位置。

(8)调试。先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。

电子电路EDA实验(1)

电子电路EDA实验(1)
电子电路EDA实验(1)
实验五 交通灯控制器设计
一、实验目的 了解较复杂数字系统的设计,学习VHDL的多层次设
计方法。 二、实验内容
依据交通常规“红灯停, 绿灯行,黄灯提醒”,按表 所示要求,完成交通灯控 制器的VHDL多层次描述。 要求将程序分成几个基本 模块,首先对基本模块逐一完成文本输入、编译、仿真。 然后输入顶层程序,并完成编译、仿真、引脚锁定、下载
电子电路EDA实验(1)
2023/12/28
电子电路EDA实验(1)
电子电路EDA实验
二、实验设备 微型计算机
EDA实验箱 ZYE1502C
电子电路EDA实验(1)
实验一 原理图输入设计组合逻辑电路
一、实验目的 通过简单组合逻辑电路的设计,初步了解CPLD设计
的全过程和相关EDA软件 MAX+plusII的使用。掌握原理 图输入的设计方法和流程,学会对实验开发系统中的 CPLD的编程下载、硬件测试。
3. 实验连线:清零端Reset接按键开关,clk时钟源 (clk<1Hz),四位输出D3、D2、D1、D0接四个LED灯。
电子电路EDA实验(1)
实验三 文本输入设计逻辑门电路
一、实验目的 熟悉MAX+plusII的文本设计全过程,掌握简单逻辑
电路的VHDL描述、文本输入、仿真和硬件下载测试。
二、实验内容 1. 使用VHDL中定义的逻辑操作符,设计一个能同时

EDA课设交通灯

EDA课设交通灯

《EDA技术及应用》

课程设计报告

题目:交通灯控制系统的设计

院(系):机电与自动化学院

专业班级:

学生姓名:

学号:20142101063

指导教师:

2017年6月 19日至2016年 6 月 23日

武昌首义学院制

《EDA技术及应用》课程设计任务书

目录

1课程设计主要内容与要求 (2)

1.1设计目的 (2)

1.2控制要求 (2)

1.3设计要求 (2)

2系统设计 (3)

2.1系统原理 (3)

2.2 电路功能描述 (3)

2.3 交通灯控制器的实现 (3)

2.4 软件程序设计 (5)

2.5 时钟分频模块 (6)

2.6 计数模块 (6)

2.7 数码管模块 (7)

2.8 LED显示模块 (8)

3 软件程序设计 (9)

4 硬件电路图、软件仿真图及调试结果 (11)

4.1硬件电路 (11)

4.2引脚设置 (12)

5 软件仿真 (13)

6设计过程中的问题及解决办法 (16)

7 实验总结和心得体会 (16)

8 参考文献 (16)

1课程设计主要内容与要求

1.1设计目的

学习DEA开发软件和QuartusII的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。

1.2控制要求

本课程设计要求利用VHDL对输入的时钟信号进行分频控制产生秒信号,并结合试验箱上的集成电路及芯片,控制十字路口的红绿黄灯交替点亮和熄灭,并用1位7段数码管显示十字路口两个方向的剩余时间。

①根据交通状态控制十字路口红黄绿灯的点亮熄灭及闪烁等。

②倒计时功能:从9秒开始倒计时,3秒时绿灯变黄并闪烁,红灯不变。9秒结束时一组黄灯变红,另外一组红灯变绿。

EDA课程设计-交通灯-图文

EDA课程设计-交通灯-图文

EDA课程设计-交通灯-图文

交通信号灯控制电路设计

一、概述

城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。目前,大部

分无控制交叉口都存在高峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和服务水平低下等问题。特别是随着城市车流量的快

速增长,城市无控制道路交叉口的交通压力越来越大。因此,做好基于EDA技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉

口车辆通行效率的有效方法。交通信号控制的目的是为城市道路交叉口

(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆

在交叉口的通过量最大或车辆在交叉口的延误最小。交通信号灯控制电路

是显示主干道和支干道交替放行时间并用试验箱左上角的彩灯来红黄绿支

红代替信号灯的一种实际电路。设计一个基于FPGA的红绿灯交通信号控

制器。假设某个十干黄绿道字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄三种信号灯,红灯亮禁止通行,绿灯亮允许通行。

黄灯亮允许行驶中车辆有时间停靠到禁止线以外。

第-1-页共18页

二、方案设计与论证

在硬件时钟电路的基础上,采用分频器,输出一个1S的时钟信号,

在时钟信号的控制下,实现主干道和支干道红绿灯交替显示。红绿灯交通

灯控制器层次设计:

EDA技术的基本设计方法有电路级设计方法和系统级设计方法。电路

级设计方法已经不能适应新的形势,本系统采用的是系统级层次设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片FPGA芯片

实现,首先用VHDL语言编写各个功能模块程序,最后通过综合器和适配

五人表决器_九九乘法表__交通灯(EDA报告)

五人表决器_九九乘法表__交通灯(EDA报告)

实验一五人表决器的设计

一、实验目的

1、了解和初步掌握ISPlever软件的基本操作方法以及电子线路的程序编写

abel语言的编写。

2、通过实验,加深电路设计的概念以及了解计算机辅助设计分析的过程

3、培养学生的创新能力以及理论知识的应用能力。

二、实验内容及步骤

本实验要求利用ISPLEVER软件完成对五人表决器的设计及仿真,表决规则是,多数胜少数。分析题意,我们可以知道此次仿真应有五个输入端口,一个输出端口。分别设置其A,B,C,D,E为输入端口,F为输出端口。故分析可知其真值表如下所示:

图1:无人表决器真值表

可分析:无人中任意三人通过则表决可以通过,故得到其逻辑表达式为

F=ABC+ABD+ABE+ACD+ACE+ADE+BCD+BCE+BDE+CDE

实验步骤:

1、打开ISPLEVER软件,新建一个项目,并命名为Untitled.syn。

2、在新建立的项目的基础上新建一个原理图文件,并为之命名为

biaojueqi.sch。用软件绘制原理图如下所示:

图2:五人表决器原理图

3、在顶层原理图的基础上,为模块编写ABEL语言程序,原理图中建立了WTF

模块,新建立一个程序文件wtf.abl。

编写此项目的仿真文件程序biaojueqi.abv得到:

对此项目文件进行仿真,得到仿真结果如图:

图3:实验结果仿真分析三、实验结果分析

本次实验设计的是五人表决器,要求A,B,C,D,E五个输入中只要有三个以上为1,那么实验的输出即为1。通过分析,我们得到了表决器输出的逻辑表达式,然后根据表达式完成了VOTE项目的设计,项目设计后仿真得到,A,B,C,D,E全为1时则全票通过;A,B,D,E为1,C为0时F为1;A,B,E 为1,C,D为0时F为1;A,B为1,C,D,E为0时F为0;A,B,C,D为0,E 为1时输出F为0;当A,B,C,D,E全为0时,则F=0;经过TEST文件来对程序检测,发现设计基本可以完成表决任务。

EDA 实验报告

EDA 实验报告

EDA 实验报告

交通灯设计

1.实验任务

1.1 请设计一个控制交通信号灯的有限状态机。编写VHDL代码并为您的设计创建Quartus II 项目。以一般状态机的形式编写VHDL代码,用于有限状态机。编译您的代码并查看RTL网表和状态转换图。为了检查Quartus II产生的电路,打开RTL查看器工具。双击表示有限状态机的电路中所示的框,并确定它所显示的状态图是否对应于所需的状态图。利用时序仿真验证控制器的正确运行。一旦仿真工作正常,将电路下载到DE2板上并对其进行测试。在DE2板上使用KEY0来对FSM进行计时,并使用SW0作为同步有效低复位输入。使用任何两个拨动开关作为两个流量传感器。红绿灯应显示交通信号灯的值。

1.2 在步骤1完成后,请提供一个具有5秒周期的时钟。你可以在DE2板上使用50 MHz时钟信号CcLogy50。确保整个控制器由CcLogy50输入直接计时。不要在电路中派生或使用任何其他时钟信号。

2. 实验内容及结果

2.1 无5秒时序的交通灯

1) VHDL 代码

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY TRF IS

PORT (CLK,RST :IN STD_LOGIC;

TA :IN STD_LOGIC;

TC :IN STD_LOGIC;

GA,GC,RA,RC,YA,YC : buffer STD_LOGIC);

END TRF;

ARCHITECTURE behv OF TRF IS

TYPE TRF_ST IS (S0,S1,S2,S3);

实验五 人行道交通灯控制实验

实验五 人行道交通灯控制实验

实验五:人行道交通灯控制实验

一、实验目的

1. 掌握步进顺控指令中选择性分支与汇合的编程方法;

2. 掌握步进顺控指令中并行分支与汇合的编程方法;

3. 掌握跳转处理程序的编程。

二.实验器材:

1.NC-PLC-2000可编程控制器实验箱一台

2.编程电缆一根

3.连接导线若干

三.实验原理和电路:

设计一个用于过高速公路人行横道的按钮式PLC控制SFC程序

,示意图如图1所示;

图1

(1)控制要求

通常车道常开绿灯,人行道常开红灯。行人过马路时,按下人行横道按

钮SB0或SB1后,红绿灯的变化时序如图2所示。

开始30秒内红绿灯状态保持不变,此后车道灯由绿变黄,黄灯亮10秒后,再由黄变红。车道红灯亮后5秒,人行道绿灯才亮,15秒后人行道绿灯开始闪烁,亮暗间隔为0.5秒,共闪烁5次后才变为人道红灯亮。此后5秒,车道绿灯才亮。至此又恢复为通常状态。

图2

四.实验内容及步骤:

1.按图3用FXGP软件的顺序功能图绘制程序,将程序写入PLC运行;2.写出相应的步进梯形图;

3.写出实验现象

图3五.实验报告要求

(一).实验目的:

(二).实验器材:

(三).实验原理和电路:(四).实验内容及步骤:(五).实验操作结果现象及结论。

EDA实验 (2)

EDA实验 (2)

实验一、QUARTUS II的使用

一、实验目的

了解QUARTUS II的功能及使用方法,掌握CPLD/FPGA的开发步骤。

二、实验要求

利用图形输入法设计一个3—8译码器,并完成编译、仿真、编程下载、硬件测试等过程。

三、实验原理与方案

QUARTUS II是完全集成化的可编程逻辑设计环境,可以完成设计输入、编译、仿真、编程下载等一系列过程。

在QUARTUS II中可采用原理图输入法进行设计,即先为工程建立一个文件夹,然后在原理图输入窗口调入所用元件,连线后得到正确的设计原理图,然后再进行编译、排错、仿真、下载等操作。

编译通过的设计项目是否能完成预期的逻辑功能,可以通过仿真来验证,主要步骤如下:

(1)建立仿真通道文件(sof)。(2)输入信号节点。

(3)设置仿真参数。(4)设定仿真时间。

(5)设置输入信号波形。(6)保存波形文件。

(7)运行仿真器。(8)观察波形。

在仿真通过后,可以对器件进行编程各硬件测试。在编程前要完成目标芯片的引脚锁定,并重新编译。

四、实验内容、步骤与结果

1、建立文件夹:F:\MY_Project。

2、启动Quartus II ,打开图形编辑器输入设计并存盘。电路图如下:

3、项目编译

1)将设计文件设成项目。

2)选择目标器件:ACEX-EP1K10TC100-3。

3)参数设置:取默认值。

4)编译。

4、时序仿真

1)建立波形文件:CNT10.vwf。

2) 参数设置。

3)打开仿真窗口并“START”。

4)查看仿真结果,如上图所示。

5、器件编程

1)连好电缆,锁定引脚并重新编译。

EDA实验报告

EDA实验报告

EDA 实验报告

交通灯实验

一.实验目的

通过此实验让用户进一步了解、熟悉和掌握 CPLD/FPGA 开发软件的的

使用方法及Verilog HDL 的编程方法。学习简单状态机的设计和硬件测试。

二.实验内容

本实验的内容是设计一个简易的交通灯控制器,要求能实现红、绿、黄灯三种信号的控制并通过数码管显示倒计时时间。整个设计在SmartSOPC 实验箱上实现,用第一、第二个数码管显示A方向的倒计时时间,用第七、第八个数码管显示B方向的倒计时时间。此外,由于缺少交通灯模块,本实验用第一、第二、第三个LED灯代表A方向的红、绿、黄灯三种信号,用第六、第七、第八个LED 灯代表B方向的红、绿、黄等三种信号。

三.实验原理

本实验设计的交通灯控制器要求实现对 A、B 两个方向的红、绿、黄灯三种信号的控制,并能实现时间显示的倒计时。因此每个方向的信号可用一个状态机实现(参考交通灯.ppt),状态的跳转顺序为红灯-绿灯-黄灯-红灯(另一个的状态应为绿-黄-红-绿),同时设计一个计时器,来记录每种灯的倒计时时间。最后将交通灯的状态信息输出至数码管和对应LED灯。注意,一个方向的红灯时间应和另一个方向的绿黄灯时间总和相等。

四.实验步骤

1) 启动Quartus II 建立一个空白工程,然后命名为traffic_test.qpf(器件为:EP3C55F484C8)。

2)加入并完成交通灯控制模块traffic_ctrl.v,加入顶层模块traffic_test 及交通灯显示模块traffic_display.v,进行综合编译,若在编译过程中发现

EDA课程设计交通灯

EDA课程设计交通灯

设计题目:交通信号控制器班级:

学号:

姓名:

指导老师:

设计时间:2023年4月

交通信号控制器的VHDL设计

一、设计任务:

模拟十字路口交通信号灯的工作过程,运用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。规定:

(1)交通灯从绿变红时,有4秒黄灯亮的间隔时间;

(2)交通灯红变绿是直接进行的,没有间隔时间;

(3)主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒;

(4)在任意时间,显示每个状态到该状态结束所需的时间。

支干道

主干道

图1 路口交通管理示意图

表1 交通信号灯的4种状态

二、设计目的:

设计交通灯控制系统重要是为了实现城市十字交叉路口红绿灯的控制。通过对QuartusII软件使用方法与技巧的学习,掌握VHDL程序设计的实现,熟悉可编程逻辑器件的使用。同时加深对交通灯控制系统的了解与应用。

三、设计方案:

图2 交通信号灯控制器的原理框图

信号灯输出

图3 交通信号灯控制器程序原理框图

四、程序清单和说明:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY TRAFFIC IS

PORT (CLK: IN STD_LOGIC;

LED7S1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--数码管高位显示数字

LED7S2: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--数码管低位显示数字

LIGHT: OUT STD_LOGIC_VECTOR(5 DOWNTO 0));--各交通灯显示

EDA实验总结报告

EDA实验总结报告

数字EDA实验

实验报告

学院:计算机科学与工程学院

专业:通信工程

学号: 0941903207 姓名:薛蕾

指导老师:钱强

实验一四选一数据选择器的设计

一、实验目的

1、熟悉Quartus II软件的使用。

2、了解数据选择器的工作原理。

3、熟悉EDA开发的基本流程.

二、实验原理及内容

实验原理

数据选择器在实际中得到了广泛的应用,尤其是在通信中为了利用多路信号中的一路,可以采用数据选择器进行选择再对该路信号加以利用。

从多路输入信号中选择其中一路进行输出的电路称为数据选择器。或:在地址信号控制下,从多路输入信息中选择其中的某一路信息作为输出的电路称为数据选择器.数据选择器又叫多路选择器,简称MUX。

4选1数据选择器:

(1)原理框图:如右图.

D0 、D1、D2、D3:输入数据

A1 、A0 :地址变量

由地址码决定从4路输入中选择哪1路输出.

(2)真值表如下图:

(3)逻辑图

数据选择器的原理比较简单,首先必须设置一个选择标志信号,目的就是为了从多路信号中选择所需要的一路信号,选择标志信号的一种状态对应着一路信号。在应用中,设置一定的选择标志信号状态即可得到相应的某一路信号.这就是数据选择器的实现原理.

三.实验内容

1、分别采用原理图和VHDL语言的形式设计4选1数据选择器

2、对所涉及的电路进行编译及正确的仿真.

电路图:

四、实验程序

library ieee;

use ieee.std_Logic_1164.all;

ENTITY mux4 IS

PORT(

a0,a1, a2, a3 :IN STD_LOGIC;

s :IN STD_LOGIC_VECTOR (1 DOWNTO 0);

简易交通灯控制电路的设计

简易交通灯控制电路的设计

一、设计题目

题目一:在某交叉路口的南北方向设置有红灯(A1)、黄灯(B1)、绿灯C1),东西方向也设置有红灯(A2)、黄灯(B 2)、绿灯(C2)。红灯亮是停车信号,绿灯亮是通车信号,黄灯亮是右转弯信号。根据交通规则,上述信号灯应按下图流程循环。试用三个JK 触发器构成一个同步二进制计数器,并将其输出信号Q3、Q2、Q1 译码后启动红、黄、绿信号灯,使其按图5.2.1 流程循环。(译码电路全部用与非门实现)。

题目二:在某交叉路口的南北方向设置有红灯(A1)、黄灯(B1)、绿灯(C1),东西方向也设置有红灯(A2)、黄灯(B2)、绿灯(C 2)。红灯亮是停车信号,持续时间3秒,绿灯亮是通车信号,持续时间2秒,黄灯亮是停车与通行的过度信号,持续时间1秒。根据交通规则,上述信号灯应按图4-3-23流程循环。

题目三:在设计题目二的基础上,实现两路口灯电亮时间倒计时显示,每个方向各用一个数码管显示,如南北向的数码管在红灯亮时显示4、3、2、1,接着在绿灯亮时显示3、2、1,最后在黄灯亮时显示1,同时,东西方向的数码管在绿灯亮时显示3、2、1,接着在红灯亮时显示4、3、2、1,最后在黄灯亮时显示1 。

设计思路:根据模块化设计自上而下的设计方法,先确定交通灯的整体架构:

脉冲信号源秒脉冲6进制

计数器

Q3

Q2

Q1

译码

电路

A1

A2

B1

B2

C1

C2 BCD译码

电路

对各个功能模块细化,确定具体电路:

1、脉冲源由实验箱提供,不需自行设计

2、6进制计数器采用同步加法计数器的设计方案,理解理论课程中用JK触发器实现同步计数器的设计方法,完成计数器电路的理论推导

完整单片机交通灯课程实验报告

完整单片机交通灯课程实验报告

课程设计任务书

学生姓名:王凯专业班级:电子科学与技术0901班

指导教师:吴友宇工作单位:信息工程学院

题目: 交通信号灯控制器的设计

初始条件:

本设计既可以使用集成集成译码器、计数器、定时器、脉冲发生器和必要的门电路等。本设计也可以使用单片机系统构建交通信号灯控制器。

用数码管显示时间计数值,用红、黄、绿LED作信号灯。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具

体要求)

1、课程设计工作量:1周。

2、技术要求:

①要求甲车道和乙车道两条交叉道路上的车辆交替运行(以红绿灯指示),每次通行

时间设为0—30秒(可预置);变更车道以前,黄灯先亮5秒钟,黄灯亮时,要求每秒钟闪亮一次;两个车道均以减计数方式显示时间。其余部分可根据情况自行发挥。

②确定设计方案,按功能模块的划分选择元、器件和集成电路,设计分电路,阐述

基本原理。

③绘制总体电路原理图。

3、查阅至少5篇参考文献。按《武汉理工大学课程设计工作规范》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。

时间安排:

1、2011 年7 月3 日集中,作课设具体实施计划与课程设计报告格式的要求说明。

2、2011 年7 月3 日,查阅相关资料,学习电路的工作原理。

2、2011年7 月4 日至2011 年7 月5日,方案选择和电路设计。

2、2011 年7 月6日至2011 年7 月7 日,电路调试和设计说明书撰写。

3、2011 年7 月8 日上交课程设计成果及报告,同时进行答辩。

指导教师签名:年月日

系主任(或责任教师)签名:年月日

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五十字路口交通灯控制器设计一.实验目的

1.进一步加强经典状态机的设计

2.学会设计模可变倒计时计数器

二.实验要求

一条主干道,一条乡间公路。组成十字路口,要求优先保证主干道通行。有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG(乡绿)六盏交通灯需要控制;交通灯由绿→红有4秒黄灯亮的间隔时间,由红→绿没有间隔时间;系统有MRCY、MRCG、MYCR、MGCR四个状态;

乡间公路右侧各埋有一个传感器,当有车辆通过乡间公路时,发出请求信号S=1,其余时间S=0;

平时系统停留在MGCR(主干道通行)状态,一旦S信号有效,经MYCR(黄灯状态)转入MRCG(乡间公路通行)状态,但要保证MGCR的状态不得短于一分钟;一旦S信号无效,系统脱离MRCG状态。随即经MRCY(黄灯状态)进入MGCR 状态,即使S信号一直有效,MRCG状态也不得长于20秒钟。

三.实验设计:

1.一条主道,一条乡道,组成十字路口,要求优先保证主道通行。

2.当主道没有车通行,且乡道友车要通行时,并且此时主道通行时间大于1分钟,则主道变黄灯,乡道保持红灯,经过4秒倒计时时间进入主道为红灯乡道为绿灯的状态。再倒计时20秒钟。在倒计时过程中,若乡道突然没有车通行,马上进入主道红灯,乡道黄灯状态,倒计时4秒。

3.之后主道变为绿灯,乡道为红灯,这时无论乡道有无车通行都要倒计时60秒,然后若乡道有车通行则主道为黄灯,乡道为红灯,若乡道一直没有车要通行则保持主道通行,若乡道友车通行则按照上面的状态依次进行转换。

按照以上的思路,设计两个底层文件和一个顶层文件:

1.模块1是状态改变控制6盏灯的亮与灭。

2.模块2是控制数码管显示倒计时数并且输出作为模块1的输入控制状态改变3.将两个模块连接成顶层文件,即可完成设计。

四.实验步骤

1.分别将两个模块的代码输入,两个模块的代码如下:

1)控制6盏灯的模块代码

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY jtd IS

PORT(clk,RESET,S:IN STD_LOGIC;

COUNT:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

MG,MY,MR,CG,CY,CR:OUT STD_LOGIC);

END jtd;

ARCHITECTURE behav OF jtd IS

TYPE jtdSTATE IS(mgcr,mycr,mrcg,mrcy);

SIGNAL STATE:jtdSTATE;

BEGIN

PROCESS(RESET,STATE,clk, S)

BEGIN

IF RESET='1' THEN STATE<=mgcr;MG<='1';CR<='1';MY<='0';MR<='0';CG<='0';CY<='0';

ELSIF clk'EVENT AND clk='1' then

CASE STATE IS

WHEN mgcr=>IF COUNT="00000000" AND S='1'THEN

STATE<=mycr;MY<='1';CR<='1';MG<='0';MR<='0';CG<='0';CY<='0';

ELSE

STATE<=mgcr;MG<='1';CR<='1';MY<='0';MR<='0';CG<='0';CY<='0';

END IF;

WHEN mycr=>IF COUNT="00000000" THEN

STATE<=mrcg;MR<='1';CG<='1';MG<='0';MY<='0';CR<='0';CY<='0';

ELSE

STATE<=mycr;MY<='1';CR<='1';MG<='0';MR<='0';CG<='0';CY<='0';

END IF;

WHEN mrcg=>IF COUNT="00000000" OR S='0'THEN

STATE<=mrcy;MR<='1';CY<='1';MY<='0';MG<='0';CR<='0';CG<='0';

ELSE

STATE<=mrcg;MR<='1';CG<='1';MG<='0';MY<='0';CR<='0';CY<='0';

END IF;

WHEN mrcy=>IF COUNT="00000000" THEN

STATE<=mgcr;MG<='1';CR<='1';MR<='0';MY<='0';CY<='0';CG<='0';

ELSE

STATE<=mrcy;MR<='1';CY<='1';MY<='0';MG<='0';CR<='0';CG<='0';

END IF;

END CASE;

END IF;

END PROCESS;

END behav;

2)控制数码管显示倒计时数并且输出:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY JISHU IS

PORT(clk,S:IN STD_LOGIC;

tim:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

END JISHU;

ARCHITECTURE behav OF JISHU IS

TYPE RGY IS(mgcr,mycr,mrcg,mrcy);

SIGNAL STATE:RGY;

BEGIN

PROCESS(clk)

VARIABLE b:STD_LOGIC:='0';

VARIABLE a:STD_LOGIC:='0';

VARIABLE th,tl:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

--IF RESET='1' THEN STATE<=mgcr; th:="0000" ;tl:="0000";a:='0';b:='0';

IF clk'EVENT AND clk='1' THEN

CASE STATE IS

WHEN mgcr => IF S='1' AND b='1' THEN STATE<=mycr;a:='0';th:="0000";tl:="0100";b:='0';

ELSIF S='0' AND b='1' THEN STATE<=mgcr;a:='1';th:="0000";tl:="0001";

ELSE

IF a='0' THEN

th:="0110";tl:="0000";a:='1';

else

IF NOT(th="0000" AND tl="0010") then

IF tl="0000" then

相关文档
最新文档