欢迎来到天天文库
浏览记录
ID:40575170
大小:231.00 KB
页数:44页
时间:2019-08-04
《verilog HDL基础程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、涉及到需要时间的并且在不同的时间执行程序时就要用到分频计数器至于需要分频多少看需要执行多少次,也就是需要用到的时间有多少次。3-8译码器//学习38译码器的原理,//拨码开关的123作为输入//本实验采用拨码开关来作为输入,LED作为状态显示//当然如果你的学习板没有拨码开关,可以用key1key2key3作为数据输入。moduledecoder_38(out,key_in);output[7:0]out;//38译码器输出有8钟状态,所以要8个LED灯。input[2:0]key_in;//(123)key1key2
2、key3作为数据输入reg[7:0]out;always@(key_in)begincase(key_in)3'd0:out=8'b11111110;//LED作为状态显示,低电平有效3'd1:out=8'b11111101;3'd2:out=8'b11111011;3'd3:out=8'b11110111;3'd4:out=8'b11101111;3'd5:out=8'b11011111;3'd6:out=8'b10111111;3'd7:out=8'b01111111;endcaseendendmodule1位数码
3、管动态显示//一位数码管试验//利用分频计数器得到数码管,效果moduleSMG_LED(clk_50M,rst,led_bit,dataout);inputclk_50M,rst;//系统时钟50M输入从12脚输入。output[7:0]dataout;//我们这里用数码管,outputled_bit;//一位数码管的位选择reg[7:0]dataout;regled_bit;reg[27:0]count;//分频计数器//分频计数器always@(posedgeclk_50M)begincount<=count+1
4、;//计数器自加endalways@(posedgeclk_50Mornegedgerst)beginled_bit<='b0;//是数码管的位选择处于导通状态case(count[27:24])//case(count[27:24])这一句希望初学者看明白,//也是分频的关键//在数码管上面显示0到F0:dataout<=8'b11000000;//01:dataout<=8'b11111001;2:dataout<=8'b10100100;3:dataout<=8'b10110000;4:dataout<=8'b1
5、0011001;5:dataout<=8'b10010010;6:dataout<=8'b10000010;7:dataout<=8'b11111000;8:dataout<=8'b10000000;9:dataout<=8'b10010000;10:dataout<=8'b10001000;11:dataout<=8'b10000011;12:dataout<=8'b11000110;13:dataout<=8'b10100001;14:dataout<=8'b10000110;15:dataout<=8'b1000
6、1110;//fendcaseendendmodule7段数码管静态显示//本实验就是学习单个数码管的显示moduleSMG_LED(clk_50M,led_bit,dataout);inputclk_50M;//系统时钟50M输入从12脚输入。output[7:0]dataout;//我们这里用数码管,outputled_bit;//一位数码管的位选择reg[7:0]dataout;regled_bit;always@(posedgeclk_50M)beginled_bit<='b0;//是数码管的位选择处于导通状态
7、dataout<=8'b11000000;//修改7段码,可以显示不同的字符//本实验初始是在数码管显示0end数码管静态显示0到7//7段数码管测试实验:以动态扫描方式在8位数码管//“同时”显示0--7//实验的目的是向用户介绍多个数码管动态显示的方法。//动态显示的方法是,按一定的频率轮流向各个数码管的COM端送出低电平//,同时送出对应的数据给各段moduleled_0_7(clk,rst,dataout,en);inputclk,rst;//系统时钟50M输入从12脚输入。output[7:0]dataout
8、;//数码管的段码输出output[7:0]en;//数码管的位选使能输出reg[7:0]dataout;reg[7:0]en;reg[15:0]cnt_scan;//扫描频率计数器reg[4:0]dataout_buf;always@(posedgeclkornegedgerst)beginif(!rst)begincnt_sc
此文档下载收益归作者所有