欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    885191354基于CPLD的十字路口交通灯设计程序.doc

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

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

    885191354基于CPLD的十字路口交通灯设计程序.doc

    基于CPLD的十字路口交通灯设计说明:横向红灯纵向绿灯30秒;横向红灯纵向黄灯5秒;横向黄灯纵向红灯5秒;横向绿灯纵向红灯50秒(假设横向的车流量大,所以通行时间长);横向黄灯纵向红灯5秒;横向红灯纵向黄灯5秒。(循环上述步骤)。 RTL视图:(四个模块一目了然) 芯片:alter公司的MAX II 系列EPM240T100C5Verilog代码:(由于特权同学的键盘前两天被折腾了,有部分字母按键失灵,所以写程序的时候是软硬键盘一起使,郁闷的直接连注释都省了。) (顶层模块)module traffic(clk,rst,row,light_v,led,ledseg); input clk;input rst;output3:0 row;/ NWSEoutput2:0 light_v;/red,yellow,greenoutput5:0 led;output7:0 ledseg;wire2:0 light0_reg,light1_reg;wire second;wire clk_50k;wire6:0 count;clk1000divclk1000div(.clk(clk),.rst(rst),.clk_50k(clk_50k);clkdivclkdiv(.clk(clk),.rst(rst),.second(second);lightlight(.rst(rst),.second(second),.light0_reg(light0_reg),.light1_reg(light1_reg),.count(count);light_dislight_dis(.clk(clk_50k),.rst(rst),.count(count),.light0_reg(light0_reg),.light1_reg(light1_reg),.row(row),.light_v(light_v),.led(led),.ledseg(ledseg); endmodule  (该模块是1000分频产生50KHz信号,主要用于液晶或者交通灯的动态显示定时)module clk1000div(clk,rst,clk_50k); input clk;input rst;output clk_50k; reg9:0 div;reg clk_50k;always (posedge clk) beginif(!rst) begindiv <= 0;clk_50k <= 0;endelse beginif(div=999) beginclk_50k <= clk_50k;div <= 0; endelse begin div <= div+1; endendend endmodule  (1Hz分频模块,用于交通灯的定时)module clkdiv(clk,rst,second); input clk;input rst;output second;reg27:0 num;reg second;always (posedge clk) beginif(!rst) beginnum <= 0;second <= 0;endelse beginnum <= num+28'd1;if(num=28'h2faf080) beginsecond <= second;num <= 0;endendend endmodule  (该模块主要用于计算倒计时数值和交通灯的排选)module light(rst,second,light0_reg,light1_reg,count); input rst;input second;output2:0 light0_reg,light1_reg;output6:0 count;reg6:0 count;reg6:0 state;reg2:0 light0_reg,light1_reg;always (posedge second) beginif(!rst) beginstate <= 0;endelse beginif(state = 7'd99) beginstate <= 0;endelse beginstate <= state+1; endendendalways (state) beginif(state<30) begincount <= 29-state;light0_reg <= 3'b001;light1_reg <= 3'b100;endif(state>29 && state<35) begincount <= 34-state;light0_reg <= 3'b010;light1_reg <= 3'b100;endif(state>34 && state<40) begincount <= 39-state;light0_reg <= 3'b100;light1_reg <= 3'b010;endif(state>39 && state<90) begincount <= 89-state;light0_reg <= 3'b100;light1_reg <= 3'b001;endif(state>89 && state<95) begin count <= 94-state;light0_reg <= 3'b100;light1_reg <= 3'b010;endif(state>94 && state<100) begin count <= 99-state;light0_reg <= 3'b010;light1_reg <= 3'b100;endend endmodule  (该模块进行数码管倒计时显示和交通灯显示控制)module light_dis(clk,rst,count,light0_reg,light1_reg,row,light_v,led,ledseg); input clk;input rst;input6:0 count;input2:0 light0_reg,light1_reg;output5:0 led;output7:0 ledseg;output3:0 row;/ NWSEoutput2:0 light_v;/ red,yellow,greenreg3:0 row;/ NWSEreg2:0 light_v;/ red,yellow,greenreg state;reg5:0 led;reg7:0 ledseg;reg7:0 ledreg1:0;reg7:0 led_shu9:0;always (posedge clk) beginif(!rst) beginstate <= 0;led_shu0 <= 8'h3f;led_shu1 <= 8'h06;led_shu2 <= 8'h5b;led_shu3 <= 8'h4f;led_shu4 <= 8'h66;led_shu5 <= 8'h6d;led_shu6 <= 8'h7d;led_shu7 <= 8'h07;led_shu8 <= 8'h7f;led_shu9 <= 8'h6f;endelse beginstate <= state+1;if(count<10) beginledreg0 <= led_shucount; ledreg1 <= led_shu0;endelse if(count<20) beginledreg0 <= led_shucount-10; ledreg1 <= led_shu1;endelse if(count<30) beginledreg0 <= led_shucount-20; ledreg1 <= led_shu2;endelse if(count<40) beginledreg0 <= led_shucount-30; ledreg1 <= led_shu3;endelse beginledreg0 <= led_shucount-40; ledreg1 <= led_shu4;endendendalways (state) begincase (state)0: beginrow <= 4'b0101;light_v <= light0_reg;led <= 6'b111110;ledseg <= ledreg1;end1: beginrow <= 4'b1010;light_v <= light1_reg;led <= 6'b111101;ledseg <= ledreg0;enddefault: ;endcaseend endmodule

    注意事项

    本文(885191354基于CPLD的十字路口交通灯设计程序.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开