可编程可逆计数器

可编程可逆计数器
可编程可逆计数器

自动化专业电子课程设计报告题目:可编程可逆计数器设计

姓名王振

学号0808020231

指导教师:廖晓纬

评阅成绩等次:

电气信息工程系

2010-2011 第二学期

摘要:本课程设计是基于Altera公司开发的QuartusⅡ软件进行的设计,利用QuartusⅡ设计软件的元件库所提供的集成器件来实现任意进制计数器的设计,此软件是学习EDA(电子设计自动化)技术的重要软件。其中硬件使用高性价比的FPGA/CPLD(元件可编程逻辑闸阵列/复杂可编程逻辑器件)器件,软件利用VHDL(超高速集成电路硬件描述语言)语言,计数器电路的功能取决于硬件描述语言对设计对象建模的描述,经过精心调试使可编程器件的芯片利用效率达到最优,较之以往的数字电路设计和单片机功能设计具有灵活简便的优势,特别是在对复杂计数器设计,可大大减少调试时间,优化系统设计。

关键词:EDA;任意进制计数器;QuartusⅡ;VHDL

目录

前言 (3)

一、设计的任务与要求 (4)

1.1 设计任务 (4)

1.2 设计要求 (4)

二、总体设计和系统框图 (4)

2.1计数器方案 (4)

2.2 数码管驱动显示方案 (4)

2.3 N进制设定设计方案 (5)

2.4电路系统总体设计 (5)

三、硬件设计 (6)

3.1计数器部分设计硬件连接方式 (6)

3.2 驱动译码部分设计 (7)

3.3进制输入部分设计 (7)

3.4整体电路部分 (7)

四、软件设计(系统仿真) (9)

4.1程序工作流程图 (9)

4.2 仿真步骤及结果 (10)

五、设计结果分析 (12)

5.1 系统能实现的功能 (12)

5.2 系统所选用软件及芯片型号 (12)

六、设计总结和体会 (12)

6.1设计总结 (12)

6.2设计的收获及体会 (12)

6.3 设计的完善 (13)

致谢 (13)

参考文献 (13)

程序代码 (14)

前言

随着电子技术、计算机技术和EDA技术的不断发展,利用FPGA/CPLD 进行数字系统的开发已被广泛应用于通信、航天、医疗电子、工业控制等领域。与传统电路设计方法相比,FPGA/CPLD具有功能强大,开发周期短,投资少,便于追踪市场变化及时修改产品设计,以及开发工具智能化等特点。近年来,FPGA/CPLD发展迅速,随着集成电路制造工艺的不断进步,高性价比的FPGA/CPLD器件推陈出新,使FPGA/CPLD成为当今硬件设计的重要途径。在FPGA/CPLD的应用设计开发中,VHDL语言作为一种主流的硬件描述语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性,并在语言易读性和层次化、结构化设计方面。表现出了强大的生命力和应用潜力。

QuartusⅡ是Altera公司在21世纪初推出的FPGA/CPLD集成开发环境,是Altera公司前一代FPGA/CPLD集成开发环境Max+PlusⅡ的更新换代产品,其界面友好,使用便捷,功能强大,为设计者提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。

计数器是数字系统中使用最多的时序电路之一,不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。可变进制计数器由于计数容量可以根据需要进行变化,为其广泛使用创造了便利。本课程设计是在QuartusⅡ开发环境下,用VHDL语言实现一种具有清零、使能控制、可逆计数和可变进制功能的计数器。

一、设计的任务与要求

1.1 设计任务

设计出一个模值16以内任意进制的可编程可逆计数器。

1.2 设计要求

使可编程可逆计数器具有以下功能:

(1)具有的功能清零、使能控制、可逆计数、可变进制功能。

(2)进制输入需要显示,还要有控制端控制,计数器输出也要显示。

二、总体设计和系统框图

2.1计数器方案

计数器是本设计的最主要的部分,本设计使用了Altera公司开发的QuartusⅡ软件,硬件芯片选用ALTERA公司研发的2.5v的ACEX1K系列的EP1K10TC100-1型号,软件使用VHDL语言对设计对象建模,实现一种具有清零、使能控制、可逆计数和可变进制功能的计数器,无需人工修改属性,软件会自动设置好最佳配比给予所设计的电路。

2.2 数码管驱动显示方案

用VHDL描述语言设计一种二-十进制BCD译

码器,译码器输入din为4或5位二进制数,输出

为以4位二进制数表示的两个十进制数a,b。

如右图所示,粗线代表数据总线,din[3..0]代表4位

二进制输入端口,可为0000~1111,din[4..0]为5位二进制输入端口,可为00000~11111,不过在设计中只需要输入到10000即可,a[3..0]和b[3..0]设置为输出为0000~1001的数据输出口,BCD译码器可选用74LS48BCD-7段译码器/驱动器,BCD译码器后面接数码显示器如BS202数码显示器器件。

2.3 N进制设定设计方案

设计一个十七进制计数器来构成

0~16进制可任意设定的计数器,计数器

的输入由人工手动按cp键输入单个脉

冲累加得到,并设置一个与门可以把输

入的数据传输到计数器模块当中(在实

际中可设计为接触按键),从而使模块独立化。右图所示clk为cp脉冲手动输入端,通过人工控制cp脉冲来输入进制值,y[4..0]为进制输出,可用数码管显示输入的进制值,如果用户想要更改进制,可用clr清除控制进制为0,从新输入进制。

2.4电路系统总体设计

设计方案的框图如图1所示。

使用模值为16的芯片器件,设计一个进制输入端,供用户选择所需的进制,然后给与计数器计数脉冲,用控制端控制计数器工作,在由驱动显示模块显示进制和计数状态。

图1可编程可逆计数器总体框图

三、硬件设计

3.1计数器部分设计硬件连接方式

(1)clk 为时钟信号,由时钟信号的上升沿触发计数; (2)m 为进制输入端,当其变化时,计数容量相应发生变化;

(3)clr 为清零控制端,当其为高电平时清零; (4)en 为使能控制端,当其为高电平时正常计数,当其为低电平时暂停计数,相当于保持;

(5)updn 为计数方向控制端,当其为高电平时计数器加法计数,当其为低电平时计数器减法计数。

示模块

计数器

驱动译码

进制输入

时钟脉冲 清零 控制 可逆 控制

使能 控制

(6)q为数据输出端

(7)co进位输出端,如果计数达到进位,输出为高电平

3.2 驱动译码部分设计

(1)bcd7s为BCD译码器端口图,其中A[3..0]

为4为二进制输入,此处使用功能为0000~1001,

,led7s[6..0]为译码器输出端口,共阴极接入数码管上。

(2)V2是一种可以把二进制转换为十进制的译码器,din为4位二进制输入0~15,a,b分别为十进制的个位和十位输出,a输出为0~9,b输出为0~1。

(3)V5是功能和V2一样的译码器,不过是在输入时增加了输入量,输入为0~16,din为5为二进制输入端口最大输入可为31,在设计中把最大值设置为16,输出端口a,b分别为十进制的个位和十位输出,a输出为0~9,b输出为0~1。

3.3进制输入部分设计

设计一个十七进制计数器ct17供用户输入16以内的进制值,它可以输入0~16,输出为5位二进制端口,数据为00000~10000,具有清零,进位输出功能。后面接入V5译码器即可分别显示输入数据的个位和十位。

3.4整体电路部分

QuartusⅡ软件可实现混合编辑,先建立一个工程项目,然后建立5个VHDL文本文件,分别命名“jishuqi.vhd”“ct17.vhd”“V2.vhd”“V5.vhd”“bcd7s.vhd”,保存,然后分别输入程序代码,然后可对上述五个文件分别创建图元符号,成功后就可以使用,即可在原理图上编辑,连接好各模块即

可设计出可编程可逆计数器原理图。

图2.总体设计图

上图中黑色粗线条代表数据连接总线,黑色细线代表连接线

四、软件设计(系统仿真)

4.1程序工作流程图

N

Y

N

Y

显然开始时要全部清零,然后输入所需进制值,在数码管中显示出来,然

后用与门控制控制把进制输入到计数器中,开始计数,输入1HZ 脉冲,然后把使能控制开关打开,接下来就可以改变计数方向,观察数码管显示。

上 电

初始化

进制显示为0 计数器显示为0

接收到数据

等待用户 输入进制值

计 满

显示 进制

转入计数状态

显示计数状态

停止计数

4.2 仿真步骤及结果

该多功能可变进制计数器在QuartusⅡ开发环境下用混合编辑方法分别进行了功能仿真和时序仿真验证,仿真结果如图3,图4。

值得注意的是,这里所设计的多功能可变模计数器具有如下特点:

(1)该设计的多功能可变进制计数器具有多个功能控制端。因此各个控制端的优先权顺序就成为设计的关键,经过理论分析和仿真调试,最终确认的优先权顺序为:clr(清零) →cp(进制输入) →kz(进制控制)→clk(时钟触发)→en(使能)→updn(计数方向)。这个优先权顺序可以有效地保证各个功能的完整实现,以及技术器的稳定运行。

(2)为了防止出现计数失控,大多数计数器采用给计数器增加一个复位控制端的办法,当发现计数输出q发生了计数失控时,通过复位控制端将计数器复位来排除计数失控。这种方法虽然有效,但是每次出现计数失控都要手动控制复位,给实际使用带来了不便。该设计的多功能可变模计数器中,将当前的计数输出q与当前的计数最大值m_temp进行比较,如果q比m_temp 大,则强制将m_temp赋给q,这样就可以自动避免计数失控,不必再增加手动的复位控制端。

图3. 可编程可逆计数器功能仿真图

如图3所示,首先清零,给予cp14个脉冲,jh输出为6,对应数码管显示为1,jl输出为102,对应数码管显示为4,在一起可得出输入14个脉冲,然后使kz键为1可把进制输入到硬件jishuqi中,clk开始有1HZ脉冲开始计数,xh,xl,根据进制的输入开始从0输出到输入的进制值在减去1即为13,所以xh为输出6,对应数码管显示为1,xl输出为79,对应数码管显示为3,当updn为高电平1时,计数状态为加计数,而为低电平0时,计数器状态为减计数,在图中可以明确看出。Co为计数器的进位输出,高电平显示。图3图4的原理是一样的,只不过一个是功能仿真,一个是时序仿真。

图4.可编程可逆计数器时序仿真图

仿真图里面的数据可参照下面的表格:下表第一行为译码器输出,第二行为数码管对应显示

63 6 91 79 102 109 125 7 127 111

0 1 2 3 4 5 6 7 8 9

五、设计结果分析

5.1 系统能实现的功能

能实现模值为16的清零、使能控制、可逆计数和可变进制功能。说明了设计的正确性。

5.2 系统所选用软件及芯片型号

软件:QuartusⅡ芯片型号:ACEX1K系列的EP1K10TC100-1

六、设计总结和体会

6.1设计总结

QuartusⅡ是EDA数字电路的一种学习软件,它可使设计者能方便地进行设计输入、快速处理和器件编程。

经过课程设计的磨炼,让我知道自己知识的不足,知识是学不完的,我要学习的知识还有很多,而且EDA技术的掌握应该从模仿、理解、实践和创新开始。

6.2设计的收获及体会

通过本次设计,首先,在大量的查阅资料的过程中,要对资料进行分析比较,选择适合的资料,同时掌握了许多课本上学不到的知识。使我认识到EDA技术是现在我们学习自动化以后可能要学习的,自动化技术现在以及将来都会处于主流地位。

其次,使我学会了QuartusⅡ软件,如何选择元器件,以及如何对元器件进行连接,如何加载程序并进行仿真等等。

再次,我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研

究,学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。

6.3 设计的完善

该设计的多功能可变进制计数器可根据需要将模值的最大值由16进一步扩展,获得更高的计数进制。

致谢

在本次课程设计中,非常感谢我的指导老师廖晓纬老师的指导和点拨,以及同学们的帮助。廖晓纬老师的严谨教学态度和对待学子们的和蔼可亲一直是我们学习中的榜样,经过廖老师循循善诱的教导以及师生间对于问题的讨论,逐渐完善了我的设计思路,同时感谢同学们之间的相互鼓励和帮助,才能使我很成功完成了我的电子课程设计。

参考文献

[1]张亦华,延明编著.数字电路EDA入门—VHDL程序实例集.北京:北京邮电大学出版社,2003

[2]刘昌华编著.数字逻辑EDA设计与实践—Max+plusⅡ与QuartusⅡ双剑合璧.北京:国防工业出版社,2006

[3]顾斌,赵明忠等编著.数字电路EDA设计.西安:西安电子科技大学出版社,2004

[4]李宜达编著.数字逻辑电路设计与实现.北京:科学出版社,2004

[5]周润景,苏良碧编著.基于QuartusⅡ的数字系统Verilog HDL设计实例详解.北京:电子工业出版社,2010

[6]陈小毛,胡机秀,卜波涛编著.新编数字电路与EDA技术实验实训指导.北京:国防工业出版社,2008

程序代码

(1)多能能计数器jishuqi代码

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

use ieee.std_logic_arith.all;

entity ct16 is

port (clk ,clr,en,updn:in std_logic;

m:in integer range 0 to 16;

co: out std_logic;

q : buffer integer range 0 to 15);

end ct16;

architecture one of ct16 is

------ 定义计数最大值m_temp

signal m_temp:integer range 0 to 15;

begin

process(clk,clr,m)

begin

m_temp<=m-1;

-----------清零功能

if clr='1' then q<=0;co<='0';

---------以时钟信号的上升沿为触发条件

elsif clk'event and clk='1' then

-----防止计数失控

elsif q>m_temp then q<=m_temp;

elsif en='1' then ----计数使能控制

if updn='1' then

if q=m_temp then q<=0;co<='1'; -----加法计数

else q<=q+1;co<='0';

end if;

elsif updn='0' then -----减法计数

if q=0 then q<=m_temp;co<='1';

else q<=q-1;co<='0';

end if;

end if;

end if;

end if;

end process ;

end architecture one;

(2)ct16计数器代码

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity ct16 is

port (clk :in bit;

oc:out bit;

clr:in bit;

y : out integer range 0 to 15); end ;

architecture a of ct16 is

signal q:integer range 0 to 15; begin

p1: process (clk)

begin

if clr='0' then

q<=0;

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

q<=q+1;

end if;

if q=15 then

oc<='0';

else

oc<='1';

end if;

y<=q;

end process ;

end ;

(3)BCD7S译码器代码

library ieee;

use ieee.std_logic_1164.all;

entity bcd7s is

port (A:in std_logic_vector(3 downto 0);

led7s : out std_logic_vector(6 downto 0)); end bcd7s;

architecture one of bcd7s is

begin

process(A)

begin

case A is ------共阴极接法

when "0000"=>led7s<="0111111"; ------0

when "0001"=>led7s<="0000110"; ------1 when "0010"=>led7s<="1011011"; ------2 when "0011"=>led7s<="1001111"; ------3 when "0100"=>led7s<="1100110"; ------4 when "0101"=>led7s<="1101101"; ------5 when "0110"=>led7s<="1111101"; ------6 when "0111"=>led7s<="0000111"; ------7 when "1000"=>led7s<="1111111"; ------8 when "1001"=>led7s<="1101111"; ------9

when others=>null; ----null

end case;

end process;

end one;

(4)V2译码器代码

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_signed.all;

entity v2_bcdymq is

port (din :in integer range 15 downto 0;

a,b:out integer range 9 downto 0); end ;

architecture fpq1 of v2_bcdymq is begin

p1: process (din)

begin

if din<10 then

a<=din;

b<=0;

else

a<=din-10;

b<=1;

end if;

end process p1;

end ;

(5)V5译码器代码

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_signed.all;

entity v5 is

port (din :in integer range 16 downto 0;

a,b:out integer range 9 downto 0); end ;

architecture fpq1 of v5 is

begin

p1: process(din)

begin

if din<10 then

a<=din;

b<=0;

else

a<=din-10;

b<=1;

end if;

end process p1;

end ;

计数器的设计实验报告

计数器的设计实验报告 篇一:计数器实验报告 实验4 计数器及其应用 一、实验目的 1、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法二、实验原理 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是

CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 1、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图5-9-1所示。 图5- 9-1 CC40192引脚排列及逻辑符号 图中LD—置数端CPU—加计数端CPD —减计数端CO—非同步进位输出端BO—非同步借位输出端 D0、D1、D2、D3 —计数器输入端 Q0、Q1、Q2、Q3 —数据输出端CR—清除端 CC40192的功能如表5-9-1,说明如下:表5-9-1 当清除端CR为高电平“1”时,计数

器直接清零;CR置低电平则执行其它功能。当CR为低电平,置数端LD也为低电平时,数据直接从置数端D0、D1、D2、D3 置入计数器。 当CR为低电平,LD为高电平时,执行计数功能。执行加计数时,减计数端CPD 接高电平,计数脉冲由CPU 输入;在计数脉冲上升沿进行8421 码十进制加法计数。执行减计数时,加计数端CPU接高电平,计数脉冲由减计数端CPD 输入,表5-9-2为8421 码十进制加、减计数器的状态转换表。加法计数表5-9- 减计数 2、计数器的级联使用 一个十进制计数器只能表示0~9十个数,为了扩大计数器范围,常用多个十进制计数器级联使用。 同步计数器往往设有进位(或借位)输出端,故可选用其进位(或借位)输出信号驱动下一级计数器。 图5-9-2是由CC40192利用进位

余三码设计可逆计数器

电子综合设计第二次设计作业(VHDL语言部分) (一)以余3码设计一模43的可逆计数器,并将结果以十进制输出。(设工作频率为20MHz)。 1、程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY f IS PORT(clk,clr,updn:STD_LOGIC; bcdn:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END ENTITY f; ARCHITECTURE rtl OF f IS SIGNAL count_7:STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL bcd1n:STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN bcd1n<=count_7; B:PROCESS(count_7,clr,clk)IS BEGIN IF(clr='1')THEN count_7<=(OTHERS=>'0'); ELSIF(clk'EVENT AND clk='1')THEN IF(updn='1'AND count_7=126)THEN count_7<="0000000"; else count_7<=count_7+3; END IF; IF(updn='0')THEN count_7<=count_7-3; END IF; END IF; CASE bcd1n IS WHEN"0000000"=>bcdn<="0000000"; WHEN"0000011"=>bcdn<="0000001"; WHEN"0000110"=>bcdn<="0000010"; WHEN"0001001"=>bcdn<="0000011"; WHEN"0001100"=>bcdn<="0000100"; WHEN"0001111"=>bcdn<="0000101"; WHEN"0010010"=>bcdn<="0000110"; WHEN"0010101"=>bcdn<="0000111"; WHEN"0011000"=>bcdn<="0001000"; WHEN"0011011"=>bcdn<="0001001"; WHEN"0011110"=>bcdn<="0001010";

余三码计数器

--底层设计实体计数器163 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity v74hc163 is port( clk,clr_l,ld_l,ctp,ctt : in std_logic; d: in unsigned (3 downto 0); --置数输入 q : out unsigned (3 downto 0); --计数输出 rco : buffer std_logic); --进位输出end v74hc163 ; architecture behave of v74hc163 is signal iq : unsigned (3 downto 0); begin process(clk, ctt, iq) begin if clk'event and clk='1' then if clr_l = '0' then iq <= (others =>'0'); --同步清0 elsif ld_l ='0' then iq<=d; --同步置数 elsif rco ='1' then iq <= d; --计数满重新计数 elsif (ctt and ctp) ='1' then iq<= iq+1 ; --计数end if; end if; if (iq=15) and (ctt='1') then rco<='1'; --计到15进位else rco<='0'; end if; q<=iq; end process; end behave ; --底层设计实体与非门 library ieee; use ieee.std_logic_1164.all; entity nand_gate is port ( a,b:in std_logic; nand_result:out std_logic); end nand_gate; architecture behave of nand_gate is begin nand_result<=not(a and b); end behave; --底层设计实体非门 library ieee; use ieee.std_logic_1164.all;

可编程可逆计数器

自动化专业电子课程设计报告题目:可编程可逆计数器设计 姓名王振 学号0808020231 指导教师:廖晓纬 评阅成绩等次: 电气信息工程系 2010-2011 第二学期

摘要:本课程设计是基于Altera公司开发的QuartusⅡ软件进行的设计,利用QuartusⅡ设计软件的元件库所提供的集成器件来实现任意进制计数器的设计,此软件是学习EDA(电子设计自动化)技术的重要软件。其中硬件使用高性价比的FPGA/CPLD(元件可编程逻辑闸阵列/复杂可编程逻辑器件)器件,软件利用VHDL(超高速集成电路硬件描述语言)语言,计数器电路的功能取决于硬件描述语言对设计对象建模的描述,经过精心调试使可编程器件的芯片利用效率达到最优,较之以往的数字电路设计和单片机功能设计具有灵活简便的优势,特别是在对复杂计数器设计,可大大减少调试时间,优化系统设计。 关键词:EDA;任意进制计数器;QuartusⅡ;VHDL

目录 前言 (3) 一、设计的任务与要求 (4) 1.1 设计任务 (4) 1.2 设计要求 (4) 二、总体设计和系统框图 (4) 2.1计数器方案 (4) 2.2 数码管驱动显示方案 (4) 2.3 N进制设定设计方案 (5) 2.4电路系统总体设计 (5) 三、硬件设计 (6) 3.1计数器部分设计硬件连接方式 (6) 3.2 驱动译码部分设计 (7) 3.3进制输入部分设计 (7) 3.4整体电路部分 (7) 四、软件设计(系统仿真) (9) 4.1程序工作流程图 (9) 4.2 仿真步骤及结果 (10) 五、设计结果分析 (12) 5.1 系统能实现的功能 (12) 5.2 系统所选用软件及芯片型号 (12) 六、设计总结和体会 (12) 6.1设计总结 (12) 6.2设计的收获及体会 (12) 6.3 设计的完善 (13) 致谢 (13) 参考文献 (13) 程序代码 (14)

实验四、 计数器的设计 电子版实验报告

实验四:计数器的设计 实验室:信息楼247 实验台号: 4 日期: 专业班级:机械1205 姓名:陈朝浪学号: 20122947 一、实验目的 1. 通过实验了解二进制加法计数器的工作原理。 2. 掌握任意进制计数器的设计方法。 二、实验内容 (一)用D触发器设计4位异步二进制加法计数器 由D触发器组成计数器。触发器具有0和1两种状态,因此用一个触发器 就可以表示1位二进制数。如果把n个触发器串起来,就可以表示N位二进制 数。(用两个74LS74设计实现) (二)利用74LS161设计实现任意进制的计数器 设计要求:学生以实验台号的个位数作为所设计的任意进制计数器。 先熟悉用1位74LS161设计十进制计数器的方法。 ①利用置位端实现十进制计数器。 ②利用复位端实现十进制计数器。 提示:设计任意计数器可利用芯片74LS161和与非门设计,74LS00为2输 入与非门,74LS30为8输入与非门。 74LS161为4位二进制加法计数器,其引脚图及功能表如下。

三、实验原理图 1.由4个D触发器改成的4位异步二进制加法计数器 2.由74LS161构成的十进制计数器

四、实验结果及数据处理 1.4位异步二进制加法计数器实验数据记录表 2. 画出你所设计的任意进制计数器的线路图,并说明设计思路。

设计思路:四进制为四个输出Q3Q2Q1Q0=0000,0001,0010,0011循环,第一个无效状态为0100 1,置位法设计四进制计数器:当检测到输入为0011时,先输出显示3,然后再将D 置于低电位,计数器输出Q3Q2Q1Q0复位。 2,复位法设计四进制计数器:当检测到第一个无效状态0100时,通过与非门的反馈计数器的Cr首先置于低电平使计数器复位为0000。 五、思考题 1. 由D触发器和JK触发器组成的计数器的区别? 答:D触发器是cp上升沿触发,JK触发器是下降沿触发。 2. 74LS161是同步还是异步,加法还是减法计数器? 答:同步。加法计数器。 3. 设计十进制计数器时将如何去掉后6个计数状态的? 答:加一个与非门形成负反馈。当计数到第一个无效状态Q3Q2Q1Q0==1010时,Q3和Q1全为1,Q1,Q3接与非门,输出作为复位信号,使所有触发器复位,从而去掉了后6个状态。

红外可逆计数器设计

《光电子技术》课程设计课题名称:红外可逆计数器设计 指导老师:曾维友

一、课题名称: 红外可逆计数器设计 二、设计任务: 设计一个红外可逆计数器,要求: 1、当一物体沿某一方向经过计数器时,计数器进行加一计数;而物体沿反方向经过计数器时,计数器进行减计数; 2、用数码管显示当前的计数值,最大计数值为1000; 3、设计方案经济、实用、可靠。 三、设计方案: 方案(1):红外发射管 + 一体化按收头:适用于发射管与接收管距离较大的情形 方案(2):槽型光电开关:适用于发射管与接收管距离较小的情形 方 波发生器 TSOP34838 38KHz 单片机系统 显示模块 单 片机系统 显示模块 Vcc

四、方案选择 由以上两种方案的设计框图可以看出:两种方案的唯一不同之处在于光电发射和接收装置,方案一釆用的是红外发射管加上一体化接收头,适用于发射管与接收管距离较大的情形,而且为了防止误动作,在光电发射部分加入了方波调制电路,因而具有较好的抗干扰能力;而方案二的电路比较简单,只用了一个槽型光电开关,外加两个限流电阻和一个反相器,这种电路适用于发射管与接收管距离较小的情形。考虑到越来越多的流水线上的产品和各种公共场所需要进行自动计数,而在这种情形下发射管与接收管距离一般都比较较大,加之方案一有较强的抗干扰能力。综合以上考虑,我们选择了方案一。 五、模块设计 1、方波发生电路 方波发生器的组成方式很多,可以用集成运放构成,可以用一些定时芯片构成,也可以用一些数字门电路构成。由于在数电课程中,我们已经学习了用555定时器构成的方波发生器,对此比较熟悉,电路也比较简单,而且性能良好,因此我们选择了用NE555构成的方波发生器。电路如下:

实验五计数器的设计实验报告

实验五计数器的设计——实验报告 邱兆丰 15331260 一、实验目的和要求 1.熟悉JK触发器的逻辑功能。 2.掌握用JK触发器设计同步计数器。 二、实验仪器及器件 1、实验箱、万用表、示波器、 2、74LS73,74LS00,74LS08,74LS20 三、实验原理 1.计数器的工作原理 递增计数器----每来一个CP,触发器的组成状态按二进制代码规律增加。递减计数器-----按二进制代码规律减少。 双向计数器-----可增可减,由控制端来决定。 2.集成J-K触发器74LS73 ⑴符号: 图1 J-K触发器符号

⑵功能: 表1 J-K触发器功能表 ⑶状态转换图: 图2 J-K触发器状态转换图

⑷特性方程: ⑸注意事项: ①在J-K触发器中,凡是要求接“1”的,一定要接高电平(例如5V),否则会出现错误的翻转。 ①触发器的两个输出负载不能过分悬殊,否则会出现误翻。 ② J-K触发器的清零输入端在工作时一定要接高电平或连接到实验箱的清零端子。3.时序电路的设计步骤 内容见实验预习。 四、实验内容 1.用JK触发器设计一个16进制异步计数器,用逻辑分析仪观察CP和各输出波形。2.用JK触发器设计一个16进制同步计数器,用逻辑分析仪观察CP和各输出波形。3.设计一个仿74LS194 4.用J-K触发器和门电路设计一个特殊的12进制计数器,其十进制的状态转换图为:5.考虑增加一个控制变量D,当D=0时,计数器按自定义内容运行,当D=1时,反方向运行 五、实验设计及数据与处理 实验一

16进制异步计数器 设计原理:除最低级外,每一级触发器用上一级触发器的输出作时钟输入,JK都接HIGH,使得低一级的触发器从1变0时高一级触发器恰好接收下降沿信号实现输出翻转。实验二 16进制同步计数器 设计原理:除最低级外,每一级的JK输入都为所有低级的输出的“与”运算结果实验三 仿74LS194 设计原理:前两个开关作选择端输入,下面四个开关模仿预置数输入,再下面两个开关模仿左移、右移的输入,最后一个开关模仿清零输入。四个触发器用同一时钟输入作CLK输入。用2个非门与三个与门做成了一个简单译码器。对于每一个触发器,JK输入总为一对相反值,即总是让输入值作为输出值输入。对于每一个输入,当模式“重置”输出为1时,其与预置值结果即触发器输入;当模式“右移”、“左移”输出为1时,其值为上一位或下一位对应值;当各模式输出均为0时各触发器输入为0,使输出为0。 实验四 设计原理: 在12进制同步计数器中,输出的状态只由前一周期的状态决定,而与外来输入无关,因此目标电路为Moore型。而数字电路只有0和1两种状态,因此目标电路要表达12种状态需

实验九-可逆计数器的功能测试及应用电路

实验九可逆计数器的功能测试及应用电路 实验目的: (1)掌握可逆计数器74LS191、74LS191、74LS192、74LS193的逻辑功能及使用方法。 (2)熟悉可逆计数器实现任意进制的数码倒计时电路的工作原理。 实验仪器与器件: 实验箱一个;双踪示波器一台;稳压电源一台;函数发生器一台。 74LS191、74LS191、74LS191或74HC48、74LS00和74LS04。 实验内容: 1测试74LS190和74LS191的逻辑功能,并用数码管显示,验证是否与表2-9-4一致,分别画出各单元的电路图,写出各自的状态 实验原理:单时钟74LS191二进制同步加/减计数器的功能表如下: 表2-9-4 单时钟74LS191二进制同步加/减计数器的功能表 单时钟74LS191二进制同步加/减计数器是十进制的,其他功能与74LS191一样。它的有效状态为0000~1001. 实验电路: 如图所示是减计数时当计数器的状态变为0时的电路状态:RCO=0,MAX/=1; MIN

实验现象与结果: 该结果是当CTEN =0,D L =1,D U /=1时,A B C D Q Q Q Q 的 波形图; 该结果是当CTEN =0,D L =1,D U /=1时, RCO 与MIN MAX /的波形图

需要说明的是:当CTEN= D L=1时,电路保持原来的状态。 2测试74LS192和74LS193的逻辑功能,并用数码管显示,验证是否与表2-9-3及2-9-5一致。画出测试电路图。 实验原理: 双时钟74LS192同步十进制可逆计数器的功能表如下表所示,74LS192是十进制计数器。 表2-9-3双时钟74LS192同步十进制可逆计数器的功能表 输入输出工作 状态 U CP UP D CP DOW N CLR D L DCBA A B C D Q Q Q Q U TC D TC **H H ****0000 H H 异步 清零**L L 1001 1001 H H 异步 置数 H ↑L H ****1001→ 0001→ 0000H H H L 减法 计数 ↑H L H ****0000→ 1000→ 1001H L H H 加法 计数 双时钟74LS193二进制同步加/减法计数器的功能表如下表所示,74LS193是一个十六进制的计数器。

实验五 计数器的设计

实验五计数器的设计 姓名:zht 学号: 班级:15自动化 日期:2016/11/11

目录 一、实验内容 (3) 二、设计过程、逻辑图及仿真 (4) ①设计过程 (4) ②逻辑图及仿真 (5) 三、实验数据及总结 (8) ①实验数据 (8) ②总结 (10)

一、实验内容 1.用JK触发器设计一个16进制异步计数器,用逻辑分析仪观察CP 和各输出的波形。 2.用JK触发器设计一个16进制同步计数器,用逻辑分析仪观察CP 和各输出的波形。 3.用JK触发器和门电路设计一个特殊的12进制同步计数器,其十进制的状态转换为从01依次计数到12,再回到01开始新一轮计数。实验仪器: 1.实验箱,示波器。 2.器件:74LS73,74LS00,74LS08,74LS20

二、设计过程、逻辑图及仿真 ①设计过程: 1.异步计数器是将CLK应用于第一个JK触发器的时钟输入上,然后将输出Q接入后一个JK触发器的时钟输入,后面的连接方式都是由前一个JK触发器的输出Q作为后一个JK触发器的时钟输入。异步计数器的原理是由于实验箱上的JK触发器是下降沿触发,第一个JK触发器的输出Q1每一个时钟周期变化一次,即经过两个时钟周期后Q1经过了一个周期。同理,由于第一个JK触发器的输出Q1是第二个的时钟输入,所以经过两个Q1周期后第二个JK触发器的输出Q2经过了一个周期,即每四个时钟周期的时间Q2经过一个周期。以此类推,则第三个JK触发器的输出Q3的周期是时钟周期的八倍,第四个JK 触发器的输出Q4是时钟周期的十六倍,因而Q4、Q3、Q2、Q1组成了一个16进制计数器。该计数器的缺点是由于传输延迟会在其中积累,会限制计数器按时钟运行的速度。 2.同步计数器将CLK应用于每个JK触发器的时钟输入上。第一个JK 触发器的输出Q连接到第二个JK触发器的J和K。此后前一个JK触发器的输出和后一个JK触发器的输出经过与门后共同作为再后一个JK触发器的J和K输入。如此一来,第二个JK触发器的J、K输入由第一个JK触发器的输出Q1控制,时钟每变化两个周期Q1会变化一个周期,而只有当Q1为0时第二个触发器在经过时钟下降沿时才会使输出Q2的状态发生改变,即Q2的周期为Q1的两倍,时钟周期的四倍。接着由于Q1和Q2经过与门后作为第三个触发器的J、K输

十进制可逆加减计数器

时序电路逻辑设计 实验人:周铮班级:中法1202班学号:U201215676 一实验目的 1.掌握用SSI实现简单组合逻辑电路的方法。 2.掌握简单数字电路的安装与测试技术。 3.熟悉使用Verilog HDL描述组合逻辑电路的方法,以及EDA仿真技术。 二实验器件 计算机,可编程实验板 三实验内容 十进制加减可逆计数器设计 功能要求: 拨码开关键SW1为自动可逆加减功能键,当SW1为HIGH时,计数器实现自动可逆模十加减计数功能,即4个七段数码管上几乎同步显示0—1—2—3—4—...9—8—7—...0—1...的模十自动可逆加减计数结果;当SW1为LOW时,计数器按拨码开关键SW0的选择分别执行加减计数功能。即当SW0为HIGH时,计数器实现模十加计数功能,即4个七段数码管上几乎同步显示0—1—2—3—4—...9——0—1...的模十加计数结果;当SW0为LOW时,计数器实现模十减计数功能,即4个七段数码管上几乎同步显示9—8—7—...—1—0— (9) —8—7…的模十减计数结果。 四实验设计 1.原理设计 脉冲发生电路采用555定时器组成的多谐振荡器振荡产生周期为1s的矩形脉冲,从而为计数器提供触发信号。其中,可以通过R1,R2,C来控制充放电的时间。 加/减计数控制电路主要由74LS138构成。74LS138芯片是常用的3-8线译码器,常用在单片机和数字电路的译码电路中,74LS138的引脚排列及 真值表如图

计数单元电路主要由十进制计数器74LS192构成。74LS192是同步十进制可逆计数器,它具有双时钟输入,并具有清除和置数等功能,其引脚排列图如图 功能表如图 2.模拟仿真 用Verilog HDL语言设计二通道数据选择器实验程序如下: ①实验代码 module a( input clk,

数字电路实验 计数器的设计

数字电路与逻辑设计实验报告实验七计数器的设计 姓名:黄文轩 学号:17310031 班级:光电一班

一、实验目的 熟悉J-K触发器的逻辑功能,掌握J-K触发器构成异步计数器和同步计数器。 二、实验器件 1.数字电路实验箱、数字万用表、示波器。 2.虚拟器件: 74LS73,74LS00, 74LS08, 74LS20 三、实验预习 1. 复习时序逻辑电路设计方法 ①根据设计要求获得真值表 ②画出卡诺图或使用其他方式确定状态转换的规律 ③求出各触发器的驱动方程 ④根据已有方程画出电路图。 2. 按实验内容设计逻辑电路画出逻辑图 Ⅰ、16进制异步计数器的设计 异步计数器的设计思路是将上一级触发器的Q输出作为下一级触发器的时钟信号,置所有触发器的J-K为1,这样每次到达时钟下降沿都发生一次计数,每次前一级 触发器从1变化到0都使得后一级触发器反转,即引发进位操作。 画出由J-K触发器组成的异步计数器电路如下图所示:

使用Multisim仿真验证电路正确性,仿真图中波形从上到下依次是从低位到高位 触发器的输出,以及时钟信号。: 可以看出电路正常执行16进制计数器的功能。 Ⅱ、16进制同步计数器的设计 较异步计数器而言,同步计数器要求电路的每一位信号的变化都发生在相同的时间点。

因此同步计数器各触发器的时钟脉冲必须是同一个时钟信号,这样进位信息就要放置在J-K 输入端,我们可以把J-K端口接在一起,当时钟下降沿到来时,如果满足进位条件(前几位触发器输出都为1)则使JK为1,发生反转实现进位。 画出由J-K触发器和门电路组成的同步计数器电路如下图所示 使用Multisim仿真验证电路正确性,仿真图中波形从上到下依次是从低位到高位触发器的输出,计数器进位输出,以及时钟信号。:

学习情境3数字钟电路设计与调试习题答案

思考与练习题3 1.基础知识部分 选择题 1.一个触发器可记录一位二进制代码,它有(C)个稳态。 .1 C Q=Q,应使输入D=(C )。 2.对于D触发器,欲使n+1n .1 C D.Q 3.对于JK触发器,若J=K,则可完成(C )触发器的逻辑功能。 ˊ Q=Q工作,可使JK触发器的输入端( A )。 4.欲使JK触发器按n+1n =K=0 =Q,K=Q =Q,K=Q =Q,K=0 =0,K=Q Q=Q工作,可使JK触发器的输入端(A )。 5.欲使JK触发器按n+1n =K=1 =Q,K=Q =Q,K=Q =Q,K=1 =1,K=Q 6.同步计数器和异步计数器比较,同步计数器的显著优点是(A )。 A.工作速度高 B.触发器利用率高 C.电路简单 D.不受时钟CP控制 7.下列逻辑电路中为时序逻辑电路的是( C )。 A.变量译码器 B.加法器 C.数码寄存器 D.数据选择器 8. N个触发器可以构成最大计数长度(十进制数)为(D )的计数器。 C. 2n D. n2 9.同步时序电路和异步时序电路比较,其差异在于后者( B )。 A.没有触发器 B.没有统一的时钟脉冲控制 C.没有稳定状态 D.输出只与内部状态有关 10.一位8421BCD码计数器至少需要( B )个触发器。 .4 C 11.具有记忆和存储功能的电路属于时序逻辑电路,故 A 、B 、 D 电路是时序逻辑电路。 a. 触发器; b. 寄存器; c. 多位加法器; d. 计数器; e. 译码器; f. 数据选择器12.脉冲整形电路有 C 。 A.多谐振荡器 B.单稳态触发器 C.施密特触发器定时器

同步计数器的设计实验报告文档

2020 同步计数器的设计实验报告文档 Contract Template

同步计数器的设计实验报告文档 前言语料:温馨提醒,报告一般是指适用于下级向上级机关汇报工作,反映情况,答复上级机关的询问。按性质的不同,报告可划分为:综合报告和专题报告;按行文的直接目的不同,可将报告划分为:呈报性报告和呈转性报告。体会指的是接触一件事、一篇文章、或者其他什么东西之后,对你接触的事物产生的一些内心的想法和自己的理解 本文内容如下:【下载该文档后使用Word打开】 同步计数器的设计实验报告 篇一:实验六同步计数器的设计实验报告 实验六同步计数器的设计 学号: 姓名: 一、实验目的和要求 1.熟悉JK触发器的逻辑功能。 2.掌握用JK触发器设计同步计数器。 二、实验仪器及器件 三、实验预习 1、复习时序逻辑电路设计方法。 ⑴逻辑抽象,得出电路的状态转换图或状态转换表 ①分析给定的逻辑问题,确定输入变量、输出变量以及电路的状态数。通常都是取原因(或条件)作为输入逻辑变量,取结

果作输出逻辑变量。 ②定义输入、输出逻辑状态和每个电路状态的含意,并将电路状态顺序编号。 ③按照题意列出电路的状态转换表或画出电路的状态转换图。通过以上步骤将给定的逻辑问题抽象成时序逻辑函数。 ⑵状态化简 ①等价状态:在相同的输入下有相同的输出,并且转换到同一次态的两个状态。 ②合并等价状态,使电路的状态数最少。 ⑶状态分配 ①确定触发器的数目n。因为n个触发器共有2n种状态组合,所以为获得时序电路所需的M个状态,必须取2n1<M2n ②给每个电路状态规定对应的触发器状态组合。 ⑷选定触发器类型,求出电路的状态方程、驱动方程和输出方程 ①根据器件的供应情况与系统中触发器种类尽量少的原则谨慎选择使用的触发器类型。 ②根据状态转换图(或状态转换表)和选定的状态编码、触发器的类型,即可写出电路的状态方程、驱动方程和输出方程。 ⑸根据得到的方程式画出逻辑图 ⑹检查设计的电路能否自启动 ①电路开始工作时通过预置数将电路设置成有效状态的一种。 ②通过修改逻辑设计加以解决。

robei计数器设计

计数器 1.实验目的 计数器在数字逻辑设计中的应用十分广泛,可以对时钟信号进行计数,分频和产生序列信号,也可以用在计时器和串并转换等电路。这次实验我们就来学习一下如何用Robei和Verilog语言来设计一个4比特计数器。 2.实验要求 计数器对每个时钟脉冲进行计数,并将数值输出出来。这个实验我们来设计一个4比特的计数器,其范围在0~F之间,也就是计数到最大值16。设计波形要求如图2-2-1所示: 图2-2-1 计数器输出波形要求 3.实验内容 3.1 模型设计 1)新建一个模型。点击工具栏上的图标,或者点击菜单“File”然后在下拉菜单中选择“New”,会有一个对话框弹出来(如图2-2-2所示)。在弹出的对话框中设置你所设计的模型。

图2-2-2 新建一个项目 参数填写完成后点击“OK”按钮,Robei(服务号)就会生成一个新的模块,名字就是counter,如图2-2-3所示: 图2-2-3 计数器界面图 2)修改模型。(公众号:Robei)在自动生成的界面图上进行名称地修改,输入引脚为clock,enable和reset,输出引脚修改成count。其中count引脚的“Datasize”为4比特,用户可以输入4,也可以输入3:0。为了区分每个引脚,我们可以修改每个引脚的Color值,并点回车保存。修改完成后如图2-2-4所示。如果选中模块,按“F1”键,就会自动生成一个Datasheet,如图2-2-5所示:

图2-2-4 修改引脚属性 图2-2-5 “Datasheet”截图 3)输入算法。点击模型下方的Code(如图2-2-6所示)进入代码设计区。

停车场计数器的设计..

电子课程设计 ——停车场计数器 学院:太原科技大学华科学院 专业:电气工程及其自动化 班级:电气122202H班 姓名:白健 学号:201222050201 指导老师:黄庆彩 2014年12月

目录 一、设计任务与要求 (1) 二、总体框图 (2) 三、选择器件 (3) 四、功能模块 (14) 五、总电路图 (19) 心得 (20) 参考文献 (20)

停车场计数器 一、设计任务与要求 1.1 设计目的: (1)掌握可任意预置的定时显示报警系统的构成、原理与设计方法; (2)熟悉集成电路的使用方法。 1.2 基本要求: (1)能够预置初始车位数,能够显示空余车位,从0-999; (2)在出口处里、外分别安装两个传感器(比如红外传感器)A、B,每当有车辆进入时将顺序经过A、B,每当有车辆出去时将顺序经过B、A,设计电路能够区分此车辆进入还是出去。 (3)进入车辆,空余车位数减1;车辆离去,空余车位数加1。 二、总体框图

设计思路 我设计的停车场电子车位计数器电路主要有四大部分,即车位空位数计数部分、译码部分、显示部分和提示灯提示部分。进出的每辆车都会触发门口的红外遥感,给计数器一个脉冲信号,使计数器进行加减计数,由显示部分将所剩余的车位数显示出来,提示灯部分提示是否有空余的车位。 (一)计数部分:用三个可逆计数器74LS192联级组成100进制可逆计数电路,预置最大值999; (二)译码部分:用七段式译码器74LS48将8421BCD码转化为共阴极七段数码管需要的逻辑状态二进制代码; (三)显示部分:采用共阴极七段式显示器,将二进制码以十进制的形式显示出来; (四)提示灯部分:由555定时器组成的单稳态触发器驱动灯泡发光,提示空车位数为0。 三、选择器件

实验九 可逆计数器的功能测试及应用电路

实验九 可逆计数器的功能测试及应用电路 实验目的: (1)掌握可逆计数器74LS191、74LS191、74LS192、74LS193的逻辑功能及使用方法。 (2)熟悉可逆计数器实现任意进制的数码倒计时电路的工作原理。 实验仪器与器件: 实验箱一个;双踪示波器一台;稳压电源一台;函数发生器一台。 74LS191、74LS191、74LS191或74HC48、74LS00和74LS04。 实验内容: 1测试74LS190和74LS191的逻辑功能,并用数码管显示,验证是否与表2-9-4一致,分别画出各单元的电路图,写出各自的状态 实验原理:单时钟74LS191二进制同步加/减计数器的功能表如下: 表2-9-4 单时钟74LS191二进制同步加/减计数器的功能表 单时钟74LS191二进制同步加/减计数器是十进制的,其他功能与74LS191一样。它的有效状态为0000~1001. 实验电路: 如图所示是减计数时当计数器的状态变为0时的电路状态:RCO =0, MIN MAX /=1; CLK D U / CTEN D L DCBA A B C D Q Q Q Q RCO MIN MAX / 工作作状态 ↑ ↓ * H H **** 0000 H L H H 保持 * * * L DCBA DCBA H L 异步置数 ↑ H L H **** 1111 1111→ 0001→0000 H H L(瞬态) H(瞬态) L H 减计数 ↑ L L H **** 0000→1110→ 1111 H H →L (瞬态) L H 加计数

实验现象与结果: 该结果是当CTEN =0,D L =1,D U /=1时,A B C D Q Q Q Q 的 波形图; 该结果是当CTEN =0,D L =1,D U /=1时, RCO 与MIN MAX /的波形图

实验六 同步计数器的设计

实验六同步计数器的设计 一、实验目的和要求 1.熟悉JK触发器的逻辑功能。 2.掌握用JK触发器设计同步计数器。 二、实验仪器及器件 仪器及器件名称型号数量数字电路实验箱DS99-1A 1 数字万用表DY2106 1 双踪示波器CS-4135 1 器件74LS73X2 2 74LS32X2 1 74LS08X2 2 四、实验原理 1.计数器的工作原理 递增计数器----每来一个CP,触发器的组成状态按二进制代码规律增加。 递减计数器-----按二进制代码规律减少。 双向计数器-----可增可减,由控制端来决定。 五、实验内容 1.用J-K触发器和门电路设计一个特殊的12进制计数器,其十进制的状态转换图为: 图4 12进制计数器状态转换图 2.考虑增加一个控制变量D,当D=0时,计数器按内容一方式(顺时针)运行,当D=1时,无论计数器当前处于什么状态,计数器按内容一的反方向(逆时针)运行。本题为附加内容,因接线复杂可用模拟软件测试结果。 六、实验报告 1.写出详细的设计过程。 (1)根据实验要求可以的该特殊十二进制计数器状态转换图。

(2)确定电路所需触发器数目:有效状态为m=12,求所需触发器数目n 。 由2n ≥m=12,可得n=4。 (3)画出次态卡诺图 (4)求出每个触发器的状态方程 (5)求各触发器的驱动方程 根据n n n Q K Q J Q +=+1,得到以下J 、K 的逻辑表达式:

(6)仿真图如下: 显示管显示的顺序符合十二进制的要求 2.画出CP及各输出端的波形图,要画好他们之间的相位关系。 (1)通过状态图画得CLK、Q0、Q1、Q2、Q3的波形图如下: (2)仿真得到波形图如下:

数电实验报告 可逆计数器

实验报告 实验九可逆计数器的功能测试及应用电路 2.9.1 实验目的 1.掌握可逆计数器74LS190、74LS191、74LS192、74LS193的逻辑功能及使用方法。 2.熟悉可逆计数器实现任意进制的数码倒计时电路的工作原理。 2.9.2 实验仪器与器件 实验箱一个;双踪示波器一台;稳压电源一台;函数发生器一台。74LS190、74LS192、74LS247或74HC48、74LS00和74LS04. 2.9.3 实验原理 1. 4位十进制同步加减法计数器 对于74LS190,D、C、B、A为并行数据输入端;Q D Q C Q B Q A为并行数据输出端;U/D为加减控制信号输入端,当加减控制信号U/D=0时做加法计数;而当加减控制信号U/D=1时做减法计数;CLK为单时钟脉冲输入端;MAX/MIN为最大/最小输出端,也称为进位/错位信号输出端;L D为预置数控制端,低电平有效;CTEN为使能端,进行状态控制,低电平有效;RCO为脉冲时钟。 2. 4位二进制同步加减法计数器 对于74LS192,D、C、B、A为并行数据输入端;Q3Q2Q1Q0为并行数据输出端;CP U为加法计数脉冲输入端;CP D为减法计数脉冲输入端;CLR为异步置零端,高电平有效;TC D为借位信号输出端;TC U为进位信号输出端;L D为异步预置数控制端,低电平有效。 2.9.4 实验内容 1.测试74LS190和74LS191的逻辑功能,并用数码管显示,验证是否与表2-9-4一致。分别画出各单元的电路图,写出各自的状态转换图。

加法计数:0000—0001—0010—0011—0100—0101—0110—0111—1000—1001—0000 减法计数:1001—1000—0111—0110—0101—0100—0011—0010—0001—0000 加法计数:0000—0001—0010—0011—0100—0101—0110—0111—1000—1001—1010—1011—1100—1101—1110—1111—0000 减法计数:1111—1110—1101—1100—1011—1010—1001—1000—0111—0110—0101—0100—0011—0010—0001—0000 2.测试74LS192和74LS193的逻辑功能,并用数码管显示,验证是否与表2-9-3一致。画出电路图。 进行加法计数:

可逆计数器的设计

EDA设计基础实验课程论文 题目可逆计数器的设计 学院电子工程学院 专业班级通信081班 学生姓名王力宏 指导教师大力会 2013年6月12日

摘要 本设计介绍了Verilog-HDL语言在可逆计数器的具体应用,给出了仿真波形并下载到FPGA开发板上实际验证。说明了实现电子电路的自动化设计(EDA)过程和EDA技术在现代数字系统中的重要地位及作用. 关键词:Verilog-HDL EDA FPGA开发板仿真

Abstract This design describes the Verilog-HDL language in reversible counter the specific application, the simulation waveforms downloaded to the FPGA development board and the actual verification. Illustrates the realization of electronic circuit design automation (EDA) process and EDA technology in the modern digital systems in an important position and role. Keywords: State Machine Verilog-HDL EDA FPGA development board Simulation

目录 摘要.................................................................... I Abstract.................................................................. I 第1章绪论. (2) 1.1 概述 (2) 1.1.2 EDA的发展趋势 (2) 1.2 硬件描述语言 (3) 1.3 FPGA介绍 (4) 第2章可逆计数器设计的基本理论 (6) 2.1 设计原理 (6) 2.2 电路设计系统仿真 (6) 2.2.1 编辑文件 (6) 2.3.2 创建工程 (6) 2.3.2 仿真 (7) 第3章系统的仿真结果 (9) 3.1 编译成功 (9) 3.2 波形图 (10) 3.3 原理图 (11) 第4章心得体会 (12) 结论 (13) 参考文献 (14) 附录1 (15) 致谢 (17)

设计任意进制计数器

设计任意进制计数器 一、实验目的 掌握中规模集成计数器的使用方法及功能测试方法。 二、实验内容及要求 采用(74LS192)复位法或预置数法设计一个三位十进制计数器。要求各位同学设计的计数器的计数容量是自己学号的最后三位数字。 三、设计过程 74LS192是中规模同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列如图所示。74LS192(CC40192)的功能如下表所示。 1234A B C D 4 3 2 1 D C B A 161514131211109 Vcc D CR BO CO LD D D D Q Q CP CP Q Q GND 12345678 D 1 1 023 3 u2 74LS192 CR:清除端CP u:加计 数端 LD :置数端CP D:减计 数端 CO :非同步进位输出端 BO :非同步借位输出端 D3、D2、D1、D0:数据输入端 Q3、Q2、Q1、Q0:输出端 74LS192引脚排列图 表74LS192(CC40192)的功能 输入端输出端功能 CR LD CP u CP D D3 D2 D1 D0 Q3 Q2 Q1 Q0 1 ×××××××00 0 0 清零 0 0 ×× d c b a d c b a 置数 0 1 ↑ 1 ××××0000~1001加计数1001时CO=0 0 1 1 ↑××××1001~0000减计数0000时BO=0 用M进制集成计数器可以构成N(任意)进制的计数器。通常用反馈清零 法和反馈置数法。当计数器的计数N>M时,则要用多片M进制计数器构成。 其计数规律为:当低位计数器没有达到计数的最大值时,如74LS192的1001时, 其高位芯片应处于保持状态,只有当低位芯片计数达到最大值时,给相邻的高位 芯片计数器发一个信号,使其脱离保持状态,进入计数状态。现以233为例为计 数容量进行设计。由于233为三位数,因此需用三块74LS192。 1、清零法: CR(R D)=(Q1Q0)百(Q1Q0)拾(Q1)个 初态:0000 终态:233-1=232即:0010 0011 0010 状态转换图:(略)

EDA实验报告-实验3计数器电路设计

暨南大学本科实验报告专用纸 课程名称 EDA实验成绩评定 实验项目名称计数器电路设计指导教师郭江陵 实验项目编号 03 实验项目类型验证实验地点 B305 学院电气信息学院系专业物联网工程 组号: A6 一、实验前准备 本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为EP1K100QC208)。EDAPRO/240H实验仪主板的VCCINT跳线器右跳设定为; EDAPRO/240H实验仪主板的VCCIO 跳线器组中“”应短接,其余VCCIO均断开;独立扩展下载板“EP1K10_30_50_100QC208”的VCCINT跳线器组设定为;独立扩展下载板“EP1K10_30_50_100QC208”的VCCIO跳线器组设定为。请参考前面第二章中关于“电源模块”的说明。 二、实验目的 1、了解各种进制计数器设计方法 2、了解同步计数器、异步计数器的设计方法 3、通过任意编码计数器体会语言编程设计电路的便利 三、实验原理 时序电路应用中计数器的使用十分普遍,如分频电路、状态机都能看到它的踪迹。计数器有加法计数器、可逆计数器、减法计数器、同步计数器等。利用MAXPLUSII已建的库74161、74390分别实现8位二进制同步计数器和8位二——十进制异步计数器。输出显示模块用VHDL实现。 四、实验内容 1、用74161构成8位二进制同步计数器(程序为T3-1); 2、用74390构成8位二——十进制异步计数器(程序为T3-2); 3、用VHDL语言及原理图输入方式实现如下编码7进制计数器(程序为T3-3): 0,2,5,3,4,6,1 五、实验要求 学习使用Altera内建库所封装的器件与自设计功能相结合的方式设计电路,学习计数器电路的设计。 六、设计框图 首先要熟悉传统数字电路中同步、异步计数器的工作与设计。在MAX+PLUS II中使用内建的74XX库选择逻辑器件构成计数器电路,并且结合使用VHDL语言设计转换模块与接口模块,最后将74XX模块与自设计模块结合起来形成完整的计数器电路。并借用前面设计的数码管显示模块显示计数结果。 ◆74161构成8位二进制同步计数器(程序为T3-1)

相关文档
最新文档