福大EDA交通灯控制电路的设计_第1页
福大EDA交通灯控制电路的设计_第2页
福大EDA交通灯控制电路的设计_第3页
福大EDA交通灯控制电路的设计_第4页
福大EDA交通灯控制电路的设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、可编程逻辑设计实验学号: 111201006姓名:方毓韬2014.11.11实验五交通灯控制电路的设计、实验目的:进一步学习复杂数字电路的设计方法,提高利用硬件描述语言进行电路设计的技巧和熟练程度。、实验要求及原理:1、满足图1顺序工作流程。图中设南北方向的红、 黄、绿灯分别为NSR、NSY、NSG, 东西方向的红、黄、绿灯分别为 EWR、EWY、EWG。它们的工作方式有些必须是并行进行 的,即南北方向绿灯亮,东西方向红灯亮;南北方向黄灯亮,东西方向红灯亮;南北方向红 灯亮,东西方向绿灯亮;南北方向红灯亮,东西方向黄红灯亮。图1交通灯顺序工作流程图2、应满足两个方向的工作时序:即东西方向亮红灯

2、时间应等于南北方向亮黄、绿灯时间之和,南北方向亮红灯时间应等于东西方向亮黄、绿灯时间之和。时序流程图2所示。图2中,假设每个单位时间为 3秒,则南北、东西方向绿、黄、红灯亮时间分别15秒、3秒、18秒,一次循环为36秒。其中红灯亮的时间为绿灯、黄灯亮的时间之和。123456789 10 11 12123456t _nLnLnLrLrm_nLnLnLnLnLnLTLrLrLn_nLnLNSG |1L_NSY1 1ITNSRrEwREWGI|rewyIII15t胃6t图2交通灯时序工作流程图3、十字路口要有数字显示, 作为时间提示,以便人们更直观地把握时间。具体为:当某方向红灯亮时,置显示器为某值

3、,然后以每秒减1计数方式方式工作,直至减到数为“ 0 ”, 十字路口红、绿灯交换,一次工作循环结束,进入下一步某方向地工作循环。例如:当南北方向从黄灯转换成红灯时,置南北方向数字显示为 24,并使数显计数器开始减“ 1”计数,当减到“ 0”,时,此时红灯灭,而南北方向的绿灯亮;同时,东西方向的 红灯亮,并置东西方向的数显为24。三、实验内容1、 根据实验要求及原理1、2画出交通指示灯控制电路原理框图。提示:两个方向的控制电路可以共用一个24进制计数器实现。2、用VHDL硬件描述语言层次化设计方法进行顶层文件和各模块电路的设计。3、用Quartusll对设计进行编译、综合、仿真,给出仿真波形和时

4、序分析数据(不包括数 码显示部分)。4、通过Quartusll集成环境,将设计下载到实验电路上进行硬件测试。管脚锁定:信号旧试验箱新试验箱NO.5管脚号连接的器件管脚号连接的器件Clkl43Clk1(1HZ)153CLK2(1Hz)start30SW1233SW1NSG29LED1212LED8NSY28LED118LED7NSR27LED107LED6EWG18LED33LED3EWY17LED22LED2EWR16LED11LED1数字显示所需管脚参考实验六。5、画出完整的交通灯控制电路原理框图(含数码显示部分)6、修改上述内容 2的设计,增加数码显示部分。注意:两方向的计数要求分别显示在

5、数码管1、2和数码管7、8上。7、用QuartusII对设计进行编译、综合、仿真,给出仿真波形和时序分析数据。VdwHIEEOEicllafliss;tl lOiHIh tl KWJHT2 tl icruanEl KWJBHEP回bWA回 LaK-3cUr氓百】 X j! j U, 冷! U! TC LW K!谢让汀忙门口1工回fhi twt叩工门yr门須衙打匸订摹站沢:1工1叩y?fDT:i工冈f 汀灯口丁直!虹门:帀】yd 丁;r曲打口上:门:何 虹门yr酊工TiTLiTLn_rLrLrLrLrLrLrLn_rLrLrLnLrLrLrLrLrLrLrLrLn_rLrLrLrLrLn_n_r

6、LrLrLrLn_rLrLFLr8、再次将设计下载到实验电路上进行硬件测试。四、思考题: 1、控制电路除用有限状态机实现外,还可以采用什么方法实现?答:还可以用进程语句实现,用一个十二进制的计数器作为控制模块,则EWR、EWG、EWY、NSR、NSG、NSY在计数器不同输出的时候有相应的输出。2、如果增加夜间显示(即全部黄灯闪烁),电路该怎样设计?答:把黄灯输出信号 EWY、NSY作为使能端,接到一个锁存器上,锁存器的输入时一 个频率较高的信号,输出接黄色LED。当EWY、NSY=1时,黄灯闪烁。五、实验总结:这个实验呢,总体来说是最难的一个。 在学习EDA寸间上较短,而仪器上的问题也造成 了

7、不少麻烦,造就了困难。程序设计在一步一步推敲中得以完成。总而言之,这次试验很大程度上锻炼了我的能力,受益匪浅。附录:程序module traffic (clk,EN,ACOUNT1,ACOUNT2,BCOUNT1,BCOUNT2,LAMPA,LAMPB);in put EN,clk;output3:0 ACOUNT1,ACOUNT2,BCOUNT1,BCOUNT2;output2:0 LAMPA,LAMPB;reg3:0 ar1,ar2,ag1,ag2,ay1,ay2,br1,br2,bg1,bg2,by1,by2;reg3:0 nu ma1, nu ma2, nu mb1, nu mb2;r

8、eg tempa,tempb;reg1:0 coun ta,co un tb;reg2:0 LAMPA,LAMPB;always (EN)if(!EN)beg in/预置数部分ar1=4d8;ar2=4d1;ag1=4d5;ag2=4d1;ay1=4d3;ay2=4d0;br1=4d8;br2=4d1;bg1=4d5;bg2=4d1;by1=4d3;by2=4d0;endassign ACOUNT1=numa1;assign ACOUNT2=numa2;assign BCOUNT1=numb1;assign BCOUNT2=numb2;always (posedge clk) /A 模块beg

9、inif(EN)beginif(!tempa) begin /灯控制部分tempa=1;case(counta)0:begin numa1=ag1;numa2=ag2;LAMPA=4;counta=1;end1:begin numa1=ay1;numa2=ay2;LAMPA=2;counta=2;end2:begin numa1=ar1;numa2=ar2;LAMPA=1;counta=0;end default: LAMPA1)if(numa1=0) beginnuma1=4b1001;numa2=numa2-1;endelse numa1=numa1-1;if(numa2*10+numa1

10、)=2) tempa=0;endendelse begin LAMPA=4b0001;counta=0;tempa=0;endendalways (posedge clk) /B 模块beginif(EN)beginif(!tempb) begin /灯控制部分tempb=1;case(countb)0:begin numb1=br1;numb2=br2;LAMPB=1;countb=1;end1:begin numb1=bg1;numb2=bg2;LAMPB=4;countb=2;end2:begin numb1=by1;numb2=by2;LAMPB=2;countb=0;enddefault: LAMPB1)if(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论