欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    EDA课程设计报告-交通灯控制器1(DOC30页)ooc.doc

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

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

    EDA课程设计报告-交通灯控制器1(DOC30页)ooc.doc

    Evaluation Warning: The document was created with Spire.Doc for .NET.EDA课课程设计计报告交通灯控控制器一、设计计任务要要求1、控制制器按东东西、南南北两个个方向控控制两组组交通灯灯(红、绿绿、黄)2、两组组灯亮的的顺序满满足交通通安全的的规则要要求.3、东西西向绿灯灯每次亮亮30S,接着着黄灯亮亮2S,红灯灯亮20S;南北北向绿灯灯每次亮亮28S,接着着黄灯亮亮2S,红灯灯亮30SS.4、有两两组数码码管给出出灯亮的的时间倒倒计时显显示。二、设计计思路及及总体结结构框图图设计思路路:1硬件件:由设设计任务务要求可可知,总总体输入入电路有有:(1)在在开始计计时之前前的等待待状态,复复位键resset接低电电位,接接通电源源后,首首先要将将它接高高电位,表表示计时时开始。(2)当当按一下下(on_offf)键,表表示紧急急情况发发生,两两个方向向均为红红灯亮,计计时停止止,当再再次按下下(on_offf)键时时,控制制器恢复复原来状状态,正正常工作作。输出电路路:(1)由由于东西西和南北北方向都都要显示示时间,因因此需要要4个数码码管,这这样在设设计中就就需要四四条输出出线chooosee4,用来来选通指指定一个个LED七段显显示数码码管。(2)显显示器的的每一位位都采用用LED七段显显示数码码管进行行显示,每每一个LED七段显显示数码码管都要要有七条条输出线线控制,一一共使用用4个七段段数码管管,故输输出电路路使用四四个七位位输出信信号:shoowtiime11,shhowttimee2,sshowwtimme3,shoowtiime44。(3)东东西和南南北方向向都有交交通灯亮亮的情况况,故输输出电路路中要有有两个状状态控制制信号staate11,sttatee2分别控控制东西西和南北北的灯,每每个方向向上有4个灯(增增加了左左、右转转弯显示示控制功功能),所所以staate11,sttatee2的类型型应该是是4位数组组型的。东西方向交通灯外部电路路图如下下:State1State2Showtime1Showtime2Showtime3Showtime4Choose4 cllk 4/ sstass reesett南北方向交通灯 on_offf 4/7/7/7/7/ 4/2软件件:(1)在在VHDDL设计描描述中,采采用自顶顶向下的的设计思思路,该该思路,首首先要描描述顶层层的接口口,上面面的描述述已经规规定了交交通灯控控制的输输入输出出信号:输入信号号:复位位开关信信号resset;紧急情况况控制信信号on_offf;外部时钟钟信号clk。输出信号号:LED七段显显示数码码管的选选通信号号chooosee4(33 doowntto 00);LED七七段显示示数码管管的输出出信号shoowtiime11(6 dowwntoo 0),shhownntimme2(6 ddownnto 0),shoowtiime33(6 dowwntoo 0),shhowttomee4(66 doowntto 00);交通灯状状态控制制信号staate11(3 dowwntoo 0),sttatee2(33 doowntto 00)。(2)在在自顶向向下的VHDDL设计描描述中,通通常把整整个设计计的系统统划分为为几个模模块,然然后采用用结构描描述方式式对整个个系统进进行描述述。根据据实验设设计的结结构功能能,来确确定使用用哪些模模块以及及这些模模块之间间的关系系。由于紧急急情况控控制信号号是采用用按键的的输入方方式,其其产生时时刻和持持续时间间的长短短是随机机不定的的,且存存在因开开关簧片片反弹引引起的电电平抖动动现象,因因此必须须在每个个开关后后面安排排一个消消抖和同同步化电电路模块块,以保保证系统统能捕捉捉到输入入脉冲,故故需要有有防抖动动的模块块。由于外部部时钟信信号clk的频率率为1MHHz,而实实际需要要的内部部计时时时钟频率率为1Hz,提供供给消抖抖同步电电路的频频率为50HHz(满足足按键)和和提供给给产生选选通信号号电路的的时钟频频率为2000Hz(满足足视觉暂暂留效应应)。当正常计计时开始始后,需需要进行行定时计计数操作作,由于于东西和和南北两两个方向向上的时时间显示示器是由由两个LED七段显显示数码码管组成成的,因因此需要要产生两两个2位的计计时信息息:2个十位位信号,2个个位位信号,这这个定时时计数操操作可以以由一个个定时计计数器来来完成,又又因为交交通灯的的状态变变化是在在计时为为0的情况况下才能能进行的的,因此此需要一一个计时时电路来来产生使使能信号号,因此此定时计计数的功功能就是是用来产产生2个2位计时时信息和和使能信信号。另外还需需要将时时间显示示出来,为为了节省省资源,我我采用了了循环点点亮LED七段显显示数码码管的方方法来显显示计时时输出。通通过信号号chooosee4(33 doowntto 00)来对4个LED七段显显示数码码管进行行选择。由于不能能使用74448自动译译码集成成电路,故故在LED七段显显示数码码管显示示时间时时,要把把计时结结果转换换为七段段码输出出到相应应的LED七段显显示数码码管上,因因此还需需要一个个转换电电路。交通灯状状态控制制也需要要一个电电路,当当有使能能信号及及无紧急急情况下下,交通通灯状态态不发生生变化,有有紧急情情况时,两两个方向向上均为为红灯亮亮,紧急急情况消消除后,回回到原来来状态,无无使能信信号时,交交通灯状状态不变变。通过上面面的分析析,不难难得知可可以把交交通灯控控制系统统划分为为6个模块块:键输输入模块块,时钟钟分频模模块,计计时模块块,选通通模块,显显示模块块,控制制模块三、总体体结构框框图通电复位 NNo yyes东西为红,南北为绿,计时开始是否有紧急情况 Yess NNo计时到20s No 两方向均为红,计时停止 Yees东西为黄,南北为绿是否有紧急情况是否消除? Noo Yees Yess Noo计时到5s Noo Yees东西为红,南北为绿是否有紧急情况 Yess No计时到20s No YYes东西为红,南北为黄是否有紧急情况 Yess计时到5s No Yees六、仿真真波形状态变化化仿真图图:以下下显示选选通信号号的仿真真波形七、源程程序去抖模块块:-keyyin moddulee-librraryy ieeee;use ieeee.sstd_loggic_11664.aall;entiity keyyin is pportt(A,B :in stdd_loogicc; C :outt sttd_llogiic);end keyyin;archhiteectuure keyyin_arcc off keeyinn iss ccompponeent kannd2 pportt(A,B :in stdd_loogicc; C :outt sttd_llogiic);end commponnentt; ccompponeent kdff pportt(A,B :in stdd_loogicc; C,D :outt sttd_llogiic);end commponnentt; coompoonennt kknannd2 pportt(A,B :in stdd_loogicc; C :outt sttd_llogiic);end commponnentt;signnal TMPP1,TTMP22,TMMP3,TMPP4,TTMP55,TMMP6:stdd_loogicc;begiin uu0: knaand22 porrt mmap(A,TTMP11,TMMP2); uu1: knaand22 porrt mmap(TMPP2,TTMP33,TMMP1); UU2: kdff porrt mmap(TMPP2,BB,TMMP4,TMPP3); UU3: kdff porrt mmap(TMPP4,BB,TMMP6,TMPP5);u4: kannd2 porrt mmap(TMPP4,TTMP55,C);end keyyin_arcc;librraryy ieeee; -twwo iinpuuts andd gaate desscriiptiionuse ieeee.sstd_loggic_11664.aall;entiity kannd2 is pportt(A,B :in stdd_loogicc; C :outt sttd_llogiic);end kannd2;archhiteectuure kannd2_arcc off kaand22 issbegiin C<=A aand B;end kannd2_arcc;-ennd oof ttwo inpputss annd ggatee deescrripttionnlibrraryy ieeee; -twwo iinpuuts andd_noot ggatee deescrripttionnuse ieeee.sstd_loggic_11664.aall;entiity knaand22 iss porrt(AA,B :inn sttd_llogiic; C :outt sttd_llogiic);end knaand22;archhiteectuure knaand22_arrc oof kknannd2 isbegiin C<=nott(A andd B);end knaand22_arrc;-eend of twoo innputts aand_nott gaate desscriiptiionlibrraryy ieeee; -D triiggeer ddesccripptioonuse ieeee.sstd_loggic_11664.aall;entiity kddf iis porrt(AA,B :inn sttd_llogiic; CC,D :ouut sstd_loggic);end kdff;archhiteectuure kdff_arrc oof kkdf isbegiinproccesss(B)begiin iff(B''eveent andd B='1'')thhen C<=A;DD<=nnot A; ennd iif; eend proocesss;end kdff_arrc;控制模块块:-keeep moddulee-librraryy ieeee;use ieeee.sstd_loggic_11664.aall;entiity keeep iis porrt( aa,b,c,gg,j: inn sttd_llogiic; d,e : ouut sstd_loggic_vecctorr(3 dowwntoo 0); f : ouut sstd_loggic_vecctorr(1 dowwntoo 0);end keeep;archhiteectuure keeep_aarc of keeep iistypee sttatee_tyype is (s00,s11,s22,s33,s44);signnal currrennt_sstatte:sstatte_ttypee;signnal neww_sttatee:sttatee_tyype;begiinnewsstatte_llogiic:proccesss(cuurreent_staate,b,aa,g)variiablle mm:inntegger rannge 0 tto 33;begiin iif(gg='00')tthenn neew_sstatte<=s1;-通电后后给交通通灯状态态赋初值值 elsse ccasee cuurreent_staate is wheen ss1 =>m:=0; iif(bb='11'annd jj='00'annd aa='00')tthenn-当计数数到20s且无紧紧急情况况时,交交通灯跳跳至下一一状态 nnew_staate<<=s22; elssif(a=''1')theen nnew_staate<<=s00;-有紧急急情况时时,交通通灯变为为紧急状状态 elsse nnew_staate<<=s11;-计时未未到的时时候保持持原状态态不变 endd iff; wwhenn s22 =>>m:=1; iff(b='1''andd j='1''andd a='0'')thhen neww_sttatee<=ss3;-当记数数到5s且无紧紧急情况况时,交交通灯变变为下一一状态 ellsiff(a='1'')thhen neww_sttatee<=ss0;-有紧急急情况时时,交通通灯变为为紧急状状态 elsse nnew_staate<<=s22; -计时未未到的时时候保持持原状态态不变 ennd iif; wwhenn s33 =>>m:=2; iff(j='1''andd b='0''andd a='0'')thhen neww_sttatee<=ss4;-当记数数到20s且无紧紧急情况况时,交交通灯变变为下一一状态 eelsiif(aa='11')tthenn neew_sstatte<=s0;-有紧急急情况时时,交通通灯变为为紧急状状态 eelsee neew_sstatte<=s3; -计时未未到的时时候保持持原状态态不变 eend if; wwhenn s44 =>>m:=3; iff(j='1''andd b='1''andd a='0'')thhen neww_sttatee<=ss1;-当记数数到5s且无紧紧急情况况时,交交通灯变变为下一一状态 ellsiff(a='1'')thhen neww_sttatee<=ss0;-有紧急急情况时时,交通通灯变为为紧急状状态 ellse neww_sttatee<=ss4; -计时未未到的时时候保持持原状态态不变 ennd iif; wheen ss0=>>if(a=''0')theen-紧急情情况消除除后,回回到原来来状态 ccasee m iswheen 00 =>>neww_sttatee<=ss1;whenn 1 =>nnew_staate<<=s22;whenn 2 =>nnew_staate<<=s33;whenn 3 =>nnew_staate<<=s44;end casse; ellse neww_sttatee<=ss0; ennd iif; endd caase;end if;end proocesss;statte_rregiisteer:proocesss(cc) beeginn iif(cc'evventt annd cc='11')tthenn cuurreent_staate<<=neew_sstatte;-当时钟钟上升沿沿触发时时,交通通灯状态态发生改改变 eend if;end proocesss;outpput_loggic:proccesss(cuurreent_staate)-产生与与交通灯灯状态相相对应的的提示信信号,以以控制计计时模块块的不同同状态下下的不同同赋植 beeginn caase currrennt_sstatte iis wwhenn s00 =>> d<<="001000"ee<=""01000" wwhenn s11 =>> d<<="001000"ee<=""10001"f<="000" wwhenn s22 =>> d<<="001000"ee<=""00110"f<="011" wwhenn s33 =>> d<<="110011"ee<=""01000"f<="100" wwhenn s44 =>> d<<="000100"ee<=""01000"f<="111" endd caase;end proocesss;end keeep_aarc;计时模块块:-ttimee moodulle-librraryy ieeee;use ieeee.sstd_loggic_11664.aall;use ieeee.sstd_loggic_unssignned.alll;entiity timme iis poort(a,bb,k:in stdd_loogicc; c :inn sttd_llogiic_vvecttor(1 ddownnto 0); d,ee,f,g :ouut sstd_loggic_vecctorr(3 dowwntoo 0); j,hh :oout stdd_loogicc); ennd ttimee;archhiteectuure timme_aarc of timme iis siignaal ll,m,n,pp:sttd_llogiic_vvecttor(3 ddownnto 0); beeginn prroceess(a,bb,k) bbegiin if(k=''0')theen ll<=""01001"m<="00010""n<<="000000"pp<=""00110"-通电后后赋初值值 elsse iif(aa'evventt annd aa='11')tthenn if(b=''1')theen ll<=ll;m<<=m;n<=n;pp<=pp;-有紧急急情况时时,计时时停止 elsse if(n=""00001" andd p="00000"")thhen casse cc iss -当东西西方向倒倒计时到到0时,重重新赋值值,并产产生使能能信号控控制交通通灯的状状态 wheen ""00"" =>>n<="01101""p<<="000000"jj<=''1' wheen ""01""=>nn<=""01001"p<="00010""j<<='11' wheen ""11""=>nn<=""00000"p<="00010""j<<='11' wheen ""10""=>nn<=""00000"p<="00010""j<<='11' wheen ootheers =>nnulll; eend casse; elsse jj<=''0'-计时未未到0时,输输出使能能信号为为0 iif(nn="000000"annd pp/=""00000")theen nn<=""10001"p<=p-11;-当各位位倒计时时到0,而十十位没到到0时十位位减一,个个位赋9 eelsee n<<=n-1; -否则,各各位减一一 eend if; endd iff; if(l=""00001"aand m=""00000")theen-当南北北方向倒倒计时到到0时,重重新赋值值,并产产生使能能信号控控制交通通灯的状状态 ccasee c is wheen ""00""=>ll<=""00000"m<="00010""h<<='11' wheen ""01""=>ll<=""00000"m<="00010""h<<='11' wheen ""10""=>ll<=""01001"m<="00000""h<<='11' wheen ""11""=>ll<=""01001"m<="00010""h<<='11' wheen ootheers =>nnulll; eend casse; elsse hh<=''0' -计时未未到0时,输输出使能能信号为为0 if(l=""00000"aand m/="00000"")thhen l<="10001""m<<=m-1;-当各位位倒计时时到0,而十十位没到到0时十位位减一,个个位赋9 eelsee l<<=l-1; -否则,各各位减一一 eend if; eend if; eend if; eend if; eend if;f<=nn;g<<=p;d<=l;ee<=mm;end proocesss;end timme_aarc;- 41 -

    注意事项

    本文(EDA课程设计报告-交通灯控制器1(DOC30页)ooc.doc)为本站会员(you****now)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开