1/8
0/100
您的浏览器不支持进度条
下载所得到的文件列表
VHDL交通灯.doc
文档介绍:
实验报告课程名称:EDA课程设计实验名称:交通控制器的设计专业班级:学生姓名:学号:指导老师:实验日期://一、实验目的掌握VHDL状态机设计。二、实验内容设计一个由一条主干道和一条支干道的汇合点形成的十字交叉路口的交通灯控制器,具体要求如下:()主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。()主、支道交替允许通行,主干道每次放行s,支干道每次放行s,在每次由亮绿灯变成亮红灯的转换过程中,要亮s的黄灯作为过渡,并进行减计时显示。三、设计(实验)正文实验时使用状态机完成对交通灯的控制,设置s,s,s,s四个状态,分别表示主绿支红,主黄支红,主红支绿,主红支黄四个状态,设置LED,LED,LED,LED四个输出来控制倒计时数码管工作。同时使用计数器对交通灯进行时间控制。四、设计(实验)编码libraryieee;useieee.std_logic_.all; useieee.std_logic_unsigned.all; entitytrafficis port( clk:instd_logic; lgt_red,lgt_yellow,lgt_green:outstd_logic;--主干道的红黄绿灯 lgt_red,lgt_yellow,lgt_green:outstd_logic;--支干道的红黄绿灯 led:outstd_logic_vector(downto); led:outstd_logic_vector(downto); led:outstd_logic_vector(downto); led:outstd_logic_vector(downto) ); endentitytraffic; architecturertloftrafficis typestatesis(s,s,s,s);--种状态 signalone,ten,one,ten:std_logic_vector(downto);--倒计时的个位和十位 signalqh,ql,qh,ql:std_logic_vector(downto);--数码管地址控制信号bcd signalra,rb,ga,gb,ya,yb:std_logic; begin process(clk) variablem:states:=s; variablea:std_logic; variableqh,ql,qh,ql:std_logic_vector(downto);-------------计位的高位和低位 begin ifclk'eventandclk=''then if(m=s)then ifa=''then--状态s,主干道通行s qh:="";--高位为 ql:="";---低位为- ql:=""; qh:="";---s a:=''; ra<=''; ya<=''; ga<='';--主干道绿灯亮 rb<='';---支干道红灯亮 yb<=''; gb<=''; else ifqh=andql=then--如果倒计时到结束,则转到s的状态 m:=s; a:='';--使能 ql:=ql-;--变为 ql:=ql-;--此时相应的ql减 elsifql=then--倒计时s个位为 ql:=""; qh:=qh-; ql:=ql-;---跟ql同时减 elsifql=then ql:= 内容来自淘豆网www.taodocs.com转载请标明出处.
更多>> 相关文档
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2072510724
  • 文件大小150 KB
  • 时间2020-08-11
文档标签