太原理工大学-eda课程设计-交通灯控制器(共10页)_第1页
太原理工大学-eda课程设计-交通灯控制器(共10页)_第2页
太原理工大学-eda课程设计-交通灯控制器(共10页)_第3页
太原理工大学-eda课程设计-交通灯控制器(共10页)_第4页
太原理工大学-eda课程设计-交通灯控制器(共10页)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上本科实验报告课程名称: CPLD/FPGA应用设计 课设题目: 交通灯控制器 交通灯控制器一、设计要求设计一个由一条主干道和一条支干道的十字路口的交通灯控制器,具体要求如下:(1) 主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。(2) 主干道处于常允许通行状态,而支干道有车来才允许通行。当主干道允许通行亮绿灯时,支干道亮红灯。而支干道允许通行亮绿灯时,主干道亮红灯。 (3) 当主、支道均有车时,两者交替允许通行,主干道每次放行45 s,支干道每次放行25 s,由亮绿灯变成亮红灯转换时,先亮5 s的黄灯作为过渡,并进行减计时显示。二、设计方案1基本原理(1) 设

2、置支干道有车开关SB。(2) 系统中要求有45秒、25秒和5秒三种定时信号,需要设计三种相应的计时显示电路。计时方法为倒计时。定时的起始信号由主控电路给出,定时时间结束的信号输入到主控电路。(3) 主控制电路的输入信号一方面来自车辆检测,另一方面来自45秒、25秒、5秒的定时到信号;输出有计时启动信号(置计数起始值)和红绿灯驱动信号。(4) 状态转移如图所示,用状态机描述。状态转移图(5) 模块结构模块结构图2设计框图交通灯控制器原理框图如下图所示,包括置数模块、计数模块、主控制器模块和译码器模块。置数模块将交通灯的点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路

3、改变输出状态,电路进入下一个状态的倒计时。其中,核心部分是主控制模块。主控制器清零红 绿 黄特殊状态红 绿 黄定时计数器置数器译码器显示器三、实验设备计算机一台操作系统:WINDOWS XP软件: ispDesignEXPERT System 硬件: 1016E开发板四、设计步骤1打开ispEXPERT软件,建立一个新的工程JTD 单击菜单FileNew Project, 输入工程路径,工程名2建立VHDL文件 单击FileNew菜单项,选择VHDL File选项,单击OK按钮以建立VHDL文件,分别建立主控制器模块程序的vhd文件JTDKZ.vhd、计数器模块程序的vhd文件jsq.vhd、

4、七段译码器程序的vhd文件yima7.vhd和主程序的vhd文件zhu.vhd。a)主控制器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY JTDKZ IS PORT(CLK,SB,cnt,RST:IN STD_LOGIC; en,MR,MY,MG,BR,BY,BG: OUT STD_LOGIC; din:out STD_LOGIC_vector(7 downto 0);END ENTITY JTDKZ;ARCHITECTURE ART OF JTDKZ IS TYPE STATE_TYPE IS(A,B,C,D); SIGNAL p_STA

5、TE,n_state: STATE_TYPE; BEGIN reg:PROCESS(CLK,rst) IS BEGIN if rst='1' then p_STATE<=A; ELSIF(CLK'EVENT AND CLK='1')THEN p_STATE<=n_state;END IF; end process reg;com:PROCESS(sb,cnt,p_state) beginCASE p_STATE ISWHEN A=>MR<='1' MY<='1' MG<='0&#

6、39; BR<='0' BY<='1' BG<='1' IF(SB AND cnt)='1' THEN n_STATE<=B; din<="" EN<='0' ELSE n_STATE<=A; din<="" EN<='1' END IF;WHEN B=>MR<='1' MY<='0' MG<='1' BR<='0'

7、; BY<='1' BG<='1' IF cnt='1' THEN n_STATE<=C; din<="" EN<='0' ELSE n_STATE<=B; din<="" EN<='1' END IF;WHEN C=>MR<='0' MY<='1' MG<='1' BR<='1' BY<='1' BG<=&

8、#39;0' IF cnt='1' THEN n_STATE<=D; din<="" EN<='0' ELSE n_STATE<=C; din<="" EN<='1' END IF;WHEN D=>MR<='0' MY<='1' MG<='1' BR<='1' BY<='0' BG<='1' IF cnt='1'

9、 THEN n_STATE<=A;din<="" EN<='0' ELSE n_STATE<=D; din<="" EN<='1' END IF;END CASE;END PROCESS com;END ARCHITECTURE ART;b)计数器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY jsq IS PORT(en, RST: IN STD_LOGIC; Din:

10、 IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLK:IN STD_LOGIC; Cnt: OUT STD_LOGIC; QH, QL:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) ); END ENTITY jsq;ARCHITECTURE ART OF jsq ISBEGINcnt<='1' WHEN (QH="0000" AND QL="0000") ELSE '0' PROCESS(CLK,en,RST) BEGINIF RST='1' THEN

11、 QH<="0100"QL<="0101"ELSIF CLK'EVENT AND CLK='1' THEN IF en='0' THEN QH<=Din(7 DOWNTO 4); QL<=Din(3 DOWNTO 0);elsIF QL=0 THEN QL<="1001" IF QH=0 THEN QH<="1001" ELSE QH<=QH-1; END IF; ELSE QL<=QL-1; END IF; END IF;EN

12、D PROCESS;END ARCHITECTURE ART;c)7段译码器LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ; ENTITY yima7 IS PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ; LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ; END ; ARCHITECTURE art OF yima7 IS BEGINPROCESS( A ) BEGIN CASE A IS WHEN "0000" => LED7S <= &qu

13、ot;" ; WHEN "0001" => LED7S <= "" ; WHEN "0010" => LED7S <= "" ; WHEN "0011" => LED7S <= "" ; WHEN "0100" => LED7S <= "" ; WHEN "0101" => LED7S <= "" ; WHEN "01

14、10" => LED7S <= "" ; WHEN "0111" => LED7S <= "" ; WHEN "1000" => LED7S <= "" ; WHEN "1001" => LED7S <= "" ; WHEN OTHERS => LED7S <= "" ; END CASE ; END PROCESS ; END ;d)顶层链接文件LIBRARY IE

15、EE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY JTD IS PORT(CLK,SB,RST:IN STD_LOGIC; LED1,LED2,LED3,LED4,LED5,LED6:OUT STD_LOGIC; SEG1:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); SEG2:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); END JTD;ARCHITECTURE BEHAVIORAL OF JTD IS SIGNAL E:STD_LOGIC; SIGNAL CN:STD_LOGIC; SIGNAL DI:STD_LOG

16、IC_VECTOR(7 DOWNTO 0); SIGNAL YIMA1,YIMA2:STD_LOGIC_VECTOR(3 DOWNTO 0);COMPONENT JTDKZ IS PORT(CLK,SB,cnt,RST: IN STD_LOGIC; en,MR,MY,MG,BR,BY,BG: OUT STD_LOGIC; din:out STD_LOGIC_vector(7 downto 0) ); END COMPONENT;COMPONENT JSQ IS PORT(en, RST: IN STD_LOGIC; Din: IN STD_LOGIC_VECTOR(7 DOWNTO 0); C

17、LK:IN STD_LOGIC; Cnt: OUT STD_LOGIC; QH, QL:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) ); END COMPONENT;COMPONENT YIMA7 IS PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ; LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); END COMPONENT;BEGIN U0:JTDKZ PORT MAP(CLK,SB,CN,RST,E,LED1,LED2,LED3,LED4,LED5,LED6,DI); U1:JSQ PORT MAP(E,RST,DI,CLK,CN,YIMA1,YIMA2); U2:YIMA7 PORT MAP(YIM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论