📄 43310.html
字号:
<!---->
<html>
<head>
<title>交通灯控制器vhdl程序 -电子网 </title>
<META content="电源技术,充电器,电路设计,认证,ISO,IEC,UL,GS,节能灯,光管,LED,单片机,遥控,电脑,网站,源码" />
<meta name="description" content="仪器仪表,音响发烧,数码技术,彩色电视,液晶,等离子,手机,电子视频课程,自动化控制" />
<meta name="Keywords" content="仪器仪表,音响发烧,数码技术,彩色电视,电源、充电器、电路、节能灯、安规认证、单片机、镇流器、家电" />
<!--css--><style type="text/css">
body {font-family: Verdana;FONT-SIZE: 12px;MARGIN: 0;color: #000000;background: #ffffff;}
td {FONT-SIZE: 12px;}
textarea,input,select{
font-family: Verdana;
font-size: 12px;
background-color: #ffffff;
}
form{margin:0px; display:inline}
div.quote{
margin:5px 20px;
border:1px dashed #CCCCCC;
padding:5px;
background:#FBFBFB;
line-height:normal;
}
a { TEXT-DECORATION: none;}
a:hover{ text-decoration: underline;}
img {border:0;}
.banner{background: #ffffff;}
.head { color: #FFFFFF;background: #84AACE;padding: 5px;}
.head a { color: #FFFFFF;}
.hr {border-top: 1px solid #E7E3E7; border-bottom: 0; border-left: 0; border-right: 0; }
.t_one {background: #f3f8ef;}
.t_two {background: #f3f8ef;}
.cbg { color:#000000;background: #E5E8EA;}
.cbg a{ color:#000000;}
.smalltxt {font-family: Tahoma, Verdana; font-size: 12px;}
.cfont { color:#FFFFFF; }
.tpc_title { font-size: 12px;font-weight:bold;}
.tpc_content { font-size: 13px;}
.i_table {BORDER: #E7E3E7 1px solid;background:#D6E3EF;}
</style><!--css-->
</head>
<body vlink="#333333" link="#333333">
<table cellspacing="0" cellpadding="0" width="98%" align="center">
<tr><td><table cellspacing="0" cellpadding="0" width="100%">
<tr valign="bottom"><td align="left" class="banner">
<a href="../../../index.php"><img src="../../../image/wind/logo.gif" /></a></td>
<td class="banner" valign="middle"><script type="text/javascript"><!--
google_ad_client = "pub-0039291941255433";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2007-03-29: elecm.com/index.htm
google_ad_channel = "7329797384";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "FF6FCF";
google_color_url = "008000";
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td></tr>
<tr><td align="center" height="1" bgcolor="#ffffff" colspan="2"></td></tr>
<tr><td align="center" class="cbg" colspan="2" height="26">
<a href='http://elecm.com/index.htm'>网站首页</a>
| <a href="../../../profile.php">控制面板</a>
| <a href="../../../message.php">短消息</a>
| <a href="../../../search.php">搜索</a>
| <a href="../../../member.php">会员</a>
| <span onclick="var strHref=window.location.href;this.style.behavior='url(#default#homepage)';this.setHomePage('http://elecm.com');" style="CURSOR: hand">设为首页</span>
| <span style="CURSOR: hand" onClick=window.external.addFavorite('http://elecm.com','电子网') title=电子网>收藏本站</span>
</td></tr>
</table></td></tr></table>
<table cellspacing=0 cellpadding=0 width='98%' bgcolor=#E7E3E7 align=center>
<tr><td align='center' height=1 bgcolor=#d9eafb colspan=2></td></tr>
<tr><td align='center' class=cbg colspan=2 height=24><span style="font-size:13px">
<a href="http://elecm.com">网站首页</a>
| <a href="http://elecm.com/a/index.php">网站论坛</a>
| <a href="http://elecm.com/blog">网站博客</a>
| <a href="http://elecm.com/a/chat/index.php"target="_blank">聊天室</a>
| <a href="http://elecm.com/logo/">电子黄页</a></span>
</table>
<br /><br />
<!---->
<table width="98%" cellspacing="0" cellpadding="0" align="center">
<tr><td>
<b><a href="../../../index.php">论坛中心</a> -> <a href="../../../thread.php?fid=6">照明、镇流器、LED、节能灯技术</a> -> 交通灯控制器vhdl程序</b></td><td align="right">
</td></tr><tr><td height="5" colspan="2"></td></tr></table><br />
<table width="98%" cellspacing="0" cellpadding="1" align="center">
<tr><td align="left"></td>
<td align="right">
<a href="../../../post.php?fid=6"><img src="../../../image/wind/post.gif" /></a>
<a href="../../../post.php?action=reply&fid=6&tid=43310">
<img src="../../../image/wind/reply.gif" /></a>
</td></tr></table>
<table cellspacing="0" cellpadding="1" width="98%" style="border-top: #E7E3E7 1px solid;border-left: #E7E3E7 1px solid;border-right: #E7E3E7 1px solid;" align="center">
<tr><td align="left" class="head"> --> <b>本页主题:</b> 交通灯控制器vhdl程序</td>
<td align="right" class="head">
<a href="#" onClick="Addtoie('http://www.elecm.com/a/read.php?fid=6&tid=43310','--交通灯控制器vhdl程序')">加为IE收藏</a>
| <a href="../../../job.php?action=favor&job=add&tid=43310">收藏主题</a>
| <a href="../../../job.php?rd_previous=1&fid=6&tid=43310&fpage=&goto=previous">上一主题</a>
| <a href="../../../job.php?rd_previous=1&fid=6&tid=43310&fpage=&goto=next">下一主题</a>
</td></tr></table>
<TABLE cellSpacing=0 cellPadding=1 width="98%" align=center bgColor=#E7E3E7>
<TBODY>
<TR>
<TD width="98%"><FONT
color=black><center><script type="text/javascript"><!--
google_ad_client = "pub-0039291941255433";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
//2007-08-13: elecm.com/blog/
google_ad_channel = "6965965049";
google_color_border = "E6E6E6";
google_color_bg = "E6E6E6";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></FONT>
</TD></TR></TBODY></TABLE></TD></TR></TABLE>
<!---->
<table cellspacing="1" cellpadding="0" width="98%" style="TABLE-LAYOUT: fixed;WORD-WRAP: break-word;" bgcolor=#E7E3E7 align="center">
<tr>
<td width="100%" height="100%" bgcolor="#f3f8ef" valign="top">
<table width="99%" height="100%" align="center" cellspacing="0" cellpadding="6" style="TABLE-LAYOUT: fixed;WORD-WRAP: break-word">
<tr height="100%"><td bgcolor="#f3f8ef" colspan="6" valign="top">
<!---->
<!---->
<!---->
<br /><br />
<span class="tpc_title">交通灯控制器vhdl程序</span><br />
<!---->
<br /><span class="tpc_content"> 目的和要求:<br> 1.有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG(乡绿)六盏交通灯需要控制;<br> 2.交通灯由绿→红有4秒黄灯亮的间隔时间,由红→绿没有间隔时间;<br> 3.系统有MRCY、MRCG、MYCR、MGCR四个状态;<br> 4.相间公路右侧各埋有一个传感器,当有车辆通过相间公路时,发出请求信号S;<br> 5.平时系统停留在MGCR状态,一旦S信号有效,经MRCY转入MRCG状态,但要保证MRCG状态也不得短于一分钟;<br> 6.一旦S信号无效,系统脱离MRCG状态。随即经MRCY转入进入MGCR状态,计时S信号一直有效,MRCG状态也不得长于20秒钟。<br><br>实验仪器:GW/48系列EDA开发系统(包含EP1K30TC144-3);<br>编程环境:MAXPLUS ii 10.2<br><br>VHDL程序: 分为三个底层文件和一个顶层文件:<br><br>1.控制模块――controlm.vhd<br>LIBRARY IEEE;<br>USE IEEE.STD_LOGIC_1164.ALL;<br>USE IEEE.STD_LOGIC_UNSIGNED.ALL;<br>ENTITY controlm IS<br> PORT (clk0,reset0,s0,c0 :IN STD_LOGIC;<br> ld0 :out std_logic;<br> dinl0,dinh0 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);<br> state0 :OUT STD_LOGIC_VECTOR(1 DOWNTO 0));<br>END controlm;<br>ARCHITECTURE behav OF controlm IS<br> signal statenum:std_logic_vector(1 downto 0);<br> signal ldt:std_logic;<br> signal reg:std_logic_vector(3 downto 0);<br>BEGIN<br>state0<=statenum;<br>ld0<=ldt;<br>reg<=statenum&s0&c0;<br>process(reg,clk0)<br> begin<br> if reset0='0' then<br> statenum<="00";dinh0<="0101";dinl0<="1001";ldt<='0'; <br> elsif clk0'event and clk0='0' then <br> case reg is<br> when "0100"|"0101"|"1101"|"1111"=> statenum<="00";dinh0<="0101";dinl0<="1001";ldt<='0';<br> when "1000"|"1001"|"1011" => statenum<="11";dinh0<="0000";dinl0<="0011";ldt<='0';<br> when "0011" => statenum<="01";dinh0<="0000";dinl0<="0011";ldt<='0';<br> when "0111" => statenum<="10";dinh0<="0001";dinl0<="1001";ldt<='0';<br> when others => ldt<='1';<br> end case;<br> end if;<br>end process;<br>end behav;<br><br>2.计数模块--mvc.vhd<br>library ieee;<br>use ieee.std_logic_1164.all;<br>use ieee.std_logic_arith.all;<br>use ieee.std_logic_unsigned.all;<br>entity mvc is<br> port( cp1:in std_logic;<br> ld1:in std_logic;<br> dinl1:in std_logic_vector(3 downto 0);<br> dinh1:in std_logic_vector(3 downto 0);<br> ql1:out std_logic_vector(3 downto 0);<br> qh1:out std_logic_vector(3 downto 0);<br> c1:out std_logic);<br>end mvc;<br><br>architecture w of mvc is<br>signal qa,qat:std_logic_vector(3 downto 0);<br>signal qb,qbt:std_logic_vector(3 downto 0);<br>signal ca,cb :std_logic;<br><br>begin<br> qh1<=qb;<br> ql1<=qa;<br> process(cp1)<br> begin<br> qat<=dinl1;<br> if cp1'event and cp1='1' then<br> if ld1='0' then qa<=qat;ca<='0';<br> elsif(qa="0000" and qb="0000") then qa<="0000";<br> elsif(qa="0000") then qa<="1001";ca<='0';<br> elsif(qa="0001") then ca<='1';qa<="0000";<br> else qa<=qa-1;ca<='0';<br> end if;<br> end if;<br> end process;<br><br> process(ca,cp1)<br> begin<br> qbt<=dinh1;<br> if cp1'event and cp1='1' then<br> if ld1='0' then qb<=qbt;cb<='0';c1<='0';<br> elsif(qb="0000" and qa="0000") then qb<="0000";<br> elsif(qb="0000" and qa="0001") then c1<='1';<br> elsif(ca='1') then qb<=qb-1;<br> end if;<br> end if;<br> end process;<br>end w;</span><br />
<!---->
</td></tr>
<tr valign="bottom" bgcolor="#f3f8ef">
<td colspan="6">
<!---->
</td></tr>
<tr bgcolor="#f3f8ef" valign="bottom"><td colspan="5">
<!---->
<table cellspacing=1 cellpadding=4 bgcolor=#d9eafb>
<tr><td class="t_one"><script type="text/javascript"><!--
google_ad_client = "pub-0039291941255433";
google_ad_width = 468;
google_ad_height = 15;
google_ad_format = "468x15_0ads_al_s";
//2007-02-11: elecm.com/a
google_ad_channel = "4512250207";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td></tr>
</table><br>
<center><a href='../../../sendemail.php?action=tofriend&tid=43310'><font color=red><b>“点击这里将此帖推荐给你的朋友赚取宣传贡献!提升你的级别!并有机会得到大奖!”</b></font></a></center><br>
<font color="red">[楼 主]</font>
<!---->
<a href='../../../profile.php?action=show&uid=27'><font color="#5EA2A2" face=Gulim>ghty</font></a>
<font color="#5EA2A2">一级会员</font>
<font color="#5EA2A2">发帖115</font>
<font color="#5EA2A2">威望133 </font>
<font color="#5EA2A2">金币244 </font>
<font color="#5EA2A2">宣传贡献5 </font>
<a href='../../../message.php?action=write&touid=27'><font color=#5EA2A2>短息</font></a>
<a href='../../../post.php?action=quote&fid=6&tid=43310&pid=&article=0'><font color=#5EA2A2>引用</font></a>
<a href='../../../post.php?action=modify&fid=6&tid=43310&pid=&article=0'><font color=#5EA2A2>编辑</font></a>
<font color=#5EA2A2>日期07-13 16:12</font></a>
<td align=right>
<a href="javascript:scroll(0,0)">顶端</a></td></tr></table></td></tr></table>
<table width="98%" align="center">
<tr><td height="1"></td></tr>
</table>
<!---->
<a name=lastatc></a>
<table cellspacing="1" cellpadding="0" width="98%" style="TABLE-LAYOUT: fixed;WORD-WRAP: break-word;" bgcolor=#E7E3E7 align="center">
<tr>
<td width="100%" height="100%" bgcolor="#f3f8ef" valign="top">
<table width="99%" height="100%" align="center" cellspacing="0" cellpadding="6" style="TABLE-LAYOUT: fixed;WORD-WRAP: break-word">
<tr height="100%"><td bgcolor="#f3f8ef" colspan="6" valign="top">
<!---->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -