文档详情

交通灯控制器设计(EDA程序设计实验报告).docx

发布:2017-12-14约1.16万字共15页下载文档
文本预览下载声明
EDA程序设计实验报告学院:信息学院专业:电子信息工程班级:电信1001班姓名:celestialfox学号:celestialfox 实验题目: 交通灯控制器设计实验目的:1、熟练掌握VHDL基本语句、语法的使用 2、掌握状态机的设计方法 3、学习使用模块化设计4、加深对VHDL编程思想的理解设计任务: (1)显示十字路口A,B两个方向的红、黄、绿指示灯状态 (2)根据外部设定时间实现正常的倒计时功能,用两组数码管分别作为A,B两方向的倒计时显示,规定东西和南北方向的车流量大致相同,因此红黄绿灯亮的时间也相同,定为红灯45s,黄灯5s,绿灯40s (3)设计一个特殊状态,此时A,B方向都禁止通行,指示红灯,计时器停止计数并保持原来的状态。特殊状态解除后,在原来状态的基础上继续计数 (4)能实现总体清零功能,按下RES键后,系统实现总清零,计数器由初始状态计数,对应状态的指示灯亮设计分析: (1)交通灯的4种可能亮灯状态:状态东西方向红 黄 绿 南北方向绿 黄 红 11 0 01 0 0 21 0 0 0 1 0 30 0 10 0 1 40 1 00 0 1(2)根据交通灯不同状态的亮灯时间得到交通灯的工作过程:方向ARARAGAYARARA方向BGBYBRBRBGBYB时间t40s5s40s5s40s5s状态SS0S1S2S3S0S1 (3)对于特殊情况,只需设计一个异步时序电路即可解决。程序中还应判断东西方向和南北方向的计数值是否超出范围。此电路仅在电路启动运行时有效,因为一旦两个方向的计数值正确后,就不能在计数到非法状态。 (4)系统组成 根据交通灯工作原理及要实现的功能将其分为4个部分。主控逻辑单元、置数器、计数器、BCD码转换器、七段字型译码器。(5)系统工作原理 N Y Y Y N Y Y N Y Y NY程序设计:--the program head --系统描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE WORK.ALL;ENTITY head IS PORT(color_a:buffer std_logic_vector(2 downto 0); color_b:buffer std_logic_vector(2 downto 0); acode_out_high,acode_out_low:out std_logic_vector(6 downto 0); bcode_out_high,bcode_out_low:out std_logic_vector(6 downto 0); res,clk,key:in std_logic);end head;architecture main_str of head is signal put_a,put_b,flag_a,flag_b,load_a,load_b:std_logic; signal data_a,data_b,value_cou_a,value_cou_b:std_logic_vector(7 downto 0); signal acode_in_high,acode_in_low,bcode_in_high,bcode_in_low:std_logic_vector(3 downto 0); signal data_bcd_a,data_bcd_b:std_logic_vector(7 downto 0);component put_numb is --定义置数器 port(res_s,put_a,put_b,clk_s:in std_logic; out_sto_a:buff
显示全部
相似文档