本文提供了在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;endalways @ (posedge clk)  begin  if(times<=20000)beginen=4'b1110;if(low_data>4'b1001)data=low_data-4'b1010;else data=low_data;endelse if((times>20000)&(times<=40000))beginen=4'b1101;if(low_data>4'b1001)data=4'b0001;else data=4'b0000;endelse if((times>40000)&(times<=60000))beginen=4'b1011;if(high_data>4'b1001)data=high_data-4'b1010;else data=high_data;endelsebeginen=4'b0111;if(high_data>4'b1001)data=4'b0001;else data=4'b0000;endendalways@(*)begincase(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。

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

代码下载请移步:点击打开链接

Verilog实现4位数码管动态显示(FPGA)相关推荐

  1. c语言数码管的动态显示时间,8位数码管动态显示时间,可调节,调节的数闪烁显示...

    原标题:8位数码管动态显示时间,可调节,调节的数闪烁显示 // 时间,可调节, //调节时间时,调节的数闪烁显示: //比较两种闪烁的方法: #include #define uint unsigne ...

  2. 单片机c语言数码管显示子程序,单片机C语言之两位数码管动态显示

    <单片机C语言之两位数码管动态显示>由会员分享,可在线阅读,更多相关<单片机C语言之两位数码管动态显示(1页珍藏版)>请在人人文库网上搜索. 1.include #define ...

  3. 单片机动态从00到99C语言,用51单片机控制 2位数码管动态显示 00 ~ 99

    ;用51单片机控制 2位数码管动态显示 00 ~ 99. ;从 00 开始显示,显示数字每隔一段时间加 1,一直到 99,然后回到 00. ;从 00 到 10 每隔 100ms 加 1: ;从 10 ...

  4. arduino控制一位数码管、控制二位数码管动态显示(用不到中断程序)

    目的: 1.利用arduino控制一位共阳极数码管显示 2.利用arduino控制二位共阳极数码管显示 前言: 前段时间,在网上看到了一个视频,是关于二位数码管动态显示的视频,感觉很新奇,就想把它做出 ...

  5. 单片机数码管从00到99C语言_用51单片机控制 2位数码管动态显示 00 ~ 99。

    ;用51单片机控制 2位数码管动态显示 00 ~ 99. ;从 00 开始显示,显示数字每隔一段时间加 1,一直到 99,然后回到 00. ;从 00 到 10 每隔 100ms 加 1: ;从 10 ...

  6. arduino用时钟中断方式的4位数码管动态显示

    一般我们在arduino开发板上显示数字,通常采用多位数码管进行显示,而多位数码管实际是采用"动态扫描显示"的方法进行显示,即依次显示第1位数码管.第2位数码管.第3位数码管.第4 ...

  7. 基于51单片机实现4位数码管动态显示

    单片机入门学习记录(一) 硬件配置: 主控:STC89C52单片机 显示器件:四位一体数码管 操作器件:点动式独立按键SB1.SB2.SB3.SB4 *选配器件:蜂鸣器 功能要求: 1)开机自检:四位 ...

  8. 8位数码管动态显示8个字符以上1字符的程序,例如0-F。

    一:显示0-7: 程序说明: 程序先定义两个表格,一个表格按顺序存放0-F的段码,另一个表格按地位到高位的顺序存放8位数码管的各位位码 上代码!!!! #include "reg52.h&q ...

  9. 开发板实战篇3 6位数码管动态显示

    总结: 模块例化思想: 例化2个定时器模块 + 数码管驱动 根据自己思路编写代码,调试仿真代码,同时熟悉环境.加深细节理解 刚开始写得很乱,代码完全就是用modelsim仿真调试出来的 注意: 一. ...

最新文章

  1. (附链接)CVPR 2022 | 模型难复现不一定是作者的错,最新研究发现模型架构要背锅...
  2. 腾讯云推出一站式 DevOps 解决方案 —— CODING DevOps
  3. python小项目实例流程-Python小项目:快速开发出一个简单的学生管理系统
  4. go中的WebSocket
  5. java定义dll文件位置,生成网站时如何设置固定的dll文件名?-Java架构师必看
  6. C++使用二个栈实现queue(附完整源码)
  7. 中级统计师基础知识中计算机,【2014年中级统计师《统计基础理论及相关知识》预习:计算机操作系统】- 环球网校...
  8. SAP CRM 中间件里的发布-订阅者模式
  9. [转]ORACLE 异常错误处理
  10. 如何将Word与Endnote再次相互关联?
  11. vue父组件、子组件,父子组件交互
  12. spring配置中使用的classpath*:是什么,和“classpath:”的区别
  13. KubeEdge在国家工业互联网大数据中心的架构设计与应用
  14. 深入了解VB中的变量和指针
  15. 完整的网络安全解决方案
  16. u盘如何在计算机应用内存,u盘扩大内存,小编教你如何用U盘扩展内存
  17. 转载(吃货告诉你,PAAS、IAAS和SAAS之间的区别)
  18. 李在福羽毛球教学经典视频汇总31集
  19. 将实时三维计算机技术,基于结构光实时三维重建计算机应用技术专业论文.docx...
  20. 极点五笔状态栏和候选窗口显隐

热门文章

  1. springboot+vue+elementui添加视频和图片
  2. 中国移动光猫设置桥接
  3. 贵州立足三大核心 全面试验大数据国家战略
  4. 亲测 解决wps for linux 中文输入法光标不跟随的问题
  5. 三相桥式整流电路双闭环控制 电流内环 电压外环(也有开环控制)
  6. window.scroll 浏览器滚动条的参数总结..........
  7. ZEMAX非序列设计教程
  8. 跟面试官讲Binder(零)
  9. signature=91a39d56ee3f1c2eb35c4ca5adda65a1,Anomalous signature splitting effects in 79Rb
  10. 【BT下载】ubuntu10.10 下bit下载工具 Transmission 或者 wine+uTorrent 【PlayOnLinux:Wine 辅助程序】