数字电子技术实验报告之交通灯设计 - 图文

2026/4/26 10:37:04

begin

num[3:0]<=l[3:0];weiscan[7:0]<=8'b00000001; end 3'b001: begin

num[3:0]<=h[3:0];weiscan[7:0]<=8'b00000010; end 3'b010:

begin

num[3:0]<=l1[3:0];weiscan[7:0]<=8'b00000100; end 3'b011: begin

num[3:0]<=h1[3:0];weiscan[7:0]<=8'b00001000; end endcase end

倒计时的显示设计:

每一个状态显示的时间和亮的灯的颜色都不一样。所以每个状态时,计时的变量都应改变,才能使得数码管正常显示。

代码如下:

case(state)

state0:begin l=gl;h=gh;l1=rl;h1=rh;end state1:begin l=yl;h=yh;l1=rl;h1=rh;end state2:begin l=rl;h=rh;l1=yl;h1=yh;end state3:begin l=rl;h=rh;l1=yl;h1=yh;end state4:begin l=rl;h=rh;l1=yl;h1=yh;end endcase end

调试与实验结果 调试:

将代码中always部分中的常来clk1hkz和常来clk1hz都改为clk,然后进行编译,并建立一个vector waveform file文件,找到所有的节点,就可以运行了。 仿真波形如下:

整体仿真图形:

weiscan[7:0]的仿真图:

counter[7:0]的仿真图:

引脚锁定:

下载到实验箱后,用导线将clk与p16接起,后接入6M频率即可。

实验结果:

实验交通灯变化正常,倒计时显示正常。

本次实验的心得;

本次实验经历了3个礼拜,完全由学生自主学习和实验,我对于这个实验一开始以为比较简单,可是动起手却没有思路。经过查阅图书馆的资料才有那么一点思路,开始动手。经过这次实验我学到了很多,学会数码管的扫描和状态的设定和转换。

附页(附总代码):

module d20122756(clk,sn,we,ns,ew,counter,weiscan); output [7:0]weiscan; reg [7:0]weiscan; input clk;

output [1:0]sn,we,ns,ew; output [6:0]counter; reg [6:0]counter; reg [1:0]sn,we,ns,ew; reg [3:0]rl,rh,yl,yh,gl,gh; reg [3:0]wei,num; reg clk1khz,clk1hz; reg [12:0]count1; reg [8:0]count2; reg [3:0]l,h,l1,h1; reg [2:0]state,next_state;


数字电子技术实验报告之交通灯设计 - 图文.doc 将本文的Word文档下载到电脑
搜索更多关于: 数字电子技术实验报告之交通灯设计 - 图文 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219