885191354基于CPLD的十字路口交通灯设计程序.doc
《885191354基于CPLD的十字路口交通灯设计程序.doc》由会员分享,可在线阅读,更多相关《885191354基于CPLD的十字路口交通灯设计程序.doc(9页珍藏版)》请在三一办公上搜索。
1、基于CPLD的十字路口交通灯设计说明:横向红灯纵向绿灯30秒;横向红灯纵向黄灯5秒;横向黄灯纵向红灯5秒;横向绿灯纵向红灯50秒(假设横向的车流量大,所以通行时间长);横向黄灯纵向红灯5秒;横向红灯纵向黄灯5秒。(循环上述步骤)。RTL视图:(四个模块一目了然)芯片:alter公司的MAX II 系列EPM240T100C5Verilog代码:(由于特权同学的键盘前两天被折腾了,有部分字母按键失灵,所以写程序的时候是软硬键盘一起使,郁闷的直接连注释都省了。)(顶层模块)module traffic(clk,rst,row,light_v,led,ledseg);input clk;input
2、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(seco
3、nd),.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,
4、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; endendendendmodule(1Hz分频模块,用于交通灯的定时)module clkdiv(clk,rst,second);input clk;input rst;out
5、put second;reg27:0 num;reg second;always (posedge clk) beginif(!rst) beginnum = 0;second = 0;endelse beginnum = num+28d1;if(num=28h2faf080) beginsecond = second;num = 0;endendendendmodule(该模块主要用于计算倒计时数值和交通灯的排选)module light(rst,second,light0_reg,light1_reg,count);input rst;input second;output2:0 ligh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 885191354 基于 CPLD 十字路口 交通灯 设计 程序
链接地址:https://www.31ppt.com/p-4146242.html