交通信号灯控制器C语言代码,交通信号灯控制器代码及说明.doc

交通信号灯控制器C语言代码,交通信号灯控制器代码及说明.docPAGEPAGE3课程设计报告课程名称:FPGA现代数字系统设计设计名称:交通信号灯控制器姓名:***学号:2010000379专业:通信指导教师:***起止日期:2010.12.25-2011.1.9课程设计任务书设计名称:设计要求:(1)设计一个交通信号灯控制器…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

PAGE

PAGE 3

课程设计报告

课程名称: FPGA现代数字系统设计

设计名称: 交通信号灯控制器

姓 名: * * *

学 号: 2010000379

专 业: 通 信

指导教师: * * *

起止日期: 2010.12.25 – 2011.1.9

课 程 设 计 任 务 书

设计名称:

设计要求:

(1) 设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。

(2) 红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号。

(3) 主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。

(4) 主、支干道均有车时,两者交替允许通行,主干道每次放行45s,支干道每次放行25s,设立45s、25s计时、显示电路。

(5) 在每次由绿灯亮到红灯亮的转换过程中,要亮5s黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5s计时、显示电路。

(6)发生紧急事件,如救护车、警车、抢险车通过,可以手动控制四个方向的红灯全亮。

设计目的和意义

通过应用Verilog语言在QuartusⅡ软件平台上设计交通信号灯控制器,并借助硬件来测试仿真效果。通过课程设计,熟悉硬件编程语言的应用,特别是有限状态机的灵活使用,为以后进一步的学习实践打下良好的基础。

设计原理

(1) 主、支干道用传感器检测车辆到来情况,实验电路用逻辑开关代替。

(2) 选择1HZ时钟脉冲作为系统时钟。

(3) 45s、25s、5s定时信号可用顺计时,也可用倒计时,计时起始信号由主控电路给出,每当计满所需时间,启、闭三色信号灯,并启动另一计时电路。

(4) 交通灯状态变化如表1及图1所示:

表1:交通灯状态图

图1:交通灯状态图

(5) 交通灯设计输入信号4个:CLK(时钟),EN(使能),EMERGENCY(紧急),BCHECK(检测) ;输出信号4个:LAMPA(主干道信号灯),LAMPB(支干道信号灯),ACOUNT(主干道计数器),BCOUNT(支干道计数器)。交通灯控制原理如图2所示。

图2:交通灯原理图

详细设计步骤

(1) 确定4个输入信号与4个输出信号,具体见图2;

(2) 将50MHZ时钟分频为1MHZ;

(3) 设计红黄绿3中信号灯切换的时间及顺序;

(4) 设计支路检测状态下的信号灯切换;

(5) 设计紧急(EMERGENCY)状态下信号灯的切换;

(6) 程序使用3always块[1],详细代码如下:

module traffic_control(CLK,EN,EMERGENCY,BCHECK,LAMPA,LAMPB,ACOUNT,BCOUNT);

output[2:0] ACOUNT,BCOUNT;

output[2:0] LAMPA,LAMPB;

reg clk1;

input CLK,EN,EMERGENCY,BCHECK;

reg[2:0] numa,numb;

reg tempa,tempb;

reg[25:0]count;

reg[2:0] counta,countb;

reg[2:0] ared,ayellow,agreen,aleft,bred,byellow,bgreen,bleft;

reg[2:0] LAMPA,LAMPB;

/* 信号定义与说明:

CLK: 为同步时钟;

EN: 使能信号,为1 的话,则控制器开始工作;

LAMPA: 控制A 方向四盏灯的亮灭;其中,LAMPA0~LAMPA2,分别控制A 方向的绿灯、黄灯和红灯;

LAMPB: 控制B 方向四盏灯的亮灭;其中,LAMPB0 ~ LAMPB2,分别控制B 方向的绿灯、黄灯和红灯;

ACOUNT: 用于A 方向灯的时间显示,8 位

BCOUNT: 用于B 方向灯的时间显示,8 位*/

always @(posedge CLK ) //将50MHZ时钟分频为1MHZ

begin

if(count=

begin

count<=0;

clk1<=~clk1;

end

else

count<=count+1;

end

assign ACOUNT=numa;

assign BCOUNT=numb;

always @(EN )

if(!EN)

begin

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/190042.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python转置矩阵画流程图_python 矩阵转置transpose

    python转置矩阵画流程图_python 矩阵转置transposearr=np.arange(16).reshape((2,2,4))arr的array是这样的array([[[0,1,2,3],[4,5,6,7]],[[8,9,10,11],[12,13,14,15]]])我们对arr进行transpose转置,arr2=arr.transpose((1,0,2)),结果是这样:array([[[0,1,2,3…

  • SHELLEXECUTEINFO「建议收藏」

    SHELLEXECUTEINFO「建议收藏」SHELLEXECUTEINFO是WindowsAPIShellExecuteEx的参数,这个是一个结构体类型,里面可以添加参数,当IpVerb成员为"runas"的时候可

  • failed to load response data:Request content was evicted from inspector cache

    failed to load response data:Request content was evicted from inspector cache在项目中,我用谷歌浏览器查看后台返回的json数据,但是发现前端页面已经接收成功,并且渲染了对应json数据了,但是network里面的response却报错:调整对应json数据后发现,当后台返回前端的数据超过了一定大小时,就会出现响应截断的问题,不过目前没有找到在哪里设置,我本地是大概超过10m就会截断。谷歌浏览器编辑设置是about:flags,但是我找不到对应设置response的选项。后来发现火狐浏览器可以设置报文响应大小的限制,先在url栏输入about:config,然后选择接受风险并

  • Simhash_LinkedHashSet

    Simhash_LinkedHashSetsimhash与重复信息识别来源:http://grunt1223.iteye.com/blog/964564在工作学习中,我往往感叹数学奇迹般的解决一些貌似不可能完成的任务,并且十分希望将这种喜悦分享给大家,就好比说:“老婆,出来看上帝”…… 随着信息爆炸时代的来临,互联网上充斥着着大量的近重复信息,有效地识别它们是一个很有意义的课题。例如,对于搜索引擎的

  • 建立友好城市有什么用_缔结友好城市

    建立友好城市有什么用_缔结友好城市原题连接Palmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的情况下,被批准的申请尽量多。输入格式第1行,一个整数N,表示城市数。第2行到第n+1行,每行两个整数,中间用1个空格隔开,分别表示南岸和

  • textmate 快捷技巧

    textmate 快捷技巧textmate快捷技巧文章分类:综合技术高手都是可以不用鼠标的,恩,向高手学习.textmate的快捷键忒多了:自动补全:esc查找项目文件:command+t查找文件内符号:shift+command+t跳到某行:command+l选择:shift+方向键向后缩进:option+tab向前缩进:shift+option+tabreformat所选:option+command+[大写所选:control+u小写所选:

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号