哈工大EDA实验交通灯的设计Word文档下载推荐.docx
- 文档编号:17031494
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:8
- 大小:22.02KB
哈工大EDA实验交通灯的设计Word文档下载推荐.docx
《哈工大EDA实验交通灯的设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《哈工大EDA实验交通灯的设计Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
设计示意图:
:
图交通灯设计示意图
实验过程:
采用VERLOG语言编写程序,并在QUARTUSII工具平台中进行仿真,下载到EDA实验箱进行验证。
实验结果:
下载到试验箱之后与所设定得到的实验结果一致,同一路红灯35秒,绿灯30秒,黄灯5秒。
另一路与之相反对应
实验源程序:
moduletraffic(clktest,clk_50M,rst,red1,yellow1,green1,red2,yellow2,green2,seg7_0x,seg7_1x,seg7_0y,seg7_1y);
inputclk_50M,rst;
outputred1,yellow1,green1,red2,yellow2,green2;
output[6:
0]seg7_0x,seg7_1x,seg7_0y,seg7_1y;
regred1,yellow1,green1,red2,yellow2,green2;
reg[7:
0]state,nextstate;
reg[5:
0]counter,dis1r,dis2r,timeover,dis1,dis2;
0]counter1,dis1x,dis2x;
reg[24:
0]cnt_1hz;
regclk2_hz;
regclk;
parameter所用亮灯与LED灯对应设置s0=8'
b0000_0001,s1=8'
b0000_0010,s2=8'
b0000_0100,s3=8'
b0000_1000,
s4=8'
b0001_0000,s5=8'
b0010_0000,s6=8'
b0100_0000,s7=8'
b1000_0000;
//parametertimeg1=60,timeg2=39,timey1=4,timey2=0;
outputclktest;
assignclktest=clk;
always@(posedgeclk_50Mornegedgerst)
if(!
rst)begin
clk<
=0;
cnt_1hz<
end
elseif(cnt_1hz==24999999)时钟定时设置
begin
=~clk;
elsecnt_1hz<
=cnt_1hz+1;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
always@(posedgeclkornegedgerst)
rst)
state<
=s0;
dis1<
=35;
dis2<
=30;
counter<
=6'
b0;
red1<
=1;
yellow1<
=0;
green1<
red2<
yellow2<
green2<
nextstate<
=s1;
timeover<
end
else
case(state)
s0:
if(counter==timeover)
counter<
=6'
state<
=4;
dis1<
dis2<
red1<
yellow1<
elsebegin
counter<
=counter+1;
=dis1-1;
=dis2-1;
end
s1:
if(counter==timeover)
dis1<
dis2<
=s2;
timeover<
red1<
各个灯之间亮灯时间设置
end
s2:
=s3;
s3:
if(counter==timeover)
=s0;
endcase
always@(counter)
if(counter<
=9)
counter1=counter;
elseif((9<
counter)&
&
(counter<
=19))
counter1=counter+6;
elseif((19<
=29))
counter1=counter+12;
elseif((29<
=39))
counter1=counter+18;
elseif((39<
=49))
counter1=counter+24;
counter1=counter+30;
/*
segment7seg0(.data(counter1[3:
0]),.seg7(seg7_0)),
seg1(.data(counter1[7:
4]),.seg7(seg7_1));
*/
always@(dis1)
if(dis1<
dis1x=dis1;
dis1)&
(dis1<
dis1x=dis1+6;
=29))十进制与十六进制的转换
dis1x=dis1+12;
dis1x=dis1+18;
dis1x=dis1+24;
elseif((49<
=59))
dis1x=dis1+30;
elseif((59<
=69))
dis1x=dis1+36;
elseif((79<
=89))
dis1x=dis1+42;
dis1x=dis1+48;
segment7seg2(.data(dis1x[3:
0]),.seg7(seg7_0x)),
seg3(.data(dis1x[7:
4]),.seg7(seg7_1x));
always@(dis2)
if(dis2<
dis2x=dis2;
dis2)&
(dis2<
dis2x=dis2+6;
dis2x=dis2+12;
=39))十进制与十六进制的转换
dis2x=dis2+18;
dis2x=dis2+24;
dis2x=dis2+30;
elseif((59<
dis2x=dis2+36;
dis2x=dis2+42;
End
segment7seg4(.data(dis2x[3:
0]),.seg7(seg7_0y)),
seg5(.data(dis2x[7:
4]),.seg7(seg7_1y));
调用模块
Endmodule
实验心得体会
通过这学期的实验课程,使我对学EDA有了浓厚的兴趣。
期间每一次的实验我都认真的对待了,收获颇多,慢慢引导了我怎样去学好这门EDA课程。
我进一步加深了软件编程,状态机等的了解对verlog也有了较深的认识。
也在相关仪器设备的使用技能等方面得到较全面的锻炼和提高。
对本人对于设计的学习也有了较深的了解。
并且熟练了对QuartusII软件的操作。
在编写程序的过程中,遇到了很多问题,感谢学长的帮助,是学长拿出了大块的时间帮我调式与修改,也感谢老师的指点与教诲,让我收获颇丰,这几次实验我在和同学们在一起商讨一起做实验的过程中,学到了许多在我们课程中学不到的东西,使我更加加深了对eda实验的感性认识。
巩固了我的部分理论知识;
学会了使用硬件描述语言编写一些简单的程序培养了我的实践技能,更为了我以后的实习奠定了一定的基础。
最后再次感谢老师与学长的指导,你们辛苦了!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈工大 EDA 实验 交通灯 设计