数电实验报告(四)

更新时间:2024-06-01 05:37:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计数器及其应用研究

一、 实验目的:

1.熟悉计数器的工作原理,掌握中规模计数器 (MSI)逻辑功能及其应用。

2.掌握计数器的级联方法,并会用中规模计数 器(MSI)实现任意进制计数器。 二 实验仪器

1. 万用表 一块 2. 直流稳压电源 一台 3. 函数信号发生器 一台 4. 双踪示波器 一台 5. 逻辑分析仪 一台 6. 数字电路实验板 一块 三.实验内容

1.用VHDL语言描述模50计数器。要求完成电路设计,进行电路仿真,并下载后作功能测试。将计数器时钟置为1HZ方波信号,输出接译码、显示电路,在数码管上观察输出状态变化。

2.设计一个计数型序列码产生电路,产生的序列码(输出Z)为1101000101。要求用FPGA实现,并在实验箱上测试其功能,时钟设置为1KHZ,在示波器上双踪观察并记录CP,Z的波形。 四.实验结果 1.VHDL语言描述

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;

entity m50 is port (

clk : in bit; rst : in bit; en:in bit; rco:out bit;

q:out std_logic_vector(5 downto 0) ); end m50;

architecture one of m50 is

signal temp_q:std_logic_vector(5 downto 0); begin

process(clk,rst) begin

if (rst='0')then temp_q<=\ rco<='0';

elsif (clk'event and clk='1')then if(en='1')then

if(temp_q<\ temp_q<=temp_q+1; else

temp_q<=\ end if; else

temp_q<=\ end if; end if;

if(temp_q=\ rco<='1'; else rco<='0'; end if; end process; q<=temp_q; end one;

仿真波形: 功能仿真

时序仿真

2.VHDL语言描述 library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;

entity xuliema is

port (

clk : in std_logic; z: out std_logic ); end xuliema;

architecture one of xuliema is

type state_type is (s0,s1,s2,s3,s4,s5,s6,s7,s8,s9); signal current_state,next_state:state_type; begin process begin

wait until (clk'event and clk='1'); current_state<=next_state; end process;

process(current_state) begin

case current_state is

when s0=> next_state<=s1; z<='1'; when s1=> next_state<=s2; z<='1'; when s2=> next_state<=s3; z<='0'; when s3=> next_state<=s4; z<='1'; when s4=> next_state<=s5; z<='0'; when s5=> next_state<=s6; z<='0'; when s6=> next_state<=s7; z<='0'; when s7=>

next_state<=s8; z<='1'; when s8=> next_state<=s9; z<='0'; when s9=> next_state<=s0; z<='1'; end case; end process; end one; 仿真波形 功能仿真

时序仿真

本文来源:https://www.bwwdw.com/article/8nk6.html

Top