文档详情

EDA技术及应用课程设计_交通灯..doc

发布:2016-12-30约1.48万字共20页下载文档
文本预览下载声明
目录 一、设计要求: 1 二、设计方案: 1 三、执行过程: 2 1、顶层文件程序JTKZQ 2 2、交通控制模块JTDKZ 6 3、显示控制模块XIANSHIKZ 8 4、译码器程序模块YMQ 8 5、5s计时译码模块CNT05S 10 6、25s计时译码模块CNT25S 11 7、45s计时译码模块CNT45S 13 8、2位二进制计数器COUNT2 15 9、四选一数据选择器SHUX 16 10、设定管脚 17 11、下载程序 18 12、电路实物图 18 四、实验分析: 19 五、实验感想 19 六、参考文献 19 交通灯控制器 一、设计要求: 设计一个由一条主干道和一条支干道的十字路口的交通灯控制器,具体要求如下: 1、 主、支干道各设有一个绿、黄、红指示灯,2个显示数码管。 2、 主干道处于常允许通行状态,而支干道有车来才允许通行。当主干道允许通行亮绿灯时,支干道亮红灯。当支干道允许通行亮绿灯时,主干道亮红灯。 3、 当主、支干道均有车时,两者交替允许通行,主干道每次放行45s,支干道每次放行25s,由亮绿灯变成亮红灯转换时,先亮5s的黄灯作为过渡,并进行减计时显示。 二、设计方案: 1、 基本原理: 交通灯是城市交通中不可缺少的重要工具,是城市交通秩序的重要保障。本实例就是实现一个常见的十字路通灯功能。读者通过学习这个交通灯控制器,可以实现一个更加完整的交通灯。例如实现实时配置各种灯的时间,手动控制各个灯的状态等。一个十字路口的交通一般分为两个方向,每个方向具有红灯、绿灯和黄灯3种可以为每一个灯的状态设置一个初始值,灯状态改变后,开始按照这个初始值倒计时。倒计时归零后,灯的状态将会改变至下一个状态。值得注意的是,交通灯两个方向的灯的状态是相关的。也就是说,每个方向的灯的状态影响着另外一个方向的灯的状态,这样才能够协调两个方向的车流。如果每个方向的灯是独立变化的,那么交通灯就没有了意义。 状态转移图 模块结构图 交通灯控制器原理框图包括置数模块、计数模块、主控制模块和译码器模块。置数模块将交通灯的点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。其中,主控制模块是核心部分。 三、执行过程: 1、顶层文件程序JTKZQ library ieee; use ieee.std_logic_1164.all; entity JTKZQ is PORT(CLK,CLK1,SM,SB:IN STD_LOGIC; MR,MYO,MGO,BR,BYO,BGO:OUT STD_LOGIC; DOUT1:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); SEL:OUT STD_LOGIC_VECTOR(1 DOWNTO 0)); end ENTITY JTKZQ; architecture ART of JTKZQ is COMPONENT JTDKZ IS PORT(CLK,SM,SB:IN STD_LOGIC; MR,MY0,MG0,BR,BY0,BG0:OUT STD_LOGIC); END COMPONENT JTDKZ; COMPONENT XIANSHIKZ IS PORT(EN45,EN25,EN05M,EN05B:IN STD_LOGIC; AIN45M,AIN45B:IN STD_LOGIC_VECTOR(7 DOWNTO 0); AIN25M,AIN25B,AIN05:IN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUTM,DOUTB:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END COMPONENT XIANSHIKZ; COMPONENT CNT25S IS PORT(SB,SM,CLK,EN25:IN STD_LOGIC; DOUT25M,DOUT25B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END COMPONENT CNT25S; COMPONENT CNT45S IS PORT(SB,CLK,EN45:IN STD_LOGIC; DOUT45M,DOUT45B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END COMPONENT CNT45S; COMPONENT CNT05S IS PORT(CLK,EN05M,EN05B:IN STD_LOGIC; DOUT5:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END C
显示全部
相似文档