欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于VHDL语言的交通灯设计DEAWord下载.docx

    • 资源ID:970033       资源大小:127.02KB        全文页数:19页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于VHDL语言的交通灯设计DEAWord下载.docx

    1、 图3-1 交通信号灯控制器程序原理框图进程将CLK信号分频后产生1秒信号,然后构成两个带有预置数功能的十进制计数器,并产生允许十位计数器计数的控制信号。状态寄存器实现状态转换和产生状态转换的控制信号,下个模块产生次态信号和信号灯输出信号,以及每一个状态的时间值。经过五个模块的处理,使时间计数、红绿灯显示能够正常运行。程序原理图如图3-1所示。4.各模块具体设计4.1顶层文件的设计 顶层文件的原理图可以依据系统的框图进行,由控制模块JTD_CTRL、计时模块JTD_TIME、译码驱动模块JTD_LIGHT、显示模块JTD_DIS和分频模块JTD_FQU五部分组成,其顶层原理图文件如图3-1所示

    2、。图4-1交通灯顶层文件原理图顶层模块的程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TRAFFIC ISPORT( CLK1K,CLR:IN STD_LOGIC; M:IN STD_LOGIC_VECTOR(2 DOWNTO 0); LED:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); ABL:OUT STD_LOG

    3、IC_VECTOR(7 DOWNTO 0) );END TRAFFIC;ARCHITECTURE BEHAVE OF TRAFFIC ISCOMPONENT JTD_FQU IS -分频器元件的例化 CLK1K: CLK:OUT STD_LOGICEND COMPONENT;COMPONENT JTD_DIS IS -数码显示的元件例化 CLK1K,CLK,CLR: AT,BT:IN STD_LOGIC_VECTOR(7 DOWNTO 0);OUT STD_LOGIC_VECTOR(2 DOWNTO 0)COMPONENT JTD_LIGHT IS -译码驱动的元件例化 CLR: M,S:CO

    4、MPONENT JTD_TIME IS -计时元件的例化 CLK,CLR:COMPONENT JTD_CTRL IS -控制模块的元件例化 S:SIGNAL CLK:STD_LOGIC;SIGNAL AT:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL BT:SIGNAL S:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGIN U1:JTD_FQU PORT MAP( -名字关联方式赋值 CLK1K=CLK1K, CLK=U2:JTD_TIME PORT MAP( CLR=CLR, AT=AT, BT=BT,CLK, M=M, S=SU3:JTD_CT

    5、RL PORT MAP(S,BTU4:JTD_DIS PORT MAP(CLK1K, LED=LED, SEL=SEL,MU5:JTD_LIGHT PORT MAP( ABL=ABL,END BEHAVE;4.2 控制模块JTD_CTRL的设计 控制的模块根据外部输入信号M2M0和计时模块JTD_TIME的输入信号,产生系统的状态机,控制其他部分协调工作。控制模块的源文件程序如下:ENTITY JTD_CTRL IS -用M来表示系统的8种工作状态 END JTD_CTRL; ARCHITECTURE JTD_1 OF JTD_CTRL IS SIGNAL Q: BEGIN PROCESS(C

    6、LR,CLK,M,AT,BT) IF CLR=1THEN Q100THEN IF(AT=X01)OR(BT=X)THEN Q=Q+1; ELSE Q=Q; END PROCESS; S -M的控制端转向控制口S END JTD_1;该模块的时序仿真和功能仿真波形图如图4-2图4-2功能仿真4.3 计时模块JTD_TIME的设计计时模块用来设定A和B两个方向计时器的初值,并为显示模块JTD_DIS提供倒计时时间。当正常计时开始后,需要进行定时计数操作,由于东西和南北两个方向上的时间显示器是由两个LED七段显示数码管组成的,因此需要产生两个2位的计时信息:2个十位信号,2个个位信号,这个定时计数操

    7、作可以由一个定时计数器来完成,又因为交通灯的状态变化是在计时为0的情况下才能进行的,因此需要一个计时电路来产生使能信号,因此定时计数的功能就是用来产生2个2位计时信息和使能信号。计时模块的源文件程序如下:ENTITY JTD_TIME ISEND JTD_TIME;ARCHITECTURE JTD_2 OF JTD_TIME IS SIGNAL AT1,BT1:SIGNAL ART,AGT,ALT,ABYT: SIGNAL BRT,BGT,BLT: ART=X55 -ART=“01010101” A方向红灯亮 AGT40 -AGT=“01000000”A方向绿灯亮 ALT15 -ALT=“00

    8、010101”灯间歇闪烁 ABYT05-ABYT=“00000101”AB两方向黄灯亮 BRT65-BRT=“01100101”B方向红灯亮 BGT30-BGT=“00110000”B方向绿灯亮 BLT-BLT=“00010101”B方向灯闪烁 PROCESS(CLR,CLK,M,S)THEN AT1BT1AT1=AT1;=BT1; END CASE; IF AT1/=X IF AT1(3 DOWNTO 0)=0000 AT1(3 DOWNTO 0)1001-第四位数码管显示 AT1(7 DOWNTO 4)=AT1(7 DOWNTO 4)-1;高四位数码管减一显示 ELSE AT1(3 DOW

    9、NTO 0)=AT1(3 DOWNTO 0)-1;低四位数码管减一显示=AT1(7 DOWNTO 4);高四位数码管显示不变 IF BT1=X IF BT1(3 DOWNTO 0)= BT1(3 DOWNTO 0)-B方向计数器低四位数码管显示9 BT1(7 DOWNTO 4)=BT1(7 DOWNTO 4)-1;-B方向计数器高四位数码管减一计数 ELSE BT1(3 DOWNTO 0)=BT1(3 DOWNTO 0)-1;-B方向计数器低四位数码管减一计数=BT1(7 DOWNTO 4);END PROCESS; AT BTEND JTD_2; 该模块是为节省资源而设的,实验中有四个LED

    10、七段数码管显示计数,点亮一个LED需电流550mA,同时点亮4个LED,CPLD可能无法负荷这样的电流驱动,而且功率太大,散热也是问题。同时这么做也容易造成电路被烧毁,因此需要逐个循环点亮。又为使显示结果持续不致闪烁抖动,只需每个扫描频率超过人眼视觉暂留频率24Hz以上,就能达到。选择1kHz作为时钟,分到4个数码管,每个数码管50Hz(大于24Hz),故不会有闪烁。该模块的功能仿真波形图如图4-4所示图4-4功能仿真4.4 译码驱动模块JTD_LIGHT的设计译码驱动模块根据控制信号,驱动交通灯的显示。该模块的源程序如下:ENTITY JTD_LIGHT ISEND JTD_LIGHT;AR

    11、CHITECTURE JTD_3 OF JTD_LIGHT IS SIGNAL LT: PROCESS(CLR,S,M)THEN LT00000000时系统状态全部处于关闭状态 ELSE IF M=10000001001000010001100000010010 CASE S IS -八种情况下的状况显示 LT0001010001000001=LT;ABLEND JTD_3;该模块的功能仿真波形图如图4-5:图4-5功能仿真4.5 显示模块JTD_DIS的设计 显示模块用来显示倒计时时间和系统的工作状态。其输出用来驱动六位数码管,其中四位用于显示倒计时时间,两位显示工作状态,采用动态扫描显示。

    12、ENTITY JTD_DIS ISEND JTD_DIS;ARCHITECTURE JTD_4 OF JTD_DIS IS SIGNAL OU,STL,STH,MM:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL DIS,DS: SIGNAL SL: MM0&M; STHA PROCESS(CLR,CLK1K)THEN SL ELSIF(CLK1KEVENT AND CLK1K= IF SL= ELSE SL=SL+1; -计数 PROCESS(SL) CASE SL IS -数码管的位选OU=BT(3 DOWNTO 0);=BT(7 DOWNTO 4);=AT(3

    13、DOWNTO 0);=STL;=STH; PROCESS(OU) CASE OU IS -数码管的译码 WHEN XDSTHEN STL -数码管产生进位 ELSE STL=MM+1;THEN DIS=DS; ELSIF SL IF CLK= ELSIF DIS ELSE DISLED=DIS(6 DOWNTO 0);SEL=SL;END JTD_4;该模块的功能仿真波形图如图4-6所示图4-6功能仿真4.6 分频模块JTD_FQU的设计 本系统提供动态扫描需要的1kHz的脉冲,而系统时钟需要1Hz的脉冲。分频器主要为系统提供所需的时钟脉冲。该模块将1kHz的脉冲进行分频,产生1S的方波,作为系统时钟信号和特殊情况下的倒计时闪烁信号。其源程序如下:ENTITY JTD_FQU ISEND JTD_FQU;ARCHITECTURE JTD_5 OF JTD_FQU ISSIGNAL Q:STD_LOGIC_VECTOR(9 DOWNTO 0); PROCESS(CLK1K)IF(CLK1KEND IF;CLK=Q(9);END JTD_5;该模块的时序仿真图如图4-7所示


    注意事项

    本文(基于VHDL语言的交通灯设计DEAWord下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开