实现的功能:8个数码管轮流显示8个数字,若频率合适,可以实现8个数码管同时被点亮的视觉效果

1.CL5461AS

CL5461AS 数码管管脚图如下图所示,它将四个数码显示管的a~g 及小数点dp 管脚并联在一起,作为数码管数据输入端;分别引出各个数码管的阴极A1~A4。

只要在A1~A4 管脚上轮流加低电平其频率大于40Hz,可实现四个数码管同时被点亮的视觉效果。在点亮不同数码管的同时输入不同的数据,即可在数码管上同时显示四位不同的数字。

2.驱动八位数码管显示电路框图

3.模块及模块功能

3.1时钟脉冲计数器模块

cnt8模块输入信号为时钟脉冲clk,每遇到一个clk上升沿,内部累加器加1,并把累加器的所得结果以二进制数的形式输出。

 1 module cnt8(clk,cout); 2  3 input clk; 4 output reg [2:0] cout; 5  6 always @(posedge clk) 7   begin 8     if(cout==7) 9        cout<=0;10     else11       cout<=cout+1;12   end13 14 endmodule

3.2 3-8译码器模块

3-8模块的输入端A用于接收时钟脉冲计数器cnt8模块的输出信号,经过译码后,输出信号Q分别接8个数码管的阴极,是对应的数码管阴极为低电平,

对应的数码管被点亮。

 1 module decoder3_8(A,vss); 2  3 input [2:0] A; 4 output reg [7:0] vss; 5  6 always @(A) 7   begin 8     case(A) 9          3'b000:vss=8'b11111110;10          3'b001:vss=8'b11111101;11          3'b010:vss=8'b11111011;12          3'b011:vss=8'b11110111;13          3'b100:vss=8'b11101111;14          3'b101:vss=8'b11011111;15          3'b110:vss=8'b10111111;16          3'b111:vss=8'b01111111;17     endcase18   end19 20 endmodule21  

3.3 八选一数据选择模块

地址码SEL来自时钟脉冲计数器cnt8,由地址码SEL[2:0]决定输出哪个输入数据,输出信号是Q[3..0].

 1 module SEL81(sel,a,b,c,d,e,f,g,h,Q); 2  3 input [2:0] sel; 4 input [3:0] a,b,c,d,e,f,g,h; 5 output reg [3:0] Q; 6  7 always @(sel) 8   begin 9     case(sel)10          3'b000:Q=a;11          3'b001:Q=b;12          3'b010:Q=c;13          3'b011:Q=d;14          3'b100:Q=e;15          3'b101:Q=f;16          3'b110:Q=g;17          3'b111:Q=h;18      endcase19   end20 endmodule

3.4 七段译码器模块

DISP 模块是七段译码器,将输入的4 位二进制数转换为数码显示管所对应的数字。DISP 模块输入信号D[3..0]接到八选一数据选择模块的输出信号Q[3..0];

七段译码器输出信号Q[6..0]接数码管的a~g 管脚。

 1 module DISP(D,Q); 2  3 input [3:0] D; 4 output reg [6:0] Q; 5  6 always @(D) 7   begin 8     case(D) 9          4'b0000:Q=0111111;10          4'b0001:Q=0000110;11          4'b0010:Q=1011011;12          4'b0011:Q=1001111;13          4'b0100:Q=1100110;14          4'b0101:Q=1101101;15          4'b0110:Q=1111101;16          4'b0111:Q=0100111;17          4'b1000:Q=1111111;18          default:Q=1101111;19     endcase20   end21 endmodule22          

3.5 整体电路

 1 module DisplayLED(clk,a,b,c,d,e,f,g,h,vss,Q); 2  3 input clk; 4 input [3:0] a,b,c,d,e,f,g,h; 5 output [7:0] vss; 6 output [6:0] Q; 7  8 wire [2:0] cnsel; 9 wire [3:0] qd;10 11 12 13 cnt8 cnt (.clk(clk),.cout(cnsel));14 decoder3_8 decoder(.A(cnsel),.vss(vss));15 SEL81 sel(.sel(cnsel),.a(a),.b(b),.c(c),.d(d),.e(e),.f(f),16                .g(g),.h(h),.Q(qd));  17 DISP disp(.D(qd),.Q(Q));18  19 endmodule


转载于:https://www.cnblogs.com/zerineofdream/archive/2011/09/22/2184721.html

FPGA控制的数码显示电路相关推荐

  1. 用二—十进制编码器74LS147、译码器74LS249、七段数码管显示器组成一个1位数码显示电路,当0-9十个输入端中有一个接地时,显示相应数码;

     一.题目描述: 用二-十进制编码器74LS147(反码输出).译码器74LS249(原码输入,输出高电平有效).七段数码管显示器组成一个1位数码显示电路,当0-9十个输入端中有一个接地时,显示相应数 ...

  2. 电信院 创新创业实践二 FPGA Verilog vivado 数码显示管 显示译码器

    一.实验目的 用case语句设计一个显示译码器,并学习如何在EGO1实验板上使用7段数码管显示数字.要求数码管显示一个数字为学号(如2016****100)最后一位(如0). 二.实验仪器 计算机(安 ...

  3. python led屏控制_Raspberry Pi-简单几步实现通过Python编程控制USBLCD屏显示-电路城论坛 - 电子工程师学习交流园地...

    树莓派B/B+  USBLCD字符屏 目前市面上树莓派可用的LCD1602系列字符屏主要是两种,一种是通过树莓派上数目可怜的GPIO直接控制(GPIO大量被占用,可用的IO更少了),一种是做成扩展板插 ...

  4. 利用MEGA32制作辉光数码管显示电路

    简 介: 为了驱动两个辉光数码管,供有20个数字,使用MEGA32 MCU制作了一个秒表运行驱动电路板. 关键词: 辉光数码管,IN 12,MEGA32 #mermaid-svg-2FBANG5Zss ...

  5. 数码管显示电路分析-74hc138+74hc164

    1.方案选择 数码管的显示电路有两种方案,可以用数码管显示专用IC,如simHT16K33:也可以用74HC138和74HC164两个芯片来分别进行位选和段选.前者可以节省CPU资源,只需通过IIC等 ...

  6. 数码管显示电路的设计

    作者:ll [内容] (1)半导体数码管 (2)74LS48集成显示译码器 [重点] (1)数码管显示原理. (2)74LS48译码器的功能分析 [难点]数字显示译码器的设计. (一)   引入 在日 ...

  7. 基于FPGA的两位按键控制LED数码管加减计数实验

    两位按键控制LED数码管加减计数实验 这是一篇拖了一个多月的文章,主要是基于FPGA利用按键消抖原理与动态数码管驱动原理相结合,来实现一个利用两位按键来控制数码管实现0-99的加法计数或者减法计数功能 ...

  8. FPGA之动态数码管显示实验

    1.试验任务 完成6位数码管以动态方式从0开始计数,没100ms计数值增加1,当计数值从0增加到999999后重新从0开始计数. 2.硬件原理图 3.程序框图 程序设计思想: FPGA顶层(top_s ...

  9. 树莓派驱动数码管c 语言,0023 树莓派电脑控制单位数码管显示数字

    原标题:0023 树莓派电脑控制单位数码管显示数字 这节课,来学习如何控制单位数码管来显示数字. 电路原理 要使用一个电子元器件,首先是要掌握它的电路原理图,来看一下单位数码管的电路原理图: 我们选择 ...

最新文章

  1. 模拟jQuery构造对象
  2. HTML(三):表单元素
  3. 第25节 典型应用集成技术
  4. 相机开发:海康板卡相机开发
  5. vray渲染里服务器信息,VRay分布式渲染详细介绍
  6. Python身份证号码识别
  7. 3dmax渲染计算机内存不足怎么办,3DMax渲染 提示内存不足怎么办
  8. Mathpix Snip他们都说好用!我也试一试尝试下载-安装-使用
  9. 【PS CS6】替换证件照背景色
  10. 用C语言程序进行比赛日程排列
  11. 小米5 android 4.1.2,三星GALAXY NOTE i9220 Miui V5完美运行 Android4.1.2 华丽流畅体验
  12. 没做过项目经理可以考pmp证书吗?普通人考PMP®有用吗?
  13. java计算机毕业设计无线通信基站监控及管理系统源码+系统+数据库+lw文档+mybatis+运行部署
  14. Kubernetes哪一点最打动你?或者,它发布过的哪一项特性让你认为最厉害?
  15. 布斯乘法算法的流程图
  16. arm tcm linux,ARM紧致内存TCM的解释
  17. 使用GDI绘制像素矩阵与像素缓冲区
  18. POJ 2375 Cow Ski Area 增加最小边使图强连通
  19. JsonObject存入顺序和输出顺序不一样问题-豆果
  20. 云视听极光TV版闪退解决方案

热门文章

  1. 十分钟就能回顾Spring常问的知识点,带你突击面试没问题!
  2. GCC中的分支预测(likely和unlikey)
  3. 【408预推免复习】计算机网络(谢希仁第七版)第二章——物理层
  4. 【PAT (Advanced Level) Practice】1005 Spell It Right (20 分)
  5. 【响应式Web前端设计】HTML DOM padding 属性
  6. 【深度学习入门到精通系列】 深入浅出强化学习 Sarsa
  7. python【力扣LeetCode算法题库】66-加一
  8. 加减法叫做什么运算_期中备考:数学运算定律、法则与顺序
  9. 龙岗网络推广浅析更新频率对网站优化有哪些影响?
  10. 如何通过SEO来提升网站转化率?