当前位置:首页 > 计数器及其应用研究 - 图文
数电实验报告
姓名:孙永光 学号:00101127 学院:通信工程学院
计数器及其应用研究(二)
一. 实验目的:
1.熟悉计数器的工作原理,掌握中规模计数器(MSI)逻辑功能及其应用。
2.掌握计数器的级联方法,并会用中规模计数器(MSI)实现任意进制计数器。 二.实验仪器:
1. 万用表 一块 2. 直流稳压电源 一台 3. 函数信号发生器 一台 4. 双踪示波器 一台 5. 逻辑分析仪 一台 6. 数字电路实验板 一块 三.实验说明:
计数器是一种使用相当广泛的功能器件,现在无论是TTL还是CMOS集成电路,都有品种齐全的MSI计数器。在这一节实验中,我们所用计数器均为TTL器件,因此,以下介绍实验中所用的几种计数器。
74LS161、74LS163—可编程4位二进制同步计数器
同步计数器是指计数器内所有触发器都在同一时钟脉冲作用下、在同一时刻翻转。其优点是计数速度快。74LS161和74LS163除了具有普通4位二进制同步计数器的功能外,还具有可编程计数器的编程功能。
可编程计数器的编程方法有两种,一种是由计数器的不同输出组合来控制计数器的模;另一种是通过改变计数器的预置输入数据来改变计数器的模。这两种编程方法也同样适用于其它可编程计数器。 74LS161具有异步清零、同步置数的功能。其中,Cr 是异步清零输入端,低电平有效;LD是同步并行置数控制端,低电平有效;P和T具有保持和禁止计数的功能,只要P和T两端中有一端为零,计数器即为保持状态,要正常计数,它们必须都为高电平。QD~QA是进位输出端,其平时为低电平,当74LS161计数计到最大值时,翻转为高电平,宽度为一个时钟周期。D~A是并行数据输入端, 是数据输出端。
图4-2 74LS161外引线排列图
四.实验内容:
1.用VHDL语言描述模50计数器。要求完成电路设计,进行电路仿真,并下载后作功能测试。将计数器时钟置为1HZ方波信号,输出接译码、显示电路,在数码管上观察输出状态变化。
2.设计一个计数型序列码产生电路,产生的序列码(输出Z)为1101000101。要求用FPGA实现,并在实验箱上测试其功能,时钟设
置为1KHZ,在示波器上双踪观察并记录CP,Z的波形。 五.程序实现及仿真:
1.用VHDL语言描述模50计数器: VHDL描述:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
entity counter50 is port ( -- Input ports CLK : in STD_LOGIC; EN : in STD_LOGIC; CR : in STD_LOGIC; Q1 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); Q2 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); OC : OUT STD_LOGIC );
end counter50;
architecture ARC_COUNTER50 of counter50 is SIGNAL COUNT1:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL COUNT2:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL COUNT:STD_LOGIC_VECTOR(7 DOWNTO 0); begin
PROCESS(CR,CLK,EN) BEGIN
IF CR='0' THEN
COUNT1<=(OTHERS=>'0'); COUNT2<=(OTHERS=>'0'); ELSIF CLK'EVENT AND CLK='1' THEN IF EN='1'THEN
IF COUNT2<4 THEN IF COUNT1<9 THEN
COUNT1<=COUNT1+1; ELSIF COUNT1=9 THEN
COUNT1<=\ COUNT2<=COUNT2+1; END IF;
ELSIF COUNT2=4 THEN
共分享92篇相关文档