华北电力大学科技学院2015EDA课程设计汇编_第1页
华北电力大学科技学院2015EDA课程设计汇编_第2页
华北电力大学科技学院2015EDA课程设计汇编_第3页
华北电力大学科技学院2015EDA课程设计汇编_第4页
华北电力大学科技学院2015EDA课程设计汇编_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、 科技学院 课程设计报告 ( 2015 - 2016 年度第 一 学期 ) 名 称: EDA 课程设计 题 目:交通灯控制系统设计 院 系: 科 技 学 院 班 级: 13k2 学 号: 31 学生姓名: 指导教师: 胡老师 设计周数: 2 成 绩: 日期: 2015 年 12 月 10 日 一、课程设计的目的与要求 1.1 实验目的 掌握交通灯控制系统的基本原理,及用VHDL状态机实现该系统的方法。 1.2 实验内容 设计一个由一条主干道和一条支干道的汇合点形成的十字交叉路口的交通灯控制系统, 具体 要求如下: (1) 主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。 (2) 主、支道

2、交替允许通行,主干道每次放行 45 s ,支干道每次放行 25 s ,在每次由亮 绿灯变成亮红灯的转换过程中,要亮5 s 的黄灯作为过渡,并进行减计时显示。 1.3 实验要求 1、用 8 段数码管分别显示两个干道的交通计时。 2、能够正常实现红、黄、绿灯的切换。 二、设计正文 1.1设计思路 主、干支道交替允许通行,主干道每次放行 45 秒,支干道每次放行 25 秒,由黄转绿的过程 中要亮 5秒红灯。分析可以得到,主干道绿灯亮 45 秒,黄灯亮 5秒,红灯亮 25秒。而且对 应于主干道这一过程,支干道依次亮45秒红灯, 25秒绿灯, 5 秒黄灯。 1.2、分频器的设计 试验箱上提供的最小信源信

3、号频率是2赫兹,而红绿灯系统的设计是秒计时, 需要 1 赫兹的 信号,因此需要对试验箱提供的 2赫兹信号进行二分频。本设计中利用 T 触发器对信源信 号二分频。具体实现步骤为:设置信号 cp,每当信源信号 clk 的上升沿到来一次, cp 取反翻 转一次,从而实现二分频。 1.3、红绿灯转换的设计 设置一个计时器, cp信号上升沿每到来一次,计时器加 1。 因为红绿黄灯完成一次转换的 时间是 75秒,所以设计计时器计时达到 75秒时自动清零, 重新计时。 设从计时器开始计时, 主干道的状态为绿、 黄、 红,相应的支干道的状态为红、 绿、黄。 从计时器开始计时为起点, 设置时间轴,根据时间判断亮

4、红灯还是绿灯、黄灯。判断规则是:对于主干道,当时间 countnum 小于 45秒,绿灯亮;当时间大于等于 45 秒小于 50 秒,黄灯亮;当时间大于等于 50 秒,红灯亮。其中,时间等于 45 秒和 50 秒处是绿黄灯、黄红灯转换点。同理,对于支 干道,当时间 countnum 小于 45秒时,红灯亮; 当时间大于等于 45秒小于 70秒时,绿灯亮; 当时间大于等于 70秒时,黄灯亮。 其中,时间等于 5秒和 70秒处是红绿灯, 绿黄等转换点。 主干道和支干道用同一个计时器计时,用两个进程分别判断。 1.4、交通计时的设计 数码管是减计时显示灯亮剩余时间。设置信号 numA,numB 分别计

5、算主干道和支干道上灯亮 剩余时间。因为绿灯亮 45秒,黄灯亮 5 秒,红灯亮 25秒,所以在时间轴上,当主干道绿灯 亮时, numA 等于 45 减 countnum ,黄灯亮时, numA 等于 50 减 countnum ,红灯亮时 numA 等于 75 减 countnum。当支干道上红灯亮时, numB 等于 45 减 countnum ,绿灯亮时, numB 等于 70 减 countnum,黄灯亮时, numB 等于 75 减 countnum。从而实现倒计时的功能。 5、 数码管的设计 每条道路上有两个数码管,分别显示倒计时时间的十位和个位。利用 10 整除倒计时时间得 到十位上

6、数字, 对时间求余得到个位上数字。 结合数码管的管脚信息, 利用状态机将十进制 数字和驱动数码管显示的七位二进制码一一对应起来。 三、课程设计总结 1.1 在这次课程设计中我学到很多理论之外的东西,EDA这门课程的实用性很强。这次 课程设计就是一个列子, 平时看到红绿灯没觉得制作是需要很多的知识, 这次做了交通灯的 设计之后发现需要大量的 EDA书本上的知识。 这次的课程设计就相当于把平时的一些小实验 和知识点全部综合起来得到的结果, 经历过这次的课程设计之后我明白了, 如果平时不认真 学号一些基础知识, 到最后是根本做不出来的。 同时我也在网上查找了很多资料, 从之前的 不会到慢慢的学会看代

7、码,改代码和写代码。 1.2 设计的时候需要先理解红绿黄这三个灯的跳转,还有数码管的显示,和计算器的倒 计时。 在进行实验仿真的时候, 我第一次做的是直接显示十进制的数字, 但是在最后匹配管 脚的时候匹配不了, 所以我自己重新改了代码, 改成二进制输出, 此时仿真实验图显示的是 十进制转换成二进制的数, 我坚信是对的, 所以我最后在实验箱里出现了正确的现象。 我觉 得自己应该相信自己。 五、参考文献 1胡正伟,谢志远,范寒柏编著 .电子设计自动化 .中国电力出版社 2邹彦编著 .EDA 技术与数字系统设计 . 2007年. 北京 :电子工业出版社 . 3 潘松,黄继业编著 .EDA 技术与 V

8、HDL (第二版) .2007年. 北京 :清华大学出版社 . 4 王锁萍编著 .电子设计自动化教程 .2000年.成都 :电子科技大学出版社 . 附录 1.红绿灯显示示意图 主干道 绿灯 45 秒 黄灯 5 秒 红灯 25 秒 支干道 红灯 45 秒 绿灯 25 秒 黄灯 5 秒 2.交通灯控制系统框图 3. 程序 library ieee; use ieee.std_logic_1164.all; entity pbd_16 is port(clk:in std_logic; redA,greenA,yellowA:out std_logic; redB,greenB,yellowB:ou

9、t std_logic; seg1,seg2,seg3,seg4:out std_logic_vector(6 downto 0); end entity pbd_16; architecture rtl of pbd_16 is signal cp:std_logic; signal countnum:integer range 0 to 75:=0; signal numA,numB:integer range 0 to 45; signal numA1,numB1:integer range 0 to 4; signal numA2,numB2:integer range 0 to 9;

10、 begin process(clk) begin if clkevent and clk=1 then cp=not cp; end if; end process; process(cp) begin if cpevent and cp=1 then if countnum=75 then countnum=0; else countnum=countnum+1; end if; end if; end process; process(cp) begin if countnum45 then redA=0; greenA=1; yellowA=0; numA=45-countnum; e

11、lsif countnum50 then redA=0; greenA=0; yellowA=1; numA=50-countnum; else redA=1; greenA=0; yellowA=0; numA=75-countnum; end if; end process; process(cp) begin if countnum45 then redB=1; greenB=0; yellowB=0; numB=45-countnum; elsif countnum70 then redB=0; greenB=1; yellowB=0; numB=70-countnum; else r

12、edB=0; greenB=0; yellowB=1; numB=75-countnum; end if; end process; process(cp) begin numB1=numB/10; numB2=numB rem 10; numA1=numA/10; numA2seg1seg1seg1seg1seg1seg2seg2seg2seg2seg2seg2seg2seg2seg2seg2seg3seg3seg3seg3seg3seg4seg4seg4seg4seg4seg4seg4seg4seg4seg4=1111011; end case; end process; end arch

13、itecture rtl; g I I 1 y i IOOHH 1 i 1 loonn X K x X Q I 1 I llUOU r- =: * x T I 8 r 3 1 I 0 I ionon _ x 0 K I 8 I 1 -* I lootni * 9 = I 弐 5 : 0 I i. 二 -c 0 8- 0 0 3 3 。|6上|赳 | M 43 V * g 60s $? m 卅3 M3 TTTT 4 c* T 匿二 os 71 x*g 二:-Ha.:Fxn-s A g A g 0 0 0 0 M 0 a a s a q g n X q T n X a 0 = O 8 5 t- 、

14、 3 R 令 X 令 令 令 0 R 令 two 二vgma T 430S8rw 41593 m ass VU w 30 0 24S0 j)羽T0pM490 pnSio p“S3pp“ l K aklFi 1 fI II II j1 II fI f11 rt-lh yellvA yl!F Cr*aA ra B Olli Bom B Olli iiiiocn 110】101X (HICQ 1101101 nisooi X 110MO1 X omcox 11111110 x ihwh X iiuhx i】um 570.0 na CO:1:U SwoUtig Mde PKtigl 14.96 n W

15、ervat5Gl.97r Stat rd Vdue H 帧S90pm 阿px 6l0.p xs 迦 pm apx OpM ap m 咖pm 6M.p m 0 p m C$0 p m TOO p a TIO p m T20 p ni 9 B Olli 0110300 niiiio tmp=not tmp; else count:=count+1; end if; end if; end process p0; clk=tmp; p1:process(clk,rst,setsec,setmin,sethour)- 校时注释见 variable s1,s0,m1,m0,h1,h0:std_logic

16、_vector(3 downto 0); begin if clkevent and clk=1 then if rst=1 then if setsec=1 then s0:=s0+1; if s0=1010 then s0:=0000; s1:=s1+1; if s1=0110 then s1:=0000; end if; end if; end if; if setmin=1 then m0:=m0+1; if m0=1010 then m0:=0000; m1:=m1+1; if m1=0110 then m1:=0000; end if; end if; end if; if set

17、hour=1 then h0:=h0+1; if h0=1010 thenh0:=0000; h1:=h1+1; if h0=0100and h1=0010 then h0:=0000;h1:=0000; end if; end if; end if; else s0:=s0+1;-秒,分、时的计时注释见 if s0=1010 then s0:=0000; s1:=s1+1; if s1=0110then s1:=0000; m0:=m0+1; if m0=1010 then m0:=0000; m1:=m1+1; if m1=0110 then m1:=0000; h0:=h0+1; if

18、h0=1010 then h0:=0000; h1:=h1+1; if h0=0100and h1=0010 then h1:=0000; h0:=0000; end if; end if; end if; end if; end if; end if; end if; sec0=s0; sec1=s1; min0=m0; min1=m1; hr0=h0; hr1=h1; end if; if clk1event and clk1=1 then- 报时注释见 if m1=0101 and m0=1001 and s1=0101 then then if s0=0101 or s0=0110 or s0=0111 or s0=1000 or s0=1001 speaker=1; else speakersec0, a=a1, b=b1, c=c1, d=h1, e=e1, f=f1, g=g1); led2:led port map(data=sec1, a=a2, b=b2, c=c2, d=h2, e=e2, f=f2, g=g2); led3:led port

温馨提示

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

评论

0/150

提交评论