📄 基于vhdl的交通灯控制器设计.htm
字号:
document.write("<tr><td valign='top'><table width='100%' border='0' cellspacing='5' cellpadding='0'><tr><td height='400' valign='top'><table width=100% height='100%' border=1 cellpadding=0 cellspacing=5 bordercolor='#666666' bgcolor=#ecf6f5 style=FILTER: alpha(opacity=90)><tr>");
document.write("<td height='10' align='center' bordercolor='#ecf6f5'><font color=999900><strong>栏 目 树 形 导 航</strong></font></td></tr><tr><td valign='top' bordercolor='#ecf6f5'>");
document.write("<iframe width=100% height=100% src='classtree.asp?ChannelID=2' frameborder=0></iframe></td></tr></table></td></tr></table></td></tr></table>");
var ie = document.all ? 1 : 0
var ns = document.layers ? 1 : 0
var master = new Object("element")
master.curLeft = -200; master.curTop = 10;
master.gapLeft = 0; master.gapTop = 0;
master.timer = null;
if(ie){var sidemenu = document.all.master;}
if(ns){var sidemenu = document.master;}
setInterval("FixY()",100);
function moveAlong(layerName, paceLeft, paceTop, fromLeft, fromTop){
clearTimeout(eval(layerName).timer)
if(eval(layerName).curLeft != fromLeft){
if((Math.max(eval(layerName).curLeft, fromLeft) - Math.min(eval(layerName).curLeft, fromLeft)) < paceLeft){eval(layerName).curLeft = fromLeft}
else if(eval(layerName).curLeft < fromLeft){eval(layerName).curLeft = eval(layerName).curLeft + paceLeft}
else if(eval(layerName).curLeft > fromLeft){eval(layerName).curLeft = eval(layerName).curLeft - paceLeft}
if(ie){document.all[layerName].style.left = eval(layerName).curLeft}
if(ns){document[layerName].left = eval(layerName).curLeft}
}
if(eval(layerName).curTop != fromTop){
if((Math.max(eval(layerName).curTop, fromTop) - Math.min(eval(layerName).curTop, fromTop)) < paceTop){eval(layerName).curTop = fromTop}
else if(eval(layerName).curTop < fromTop){eval(layerName).curTop = eval(layerName).curTop + paceTop}
else if(eval(layerName).curTop > fromTop){eval(layerName).curTop = eval(layerName).curTop - paceTop}
if(ie){document.all[layerName].style.top = eval(layerName).curTop}
if(ns){document[layerName].top = eval(layerName).curTop}
}
eval(layerName).timer=setTimeout('moveAlong("'+layerName+'",'+paceLeft+','+paceTop+','+fromLeft+','+fromTop+')',30)
}
function setPace(layerName, fromLeft, fromTop, motionSpeed){
eval(layerName).gapLeft = (Math.max(eval(layerName).curLeft, fromLeft) - Math.min(eval(layerName).curLeft, fromLeft))/motionSpeed
eval(layerName).gapTop = (Math.max(eval(layerName).curTop, fromTop) - Math.min(eval(layerName).curTop, fromTop))/motionSpeed
moveAlong(layerName, eval(layerName).gapLeft, eval(layerName).gapTop, fromLeft, fromTop)
}
var expandState = 0
function expand(){
if(expandState == 0){setPace("master", 0, 10, 10); if(ie){document.menutop.src = "images/menui.gif"}; expandState = 1;}
else{setPace("master", -200, 10, 10); if(ie){document.menutop.src = "images/menuo.gif"}; expandState = 0;}
}
function FixY(){
if(ie){sidemenu.style.top = document.body.scrollTop+10}
if(ns){sidemenu.top = window.pageYOffset+10}
}
</script>
</head>
<body leftmargin=0 topmargin=0 onmousemove='HideMenu()'>
<div align="center">
<center>
<table border="0" width="778" cellspacing="0" cellpadding="0">
<tr>
<td width="100%">
<noscript><iframe src=*></iframe></noscript>
<table width="778" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="4" align="center" valign="top" bgcolor="#f6f6f6" style="border-top:1px #D8D8D8 solid;"> </td>
<td width="7" align="center" valign="top" bgcolor="#993366" style="border-top:1px #D8D8D8 solid;"> </td>
<td width="6" align="center" valign="top" bgcolor="#f6f6f6" style="border-right:1px #D8D8D8 solid; border-top:1px #D8D8D8 solid;"> </td>
<td width="761" valign="top"> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="74" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="8%" background="adskin/homedhbg.gif">
<img src="adskin/homedha2.gif" width="55" height="34"></td>
<td width="65%" height="34" background="adskin/homedhbg.gif"> <img src="Images/arrow.gif" width="11" height="14" align="absmiddle">
<font color="#333333">
基于VHDL的交通灯控制器设计
</font> </td>
<td width="27%" align="center" background="adskin/homedhbg.gif">
<font color=#FF0066>热</font> <font color='#FF6600'>★★★★</font>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="38" align="center"> <font color="#FF0000" size="1"><strong>基于VHDL的交通灯控制器设计</strong></font></td>
</tr>
</table></td>
</tr>
<tr>
<td height="3" colspan="2" align="center" bgcolor="#f6f6f6"></td>
</tr>
<tr>
<td height="1" colspan="2" align="center" bgcolor="#CCCCCC"></td>
</tr>
<tr>
<td height="28" colspan="2" align="center" bgcolor="#eeeeee">[
作者:佚名 转贴自:本站原创 点击数:1339 更新时间:2007-5-21 文章录入:admin
]
</td>
</tr>
<tr>
<td height="1" colspan="2" bgcolor="#CCCCCC"></td>
</tr>
<tr>
<td height="4" colspan="2" bgcolor="#f6f6f6"></td>
</tr>
<tr>
<td colspan="2" align="center"><table width="746" border="0" cellspacing="6" cellpadding="5" style="word-break:break-all">
<tr>
<script>var status0_6562='';
var curfontsize_6562=9;var curlineheight_6562=12;</script>
<td width="720" height="200" valign="top" bgcolor="#FFFFFF"><p align="right"><a style="CURSOR: hand; POSITION: relative" onclick="if(curfontsize_6562>8){fontsize_6562.style.fontSize=(--curfontsize_6562)+"pt";fontsize_6562.style.lineHeight=(--curlineheight_6562)+"pt";}">
<img src="images/nofollow.gif" border="0" width="15" height="15"><font color="#FF6600">减小字体</font></a>
<a style="CURSOR: hand; POSITION: relative" onclick="if(curfontsize_6562<64){fontsize_6562.style.fontSize=(++curfontsize_6562)+"pt";fontsize_6562.style.lineHeight=(++curlineheight_6562)+"pt";}">
<img src="images/plus.gif" border="0" width="15" height="15"><font color="#FF6600">增大字体</font></a></p>
<div id="fontsize_6562">
<TABLE cellSpacing=0 cellPadding=0 width=675 border=0>
<TBODY>
<TR>
<TD class=l16 height=40>
<DIV align=center><FONT size=4>基于VHDL的交通灯控制器设计</FONT></DIV></TD></TR>
<TR class=l12>
<TD height=35>
<DIV align=center><FONT size=4>翟殿棠,方 敏,厉光伟</FONT></DIV></TD></TR>
<TR class=l12>
<TD height=35>
<DIV align=center><FONT size=4>(济南大学 控制科学与工程学院 山东 济南 250022)</FONT></DIV></TD></TR>
<TR class=l12>
<TD><BR>应用VHDL语言设计数字系统,大部分设计工作可在计算机上完成,从而缩短系统开发时间,提高工作效率。下面介绍基于VHDL设计交通灯控制器的一种方案,并给出源程序和仿真结果。
<P><STRONG>1 系统功能与要求</STRONG></P>
<P>交通灯控制器控制两个主干道交叉路口的交通,路口车辆多,直行信号、左转弯信号分开显示,a,b两个主干道的通行时间相等,其中指示直行的绿灯亮30 s,指示左转弯的绿灯亮12 s,绿灯变至红灯时,黄灯亮3 s,以便于车辆能停在停车线内,红灯信号的最后3 s相应的黄灯也同时亮,以便提示驾驶人员准备起步。在两个主干道路口都配备传感器用来检测有无车辆通行。当两个主干道都有车辆时,自动处于主干道a绿灯,主干道b红灯的状态,然后轮流切换通行。当主干道a无车辆时,自动处于主干道b绿灯,主干道a红灯的状态;反之亦然,以提高通行效率。</P>
<P><STRONG>2 设计与仿真</STRONG></P>
<P>根据交通灯控制器的功能与要求,将其总体电路分为分频器、信号控制器两个模块。外部脉冲振荡器的频率选为32 768 kHz,经分频器分频得1 Hz的信号,1 Hz信号用做信号控制器的计数脉冲,用VHDL设计组成交通灯控制器的分频器、信号控制器两个模块,在QuartusⅡ开发平台上,分别编译两个模块的VHDL程序,然后用原理图输入法形成图1所示的总体框图。</P>
<TABLE cellSpacing=0 cellPadding=0 width=675 border=0>
<TBODY>
<TR>
<TH scope=row><IMG height=276 src="UploadFiles/2007521145234734.jpg" width=250></TH></TR></TBODY></TABLE>
<P>其中信号控制器的VHDL程序如下:</P>
<TABLE cellSpacing=0 cellPadding=0 width=675 border=0>
<TBODY>
<TR>
<TH scope=row><IMG height=104 src="UploadFiles/2007521145235580.jpg" width=350></TH></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=675 border=0>
<TBODY>
<TR>
<TH scope=row><IMG height=974 src="UploadFiles/2007521145235621.jpg" width=330></TH></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=675 border=0>
<TBODY>
<TR>
<TH scope=row><IMG height=782 src="UploadFiles/2007521145235360.jpg" width=330></TH></TR></TBODY></TABLE>
<P>其中,Sa,Sb分别是a,b路口传感器的信号,aR,aY,aG,aLR,aLY,aLG分别代表控制主干道a的直行红灯、黄灯、绿灯,左转弯红灯、黄灯、绿灯的信号;bR,bY,bG,bLR,bLY,bLG分别代表控制主干道b的直行红灯、黄灯、绿灯,左转弯红灯、黄灯、绿灯的信号;aPR,aPG,bPR,bPG是人行道信号,enl是使能信号。enl=0时a,b两路口红灯同时亮,便于处理特殊情况。用QuartusⅡ对程序编译、仿真,得到的仿真波形如图2所示,经程序下载、实验验证,系统功能符合要求。</P>
<TABLE cellSpacing=0 cellPadding=0 width=675 border=0>
<TBODY>
<TR>
<TH scope=row><IMG height=157 src="UploadFiles/2007521145235371.jpg" width=320></TH></TR></TBODY></TABLE>
<P>基于VHDL设计交通灯控制器,外围电路少、功耗低、可靠性高,便于系统功能的修改,设计效率高。<BR></P></TD></TR>
<TR>
<TD> </TD></TR>
<TR>
<TD>
<DIV align=center>本文摘自《现代电子技术》</DIV></TD></TR></TBODY></TABLE></p><p align='center'><font color='red'><b>[1]</b></font></p>
</div></td>
</tr>
</table></td>
</tr>
<tr>
<td colspan="2" bgcolor="#f6f6f6"><table width="100%" height="50" border="0" cellpadding="0" cellspacing="5" style="BORDER-top: #51637B 1px solid;BORDER-bottom: #51637B 1px solid;">
<tr>
<td bgcolor="#FFFFFF"> <img src="adskin/aer.gif"> 上一篇文章:
<a href='Article_Show.asp?ArticleID=1083' title='文章标题:PLC可编程逻辑器件的选择
作 者:佚名
更新时间:2007-5-21 13:52:22
点击次数:235'>PLC可编程逻辑器件的选择</a>
<br> <img src="adskin/aer.gif"> 下一篇文章:
<a href='Article_Show.asp?ArticleID=1098' title='文章标题:采用FPGA解决通信接口问题
作 者:佚名
更新时间:2007-5-22 14:27:50
点击次数:106'>采用FPGA解决通信接口问题</a>
</td>
</tr>
</table></td>
</tr>
<tr align="right">
<td height="20" colspan="2">【<a href="Article_Comment.asp?ArticleID=1093" target="_blank">发表评论</a>】【<a href="SendMail.asp?ArticleID=1093" target="_blank">告诉好友</a>】【<a href="Article_Print.asp?ArticleID=1093">打印此文</a>】【<a href="javascript:window.close();">关闭窗口</a>】</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width='100%' border='0'cellpadding='0' cellspacing='0'>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="34" background="adskin/homedhbg.gif">
<img src="adskin/xgwz.gif"></td>
</tr>
</table></td>
<tr>
<td height="40" valign="top"><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="5">
<tr>
<td valign="top">
没有相关文章
</td>
</tr>
</table></td>
</tr>
<tr>
<td></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td colspan="4" valign="top"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="23%" background="adskin/homedhbg.gif">
<img src="adskin/wzpl.gif" width="173" height="34"></td>
<td width="77%" height="34" background="adskin/homedhbg.gif"><strong>
</strong>(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#f6f6f6"><table width="100%" height="100%" border="0" cellpadding="8" cellspacing="6">
<tr>
<td valign="top" bgcolor="#FFFFFF">
没有任何评论
</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</div>
<table width='778' align='center' border='0' cellpadding='0' cellspacing='0'><tr><td height='1' bgcolor='#CCCCCC'></td></tr><tr><td height='2' bgcolor='#FFFFFF'></td></tr><tr height='22' bgcolor='#eeeeee' align='center'><td>| <a href='#' onClick=this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.dz158.com');>设为首页</a> | <a href=javascript:window.external.addFavorite('http://www.dz158.com','微控之家 微控世界')>加入收藏</a> | <a href='Copyright.asp' target='_blank'>版权申明</a> | <a href='mailto:dz1581@126.com'>联系站长</a> | <a href='FriendSite.asp' target='_blank'>友情链接</a> | <a href='gg.asp' target='_blank'>广告投放</a> | <a href='admin_index.asp' target='_blank'>管理站点</a> | </td></tr><tr><td height='2' bgcolor='#CCCCCC'></td></tr></table><table width="643" border="0" align="center" cellpadding="0" cellspacing="0" background="../Images/foot2.gif">
<tr>
<td width="233" height="64" align="center"><font color="#0066CC"><strong><font color="#000066"><br>
</font><a target=blank href=http://wpa.qq.com/msgrd?V=1&Uin=39182750&Site=电子网&Menu=yes><img border="0" src=http://wpa.qq.com/pa?p=1:39182750:13 alt="点击这里给我发消息"></a><br>
</strong></font></td>
<td width="410" align="center"><div align="left"> <font color="#FF6600"><strong><br>
微控之家</strong> 版权所有 未经授权禁止转 <br>
<a target=blank href=http://wpa.qq.com/msgrd?V=1&Uin=39182750&Site=电子网&Menu=yes><img border="0" src=http://wpa.qq.com/pa?p=1:39182750:8 alt="点击这里给我发消息"></a>电子邮件:DZ1581@126.COM DZ158@MSN.COM<br>
<font size="1"><strong>微控之家</strong></font></font> <font color="#FF6600"> Copyright©2004-2007</font></div></td>
</tr>
</table>
</body>
</html>
<SCRIPT LANGUAGE="javascript">
<!-- Hide
function killErrors() {
return true;
}
window.onerror = killErrors;
// -->
</SCRIPT>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -