下载此文档

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


文档分类:通信/电子 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
1、设计内容和要求:
(1)掌握VHDL语言的使用,学会用VHDL语言来编程解决实际问题;
(2)学会使用EDA开发软件设计小型综合电路,掌握仿真的技巧;
(3)学会应用开发系统实现硬件电路,检验电路的功能。
(4)采用动态扫描原理,在8个数码管上显示数据“12345678”。
2、设计原理:
数码扫描显示电路是数字系统设计中较常用的电路,通常作为数码显示模块。8为数码扫描显示电路如下图所示,其中每个数码段的8个段a、b、c、d、e、f、g、h(小数点)分别连在一起,8个数码管分别有8个选通信号K1、K2、K3、K4、K5、K6、K7、K8来选择。被选通的数码管显示数据,其余关闭。如在某一时刻,K2为高电平,其余选通信号为低电平,此时,仅K2对应的数码管显示来自信号段的数据,其他7个数码管呈现关闭状态。所以,如果要在8个数码管显示希望的数据,就必须使得8个选通信号K1、K2.。。。。分别单独选通。同时,在短信号输入端口假如希望在该对应数码管上显示的数据。于是随着选通信号的循环变化,就实现了扫描显示的目的。
8位数码扫描显示电路
3、程序设计:
library ieee;
use ;
use ;
entity shuma is
port(clk:std_logic;
seg:out std_logic_vector(7 downto 0); //数码管显示数
scan:out std_logic_vector(7 downto 0) //数码管位数
);
end;
architecture one of shuma is
t8:integer range 0 to 7;
signal data:integer range 0 to 15;
begin
process(clk)
begin
if clk'event and clk='1' then
cnt8 <=cnt8+1;
end if;
end process;

t8)
begin
t8 is
when 0 => scan <="00000001";data<=1;
when 1 => scan <="00000010";data<=2;
when 2 => scan <="00000100";data<=3;
when 3 => scan <="00001000";data<=4;
when 4 => scan <="00010000";data<=5;
when 5 => scan <="00100000";data<=6;
when 6 => scan <="01000000";data<=7;
when 7 => scan <="10000000";data<=8;
when others=>null;
end case;
end process;

process(data)
begin
case data is
when 0 => seg <="11111100";
when 1 => seg <="011000

数码管显示电路的设计 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人tmm958758
  • 文件大小66 KB
  • 时间2018-12-01