数字电子电路课程设计报告 题目:交通灯控制器 学院: 信息工程学院 专业: 自动化0406班 姓名: 摘要:本人设计一个交通灯手控制器,该控制器控制的交通灯顺序为: 南北方向是:绿(15S), 黄(5S),红(20S),红(5S) 东西方向是:红(15S), 红 (5S), l绿(20), 黄(5S) 要求:在红灯方向上,若是没有车(两路上分别安装有传感K1和K2,无车传感器输出高电平),永远是红灯。 目录: 1 主状态机模块及仿真结果 2 20S定时器模块及仿真结果 3 15S定时器模块及仿真结果 4 5S定时器模块及仿真结果 5 顶层模块的连接及仿真结果 方案选择: 本设计是利用一个状态机和三个定时器来设计。主状态机是用来实现对定时器的控制功能,三个定时器实现对时间的计数,然后又反馈到主状态机,定时器采用减法计数器的原理 设计 原理图: 主状态机VHDL描述: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity pengdong40 is port(ns,ds,clk,td20,td15,td5:in std_logic; n1,n2,n3,d1,d2,d3:out std_logic; t20,t15,t5:out std_logic); end; architecture pengdong40_arch of pengdong40 is type zt_type is (a0,a1,a2,a3); signal zhuangtai:zt_type; begin process(clk) begin if clk'event and clk='1' then case zhuangtai is when a0=> if(ds='0')and(td15='1') then zhuangtai<=a1; elsif (ds='1')or(td15='0') then zhuangtai<=a0; end if; when a1=> if td5='1' then zhuangtai<=a2; elsif td5='0' then zhuangtai<=a1; end if; when a2=> if(ns='0')and(td20='1')then zhuangtai<=a3; elsif(ns='1')or(td20='0')then zhuangtai<=a2; end if; when a3=> if td5='1' then zhuangtai<=a0; end if; when others =>zhuangtai<=a0; end case; end if; end process; process(zhuangtai) begin case zhuangtai is when a0=> n1<='0';n2<='0';n3<='1';d1<='1';d2<='0';d3<='0';t15<='1';t5<='0';t20<='0'; when a1=> n1<='0';n2<='1';n3<='0';d1<='1';d2<='0';d3<='0';t15<='0';t5<='1';t20<='0'; when a2=> n1<='1';n2<='0';n3<='0';d1<='0';d2<='0';d3<='1';t15<='0';t5<='0';t20<='1'; when a3=> n1<='1';n2<= [原文截取] 数字电子电路课程设计报告 题目:交通灯控制器 学院: 信息工程学院 专业: 自动化0406班 姓名: 摘要:本人设计一个交通灯手控制器,该控制器控制的交通灯顺序为: 南北方向是:绿(15S), 黄(5S),红(20S),红(5S) 东西方向是:红(15S), 红 (5S), l绿(20), 黄(5S) 要求:在红灯方向上,若是没有车(两路上分别安装有传感K1和K2,无车传感器输出高电平),永远是红灯。 目录: 1 主状态机模块及仿真结果 2 20S定时器模块及仿真结果 3 15S定时器模块及仿真结果 4 5S定时器模块及仿真结果 5 顶层模块的连接及仿真结果 方案选择: 本设计是利用一个状态机和三个定时器来设计。主状态机是用来实现对定时器的控制功能,三个定时器实现对时间的计数,然后又反馈到主状态机,定时器采用减法计数器的原理 设计 原理图: 主状态机VHDL描述: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity pengdong40 is port(ns,ds,clk..... |
数字电子电路课程设计报告
查看评论
已有0位网友发表了看法