文档详情

实验八 交通灯控制器设计.docx

发布:2017-12-16约3.07千字共7页下载文档
文本预览下载声明
PAGE \* MERGEFORMAT6 实验八 交通灯控制器设计实验报告 一、实验要求 1、GW48实验箱; 2、设计十字路口交通灯控制器,并进行编译、仿真、下载; 3、总结实验步骤和实验结果。 二、实验内容 设计一个十字路口交通控制系统,其东西,南北两个方向除了有红、黄、绿灯指示是否允许通行外,还设有时钟,以倒计时方式显示每一路允许通行的时间。当东西或南北两路中任一道上出现特殊情况,例如有消防车,警车要去执行任务,此时交通控制系统应可由交警手动控制立即进入特殊运行状态,即两条道上的所有车辆皆禁止通行,红灯全亮,时钟停止计时。当特殊运行状态结束后,管理系统恢复原来的状态,继续正常运行。 /*信号定义与说明: CLK:为同步时钟; EN:使能信号,为1的话,则控制器开始工作; LAMPA:控制A 方向四盏灯的亮灭;其中,LAMPA0~LAMPA3,分别控制A方向的左拐灯、绿灯、黄灯和红灯; LAMPB:控制B方向四盏灯的亮灭;其中,LAMPB0~LAMPB3,分别控制B方向的左拐灯、绿灯、黄灯和红灯; ACOUNT:用于A方向灯的时间显示,8位,可驱动两个数码管; BCOUNT:用于B方向灯的时间显示,8位,可驱动两个数码管。*/ module zdw8(CLK,EN,LAMPA,LAMPB,ACOUNT,BCOUNT); output [7:0] ACOUNT,BCOUNT; output [3:0] LAMPA,LAMPB; input CLK,EN; reg[7:0] numa,numb; regtempa,tempb; reg[2:0] counta,countb; reg[7:0] ared,ayellow,agreen,aleft,bred,byellow,bgreen,bleft; reg[3:0] LAMPA,LAMPB; always @(EN) if(!EN) begin //she zhigezhongdeng de yuzhishu ared=8h55;//55 minus ayellow=8h5;//5 minus agreen=8h40;//40 minus aleft=8h15;//15 minus bred=8h65;//65 minus byellow=8h5;//5 minus bleft=8h15;//15 minus bgreen=8h30;//30 minus end assign ACOUNT=numa; assign BCOUNT=numb; always@(posedge CLK) //kongzhi A fangxiang de sizhongdeng begin if(EN) begin if(!tempa) begin tempa=1; case(counta) //kongzhiliangdengshunxu 0:beginnuma=agreen;LAMPA=2;counta=1;end 1:beginnuma=ayellow;LAMPA=4;counta=2;end 2:beginnuma=aleft;LAMPA=1;counta=3;end 3:beginnuma=ayellow;LAMPA=4;counta=4;end 4:beginnuma=ared;LAMPA=8;counta=0;end default:LAMPA=8; endcase end else begin //daojishi if(numa1) if(numa[3:0]==0) begin numa[3:0]=4b1001; numa[7:4]=numa[7:4]-1; end elsenuma[3:0]=numa[3:0]-1; if(numa==2) tempa=0; end end else begin LAMPA=4b1000; counta=0;tempa=0; end end always @(posedge CLK) //kongzhi B fang xiang de sizhongdeng begin if(EN) begin if(!tempb) begin tempb=1; case(countb) //kongzhiliangdengshunxu 0:begin numb=bred;LAMPB=8
显示全部
相似文档