模可变计数器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南昌大学实验报告

学生姓名:郑西冰学号:6100209045专业班级:电子091班

实验类型:□验证□综合□设计□创新实验日期:实验成绩:

实验二:模可变计数器

一、实验目的

1.学习一般的数字电路设计;

2.学习数码管的输出方法;

3.进一步熟悉Quartes II集成开发软件的使用以及PH-1V型实验装置的使用

二、实验要求

学习多层次设计法,设置一位控制位M,要求M=0:模24计数;M=1:模100计数;计数结果用静态数码管显示。

三、实验步骤:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY FENP IS

PORT(CLK:IN BIT;

CLK1:BUFFER BIT);

END ENTITY;

ARCHITECTURE OO OF FENP IS

BEGIN

PROCESS(CLK)

V ARIABLE TEMP1: NA TURAL;

BEGIN

IF CLK'EVENT AND CLK='1' THEN

TEMP1:=TEMP1+1;

IF TEMP1=400 THEN

TEMP1:=0;

CLK1<=NOT CLK1;

END IF;

END IF;

END PROCESS;

END;

将其转换成可调用元件:

libraryieee;

use ieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entity cnt109 is

port(clk,rst,en,M:instd_logic;

cq,cqq,cqqq: out std_logic_vector (3 downto 0)) ;

end cnt109;

architecturebehav of cnt109 is

begin

process(clk,rst,en,M)

variable cq1:std_logic_vector (11 downto 0);

variable Z:std_logic_vector (11 downto 0);

begin

case M is

when '0' => Z:="000000100100";

when '1' => Z:="000100000000";

end case;

ifrst='1' then cq1:=(others=>'0');

elsifclk'event and clk='1' then

if en='1' then

if cq1

if cq1(7 downto 0) =153 then cq1:=cq1+103;

elsif cq1(3 downto 0)=9 then cq1:=cq1+7;

else cq1:=cq1+1;

end if;

else cq1 :=( others =>'0') ;

end if;

end if;

end if;

cq<=cq1( 3 downto 0);cqq<=cq1 ( 7 downto 4 ) ;cqqq<=cq1 ( 11 downto 8); end process;

endbehav;

将其转换成可调用元件:

libraryieee;

use ieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entity scan is

port(clk: in std_logic;

num1,num2,num3:instd_logic_vector(3 downto 0); sel:outstd_logic_vector(2 downto 0);

num:outstd_logic_vector(3 downto 0));

end;

architecture behave of scan is

signal q:std_logic_vector(2 downto 0);

begin

process(clk)

begin

ifrising_edge(clk) then

if q="000" then num<=num1;sel<="000";q<=q+1;end if;

if q="001" then num<=num2;sel<="001";q<="111";end if;

if q="111" then num<=num3;sel<="010";q<=q+1;end if;

end if;

end process;

end behave;

将其转换成可调用元件:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY DECL7S IS

PORT(D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

LED7S:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END DECL7S;

ARCHITECTURE one OF DECL7S IS

BEGIN

相关文档
最新文档