模可变计数器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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