1 / 7
文档名称:

实验2:基于EDA动态扫描显示电路设计(精选).doc

格式:doc   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验2:基于EDA动态扫描显示电路设计(精选).doc

上传人:bazhan333737 2015/9/18 文件大小:0 KB

下载得到文件列表

实验2:基于EDA动态扫描显示电路设计(精选).doc

文档介绍

文档介绍:河南机电高等专科学校




系部名称: 电子通信工程系
课程名称: 可编程逻辑器件原理与应用
实验项目: 实验1:计数器设计
班级: 医电131
学号: 130411116
姓名: 徐长伟
实验1:计数器设计
实验目的
、掌握13进制计数器的工作原理及设计方法
、掌握用两位数码管显示高低位的方法
实验要求
、掌握13进制计数器的VHDL描述方法
、掌握编码器的VHDL描述语言
实验原理
用两个数码管,一个高位(十位),一个低位(个位),显示13进制计数器的技术方式。首先,设计好计数器的程序,然后,设计相应的编码程序对其进行编码。之后两个程序生成元件符号,相互连接起来,形成一个顶层原理图文件,对其进行编译、仿真分析等。这个顶层原理图文件就是我们这次实验所需的设计。
实验步骤
1、13进制计数器的程序设计
程序1如下:
library ieee;
use ;
use ;
entity count13 is
port(en1,en2,res,clk:in std_logic;
ca:out std_logic;
a,b:out std_logic_vector(3 downto 0));
end count13;
architecture rtl of count13 is
signal aout,bout:std_logic_vector(3 downto 0);
signal cout,cl:std_logic;
begin
cl <= clk when en2 = '0' else
en1;
process(en1,en2,cl,res)
begin
if(res='0')then
aout<="0000";
bout<="0000";
cout<='0'; —复位信号为低电平,复位
elsif(cl'event and cl='1')then
if(bout=1)then
if(aout>2)then
aout<="0000";
bout<="0000";
cout<='1'; —计数器计到12时,进位输出高电位,重新开始计数
else
aout<=aout+1;
end if;
else
if(aout=9)then
aout<="0000";
bout<=bout+1; —个位计到9时,十位进位
else
aout<=aout+1;
cout<='0';
end if;
end if;
end if;
end process;
a<=aout;
b<=bout;
ca<=cout;
end rtl;
编码器的程序设计
程序2如下:
library ieee;
use ;
entity disp is
port(d:in std_logic_vector(3 downto 0);
q:out std_logic_vector(6 downto 0));
end d