欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    数码管led显示器控制电路.ppt

    • 资源ID:5826617       资源大小:813.51KB        全文页数:36页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数码管led显示器控制电路.ppt

    专题二.经典模块设计,LED数码管显示控制 电路设计,数码管显示原理,数码管的组成:LED数码管是由发光二极管构成的,常用的有8段。,数码管的分类:有共阴和共阳极两种。多个LED的阴极连在一起的为共阴极数码管,阳极连在一起的为共阳极数码管。共阴极数码管的公共端接地,阳极(a到h)接高电平,数码管点亮。共阳极数码管的公共端接电源,阴极(a到h)接低,数码管点亮。,数码管的段码和位码,数码管的位码就是提供给公共端的电平。位码的作用是控制数码管的亮灭。数码管的段码就是提供给a,b,c,d,e,f,g,h的电平。段码的作用是控制数码管显示什么字符。单个数码管需要9个端口来控制。,举例:位码和段码,例1:显示字符“1”。(共阴极数码管)位码应该接低电平。段码按照hgfedcba的顺序,应该为“00000110”。,例2:显示字符“A”。(共阳极数码管)位码应该接高电平。段码按照hgfedcba的顺序,应该为“10001000”。,LED数码管显示控制电路,静态显示方式动态显示方式,(1)LED静态显示控制电路,静态显示方式将每一个数码管的段码端ah连接到CPLD/FPGA的IO端口上,公共端接地(对于共阴极LED)。每个数码管需要8个IO口线,N个数码管共需要N8条IO口线。当CPLD/FPGA有相当多的IO端口资源,并且显示的位数较少时(通常为12位),可以直接使用静态显示的方式。,数码管静态显示方式的优点是连线简单,软件编程简单。缺点是需要耗费大量的IO端口资源。,8N,静态显示的方式,CPLD/FPGA驱动LED静态显示译码程序,Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Use ieee.std_logic_arith.all;Entity display is-共阴极数码管段码译码 port(data:IN std_logic_vector(3 downto 0);seg:OUT std_logic_vector(6 downto 0)-gfedcba);End display;,architecture a of display isbegin process(data)begin case data is-gfedcba when 0000=seg seg seg seg seg seg seg seg seg seg seg seg seg seg seg seg seg=0000000;-全灭 end case;end process;end a;,仿真结果,将要显示的数据译成段码在数码管上显示出来。,静态显示应用举例:,设计一个4路独立键盘输入电路,读取键盘的键值,并将键值在一位静态共阴极LED数码管中显示出来。输入为时钟信号CLK(50MHz),按键状态KEY1,KEY2,KEY3,KEY4。输出为LED数码管的段码SEG6.0。,电路模块,输入信号:clk:时钟,50MHz;reset:复位信号;key1,key2,key3,key4:按键信号输入;输出信号:SEG6.0:静态LED数码管的段码信号。,分频模块,去抖动模块,键盘扫描译码模块,50MHz,键盘扫描译码模块程序(1),-输出1的段码,-输出2的段码,-输出3的段码,-输出4的段码,-数码管灯灭,键盘扫描译码模块程序(2),keyscan程序:,library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity keyscan is port(clk10hz:IN std_logic;key1,key2,key3,key4:IN std_logic;keyvalue:OUT integer range 0 to 4);end keyscan;,architecture a of keyscan isbegin process(clk10hz)-100ms begin if(clk10hzevent and clk10hz=1)then if(key1=0)then keyvalue=1;-输出键值1 elsif(key2=0)then keyvalue=2;-输出键值2 elsif(key3=0)then keyvalue=3;-输出键值3 elsif(key4=0)then keyvalue=4;-输出键值4 else keyvalue=0;-输出键值0 end if;end if;end process;end a;,display程序:,Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Use ieee.std_logic_arith.all;Entity display is port(data:IN integer range 0 to 4;seg:OUT std_logic_vector(6 downto 0)-gfedcba);End display;architecture a of display isbegin process(data)begin case data is-gfedcba when 1=seg seg seg seg seg=0000000;-全灭 end case;end process;end a;,(2)LED动态显示控制电路,在显示的数据较多时,会用到多个数码管,如果用静态显示方式会占用很多IO(8N),这时可以采用动态扫描方式来实现。动态扫描方式的硬件连接是:将每个数码管的段码引脚并联接到CPLD/FPGA的IO端口上,每个数码管的公共端是独立的,通过控制公共端来控制相应数码管的亮、灭。,N个LED数码管以动态方式显示时,需要8+N个IO口线。其中8个IO口线用作输出段码,N个IO口线输出位码。,段码共用,位码独立,动态显示方式,实现方法是依次点亮各个LED数码管,轮流向各个数码管送出段码和位码,循环进行显示。一个数码管显示之后下一个数码管马上显示,利用人眼的视觉暂留特性,得到多个数码管同时显示的效果。采用数码管的动态显示方式,数码管的扫描频率的快慢控制相当重要。扫描频率太慢,会产生数码管逐个显示的效果。扫描频率太快也不好,会造成数码管的亮度不够,因为数码管需要一定的时间才能达到一定的亮度。通常扫描频率为1KHz(即数码管显示1ms)可以达到满意的效果。,动态显示电路框图,SCAN7.0,SEG6.0,如上图所示,为LED动态显示顶层原理图。由fdiv分频模块,cnt计数模块和dispdec显示译码模块三个模块组成。输入为:sysclk:50MHz系统时钟。d0d7:8个显示数据,分别显示在8个数码管上。输出为:SEG【6.0】:7位段码输出。SCAN【7.0】:8位位码输出,每一位分别控制一个数码管的点亮。,50MHz,1KHz,CPLD/FPGA驱动LED动态显示程序,显示译码模块dispdecLibrary ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Use ieee.std_logic_arith.all;entity dispdec is port(qcnt:IN integer range 0 to 7;-计数值输入 d0,d1,d2,d3,d4,d5,d6,d7:IN std_logic_vector(3 downto 0);-显示数据 seg:OUT std_logic_vector(6 downto 0);-7位段码输出 scan:OUT std_logic_vector(7 downto 0)-8位位码输出);end dispdec;,architecture a of dispdec is signal data:std_logic_vector(3 downto 0);begin process(qcnt,d0,d1,d2,d3,d4,d5,d6,d7)begin case qcnt is-根据计数值,输出相应的位码,并设置要显示的数据 when 0=scan scan scan scan scan scan scan scan scan=11111111;data=d0;end case;end process;,process(data)-对显示数据译码 begin case data is when 0000=seg seg seg seg seg seg seg seg seg seg seg seg seg seg seg seg seg=0000000;end case;end process;end a;,仿真结果,以1KHz频率动态扫描显示,依次输出8个数码管的段码和位码。,1,2,3,4,5,6,LED动态显示分位译码电路,设计要求:采用动态显示方式,将一个两位数用两个数码管显示出来。一个数码管显示个位,另一个显示十位。,顶层原理图,如上图所示,为LED分位译码显示顶层原理图。由fdiv分频模块,cnt计数模块,fenwei分位模块和dispdec显示译码模块四个模块组成。输入为:sysclk:50MHz系统时钟。num6.0:一个要显示的两位数,099。输出为:SEG【6.0】:7位段码输出。SCAN【7.0】:8位位码输出,每一位分别控制一个数码管的点亮。,50MHz,1KHz,分位模块,LED动态显示分位译码电路程序,1.fenwei分位模块Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Use ieee.std_logic_arith.all;entity fenwei is port(num:IN integer range 0 to 99;numshi:OUT integer range 0 to 9;numge:OUT integer range 0 to 9);end fenwei;architecture a of fenwei isbegin numge=num MOD 10;numshi=num/10;end a;,2.显示译码模块dispdecLibrary ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Use ieee.std_logic_arith.all;entity dispdec is port(qcnt:IN integer range 0 to 1;-计数值输入 d0,d1:IN integer range 0 to 9;-分位得到的十位数和个位数 seg:OUT std_logic_vector(6 downto 0);-7位段码输出 scan:OUT std_logic_vector(7 downto 0)-8为位码输出);end dispdec;architecture a of dispdec is signal data:integer range 0 to 9;begin process(qcnt,d0,d1)begin case qcnt is when 0=scan scan scan=11111111;data=d0;end case;end process;,process(data)begin case data is when 0=seg seg seg seg seg seg seg seg seg seg seg=0000000;end case;end process;end a;,仿真结果,以动态显示的方式,在数码管上分位显示两位数。,1,2,5,6,

    注意事项

    本文(数码管led显示器控制电路.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开