- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上海交通大学 EDA大作业 交通灯
交通灯
设计方案与设计过程
1.具体效果
该交通灯的实验模拟了十字路口的交通灯的时间和颜色变化。
主干道上绿灯亮的时间为8 秒,闪烁3 秒,黄灯亮的时间为2秒,红灯亮的时间为11 秒。支干道上绿灯亮的时间为6 秒,闪烁3 秒,黄灯亮的时间为2秒,红灯亮的时间为13 秒。主干道上绿灯亮和闪烁、黄灯亮共13 秒,这时支干道上的红灯一直亮着。支干道上的绿灯亮6 秒、闪烁3 秒及黄灯亮2 秒,主干道上的红灯亮11 秒。
倒计时由数码管显示,前两个数码管显示主干道上的时间,三四两个数码管显示支道上的时间。主干道上绿灯亮的时间为8 秒,数码管显示起始时间7 秒,然后依次递减至0,绿灯闪烁3 秒,黄灯亮的时间为2 秒(这段时间数码管不显示)。支干道红灯亮的时间为13秒,数码管显示起始时间为12 秒,然后依次递减至0。支干道上绿灯亮的时间为6 秒,数码管显示起始时间5 秒,然后依次递减至0,绿灯闪烁3 秒,黄灯亮的时间为2 秒(这段时间数码管不显示),主干道红灯亮的时间为11秒,数码管显示起始时间为10 秒,然后依次递减至0。
以上是基础部分的要求,还有四个拓展部分的要求。用点阵显示红绿灯,主干道用左边的点阵,一共是3*4,支干道用右边的点阵显示,一共是3*4,黄灯由红灯和绿灯同时显示模拟。加入夜间和时钟模式,用第五六个数码管显示时间,一共是24个小时,并且用一个微动开关进行修改。当22 时到6 时之间,交通灯只闪烁黄灯,其余时间显示与基础部分相同。最后增加一个清零功能,即使是红绿灯计时回到初始状态,用一个微动开关控制。
设计方案
(1)选择频率
交通灯所需的频率只有二种:1Hz 和2Hz。4M 频率经过20、21(q[21..0])次分频后得到。
1Hz 的频率供计数器工作,产生标准的1 秒脉冲信号。
2Hz 的频率供绿灯闪烁用,3 秒闪烁共6 次(亮、暗各3 次)。
数码管一共六个,扫描显示需要6个不同时钟状态,用q[2..0]即可实现。点阵一共八排,扫描显示需要8个不同时钟状态,用q[2..0]业绩可实现。
交通灯控制模块
交通灯一共24种状态,只需要一个模24的计数器做循环即可。在main和branch模块中分别列出24种状态的红灯是否亮,绿灯是否亮,黄灯是否亮,是否闪烁,数码管是否显示,两个数码管显示内容的真值表。输出供后面显示模块判断。
数码管显示模块
一共要显示六个数码管,用扫描显示,频率尽量高。同时加入判断是否是夜间模式,如果是夜间,主干道和支干道的倒计时不显示,白天按照交通灯控制模块中输出的真值显示。
绿灯闪烁模块
由于绿灯要闪烁,加入一个绿灯闪烁模块,用交通灯控制模块输出的maintringle和branchtringle信号控制。如果是高电平,即绿灯会闪烁,输出每秒切换一次高低电平;如果是低电平,即绿灯不会闪烁,则判断绿灯是否亮,是亮的则输出高电平,不是亮的则输出低电平。
点阵显示模块
加入夜间判断,如果是夜间,则闪烁黄灯,频率1Hz;如果不是夜间,按照输入的主干道上红绿黄灯的状态显示。黄灯是红灯和绿灯合成的颜色。
消抖模块
考虑到按键时可能会一次跳很多步,加入消抖模块,使按一次键尽量只变化一个数。
顶层图
三、源程序
main(主干道上的交通灯控制)
SUBDESIGN main
(
incount[4..0]: INPUT ;%输入时钟
maingreen,mainred,mainyellow : output;
out1[3..0],out2[3..0],maintringle,maindigselect : OUTPUT;
)
begin
table
incount[4..0]= maingreen,mainred,mainyellow,out1[3..0],out2[3..0],maintringle,
maindigselect;
h0=1,0,0,h0,h7,0,1;
h1=1,0,0,h0,h6,0,1;
h2=1,0,0,h0,h5,0,1;
h3=1,0,0,h0,h4,0,1;
h4=1,0,0,h0,h3,0,1;
h5=1,0,0,h0,h2,0,1;
h6=1,0,0,h0,h1,0,1;
h7=1,0,0,h0,h0,0,1;
h8=1,0,0,h0,h0,1,1;
h9=1,0,0,h0,h0,1,1;
hA=1,0,0,h0,h0,1,1;
hB=0,0,1,h0,h0,0,0;
hC=0,0,1,h0,h0,0,0;
hD=0,1,0,h1,h0,0,1;
hE=0,1,0,h0,h9,0,1;
hF=0,1,0,h0,h8,0,1;
h10=0,1,0,h0,h7,0,1;
h11=0,1
文档评论(0)