verilog实验37个程序..docVIP

  • 10
  • 0
  • 约5.96万字
  • 约 73页
  • 2017-01-01 发布于重庆
  • 举报
verilog实验37个程序.

VERILOG 实验 3-8 译码器 //学习3 8译码器的原理, //拨码开关的 1 2 3作为输入 //本实验采用拨码开关来作为输入,LED作为状态显示 //当然如果你的学习板没有拨码开关,可以用key1 key2 key3 作为数据输入。 //视频教程适合我们21EDA电子的所有学习板 module decoder_38(out,key_in); output[7:0] out; //3 8译码器输出有8钟状态,所以要8个LED灯。 input[2:0] key_in; //(1 2 3)key1 key2 key3 作为数据输入 reg[7:0] out; always @(key_in) begin case(key_in) 3d0: out=8 //LED作为状态显示,低电平有效 3d1: out=8 3d2: out=8 3d3: out=8 3d4: out=8 3d5: out=8 3d6: out=8 3d7: out=8 endcase end endmodule 1位数码管动态显示 //一位数码管试验 //利用分频计数器得到数码管,效果 //视频教程适合我们21EDA电子的所有学习板 module SMG_LED (clk_50M,rst,led_bit,dataout); input clk_50M,rst; //系统时钟50M输入 从12脚输入。 output [7:0] dataout; //我们这里用数码管, output led_bit; //一位数码管的位选择 reg [7:0] dataout; reg led_bit; reg [27:0] count; //分频计数器 //分频计数器 always @ ( posedge clk_50M ) begin count=count+1; //计数器自加 end always @ ( posedge clk_50M or negedge rst) begin led_bit = b0; //是数码管的位选择处于导通状态 case ( count[27:24] ) // case ( count[27:24] )这一句希望初学者看明白, // 也是分频的关键 // 在数码管上面显示0到F 0: dataout=8 //0 1: dataout=8 2: dataout=8 3: dataout=8 4: dataout=8 5: dataout=8 6: dataout=8 7: dataout=8 8: dataout=8 9: dataout=8 10:dataout=8 11:dataout=8 12:dataout=8 13:dataout=8 14:dataout=8 15:dataout=8 //f endcase end endmodule 7段数码管静态显示 //本实验就是学习单个数码管的显示 //视频教程适合我们21EDA电子的所有学习板 module SMG_LED (clk_50M,led_bit,dataout); input clk_50M ; //系统时钟50M输入 从12脚输入。 output [7:0] dataout; //我们这里用数码管, output led_bit; //一位数码管的位选择 reg [7:0] dataout; reg led_bit; always @ ( posedge clk_50M ) begin led_bit = b0; //是数码管的位选择处于导通状态 dataout=8 //修改7段码,可以显示不同的字符 //本实验初始是在数码管显示0 end endmodule 8位

文档评论(0)

1亿VIP精品文档

相关文档