当前位置: 首页 > news >正文

网站模板织梦苗木推广做哪个网站好

网站模板织梦,苗木推广做哪个网站好,com天堂网,百度网站名称一、概述 在上一篇文章中我们针对单个数码管的静态显示和动态显示进行了一个设计和实现,这篇文章中我们针对多个数码管同时显示进行一个设计。这里和上一篇文章唯一不同的是就是数码管位选进行了一个改变,原来是单个数码管的显示,所以位选就直…

一、概述

     在上一篇文章中我们针对单个数码管的静态显示和动态显示进行了一个设计和实现,这篇文章中我们针对多个数码管同时显示进行一个设计。这里和上一篇文章唯一不同的是就是数码管位选进行了一个改变,原来是单个数码管的显示,所以位选就直接赋值就可以了,但在本篇文章中一次性使用了多个数码管,所以在位选信号中我们就需要进行一个更改。

实验的重难点

在进行多位数码管的显示时,最大的难点就是怎样选择每个数码管的位选,以及每个数码管之间显示的时间间隔,这时本次设计中所设计的两个重难点,只要掌握着两个点,设计也就变得非常简单。

二、工程实现

1、设计文件的编写

       在针对上面的两个难点,我们在编写代码时拼接语法的方式实现位选的循环移动,将不同数码管显示的值使用位选变量作为条件写在一个case语句中,以实现我们预设的012345的字符显示。这里在对8段发光二极管显示字符进行设计时,我们和前一篇文章一样需要先确认时共阴极还是共阳极(这里使用的是共阳极),如果时共阴极就是高电平驱动,反之,就是低电平驱动。通过给8段对应的二极管进行0或者1的赋值,共同组成不同的字符。

module seg0(input  clk,input  rst_n,output reg [5:0] seg_sel,//位选output reg [7:0] seg_dual//段选
);
localparam  ZERO  = 8'b1100_0000, //共阳极段码ONE   = 8'b1111_1001,TWO   = 8'b1010_0100,THREE = 8'b1011_0000,FOUR  = 8'b1001_1001,FIVE  = 8'b1001_0010;
reg [15:0] cnt;//ms计数器
wire       add_cnt;
wire       end_cnt;
reg     [4:0]   flag;
wire            add_flag;
wire            end_flag;always @(posedge clk or negedge rst_n)beginif(!rst_n)cnt<=0;else if(add_cnt)beginif(end_cnt)cnt<=0;elsecnt<=cnt+1'b1;end
end
assign add_cnt=1'b1;
assign end_cnt=add_cnt && (cnt==50_000-1);always @(posedge clk or negedge rst_n)beginif(!rst_n)seg_sel<=6'b111_110;else if(end_cnt)seg_sel<={seg_sel[4:0],seg_sel[5]};
endalways @(posedge clk or negedge rst_n)beginif(!rst_n)seg_dual<=8'b1111_1111;else begincase (seg_sel)6'b111_110:seg_dual<=ZERO ;6'b111_101:seg_dual<=ONE  ;6'b111_011:seg_dual<=TWO  ; 6'b110_111:seg_dual<=THREE;6'b101_111:seg_dual<=FOUR ;6'b011_111:seg_dual<=FIVE ;default: ;endcaseend 
end
endmodule 

2、测试文件编写

这里很简单,我就不进行波形仿真了,下面是测试文件,感兴趣的可以去仿真一下,我就直接在后面给出下板验证的结果。

//定义时间尺度
`timescale 1ns/1ns
module seg0_tb ;//输入信号定义
reg  clk;
reg rst_n;
wire [7:0] seg_dual;
wire [5:0] seg_sel;
//模块例化
seg0 seg_inst(/*input */.clk      (clk     ),/*input */.rst_n    (rst_n   ),/*output*/.seg_sel  (seg_sel ),/*output*/.seg_dual (seg_dual));
//激励信号产生
parameter CLK_CLY = 20;
//时钟
initial clk=1;
always #(CLK_CLY/2)clk=~clk;//复位
initial beginrst_n= 1'b0;#(CLK_CLY*3);#5;//复位结束避开时钟上升沿rst_n= 1'b1;
end
endmodule

3、下板验证

图片中我们可以看到6个数码管从0显示到5,成功设计成多个数码管同时显示。

http://www.yayakq.cn/news/864486/

相关文章:

  • 网站开发资格证书ps免费模板网站
  • 自建站怎么接入支付百度推广个人能开户吗
  • 现在网站给源码国际型网站建设
  • 网站已备案下一步怎么做住房和城乡建设部官网
  • dede网站源码下载设计公司logo最重要的是什么
  • 网站托管及维护网站开发前端指什么软件
  • 如何进行网站检查网站域名管理
  • 499可以做网站重庆男科医院哪家好
  • 网站底部菜单网站初期缺点
  • 那些行业做网站优化的比较多大连旅顺天气
  • 如何创建一个软件太原百度快照优化排名
  • 好的企业型网站模板展台设计展会展位设计
  • 阿里云网站更换域名建域名做网站
  • 有什么网站可以做外贸免费的wordpress主机
  • 企业网站模板seo销客多微分销系统
  • 大型门户网站2017如何免费制作网站
  • 信阳做网站公司wordpress新手教程
  • 网站建设免费维护内容吃什么补肾阳虚
  • 做二手钢结构网站有哪些网站建设 三牛
  • 国外网站打不开怎么解决做网站后用浏览量百度给钱
  • jsp网站建设毕业设计网站的新闻栏与产品栏如何做
  • 山西长治做网站公司wordpress错误集锦
  • 如何将自己做的网站放到网上去秦皇岛网站制作价格
  • 网站建设的必要性及意义外链平台有哪些
  • 顺义重庆网站建设织梦模板建站
  • 有没有做网站的博士专业网站设计权限
  • 如何制作自己的网站二维码温州seo排名
  • 天津建设厅网站首页贵阳网站制作服务商
  • 网站改版的前端流程工业设计公司发展方向
  • php 网站部署到服务器礼品工艺品网站建设