电子线路EDA交通灯

合集下载

EDA交通灯实验报告

EDA交通灯实验报告

EDA实验报告题目:交通灯设计学院:电子工程学院专业:电子信息工程作者:导师:孙万蓉EDA实验报告:交通灯设计、设计任务及要求:设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、作为交通信号灯,设计一个交通信号灯控制器。

要求:(1)交通灯从绿变红时,有5秒黄灯亮的间隔时间;(2)交通灯红变绿是直接进行的,没有间隔时间;(3)东西主干道上的绿灯时间为25秒,南北支干道的绿灯时间为 25秒;(4)在任意时间,显示每个状态到该状态结束所需的时间。

路口示意图如下:图1路口交通示意图表1交通信号灯的4种状态设计要求:(1)采用VHDL语言编写程序,并在Quartusll工具平台中进行仿真,下载到进行验证黄、绿LED EDA实验箱(2)编写设计报告,要求包括方案选择、程序清单、调试过程及测试结果。

、设计原理1、设计目的:学习DEA开发软件和Quartusll的使用方法,熟悉可编程逻辑器件的使用。

通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制2、设计说明( 1)第一模块: clk 时钟秒脉冲发生电路在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。

因此为了避免意外事件的发生,电路必须给一个稳定的时钟( clock )才能让系统正常运作。

模块说明:系统输入信号:Clk: 由外接信号发生器提供50MHZ勺时钟信号;系统输出信号: full :产生每秒一个脉冲的信号;(2)第二模块:计数秒数选择电路计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。

模块说明:系统输入:full: 接收由clk电路的提供的1HZ的时钟脉冲信号;系统输出信号: tm :产生显示电路状态转换信号tl :倒计数值秒数个位变化控制信号th :倒计数值秒数十位变化控制信号(3) 第三模块:红绿灯状态转换电路本电路负责红绿灯的转换模块说明: 系统输入信号: full: 接收由clk 电路的提供的1Hz 的时钟脉冲信号;tm: 接收计数秒数选择电路状态转换信号;系统输出信号: comb out:负责红绿灯的状态显示。

eda交通灯课程设计

eda交通灯课程设计

eda交通灯课程设计一、课程目标知识目标:1. 学生能理解并掌握交通灯的基本原理及其在现代社会交通管理中的作用。

2. 学生能了解EDA(电子设计自动化)的基本概念,并运用其原理设计简单的交通灯控制系统。

3. 学生掌握交通灯工作周期的计算方法,以及不同交通情况下信号灯变换的逻辑规则。

技能目标:4. 学生能够通过EDA软件进行交通灯电路的设计与仿真,具备基本的电子设计能力。

5. 学生能够运用所学知识分析并解决交通灯控制中的实际问题,具备一定的创新设计思维。

情感态度价值观目标:6. 学生通过设计交通灯控制系统,培养对工程技术的兴趣,增强社会责任感和团队合作意识。

7. 学生能够在项目实践中体验科学探究的乐趣,提高学习科学的积极性,形成良好的学习习惯。

8. 学生通过课程学习,认识到科技在生活中的应用,增强对现代科技改善生活品质的认识,培养创新精神和实践能力。

本课程设计针对的是具有一定电子学基础的中高年级学生,课程性质为实践性强的综合设计课。

在分析课程性质、学生特点和教学要求的基础上,课程目标旨在分解为具体的学习成果,以便通过后续的教学设计和评估,有效提升学生对交通工程和电子设计自动化知识的综合应用能力。

二、教学内容本章节教学内容紧密围绕课程目标,结合课本相关章节,科学系统地组织以下内容:1. 交通灯基本原理:讲解交通灯的功能、结构及工作原理,对应教材第3章“交通信号控制基础”。

2. EDA软件介绍:介绍EDA软件的基本功能、操作方法及其在电子设计中的应用,对应教材第5章“电子设计自动化技术”。

3. 交通灯控制系统设计:a. 设计要求:分析交通灯控制系统的需求,明确设计目标和功能要求。

b. 电路设计:学习并运用EDA软件设计交通灯控制电路,对应教材第6章“数字电路设计”。

c. 仿真测试:利用EDA软件对设计电路进行仿真测试,验证设计方案的可行性。

4. 交通灯控制逻辑:学习并掌握交通灯工作周期的计算方法,以及不同交通情况下的信号灯变换规则,对应教材第3章“交通信号控制策略”。

eda交通灯控制器课程设计

eda交通灯控制器课程设计

eda交通灯控制器课程设计课程设计:EDA交通灯控制器1. 课程背景和目标:EDA交通灯控制器是使用EDA(电子设计自动化)工具进行交通灯控制系统设计的课程。

学习该课程的目标是使学生能够熟练运用EDA工具进行交通灯控制系统设计,并能够理解交通灯控制系统的原理和设计方法。

2. 课程内容和安排:(1) 交通灯控制系统原理介绍:介绍交通灯控制系统的基本原理,包括信号机、信号控制方法和交通流量检测等。

(2) EDA工具介绍:介绍常用的EDA工具,如Verilog、VHDL等,并讲解其基本使用方法。

(3) 交通灯控制器设计流程:介绍交通灯控制器的设计流程,包括需求分析、功能设计、模块设计和系统集成等。

(4) 交通灯控制器设计实践:学生通过实践项目,使用EDA工具设计交通灯控制器。

项目涵盖设计、仿真、验证和生成等环节,学生需要独立完成设计并提交设计报告。

3. 课程教学方法:(1) 理论讲解:通过课堂讲解,介绍交通灯控制系统的原理和设计方法,以及EDA工具的使用方法。

(2) 实践项目:学生通过实践项目,运用所学知识设计交通灯控制器,并进行仿真、验证和生成等环节。

(3) 讨论和案例分析:通过课堂讨论和案例分析,加深学生对交通灯控制系统的理解和应用能力。

(4) 指导和批评:教师对学生的设计进行指导和批评,帮助学生不断提高设计能力。

4. 评估方式:(1) 实践项目报告:学生独立完成实践项目,并提交设计报告,包括设计过程、仿真结果和验证结果等。

(2) 课堂测试:通过课堂测试检验学生对交通灯控制系统原理和EDA工具的理解程度。

(3) 课堂表现:评估学生的课堂出勤情况、学习态度和参与度等。

5. 参考教材:(1) 《交通信号控制原理与技术》高新泽(2) 《EDA与数字电路设计》陈骏等(3) 《数字电路与系统设计》刘敏衡等(4) 《系统设计自动化技术与EDA工具应用》杨学庆等以上是对EDA交通灯控制器课程设计的简要介绍。

课程内容涵盖了交通灯控制系统的原理和设计方法,以及EDA工具的使用方法。

EDA课程设计-交通信号灯

EDA课程设计-交通信号灯

EDA技术课程设计报告交通灯控制器一、设计功能:实现高速公路与乡间小路的交叉路口红绿灯的控制二、具体功能要求:1、只有在小路上发现汽车时,高速公路上的交通灯才可能变成红灯。

2、当汽车行驶在小路上时,小路的交通灯保持为绿灯,但不能超过给定的延迟时间。

(注:这段时间定义为20秒时间)3、高速公路灯转为绿灯后,即使小路上有汽车出现,而高速公路上并无汽车,也将在给定时间内保持高速公路绿灯。

(注:这段时间定义为60秒时间)4、原理框图如下:A B C D高速交通灯绿(60秒)黄(5秒)红(20秒)红(5秒)小道交通灯红红绿黄三、参考设计方案:图2 交通信号灯控制器的原理框图采用VHDL语言输入的方式实现交通信号灯控制器图3 交通信号灯控制器程序原理框图该程序由7个进程组成,进程P1和P2将CLK信号分频后产生1秒信号,进程P3、P4、P5构成两个带有预置数功能的十进制计数器,其中P4产生允许十位计数器计数的控制信号。

进程P6实现状态转换和产生状态转换的控制信号,进程P7产生次态信号和信号灯输出信号,以及每一个状态的时间值。

计数器驱动脉冲如图所示:四、编写相应源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED. ALL;ENTITY CONTRALZ ISPORT(CLK:IN STD_LOGIC;RA,GA,YA:OUT STD_LOGIC;TIMEAH,TIMEAL:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END CONTRALZ;ARCHITECTURE BHV OF CONTRALZ ISTYPE RG IS (GREEN,RED,YELLOW2);BEGINPROCESS(CLK)VARIABLE A:STD_LOGIC;VARIABLE TH,TL:STD_LOGIC_VECTOR(3 DOWNTO 0);VARIABLE STATE:RG;BEGINIF CLK'EVENT AND CLK='1'THEN CASE STATE ISWHEN GREEN=>IF A='0'THEN TH:="0101";TL:="1001";A:='1';GA<='1';RA<='0';YA<='0';ELSE IFNOT(TH="0000"AND TL="0001")THEN IF TL="0000"THEN TL:="1001";TH:=TH-1;ELSE TL:=TL-1;END IF;ELSETH:="0000";TL:="0000";A:='0';STATE:=RED;END IF;END IF;WHEN RED=>IF A='0'THEN TH:="0001";TL:="1001";A:='1';RA<='1';YA<='0';GA<='0';ELSE IFNOT(TH="0000"AND TL="0001") THEN IF TL="0000"THEN TL:="1001";TH:=TH-1;ELSETL:=TL-1;END IF;ELSE TH:="0000";TL:="0000";A:='0';RA<='0';GA<='0';STATE:=YELLOW2;END IF;END IF;WHEN YELLOW2=>IF A='0'THEN TH:="0000";TL:="0101";A:='1';YA<='1';GA<='0';RA<='0';ELSE IF NOT(TH="0000"AND TL="0001")THEN IF TL="0000"THEN TL:="0101";TH:=TH-1;ELSE TL:=TL-1;END IF;ELSE TH:="0000";TL:="0000";GA<='0';RA<='0';YA<='0';A:='0';STATE:=RED;END IF;END IF;END CASE;END IF; TIMEAH<=TH;TIMEAL<=TL;END PROCESS;END BHV;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CONTRALX ISPORT(CLK:IN STD_LOGIC;RB,GB,YB,CHU:OUT STD_LOGIC;TIMEAH,TIMEAL:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END CONTRALX;ARCHITECTURE BHV OF CONTRALX ISTYPE RGY IS(RED,YELLOW1,GREEN,YELLOW2);BEGIN PROCESS(CLK)VARIABLE A:STD_LOGIC;VARIABLE TH,TL:STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE STATE:RGY;BEGIN IF CLK'EVENT AND CLK='1'THEN CASE STATE ISWHEN YELLOW1=>IF A='0'THEN TH:="0000";TL:="0100";A:='1';YB<='1';GB<='0';RB<='0';CHU<='1';ELSE IF NOT(TH="0000"AND TL="0001")THEN IF TL="0000"THEN TL:="1001";TH:=TH-1;ELSE TL:=TL-1;END IF;ELSE TH:="0000";TL:="0000";A:='0';STATE:=GREEN;END IF;END IF;WHEN GREEN=>IF A='0'THEN TH:="0001";TL:="1001";A:='1';GB<='1';RB<='0';YB<='0';CHU<='1';ELSE IF NOT(TH="0000"AND TL="0001") THEN IF TL="0000"THEN TL:="1001";TH:=TH-1;ELSE TL:=TL-1;END IF;ELSE TH:="0000";TL:="0000";A:='0';STATE:=YELLOW2;END IF;END IF;WHEN RED=>IF A='0'THEN TH:="0101";TL:="0100";A:='1';RB<='1';YB<='0';CHU<='1';ELSE IF NOT(TH="0000"AND TL="0001")THEN IF TL="0000"THEN TL:="1001";TH:=TH-1;ELSE TL:=TL-1;END IF;ELSE TH:="0000";TL:="0000";A:='0';STATE:=YELLOW1;END IF;END IF;WHEN YELLOW2=>IF A='0'THEN TH:="0000";TL:="0100";A:='1';YB<='1';GB<='0';RB<='0';CHU<='1';ELSE IF NOT(TH="0000"AND TL="0001") THEN IF TL="0000"THEN TL:="1001";TH:=TH-1;ELSE TL:=TL-1;END IF;ELSE TH:="0000";TL:="0000";A:='0';CHU<='0';STATE:=RED;END IF;END IF;END CASE;END IF;TIMEAH<=TH;TIMEAL<=TL;END PROCESS;END BHV;五、对源程序进行编译及仿真1、对程序进行编译,结果如下图:2、用waveform对程序进行波形仿真,结果如下图:六、设计思路在听完课程设计指导课前,我们对交通灯的程序设计思路基本上可以称得上是一片茫然,在听完课后虽然有个大致的思路,但还是不知道具体要怎么实施,于是我们开始去图书馆寻找参考书。

eda课程设计交通信号灯

eda课程设计交通信号灯

课程设计说明书课程设计名称:EDA交通信号灯题目:学生姓名:专业:学号:指导教师:日期:年月日目录1 前言 (1)2 总体方案设计 (2)2.1 方案分析与选择 (2)2.2 实现方案 (3)3 单元模块设计 (6)3.1 晶体振荡器 (6)3.2 供电电路 (7)3.3 LED灯输出 (8)3.4数码管输出电路 (8)4特殊器件的介绍 (10)4 .1CPLD器件介绍 (10)4.2 FPGA器件介绍 (10)4.3 EPF10K系列器件介绍 (10)5 软件仿真与调试 (11)5.1源代码及说明 (11)5.2 仿真结果 (15)5.3 调试 (17)6 总结 (18)6.1设计收获 (18)6.2 设计改进 (18)参考文献 (19)附录一:电路原理图 (20)1前言随着电子技术的发展,人们的生活水平和质量不断提高,生活设备的智能化程度也越来越高,这些都离不开电子产品的进步。

现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要因素是生产制造技术和电子设计技术的发展。

前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管。

后者的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包。

特别是近年来科技的飞速发展,EDA技术的应用不断深入,不仅带动传统控制检测技术日益更新,更在电子信息,通信,自动,控制及计算机应用等领域越显重要。

没有EDA技术的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,反过来,生产制造技术的不断进步又必将对EDA技术提出新的要求。

随着电子技术的发展和人们对电子设计开发的难度及周期要求,EDA技术必将广发应用于电子设计的各个领域,因此本设计也采用了EDA的设计方法,其设计的优越性明显高于传统的设计方法。

EDA课程设计——交通灯

EDA课程设计——交通灯

交通信号灯控制电路设计一、概述城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。

目前,大部分无控制交叉口都存在高峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和服务水平低下等问题。

特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。

因此,做好基于EDA技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法.交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。

交通信号灯控制电路是显示主干道和支干道交替放行时间并用试验箱左上角的彩灯来代替信号灯的一种实际电路。

设计一个基于FPGA的红绿灯交通信号控制器。

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

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

本课程的基本原理是在合适的时钟信号的控制下,使主干道与支道的红黄绿灯循环显示,用VHDL二、方案设计与论证在硬件时钟电路的基础上,采用分频器,输出一个1S的时钟信号,在时钟信号的控制下,实现主干道和支干道红绿灯交替显示.红绿灯交通灯控制器层次设计:EDA技术的基本设计方法有电路级设计方法和系统级设计方法。

电路级设计方法已经不能适应新的形势,本系统采用的是系统级层次设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片FPGA芯片实现,首先用VHDL语言编写各个功能模块程序,最后通过综合器和适配器生成最终的目标器件,然后用顶层原理图将各功能模块连接起来。

下面给出各模块的VHDL设计过程和仿真结果。

1、系统时序发生电路clk_gen的VHDL设计在红绿灯交通信号控制系统中,大多数的情况是通过自动控制的方式指挥交通的.因此,为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。

EDA交通灯课程设计

EDA交通灯课程设计

EDA 交通灯课程设计一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握交通灯系统的原理与设计流程。

2. 学生能够运用所学知识,设计并实现一个具备基本功能的交通灯控制系统。

3. 学生了解交通灯控制系统在实际应用中的重要性,理解不同颜色灯亮灭的时间间隔及其意义。

技能目标:1. 学生能够运用EDA软件进行电路设计,完成交通灯控制系统的原理图与PCB布线图绘制。

2. 学生能够通过编程实现对交通灯控制系统的仿真与调试,解决简单问题。

3. 学生能够运用团队协作、沟通技巧,共同完成课程设计任务,提高实践操作能力。

情感态度价值观目标:1. 学生培养对电子设计自动化技术的兴趣,激发创新意识和探索精神。

2. 学生通过实践操作,培养动手能力、问题解决能力和自主学习能力。

3. 学生认识到遵守交通规则的重要性,增强社会责任感和安全意识。

课程性质:本课程设计为实践性课程,注重培养学生的动手能力和团队协作能力。

学生特点:初三学生,具有一定电子基础知识,好奇心强,喜欢动手实践。

教学要求:结合学生特点,课程设计应注重理论与实践相结合,鼓励学生自主探究和团队协作,提高学生的综合能力。

通过分解课程目标为具体学习成果,使学生在完成课程设计的过程中达到预期目标。

二、教学内容1. 电子设计自动化(EDA)基本原理介绍:包括EDA的概念、发展历程、应用领域。

2. 交通灯控制系统原理:讲解交通灯的工作原理、控制逻辑、信号灯颜色时间设置。

3. EDA软件操作:学习并掌握EDA软件的使用,如原理图绘制、PCB布线图设计。

4. 交通灯控制系统设计:根据实际需求,设计具备基本功能的交通灯控制系统。

- 知识点:数字电路、逻辑门、时序逻辑、微控制器应用。

- 教材章节:第四章 电子设计自动化,第三节 数字电路设计。

5. 编程与仿真:学习编程实现对交通灯控制系统的仿真与调试。

- 知识点:基础编程知识、仿真软件使用。

- 教材章节:第五章 嵌入式系统设计,第一节 嵌入式编程基础。

《EDA技术及应用》交通灯控制电路的设计

《EDA技术及应用》交通灯控制电路的设计

《EDA技术及应用》交通灯控制电路的设计1 系统设计1.1 设计要求1.1.1 设计任务1、用4个八段数码管分别显示道路东西和南北通行和禁止的倒计时时间。

2、能设置道路东西和南北两侧通行和禁止的倒计时时间,最大设置时间为99秒,最小设置时间为1秒。

3、交通灯用红、绿、黄三种发光二极管(LED)显示控制的结果。

4、红、绿、黄灯显示的次序应符合实际交通道路控制的要求。

5、其它功能。

1.1.2性能指标要求设计一个交通控制器,用LED 显示灯表示交通状态,并以8 段数码显示器显示当前状态剩余秒数南北方向绿灯亮时,东西方向红灯亮;反之亦然,二者交替允许通行,南北方向每次放行99s,东西方向每次放行99s,南北红绿灯始终比东西红绿灯快3s。

每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时间为3s。

因为开发板没有绿黄灯,所以用两组三个led灯替代显示红黄绿灯。

南北方向与东西方向各用两个8位数码管显示倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。

1.2 设计思路及设计框图1.2.1设计思路本次设计是针对十字路口,进行南北和东西直行情况下交通灯控制。

设定东西方向为主干道方向,根据交通灯的亮的规则,在初始状态下两个方向的都为红灯亮启,进入正常工作状态后,当南北方向红绿灯上绿灯亮时,东西方向红绿灯上红灯亮,各方向最后倒计时3s时,南北方向红绿灯和东西方向红绿灯上的代表黄灯的led灯亮启,持续3S后,南北方向红绿灯上红灯亮启,东西方向红绿灯上绿灯亮启持续99s,之后南北方向和东西方向上的黄灯都亮启3s,一个循环完成,循环往复的直行这个过程。

1.2.2总体设计框图根据任务需求,总体设计有:分频器模块、控制器模块、倒计时模块、红绿灯显示模块、码模块和译码显示模块如下图所示:2 各个模块程序的设计led红绿灯显示:module led(clk,led,N,D,cout,zt);input clk;input [6:0] N;input [6:0] D;output reg [5:0] led;output reg [1:0] zt;output reg [6:0] cout;always@(posedge clk)begincout=cout+1;if(cout<N-3)led=6'b100001;//南北绿灯,东西红灯else if(cout>N-3&&cout<N)led=6'b100010;//南北黄灯,东西红灯else if(cout>N&&cout<D+N-3)led=6'b001100;//南北红灯,东西绿灯else if(cout>N+D-3&&cout<N+D)led=6'b010100;//南北红灯,东西黄灯else if(cout==N+D)cout=0;if(cout<N-4)zt=0;else if(cout>N-4&&cout<N-1)zt=1;else if(cout>N-1&&cout<D+N-4)zt=2;else if(cout>D+N-4&&cout<N+D-1)zt=3;endEndmodule分频器:module div(clk,clkout);input clk;output reg clkout;Parameter CNT_MAX =50_000_000;//1s->1hz(50_000_000/1),0.5s->2hz(50_000_000/2=25_000_000) //parameter CNT_MAX = 1; //for simulationreg [25:0] cnt;always @ (posedge clk)if (cnt < CNT_MAX - 1'b1)cnt <= cnt + 1'b1;elsecnt <= 26'd0;always @(posedge clk)if(cnt == CNT_MAX - 1'b1)clkout=1'b1;elseclkout=1'b0; Endmodule调时控制:module ts(s,N,D,mode);input [1:0] s;input mode;output [6:0] N;output [6:0] D;j u1(.s(s[0]),.q(N),.mode(mode));j u2(.s(s[1]),.q(D),.mode(mode));Endmodule倒计时计数:module seg(clk,N,D,cout,zt,fs1,fs2); input clk;input [6:0] N;input [6:0] D;input [6:0] cout;input [1:0] zt;output reg [6:0] fs1;output reg [6:0] fs2;always@(posedge clk)case(zt)2'b00:begin fs1=N-cout-4; fs2=N-cout-1;end2'b01:begin fs1=N+D-cout-1; fs2=N-cout-1;end2'b10:begin fs1=N+D-cout-1; fs2=N+D-4-cout;end2'b11:begin fs1=N+D-cout-1; fs2=2*N+D-cout-1;endendcaseEndmodule计时输出:module j(s,q,mode);input s,mode;output reg [6:0] q;initialq=15;//初始从15开始启动always@(posedge s)if(mode)q=q+1;elseq=q-1;Endmodule数码管调用:// Module Function:数码管的译码模块初始化module segment7 (seg_datin,seg_led,en);input [3:0] seg_datin; //数码管需要显示0~f共16个数字,所以需要4位数据输入端 input en; //数码管使能端output [7:0] seg_led; //在DE10-Standard上控制一个数码管需要7个信号MSB~LSB=DP、G、F、E、D、C、B、Areg [7:0] seg [15:0]; //定义了一个reg型的数组变量,相当于一个16*8的存储器,存储器一共有16个数,每个数有8位宽initial //在过程块中只能给reg型变量赋值,Verilog中有两种过程块always和initial//initial和always不同,其中语句只执行一次beginseg[0] = ~(8'h3f) ; //对存储器中第一个数赋值8'b0011_1111,7段显示数字 0 seg[1] = ~(8'h06); //7段显示数字 1seg[2] = ~(8'h5b); //7段显示数字 2seg[3] = ~(8'h4f); //7段显示数字 3seg[4] = ~(8'h66); //7段显示数字 4seg[5] = ~(8'h6d); //7段显示数字 5seg[6] = ~(8'h7d); //7段显示数字 6seg[7] = ~(8'h07); //7段显示数字 7seg[8] = ~(8'h7f); //7段显示数字 8seg[9] = ~(8'h6f); //7段显示数字 9seg[10] = ~(8'h77); //7段显示数字 aseg[11] = ~(8'h7c); //7段显示数字 bseg[12] = ~(8'h39); //7段显示数字 cseg[13] = ~(8'h5e); //7段显示数字 dseg[14] = ~(8'h79); //7段显示数字 eseg[15] = ~(8'h71); //7段显示数字 fendassign seg_led = en?seg[seg_datin]:8'hff; //连续赋值,输入不同四位数,输出对于译码的8位输出,共阴数码管取反。

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

交通灯
一、实验目的
1,学习使用EDA开发工具IspLEVER。

2,学习使用ABEL语言设计交通灯。

3,熟悉交通灯的原理。

二、设计任务
设计一交通灯,能实现东西、南北两个方向的三色信号灯的自动按照以下规律变换:
当遇到特殊情况,按下控制按钮S,则两个方向均为红灯;特殊情况解除时,松开S,则还原,继续之前的状态自动运行。

两个方向均要求以减计数方式显示时间(红灯的持续时间)。

1、45进制减计数器及其译码电路;
2、90进制减计数器;
3、信号灯控制器。

三、设计要求
同设计任务
四、设计思路
设计一个方向的交通灯红灯黄灯绿灯分别为R1、Y1、G1,另外一个方向的红灯黄灯绿灯分别为R2、Y2、G2,则可以根据控制R1、Y1、G1、R2、Y2、G2的值来确定两个方向灯亮的种类和情况,然后设置一时钟CP控制信号灯的亮,还有按钮S以及清零R,当交通灯正常工作时候,东西、南北两个方向的三色信号灯按上表中中的规律自动变换,当发生突发状
况时候按S,两个方向均为红灯,当特殊状况结束时候,交通灯还原继续按之前的状态自动运行。

五、实验电路图
六、实验程序
MODULE YM
A7..A0 PIN;
Q7..Q0 PIN ISTYPE 'COM';;
A=[0,0,A5..A0];Q=[Q7..Q0];
EQUATIONS
WHEN (A>=0)&(A<=9) THEN Q=A;
WHEN (A>=10)&(A<=19) THEN Q=A+6;
WHEN (A>=20)&(A<=29) THEN Q=A+12;
WHEN (A>=30)&(A<=39) THEN Q=A+18;
WHEN (A>=40)&(A<=49) THEN Q=A+24;
WHEN (A>=50)&(A<=59) THEN Q=A+30;
WHEN (A>=60)&(A<=69) THEN Q=A+36;
WHEN (A>=70)&(A<=79) THEN Q=A+42;
WHEN (A>=80)&(A<=89) THEN Q=A+48;
WHEN (A>=90)&(A<=99) THEN Q=A+54;
END
MODULE XHD
A6..A0,S PIN;
R1,G1,Y1,R2,G2,Y2 PIN ISTYPE 'COM';
A=[A6..A0];Y=[R1,G1,Y1,R2,G2,Y2];
EQUATIONS
WHEN !S THEN Y=36;
WHEN S&(A>=50)&(A<=89) THEN Y=34; WHEN S&(A>=45)&(A<=49) THEN Y=33; WHEN S&(A>=5)&(A<=44) THEN Y=20; WHEN S&(A>=0)&(A<=4) THEN Y=12;
END
MODULE SUB90
CP,R PIN;
Q6..Q0 PIN ISTYPE 'REG';
EN PIN;
Q=[Q6..Q0];
EQUATIONS
Q.CLK=CP; Q.AR=R;
WHEN (Q>0)&(Q<=89)&(EN==1)&!R THEN
{Q:=Q-1;}
WHEN (Q==0)&(EN==1)&!R THEN {Q:=89;} WHEN EN==0 THEN Q:=Q;
END
MODULE SUB45
CP,R PIN;
Q5..Q0 PIN ISTYPE 'REG';
EN PIN;
Q=[Q5..Q0];
EQUATIONS
Q.CLK=CP; Q.AR=R;
WHEN (Q>0)&(Q<=44)&(EN==1)&(R==0) THEN
{Q:=Q-1;}
WHEN (Q==0)&(EN==1)&(R==0) THEN {Q:=44;} WHEN EN==0 THEN Q:=Q;
END
七、验证程序
MODULE jtd
C,X=.C.,.X.;
CP,S,R PIN;
Q7..Q0 PIN;
R1,Y1,G1,R2,Y2,G2 PIN;
OUT=[Q7..Q0];
LUMP=[R1,G1,Y1,R2,G2,Y2];
TEST_VECTORS
([CP,S,R]->[OUT,LUMP])
@REPEAT 120 {[C,1,0]->[X,X];}
@REPEAT 120 {[C,0,0]->[X,X];}
@REPEAT 120 {[C,1,0]->[X,X];}
@REPEAT 120 {[C,0,1]->[X,X];}
END
八、仿真现象
九、实验结论
该实验所设计的交通灯,当倒计时从44s开始时候,根据所输入的验证程序,则Bus3中红灯亮,Bus4中绿灯亮,直到倒计时为5的时候,Bus3中红灯亮,而Bus4中黄灯亮;紧接着下一次倒计时开始,Bus3中绿灯亮,Bus4中红灯亮,当其中一次倒计时为15s的时候出现了特殊情况Bus3 Bus4红灯同时亮,倒计时停止,当特殊状况解决时,倒计时接着从15s 开始减计数倒计时,继续之前的状态自动运行;当再次出现特殊情况时,两个方向的红灯同时亮,当清零R为高电平(“1”)时,倒计时清零,特殊情况解除之后,则继续之前的状态
自动正常运行。

十、实验总结
该实验所设计的交通灯,可以实现东西、南北两个方向三色灯按照一定规律减计数倒计时变换,实现了交通的控制,并且针对特殊情况发生时,所设计的交通灯两个方向同时转换为红灯亮,并且倒计时停止,当特殊状况解除时候,交通灯按之前的状态自动运行,当发生特殊状况时,可以由清零位R实现对倒计时的清零处理,已达到交通灯的正常运行。

十一、实验心得
通过本次实验设计,我懂得了如何让设计一个东西、南北双方向的交通灯,并实现减计数倒计时,实现了不同种色灯之间的相互转换,以及当出现特殊状况时候,交通灯的及时变化,及倒计时的停止,以及当特殊状况解除时候,交通灯按之前的状态继续自动运行,当发生特殊状况时,可以由清零位R实现对倒计时的清零处理,已达到交通灯的正常运行。

并且通过本次实验,我知道了在设计一个任务之前,首先要分析它的原理,之后选择它实现的方案,再次具体设计,最后验证它的正确性,并分析它的实验结果和能实现的功能,对IspLEVER 软件的了解更深了一步。

相关文档
最新文档