交通信号灯控制器C语言代码,交通信号灯控制器代码及说明.doc
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
交通信号灯控制器C语言代码,交通信号灯控制器代码及说明.doc相关推荐
- 8255控制交通灯实验 c语言 main,交通灯控制实验
交通灯控制实验 一)实验目的 通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用和中断的使用. 二)交通灯变化规律 十字路口交通灯的变化规律要求 1) 北路口的绿灯.东西路口的 ...
- C语言红绿灯课程设计,C语言版交通灯课程设计.doc
C语言版交通灯课程设计 微机控制课程设计报告 课程名称 基于C语言单片机交通灯 学生姓名 张 万 双 学号 51102022004 专业班级 电子信息科学与技术2班 指导老师 2013年12月5日 目 ...
- 单片机交通灯数码管c语言程序,51单片机C语言实现交通灯(红绿灯)源程序.doc
51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改. 源程序如下: /*1.程序目的:使用定 ...
- c语言写红绿灯程序,51单片机用C语言实现交通灯(红绿灯)源程序
51单片机用C语言实现交通灯(红绿灯)源程序 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改. 源程序如下: /* 1.程序目的:使用定时器学习 倒计时 红绿灯原理 主 ...
- 用c语言设计红绿灯程序,[转载]51单片机用C语言实现交通灯(红绿灯)源程
51单片机用C语言实现交通灯(红绿灯)源程序 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改. 源程序如下: #include bit red,green,yellow ...
- 单片机交通灯灯c语言程序,51单片机用C语言实现交通灯(红绿灯)源程序
51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改. 源程序如下: /* 1.程序目的:使用 ...
- 现代交通灯的设计C语言编程,交通灯设计_优秀论文.doc
. PAGE .. 毕业论文(设计) 题 目 基于单片机控制的 交通灯的设计 _ 学生姓名 学 号 专业班级 指导教师 完成时间: 201 年 月 日 . PAGE .. 摘 要 交通信号灯的出现,使 ...
- 店铺咨询系统c语言,交通咨询系统数据结构c语言word文档良心出品
<交通咨询系统数据结构c语言word文档良心出品>由会员分享,可在线阅读,更多相关<交通咨询系统数据结构c语言word文档良心出品(22页珍藏版)>请在人人文库网上搜索. 1. ...
- oracle大黑点,R语言实现交通行业事故案例之黑点确定 - 数据分析
简述 伴随着人们对出行以及货物运输的安全.快速.方便和机动性要求的提高,公路交通事故及其造成的损失越来越受世界各国高度重视,道路交通安全已成为社会各界广泛关注的重大课题.为了减少公路交通事故发生次数. ...
- 单片机交通灯灯c语言程序,关于LED模拟交通灯单片机C语言程序设计 - 全文
本文为大家带来三个关于LED模拟交通灯单片机C语言程序设计. 关于LED模拟交通灯单片机C语言程序设计一 功能说明 东西向绿灯亮若干秒,黄灯闪烁5次后红灯亮,红灯亮后,南北向由红灯变为绿灯,若干秒后南 ...
最新文章
- 时空AI技术:深度强化学习在智能城市领域应时空AI技术:深度强化学习在智能城市领域应用介绍...
- 三层交换机----VRRP协议学习
- OVS datapath结构图(四十六)
- LiveVideoStack 主编观察 01
- python中strip、startswith、endswith
- golang 包含 数组_Golang数组类型
- 命令模式--command模式
- Python测试开发django1.简介
- 兼容性所有浏览器的透明CSS设置
- hdu 5446 Lucas+中国剩余定理(孙子定理)+按位乘
- python编辑程序用print函数输出中国加油武汉加油_python练习1之print函数
- K60(Cortex-M4)开源开发探索(一)—— K60简介
- redis-(error) CLUSTERDOWN Hash slot not served
- 国内随时接收发送谷歌邮箱
- 浙江省等保测评机构项目测评收费价格标准参考
- extern关键字的作用
- [Go实战]简单使用scylladb
- 蚂蚁森林公益合种带我种“大树”
- ab压力测试并发测试基于HTTP
- 期货分仓软件 /股票分仓软件的功能有哪些?
热门文章
- 微信Log日志分析——初步探索
- webrtc源码分析 nack详解
- SwitchHosts! 3.5.8 中文版 (mac hosts修改工具)
- 女生干前端开发个人思考
- 笔记本可以连wifi,但很卡或者无法访问互联网的一种解决方法
- 计算机硬盘根目录是什么,解决方案:硬盘根目录是什么意思?它存储在哪里?...
- C/C++基础题035.一元二次方程公式
- 介入治疗在胰腺癌的作用
- 关于gopher协议的ssrf攻击
- linux海报制作软件,用 OpenOffice.org 3.2 Draw 制作海报