版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科实验报告课程名称:CPLD/FPGA应用设计课设题目:交通灯控制器 交通灯控制器一、设计要求设计一个由一条主干道和一条支干道的十字路口的交通灯控制器,具体要求如下:(1) 主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。(2) 主干道处于常允许通行状态,而支干道有车来才允许通行。当主干道允许通行亮绿灯时,支干道亮红灯。而支干道允许通行亮绿灯时,主干道亮红灯。 (3) 当主、支道均有车时,两者交替允许通行,主干道每次放行45 s,支干道每次放行25 s,由亮绿灯变成亮红灯转换时,先亮5 s的黄灯作为过渡,并进行减计时显示。二、设计方案1基本原理(1) 设置支干道有车开关SB。(2) 系
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、七段译码器程序的vhd文件yima7
4、.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_STATE,n_state: STATE_
5、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'BR<='0
6、39; BY<='1' BG<='1'IF(SB AND cnt)='1' THENn_STATE<=B; din<="00000101" EN<='0'ELSE n_STATE<=A; din<="01000101" EN<='1'END IF;WHEN B=>MR<='1' MY<='0' MG<='1' BR<='0' BY<
7、;='1' BG<='1'IF cnt='1' THEN n_STATE<=C; din<="00100101" EN<='0'ELSEn_STATE<=B; din<="01000101" EN<='1'END IF;WHEN C=>MR<='0' MY<='1' MG<='1' BR<='1' BY<='1' BG&
8、lt;='0'IF cnt='1' THENn_STATE<=D; din<="00000101" EN<='0' ELSEn_STATE<=C; din<="01000101" EN<='1'END IF;WHEN D=>MR<='0' MY<='1' MG<='1' BR<='1' BY<='0' BG<='1'IF
9、 cnt='1' THEN n_STATE<=A;din<="01000101" EN<='0'ELSEn_STATE<=D; din<="01000101" 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 POR
10、T(en, RST: IN STD_LOGIC; Din: 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) BE
11、GINIF RST='1' THEN 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&l
12、t;=QL-1; END IF; END IF;END 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&q
13、uot; => LED7S <= "1000000" ; WHEN "0001" => LED7S <= "1111001" ; WHEN "0010" => LED7S <= "0100100" ; WHEN "0011" => LED7S <= "0110000" ; WHEN "0100" => LED7S <= "0011001" ; WHEN &q
14、uot;0101" => LED7S <= "0010010" ; WHEN "0110" => LED7S <= "0000010" ; WHEN "0111" => LED7S <= "1111000" ; WHEN "1000" => LED7S <= "0000000" ; WHEN "1001" => LED7S <= "0010000"
15、 ; WHEN OTHERS => LED7S <= "1111111" ; END CASE ; END PROCESS ; END ;d)顶层链接文件LIBRARY IEEE;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)
16、); END JTD;ARCHITECTURE BEHAVIORAL OF JTD IS SIGNAL E:STD_LOGIC; SIGNAL CN:STD_LOGIC; SIGNAL DI:STD_LOGIC_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
17、) ); END COMPONENT;COMPONENT JSQ IS PORT(en, RST: IN STD_LOGIC; Din: 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 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:YIMA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 住院医师规范化培训《预防医学科》习题库(附答案)
- 荧光增白剂生产项目可行性研究报告
- 航运开发工程项目可行性研究报告
- 茶文化研究所项目可行性研究报告
- 网店女装项目可行性研究报告
- 职场礼仪与形象塑造课程
- 智能机器人产业发展现状与未来趋势
- 中医经络调理与美容美体法
- 智能家居系统安装、调试及保养指南
- 心理学在人力资源管理中的应用研究
- 矿安益学习题库
- 食品微生物学基础课程标准(一)
- 中医风湿痹症课件讲稿
- 配电第一种工作票(10kV线路投运停电填写样本)
- 胸腔镜下肺叶切除术护理查房
- 弘扬雷锋精神-争做美德先锋主题班会课件
- 生命教育与心理健康教育的融合路径研究
- 摄影服务照片版权转让协议
- 《心脏急危重症诊治》课件
- 电商视觉设计课件 第2章 商品图片精修与视觉合成
- 2024-年全国医学博士外语统一入学考试英语试题
评论
0/150
提交评论