Verilog实现4位数码北京快乐8平台出租管动态显示(FPGA)

本文北京快乐8平台出租haozbbs.comQ1446595067 提供了在Basys2开发板上实现4位数码管动态显示的代码,并在ISE13.4_1上调试通过,下载到开发板后可实现将8个SW输入的两位十六进制数对应的8421BCD码,显示在数码管上。

首先,是以十六进制数显示。比如,在8个开关SW上输入2FH,四个数码管从左到右显示0215。

以下为代码:

module x7seg_1(
    input wire [3:0] high_data,
    input wire [3:0] low_data,
    input wire clk,
    output reg [6:0] led,
    output reg [3:0] en
    );  

    reg [3:0] data;
    reg [16:0] times;  

    initial times = 0;  

    always @ (posedge clk)
      begin
      if(times == 80000)
        times = 17‘b0;
        else times = times + 17‘b1;
        end

    always @ (posedge clk)
      begin
      if(times<=20000)
          begin
          en=4‘b1110;
          if(low_data>4‘b1001)
            data=low_data-4‘b1010;
          else data=low_data;
          end
       else if((times>20000)&(times<=40000))
          begin
          en=4‘b1101;
          if(low_data>4‘b1001)
            data=4‘b0001;
          else data=4‘b0000;
          end
        else if((times>40000)&(times<=60000))
          begin
          en=4‘b1011;
          if(high_data>4‘b1001)
            data=high_data-4‘b1010;
          else data=high_data;
          end
        else
          begin
          en=4‘b0111;
          if(high_data>4‘b1001)
            data=4‘b0001;
          else data=4‘b0000;
          end
        end

         [email protected](*)
         begin
       case(data)
          4‘b0000: led= 7‘b1000000;  //0
          4‘b0001: led = 7‘b1111001;  //1
          4‘b0010: led = 7‘b0100100;  //2
          4‘b0011: led = 7‘b0110000;    //3
          4‘b0100: led = 7‘b0011001;  //4
          4‘b0101: led = 7‘b0010010;  //5
          4‘b0110: led = 7‘b0000010;  //6
          4‘b0111: led = 7‘b1111000;  //7
          4‘b1000: led = 7‘b0000000;    //8
          4‘b1001: led = 7‘b0010000;  //9
          default: led = 7‘b0001000;  //A  

       endcase
       end
endmodule   

约束文件如下:

NET"low_data[0]"LOC=P11;
NET"low_data[1]"LOC=L3;
NET"low_data[2]"LOC=K3;
NET"low_data[3]"LOC=B4;
NET"high_data[0]"LOC=G3;
NET"high_data[1]"LOC=F3;
NET"high_data[2]"LOC=E2;
NET"high_data[3]"LOC=N3;
NET"led[0]"LOC=L14;
NET"led[1]"LOC=H12;
NET"led[2]"LOC=N14;
NET"led[3]"LOC=N11;
NET"led[4]"LOC=P12;
NET"led[5]"LOC=L13;
NET"led[6]"LOC=M12;
NET"en[0]"LOC=F12;
NET"en[1]"LOC=J12;
NET"en[2]"LOC=M13;
NET"en[3]"LOC=K14;
NET"clk"LOC=B8;

其次,将8个SW输入的两位十六进制数对应的十进制数显示在数码管上。比如,输入7FH,四个数码管从左到右依次显示127。

在将二进制数转换为十进制数时,我采用的是”左移加三“的方式,下载后测试正常工作。

原文地址:http://blog.51cto.com/13862278/2139919

时间: 2024-07-28 13:05:12

Verilog实现4位数码北京快乐8平台出租管动态显示(FPGA)的相关文章

北京赛车pk10平台出租

北京赛车pk10平台出租QQ1148916888 网址:www.1148916888.com 心灵不在它生活的地方,但在它所爱的地方. -- 英国谚语人要正直,因为在其中有雄辩和德行的秘诀,有道德的影响力. -- 阿米尔我们活着不能与草木同腐,不能醉生梦死,枉度人生,要有所做为. -- 方志敏现实是此岸,理想是彼岸,中间隔着湍急的河流,行动则是架在河上的桥梁. -- 克雷洛夫正像新生的婴儿一样,科学的真理必将在斗争中不断发展,广泛传播,无往而不胜. -- 富兰克林在一个崇高的目标支持下,不停地工

emacs文本比对广东快乐十分平台出租工具ediff的使用说明

两个Buffer之间比对广东快乐十分平台出租haozbbs.comQ1446595067 1.启动Ediff Session通过/M-x eddif-buffers,启动Ediff Session,并选择A.B两个Buffer,进入ediff比对界面.ediff支持启动多个Ediff Session,来进行多个不同对的Buffer比对注:第一次在window系统的emacs启动,会报错(Searching for program: no such file or directory, diff)

js数据类型OA北京转赛车平台出租换及常用方法、内置对象

Date 对象OA北京转赛车平台出租haozbbs.comQ1446595067 Date 对象用于处理日期和时间.创建 Date 对象的语法: var myDate=new Date() 注释:Date 对象会自动把当前日期和时间保存为其初始值.Date 对象方法 Date() 返回当日的日期和时间. setFullYear() 设置 Date 对象中的年份(四位数字). getMonth() 从 Date 对象返回月份(0 ~ 11). getDate() 从 Date 对象返回一个月中的某

北京_赛车平台出租和视频播放View的扩展

北京_赛车平台出租 VideoView 是android 系统提供的一个媒体播放显示和控制的控件.其结构层次如下: 原型:VideoView extends SurfaceView implements MediaController.MediaPlayerControl 类结构: java.lang.Object ? android.view.View ? android.view.SurfaceView ? android.widget.VideoView 通过VideoView 的原型可知

Flask Web开发入门北京快乐8出售之文件上传

本章北京快乐8出售 dsluntan.com 我们介绍Flask Web开发中涉及的文件上传模块 定义后台接收处理逻辑@app.route('/upload', methods=['POST'])def upload_file():if request.method == 'POST': check if the post request has the file part if 'file' not in request.files: logger.debug('No file part')

Arduino 数码管 硬件 4位数码管 TM1637驱动芯片 库文件 示例

4位数码管:这里用的是TM1637驱动的数码管 备注:此章节会用到库的概念和内容. 该模块有四个引脚,意义如下: GND:电源负极 VCC:电源正极,+5V DIO:数据IO模块,可以接任意的数字引脚 CLK:时钟引脚,可以接任意的数字引脚. 该库提供了一个名为TM1637的类, 类中包含一个构造函数,形式为 TM1637(uint8_t Clk, uint8_t Data), 第一个参数指定时钟引脚,第二个参数指定数据引脚,这两个引脚都是数字引脚. TM1673库 代码示例: 1 /* 2  

利用定时器0模式1中断消除4位数码管动态显示闪烁问题的项目工程

1 /******************************************************************************** 2 定时器定时1ms,数码管以秒钟计时,加上定时器0中断可消除数码管刷新时的闪烁问题, 3 闪烁问题是由while语句中分离数字时计算造成的,因为每次1s时间到,在数码管刷新前 4 都要进行计算,耽误了时间,导致闪烁,加了中断以后则是先刷新数码管再分离数字. 5 **********************************

跳槽面试时不能说北京赛车重庆时时踩源码下载平台出租出售的六大离职理由

夏天过去后,9月北京赛车重庆时时踩源码下载平台出租出售[大神源码论坛]dsluntan.com [布丁源码论坛]budingbbs.com 企娥3393756370又是求职和跳槽的黄金时段,想要跳槽的你需要注意了:"你为什么从上一家公司离职?"面试时这个问题是避无可避的. 什么样的理由才能做到既反映实际情况,又能得到HR认可呢?这六种雷千万不能踩! 一.说公司坏话 面试的时候一直对前公司百般攀扯,说公司管理垃圾,规定苛刻:领导人多么糟糕,对下属如何坏.你必定过不了面试关. 因为HR对你

北京赛车平台出租度富文本编辑器UEditor的改造

在Java项目中,做内容管理功能时,需要用到富文本编辑器北京赛车平台出租(www.1159880099.com)QQ1159880099,目前流行的富文本编辑器还是比较多的,因为项目中用的是百度的UEditor,所以对UEditor使用中的一些问题做个总结吧. 因为是Java项目所以使用的是只能选择jsp版本的UEditor,使用方式还是比较简单的,按照UEditor官方的文档来就好了. 首先说下踩过的坑,我项目一开始是用的war部署的方式,大家都知道war部署时是会解压到tomcat的weba