?? 基于vhdl的交通燈控制器設(shè)計(jì).htm
字號(hào):
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>欄 目 樹 形 導(dǎo) 航</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的交通燈控制器設(shè)計(jì)
</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的交通燈控制器設(shè)計(jì)</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">[
作者:佚名 轉(zhuǎn)貼自:本站原創(chuàng) 點(diǎn)擊數(shù):1339 更新時(shí)間: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的交通燈控制器設(shè)計(jì)</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>(濟(jì)南大學(xué) 控制科學(xué)與工程學(xué)院 山東 濟(jì)南 250022)</FONT></DIV></TD></TR>
<TR class=l12>
<TD><BR>應(yīng)用VHDL語(yǔ)言設(shè)計(jì)數(shù)字系統(tǒng),大部分設(shè)計(jì)工作可在計(jì)算機(jī)上完成,從而縮短系統(tǒng)開發(fā)時(shí)間,提高工作效率。下面介紹基于VHDL設(shè)計(jì)交通燈控制器的一種方案,并給出源程序和仿真結(jié)果。
<P><STRONG>1 系統(tǒng)功能與要求</STRONG></P>
<P>交通燈控制器控制兩個(gè)主干道交叉路口的交通,路口車輛多,直行信號(hào)、左轉(zhuǎn)彎信號(hào)分開顯示,a,b兩個(gè)主干道的通行時(shí)間相等,其中指示直行的綠燈亮30 s,指示左轉(zhuǎn)彎的綠燈亮12 s,綠燈變至紅燈時(shí),黃燈亮3 s,以便于車輛能停在停車線內(nèi),紅燈信號(hào)的最后3 s相應(yīng)的黃燈也同時(shí)亮,以便提示駕駛?cè)藛T準(zhǔn)備起步。在兩個(gè)主干道路口都配備傳感器用來(lái)檢測(cè)有無(wú)車輛通行。當(dāng)兩個(gè)主干道都有車輛時(shí),自動(dòng)處于主干道a綠燈,主干道b紅燈的狀態(tài),然后輪流切換通行。當(dāng)主干道a無(wú)車輛時(shí),自動(dòng)處于主干道b綠燈,主干道a紅燈的狀態(tài);反之亦然,以提高通行效率。</P>
<P><STRONG>2 設(shè)計(jì)與仿真</STRONG></P>
<P>根據(jù)交通燈控制器的功能與要求,將其總體電路分為分頻器、信號(hào)控制器兩個(gè)模塊。外部脈沖振蕩器的頻率選為32 768 kHz,經(jīng)分頻器分頻得1 Hz的信號(hào),1 Hz信號(hào)用做信號(hào)控制器的計(jì)數(shù)脈沖,用VHDL設(shè)計(jì)組成交通燈控制器的分頻器、信號(hào)控制器兩個(gè)模塊,在QuartusⅡ開發(fā)平臺(tái)上,分別編譯兩個(gè)模塊的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>其中信號(hào)控制器的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路口傳感器的信號(hào),aR,aY,aG,aLR,aLY,aLG分別代表控制主干道a的直行紅燈、黃燈、綠燈,左轉(zhuǎn)彎紅燈、黃燈、綠燈的信號(hào);bR,bY,bG,bLR,bLY,bLG分別代表控制主干道b的直行紅燈、黃燈、綠燈,左轉(zhuǎn)彎紅燈、黃燈、綠燈的信號(hào);aPR,aPG,bPR,bPG是人行道信號(hào),enl是使能信號(hào)。enl=0時(shí)a,b兩路口紅燈同時(shí)亮,便于處理特殊情況。用QuartusⅡ?qū)Τ绦蚓幾g、仿真,得到的仿真波形如圖2所示,經(jīng)程序下載、實(shí)驗(yàn)驗(yàn)證,系統(tǒng)功能符合要求。</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設(shè)計(jì)交通燈控制器,外圍電路少、功耗低、可靠性高,便于系統(tǒng)功能的修改,設(shè)計(jì)效率高。<BR></P></TD></TR>
<TR>
<TD> </TD></TR>
<TR>
<TD>
<DIV align=center>本文摘自《現(xiàn)代電子技術(shù)》</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='文章標(biāo)題:PLC可編程邏輯器件的選擇
作 者:佚名
更新時(shí)間:2007-5-21 13:52:22
點(diǎn)擊次數(shù):235'>PLC可編程邏輯器件的選擇</a>
<br> <img src="adskin/aer.gif"> 下一篇文章:
<a href='Article_Show.asp?ArticleID=1098' title='文章標(biāo)題:采用FPGA解決通信接口問題
作 者:佚名
更新時(shí)間:2007-5-22 14:27:50
點(diǎn)擊次數(shù):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">發(fā)表評(píng)論</a>】【<a href="SendMail.asp?ArticleID=1093" target="_blank">告訴好友</a>】【<a href="Article_Print.asp?ArticleID=1093">打印此文</a>】【<a href="javascript:window.close();">關(guān)閉窗口</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">
沒有相關(guān)文章
</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條。評(píng)論內(nèi)容只代表網(wǎng)友觀點(diǎn),與本站立場(chǎng)無(wú)關(guān)!)</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">
沒有任何評(píng)論
</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');>設(shè)為首頁(yè)</a> | <a href=javascript:window.external.addFavorite('http://www.dz158.com','微控之家 微控世界')>加入收藏</a> | <a href='Copyright.asp' target='_blank'>版權(quán)申明</a> | <a href='mailto:dz1581@126.com'>聯(lián)系站長(zhǎng)</a> | <a href='FriendSite.asp' target='_blank'>友情鏈接</a> | <a href='gg.asp' target='_blank'>廣告投放</a> | <a href='admin_index.asp' target='_blank'>管理站點(diǎn)</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=電子網(wǎng)&Menu=yes><img border="0" src=http://wpa.qq.com/pa?p=1:39182750:13 alt="點(diǎn)擊這里給我發(fā)消息"></a><br>
</strong></font></td>
<td width="410" align="center"><div align="left"> <font color="#FF6600"><strong><br>
微控之家</strong> 版權(quán)所有 未經(jīng)授權(quán)禁止轉(zhuǎn) <br>
<a target=blank href=http://wpa.qq.com/msgrd?V=1&Uin=39182750&Site=電子網(wǎng)&Menu=yes><img border="0" src=http://wpa.qq.com/pa?p=1:39182750:8 alt="點(diǎn)擊這里給我發(fā)消息"></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>
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -