ImageVerifierCode 换一换
格式:DOC , 页数:21 ,大小:261.51KB ,
资源ID:2647333      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2647333.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(交通灯控制器的Verilog程序.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

交通灯控制器的Verilog程序.doc

1、武 汉 科 技 大 学 课题:交通灯控制器的设计 编号:17 指导老师:冯 玉 林 班 级:自动化0703班 姓 名: 筱 启坚持,就是胜利目 录1. 设计内容与要求 22. 交通灯控制系统的组成框图 33. 交通灯控制电路的设计 44. 交通灯控制电路设计的难点与解决方法55. 交通灯控制电路的Verilog语句 65. 交通灯控制电路的程序和波形分析 126. EPF10K10LC84-4芯片引脚分配图 207. 实验小结 21一、 设计内容与要求 设计一个十字路口交通信号灯的定时控制电路。要求红、绿灯按一定的规律亮和灭,并在亮灯期间进行倒计时,并将运行时间用数码管显示出来。 绿灯亮时,为

2、该车道允许通行信号,红灯亮时,为该车道禁止通行信号。要求主干道每次通行时间为99秒,支干道每次通行时间为30秒。每次变换运行车道前绿灯闪烁,持续时间为5秒。即车道要由主干道转换为支干道时,主干道在通行时间只剩下5秒钟时,绿灯闪烁显示,支干道仍为红灯,以便主干道上已过停车线的车继续通行,未过停车线的车停止通行。同理,当车道由支干道转换为主干道时,支干道绿灯闪烁显示5秒钟,主干道仍为红灯。 对红、绿灯的运行时间要能比较方便的进行重新设置。 添加左转灯的控制,可自行到实际十字路口观看规律并实现。对器件进行在系统编程和实验验证。用Verilog语言对设计进行描述,设计一个测试方案,通过Muxplus对

3、设计进行仿真验证。并能够下载到实验板上调试成功。二、交通灯控制系统的组成框图根据设计要求,画出交通信号灯控制电路原理框图,如下图所示:支干道信号灯主干道信号灯译码、显示 交通灯闪烁控制状态译码器减法计数器 置数控制状态控制器 秒脉冲发生器 交通信号灯控制原理图主 干道 信号 灯定 时 器 绿 灯 Ts Tl ts tl Temp 左拐灯译码器控 制 器 红 灯时钟支 干道 信号 灯传感器 绿 灯 左拐灯 红 灯 交通信号灯控制系统框图三、 交通灯控制电路的设计交通灯控制器设计的重点是控制电路的设计,根据设计要求分析,控制电路的算法可用下图所示的ASM图描述。Tempm= =0?Tempb= =

4、0?S0 YesCountm由0变为1Countb由1变为2主绿支红 S3 No主红支黄Tempm= =0? NoCountb由1变为2YesCountm由1变为2 YesTempb= =0?S1 S2主红支绿主黄支红 NoTempm= =0?Tempb= =0?Countm由2变为0Countb由0变为1 No Yes Yes各状态的详细说明如下:S0状态:主干道绿灯亮,支干道红灯亮,此时若主干道有车等待左拐,而且主干道绿灯已亮足规定的时间间隔Ts;在主干道绿灯亮了(Ts-5)s后,则开始闪亮,直至绿灯亮了Ts;控制器发出状态转换信号Tempm=0,输出从状态S0转换到S1。S1状态:主干道

5、左拐灯亮,支干道红灯亮,此时若支干道有车等待通过,而且主干道左拐灯已亮足规定的时间间隔Ts;在主干道左拐灯亮了(Ts-5)s后,则开始闪亮,直至左拐灯亮了Ts;控制器发出状态转换信号Tempm=0和Tempb=0,输出从状态S1转换到S2。S2状态:支干道绿灯亮,主干道红灯亮,若此时支干道继续有车,则继续保持此状态,但支干道绿灯亮的时间不得超过Ts时间间隔;在主干道绿灯亮了(Ts-5)s后,则开始闪亮,直至绿灯亮了Ts;控制器发出状态转换信号Tempb=0,使输出转换到S3状态。S3状态:支干道左拐灯亮,主干道红灯亮,此时若主干道有车等待通过,而且支干道左拐灯已亮足规定的时间间隔Ts;在支干道

6、左拐灯亮了(Ts-5)s后,则开始闪亮,直至左拐灯亮了Ts;控制器发出状态转换信号Tempm=0和Tempb=0,输出从状态S3回到S0。交通灯状态图 S1S2S3Tempm=0&Tempb=0Tempb=0S0Tempm=0Tempm=0&Tempb=0Tempm=1Tempm=1Tempb=1Tempb=1四、 交通灯控制电路设计的难点与解决方法1、 如何将主干道和支干道的直行和左拐的初始时间的设置和减计数分开?用使能信号,当使能信号en=0时,就进行初始时间的设置;当en=1时,就进行减计数。2、 如何分别进行主干道和支干道的直行和左拐的初始时间的设置?将主干道直行和左拐、支干道直行和左

7、拐分别用四个键ms ml bs bl来控制,采这些信号的上升沿,每来一个上升沿就进行一次加计数,可以从0一直加到99。3、 状态的转变很多,并且主干道和支干道的计时是并行的,应该如何使用标志位来安排好并行的状态转变?将主干道和支干道完全分开,用两组控制信号tempm和countm、tempb和countb来实现。将初始时间的赋值和减计数分开来:用temp来控制是赋值(temp=0)还是减计数(temp=1);用count来控制是哪一种状态下的倒计时,如count=0时,主干道是等待灯的倒计时,支干道是左拐灯的倒计时;count=1时,主干道是直行灯的倒计时,支干道是等待灯的倒计时;count=

8、2时,主干道是红灯的倒计时,支干道是直行灯的倒计时。4、 如何进行数码管的分配?共有8个数码管,但是根据题目要求必须用到12个数码管。给主干道和支干道分别分配4个数码管,两个用于时间的设定,两个用于时间的倒计时;而时间的设置里面,用模式控制键msty和bsty控制当下进行的是直行还是左拐的设置,如当sty=1时,显示的是直行的时间;当sty=0时,显示的是左拐的时间。5、 在赋值的过程中对于红灯的时间计算有溢出该怎么避免?溢出的情况分为个位是7和9、8和8、8和9、9和9,因为大于15,故会溢出,得不到正确的结果。我采用的是把这些情况单独列出来进行解决。五、 交通灯控制电路的Verilog语句

9、module traffic1(clk,en,lampm,lampb,ms,bs,ml,bl,msty,bsty,mlampm,blampb,numm,numb);/*lampm和lampb分别表示主干道和支干道的亮灯,mlampm和blampb分别表示主干道和支干道的时间显示input clk,en,ms,ml,bs,bl,msty,bsty;/ms,ml,bs,bl是手动设置时间的键,msty和bsty分别是主干道和支干道数码管显示的控制按键*/output7:0 mlampm,blampb,numm,numb;output2:0 lampm,lampb;reg7:0mgreen,mlef

10、t,bgreen,bleft;wire7:0mred,bred,mlampm,blampb;reg7:0 numm,numb;reg tempm,tempb;reg2:0 countm,countb;reg2:0 lampm,lampb;/模式转换:当msty=1时,为主干道直行时间的显示;当msty=0时,为主干道左拐时间的显示;当bsty=1时,为枝干道直行时间的显示;当bsty=0时,为枝干道左拐时间的显示。assign mlampm=(msty?mgreen:mleft); assign blampb=(bsty?bgreen:bleft); always (posedge ms)/手

11、动设置主干道直行的时间begin if(!en) begin if(mgreen3:0=9&mgreen7:49) begin mgreen3:0=0; mgreen7:4=mgreen7:4+1; end else if(mgreen3:09&mgreen7:4=9) begin mgreen7:4=mgreen7:4; mgreen3:0=mgreen3:0+1; end else if(mgreen3:0=9&mgreen7:4=9) mgreen=0; endendalways (posedge ml)/手动设置主干道左拐的时间 begin if(!en) begin if(mleft

12、3:0=9&mleft7:49) begin mleft3:0=0; mleft7:4=mleft7:4+1; end else if(mleft3:09&mleft7:4=9) begin mleft7:4=mleft7:4; mleft3:0=mleft3:0+1; end else if(mleft3:0=9&mleft7:4=9) begin mleft=0; end end endalways (posedge bs)/手动设置支干道直行的时间 begin if(!en) begin if(bgreen3:0=9&bgreen7:49) begin bgreen3:0=0; bgre

13、en7:4=bgreen7:4+1; end else if(bgreen3:09&bgreen7:4=9) begin bgreen7:4=bgreen7:4; bgreen3:0=bgreen3:0+1; end else if(bgreen3:0=9&bgreen7:4=9) begin bgreen=0; end end endalways (posedge bl)/手动设置支干道左拐的时间 begin if(!en) begin if(bleft3:0=9&bleft7:49) begin bleft3:0=0; bleft7:4=bleft7:4+1; end else if(bl

14、eft3:09&bleft7:4=9) begin bleft7:4=bleft7:4; bleft3:0=bleft3:0+1; end else if(bleft3:0=9&bleft7:4=9) begin bleft=0; end end endalways (posedge clk)/该进程控制主干道的四种灯begin if(en)/使能信号为1时 begin if(!tempm)/对主干道计时总时间进行赋值 begin tempm=1; case(countm)/控制亮灯的顺序 0:begin countm=1; numm=mgreen; end 1:begin countm=2;

15、 numm=mleft; end 2:begin countm9 ) begin numm3:0=bgreen3:0+bleft3:0-10; numm7:4=bgreen7:4+bleft7:4+1; end else if(bgreen3:0=7&bleft3:0=9)|(bgreen3:0=9&bleft3:0=7)|(bgreen3:0=8&bleft3:0=8) begin numm3:0=6; numm7:4=bgreen7:4+bleft7:4+1; end else if(bgreen3:0=8&bleft3:0=9)|(bgreen3:0=9&bleft3:0=8) begi

16、n numm3:0=7; numm7:4=bgreen7:4+bleft7:4+1; end else if(bgreen3:0=9&bleft3:0=9) begin numm3:0=8; numm7:4=bgreen7:4+bleft7:4+1; end else begin numm3:0=bgreen3:0+bleft3:0; numm7:4=bgreen7:4+bleft7:4; end end default:lampm6) begin if(numm3:0=0) begin numm3:0=9; numm7:4=numm7:4-1; lampm1=1; end else begi

17、n numm3:0=numm3:0-1; lampm1=1; end end else if(numm=6|numm=4|numm=2) begin lampm1=1; numm=numm-1; end else if(numm=5|numm=3) begin lampm1=0; numm=numm-1; end else if(numm=1) begin tempm=0;lampm16) begin if(numm3:0=0) begin numm7:4=numm7:4-1; numm3:0=9;lampm2=1;end else begin numm3:0=numm3:0-1;lampm2

18、=1; end end else if(numm=6|numm=4|numm=2) begin lampm2=1; numm=numm-1; end else if(numm=5|numm=3) begin lampm2=0; numm=numm-1; end else if(numm=1) begin lampm2=0; tempm=0; end end 0:begin/主干道红灯倒计时 if(numm3:0=0) begin numm7:4=numm7:4-1; numm3:0=9; lampm0=1; end else if(numm=1) begin lampm0=0; tempm=0

19、; end else begin numm3:0=numm3:0-1; lampm0=1; end end endcase end if(!tempb)/如果tempb=0 begin tempb=1; case(countb)/控制亮灯的顺序 0:begin countb9) begin numb3:0=mgreen3:0+mleft3:0-10; numb7:4=mgreen7:4+mleft7:4+1;end else if(mgreen3:0=7&mleft3:0=9)|(mgreen3:0=9&mleft3:0=7)|(mgreen3:0=8&mleft3:0=8) begin nu

20、mb3:0=6; numb7:4=mgreen7:4+mleft7:4+1; end else if(mgreen3:0=8&mleft3:0=9)|(mgreen3:0=9&mleft3:0=8) begin numb3:0=7; numb7:4=mgreen7:4+mleft7:4+1; end else if(mgreen3:0=9&mleft3:0=9) begin numb3:0=8; numb7:4=mgreen7:4+mleft7:4+1; end else begin numb3:0=mgreen3:0+mleft3:0; numb7:4=mgreen7:4+mleft7:4;

21、 end end 1:begin countb=2; numb=bgreen; end 2:begin countb=0; numb=bleft; end default:lampb=3; endcase end else/如果tempm=1 begin/各个灯的倒计时 case(countb) 1:begin/支干道红灯的倒计时 if(numb3:0=0) begin numb3:0=9; numb7:4=numb7:4-1; lampb0=1; end else if(numb=1) begin lampb0=0; tempb=0; end else begin numb3:0=numb3

22、:0-1; lampb06) begin if(numb3:0=0) begin numb7:4=numb7:4-1; numb3:0=9; lampb1=1; end else begin numb3:0=numb3:0-1;lampb1=1; end end else if(numb=6|numb=4|numb=2) begin numb=numb-1;lampb1=1; end else if(numb=5|numb=3) begin lampb1=0; numb=numb-1; end else if(numb=1) begin lampb1=0; tempb6) begin if(n

23、umb3:0=0) begin numb7:4=numb7:4-1; numb3:0=9; lampb2=1; end else begin numb3:0=numb3:0-1;lampb2=1; end end else if(numb=6|numb=4|numb=2) begin lampb2=1; numb=numb-1; end else if(numb=5|numb=3) begin lampb2=0; numb=numb-1; end else if(numb=1) begin lampb2=0; tempb=0; end end endcase end end if(!en)/使

24、能端信号为0时 begin lampm=0; countm=0; tempm=0; lampb=0; countb=0; tempb=0; end endendmodule六、 交通灯控制电路的程序和波形分析1、主干道直行时间的设置程序为:always (posedge ms) begin if(!en) begin if(mgreen3:0=9&mgreen7:49) begin mgreen3:0=0; mgreen7:4=mgreen7:4+1; end else if(mgreen3:09&mgreen7:4=9) begin mgreen7:4=mgreen7:4; mgreen3:

25、0=mgreen3:0+1; end else if(mgreen3:0=9&mgreen7:4=9) mgreen=0; endend其波形为:在使能信号en=0时,若按键ms被按一下,则加一下数,直至使能信号为1或者ms键不再被按为止。2、主干道左拐时间设置的程序为:always (posedge ml) begin if(!en) begin if(mleft3:0=9&mleft7:49) begin mleft3:0=0; mleft7:4=mleft7:4+1; end else if(mleft3:09&mleft7:4=9) begin mleft7:4=mleft7:4; m

26、left3:0=mleft3:0+1; end else if(mleft3:0=9&mleft7:4=9) begin mleft=0; end end end 其波形为:在使能信号en=0时,若按键ml被按一下,则加一下数,直至使能信号为1或者ml键不再被按为止。 3、支干道直行时间设置的程序为:always (posedge bs) begin if(!en) begin if(bgreen3:0=9&bgreen7:49) begin bgreen3:0=0; bgreen7:4=bgreen7:4+1; end else if(bgreen3:09&bgreen7:4=9) begi

27、n bgreen7:4=bgreen7:4; bgreen3:0=bgreen3:0+1; end else if(bgreen3:0=9&bgreen7:4=9) begin bgreen=0; end end end其波形为:在使能信号en=0时,若按键bs被按一下,则加一下数,直至使能信号为1或者bs键不再被按为止。4、支干道左拐时间设置的程序为:always (posedge bl) begin if(!en) begin if(bleft3:0=9&bleft7:49) begin bleft3:0=0; bleft7:4=bleft7:4+1; end else if(bleft3

28、:09&bleft7:4=9) begin bleft7:4=bleft7:4; bleft3:0=bleft3:0+1; end else if(bleft3:0=9&bleft7:4=9) begin bleft6) begin if(numm3:0=0) begin numm3:0=9; numm7:4=numm7:4-1; lampm1=1; end else begin numm3:0=numm3:0-1; lampm1=1; end end else if(numm=6|numm=4|numm=2) begin lampm1=1; numm=numm-1; end else if(

29、numm=5|numm=3) begin lampm1=0; numm=numm-1; end else if(numm=1) begin tempm=0;lampm16) begin if(numm3:0=0) begin numm7:4=numm7:4-1; numm3:0=9;lampm2=1;end else begin numm3:0=numm3:0-1;lampm2=1; end end else if(numm=6|numm=4|numm=2) begin lampm2=1; numm=numm-1; end else if(numm=5|numm=3) begin lampm2=0; numm=numm-1; end else if(numm=1) begin lampm2=0; tempm=0; end end波形为:在使能信号为1时,若tempm=1,且countm=2时,则每当有一个时钟上升沿来临时,numm就做一次减计数,直至numm=5时,主干道的左拐灯就开始闪亮,直至numm=0,则进入下一个状态。7、主干道等待倒计时和亮灯情况程序为:begin/主干道红灯倒计时 if(numm3:0=0) begin numm7:4=numm7:4-1; numm3:0=9; lampm0=

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服