文档库 最新最全的文档下载
当前位置:文档库 › 32进制同步减法计数器设计解析

32进制同步减法计数器设计解析

32进制同步减法计数器设计解析
32进制同步减法计数器设计解析

目录

一、设计目的 (1)

二、设计原理 (1)

三、设计 (1)

3.1设计思路 (1)

3.2设计步骤 (1)

四、QuartusⅡ9.0操作步骤 (3)

五、程序 (4)

5.1完整程序 (4)

5.2仿真程序 (8)

六、仿真 (12)

6.1仿真结果 (12)

6.2仿真结果分析 (12)

七、引脚分配 (13)

八、课程设计总结 (14)

参考文献 (15)

一、设计目的

1)巩固和加深对“EDA技术””的基本知识的理解,提高综合运用本课程所学知识的能力。

2)培养学生根据课题需要选学参考书籍、查阅手册、图表和文献资料的自学能力。通过独立思考,深入钻研相关问题,学会自己分析解决问题的方法。

3)培养硬件设计、软件设计及系统软、硬件调试的基本思路、方法和技巧,并能熟练使用当前较流行的一些有关电路设计与分析的软件和硬件。

二、设计原理

计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。按照计数器中的触发器是否同时翻转分类,可将计数器分为同步计数器和异步计数器两种。

本次设计是32进制同步减法计数器。32进制的二进制范围为“00000”到“11111”,即十进制0~31。当显示的数小于31时,数字将自减,减至0时又跳会预先输入的数,如此循环。系统提供50MHZ频率的时钟源,输入的数字信号由实验装置上的开关给定,输出由LED完成,同时数码管显示输入和输出的数字信号。设置2个按钮,一个作“开始”,即使能端en,一个作系统“复位”res。

三、设计

3.1设计思路

本次程序设计的思路主要是分模块进行。32进制同步减法计数器的基本工作原理是循环自减,因此得需要一个自减VHDL的程序。系统提供50MHZ频率的时钟源,频率太大,肉眼无法观察,得需要一个分频的程序。数码管的同步显示需要一个扫频的程序。输入的数字可能是一位数也有可能是两位数,一个数码管只能显示一位数,因此需要有把一个两位数分成两个一位数的程序,本次设计的程序就是利用了取余的函数rem。

将以上几个分支程序进行整理,再加上数码管的显示程序以及一些附加程序便可得完整的程序。

3.2设计步骤

1. 自减VHDL程序

process(en,res,clk1)

b egin

x<=conv_integer(start) rem 10;

y<=(conv_integer(start)/10)rem 10;

x2<=y;

y2<=x;

i f res='1'then

di<=0;

xp<=start;

e lsi

f en='1'then

if clk1'event and clk1='1' then

if xp=0 then

xp<=start;

else

xp<=xp-1;

end if ;

end if;

e nd if;

e nd process;

程序中,res是复位信号,功能是在在出现res=1是,将数码管回到最初始状态,当rst=0是,循环显示;en是一个开始信号,只有en=1时,计数才开始工作;conv_integer() 是将二进制变为十进制数;start为输入信号,xp为信号。

2. 分频程序

process(clk)

variable a1:integer range 24999999 downto 0;

begin

if clk'event and clk='1' then

if a1<24999999 then

a1:=a1+1;

else

a1:=0;clk1<=not clk1;

end if;

end if;

end process;

将50MHZ的频率分为1HZ,即将50MHZ分成两部分,每数完25MHZ,信号clk1就变化一次,以此达到目的。

3. 扫频程序

process(clk)

v ariable b1:integer range 20000 downto 0;

b egin

i f clk'event and clk='1' then

if b1<20000 then

b1:=b1+1;

else

b1:=0;clk2<=not clk2;

end if;

e nd if;

end process;

扫频的程序与分频程序原理都一样

4.位数分离程序

process(xp)

v ariable b:integer range 0 to 9;

v ariable a:integer range 0 to 3;

b egin

b:=conv_integer(xp) rem 10;

a:=(conv_integer(xp)/10)rem 10;

a i<=a;

b i<=b;

end process;

此程序用到了rem求余函数,将个位与十位分开。

四、QuartusⅡ9.0操作步骤

1.运行QuartusⅡ9.0并创建工程路径(如:E:\example),以便相关设计文件和工程管理。

2.新建一个VHDL文本文件。

3.创建新工程并添加设计文件到工程。

4.选择目标器件Cyclone 系列 EP1C20F324C8 芯片。

5.对源代码进行语法检查和编译。

6.创建仿真波形文件并仿真。

7.引脚分配。

8.重编译,编程下载,下载完成后验证功能。

五、程序

5.1完整程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY DCLK IS

PORT(clk:IN STD_LOGIC;

res,en:in std_logic;

start:IN STD_LOGIC_VECTOR(4 DOWNTO 0);

led7s2:out std_logic_vector(6 downto 0);

scan:out std_logic_vector(3 downto 0) );

end;

architecture one of DCLK IS

signal di:integer range 31 to 0;

signal w:std_logic_vector( 2 downto 0);

signal clk1,clk2:std_logic;

signal ai,bi:integer;

signal xp:STD_LOGIC_VECTOR(4 DOWNTO 0);

signal x,y:integer range 0 to 9;

--FENPIN

begin

process(clk)

variable a1:integer range 24999999 downto 0;

begin

if clk'event and clk='1' then

if a1<24999999 then

a1:=a1+1;

else

a1:=0;clk1<=not clk1;

end if;

end if;

end process;

--SCAN CLK

process(clk)

v ariable b1:integer range 20000 downto 0;

b egin

i f clk'event and clk='1' then

if b1<20000 then

b1:=b1+1;

else

b1:=0;clk2<=not clk2;

end if;

e nd if;

end process;

--COUNTER

process(en,res,clk1)

b egin

x<=conv_integer(start) rem 10;

y<=(conv_integer(start)/10)rem 10;

x2<=y;

y2<=x;

i f res='1'then

di<=0;

xp<=start;

e lsi

f en='1'then

if clk1'event and clk1='1' then

if xp=0 then

xp<=start;

else

xp<=xp-1;

end if ;

end if;

e nd if;

e nd process;

process(xp)

v ariable b:integer range 0 to 9;

v ariable a:integer range 0 to 3;

b egin

b:=conv_integer(xp) rem 10;

a:=(conv_integer(xp)/10)rem 10;

a i<=a;

b i<=b;

end process;

process(ai,bi,clk2,y,x)

b egin

i f clk2'event and clk2='1' then

if w="100" then

w<="000";

else w<=w+1;

if w="000" then

scan<="0001";

case ai is

when 0=>led7s2<="1000000";

when 1=>led7s2<="1111001";

when 2=>led7s2<="0100100";

when 3=>led7s2<="0110000";

when others=>null;

end case;

end if;

if w="001" then

scan<="0010";

case bi is

when 0=>led7s2<="1000000";

when 1=>led7s2<="1111001";

when 2=>led7s2<="0100100";

when 3=>led7s2<="0110000";

when 4=>led7s2<="0011001";

when 5=>led7s2<="0010010";

when 6=>led7s2<="0000010";

when 7=>led7s2<="1111000";

when 8=>led7s2<="0000000";

when 9=>led7s2<="0010000";

when others=>null;

end case;

end if;

if w="010" then

scan<="1000";

case y is

when 0=>led7s2<="1000000";

when 1=>led7s2<="1111001";

when 2=>led7s2<="0100100";

when 3=>led7s2<="0110000";

when others=>null;

end case;

end if;

if w="011" then

scan<="0100";

case x is

when 0=>led7s2<="1000000";

when 1=>led7s2<="1111001";

when 2=>led7s2<="0100100";

when 3=>led7s2<="0110000";

when 4=>led7s2<="0011001";

when 5=>led7s2<="0010010";

when 6=>led7s2<="0000010";

when 7=>led7s2<="1111000";

when 8=>led7s2<="0000000";

when 9=>led7s2<="0010000";

when others=>null;

end case;

end if;

end if;

e nd if;

end process;

end;

5.2仿真程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY DCLK IS

PORT(clk:IN STD_LOGIC;

res,en:in std_logic;

start:IN STD_LOGIC_VECTOR(4 DOWNTO 0);

led7s2:out std_logic_vector(6 downto 0);

scan:out std_logic_vector(3 downto 0);

x1,y1:out integer range 0 to 9;

x2,y2:out integer range 0 to 9;

xp_disp:out STD_LOGIC_VECTOR(4 DOWNTO 0));

end;

architecture one of DCLK IS

signal di:integer range 31 to 0;

signal w:std_logic_vector( 2 downto 0);

signal clk1,clk2:std_logic;

signal ai,bi:integer;

signal xp:STD_LOGIC_VECTOR(4 DOWNTO 0);

signal x,y:integer range 0 to 9;

begin

--FENPIN

process(clk)

variable a1:integer range 4 downto 0;

begin

if clk'event and clk='1' then

if a1<4 then

a1:=a1+1;

else

a1:=0;clk1<=not clk1;

end if;

end if;

end process;

--SCAN CLK

process(clk)

v ariable b1:integer range 20000 downto 0;

b egin

i f clk'event and clk='1' then

if b1<20000 then

b1:=b1+1;

else

b1:=0;clk2<=not clk2;

end if;

e nd if;

end process;

--COUNTER

process(en,res,clk1)

b egin

x<=conv_integer(start) rem 10;

y<=(conv_integer(start)/10)rem 10;

x2<=y;---TEST SHURU SHIWEI

y2<=x;---TEST SHURU GEWEI

i f res='1'then

di<=0;

xp<=start;

e lsi

f en='1'then

if clk1'event and clk1='1' then

if xp=0 then

xp<=start;

else

xp<=xp-1;

end if ;

end if;

e nd if;

x p_disp<=xp; ---TEST ZIJIAN

end process;

process(xp)

v ariable b:integer range 0 to 9;

v ariable a:integer range 0 to 3;

b egin

b:=conv_integer(xp) rem 10;

a:=(conv_integer(xp)/10)rem 10;

a i<=a;

b i<=b;

x1<=ai;---TEST SHUCHU SHIWEI

y1<=bi;---TEST SHUCHU GEWEI

end process;

process(ai,bi,clk2,y,x)

b egin

i f clk2'event and clk2='1' then

if w="100" then

w<="000";

else w<=w+1;

if w="000" then

scan<="0001";

case ai is

when 0=>led7s2<="1000000";

when 1=>led7s2<="1111001";

when 2=>led7s2<="0100100";

when 3=>led7s2<="0110000";

when others=>null;

end case;

end if;

if w="001" then

scan<="0010";

case bi is

when 1=>led7s2<="1111001";

when 2=>led7s2<="0100100";

when 3=>led7s2<="0110000";

when 4=>led7s2<="0011001";

when 5=>led7s2<="0010010";

when 6=>led7s2<="0000010";

when 7=>led7s2<="1111000";

when 8=>led7s2<="0000000";

when 9=>led7s2<="0010000";

when others=>null;

end case;

end if;

if w="010" then

scan<="1000";

case y is

when 0=>led7s2<="1000000";

when 1=>led7s2<="1111001";

when 2=>led7s2<="0100100";

when 3=>led7s2<="0110000";

when others=>null;

end case;

end if;

if w="011" then

scan<="0100";

case x is

when 0=>led7s2<="1000000";

when 1=>led7s2<="1111001";

when 2=>led7s2<="0100100";

when 3=>led7s2<="0110000";

when 4=>led7s2<="0011001";

when 5=>led7s2<="0010010";

when 6=>led7s2<="0000010";

when 7=>led7s2<="1111000";

when 9=>led7s2<="0010000";

when others=>null;

end case;

end if;

end if;

e nd if;

end process;

end;

六、仿真

6.1仿真结果

6.2仿真结果分析

Clk为时钟源,10hz分频为1hz,led7s2为数码管显示,en为使能控制端,res为复位端,start为输入,scan为片选输出,x1为输出的十位,y1为输出的个位,x2为输入的十位,y2为输入的个位,xp_disp为输入数的自减。

当res为低电平,en为高电平时,程序开始运行;当res为高电平时,输出的值就跳回最开始输入的值,高电平消失后,程序又开始自减,如此循环显示。

七、引脚分配

八、课程设计总结

EDA课程设计很快就结束了,虽然在之前的学习过程中还存在着没有弄懂的问题,但是通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。

EDA设计我感觉程序调试、试验软件、硬件熟悉最重要。在编完各模块程序之后,编译查错最初有十几个错误,有输入错误、语法错误。一遍一遍的编译查错,直到没有错误。必须注意工程名和实体名一致,不然一般会出错。在没有错误之后可以进行波型仿真。若与理想的不同,再查看程序,有无原理上的编辑错误或没有查出的输入错误。

通过本次EDA课程设计,让我更进一步的熟悉了VHDL语言,了解了其中的语法,同时,在做32进制同步减法计数器计数显示的过程中,遇到了很多的困难,但从这些困哪中,我也受益匪浅,有困难才会提高,这样自己才能学到更多的东西。

在本次课程设计中,让我学到了不少知识,知道了什么叫数码管的动态显示,更深一步了解了数码管的显示原理,以前在做实验时,只知道按照实验指导书上一步一步按部就班的做,有些地方根本就没有深刻的理解,虽然在实验时也遇到几个数码管显示同时显示一个数,但是根本没有想为什么会是这样,但通过此次课程设计,真正的了解了数码管是如何显示的。

此次课程设计,令我感到最头痛的是程序的编译中出现的问题,在以前做实验时,由于程序不会很长,所以编译中出现的问题会很容易解决,但课程设计中的程序比平常做的要长得多,不过在查找程序的错误中,是我能更深刻了解VHDL的语法,深刻理解程序中的逻辑关系,例如在我设计计数器两位显示的时候,数码管一直不亮,再那里卡了很久,最后终于搞清楚了出错的地方,使我对进位计数器的设计有了更清晰的理解,这些都是自己不做不想无法得到的财富。

同时,老师的教学理念也给我留下了深刻的印象,只有通过自己亲手做出来的东西,自己才会真正的理解,东西才是自己的。老师的一番话不止在我们做课程设计中有用,在以后的工作生活中也是有用的。

参考文献

[1] 潘松、黄继业,EDA技术与VHDL[M],北京:清华大学出版社,2005

[2] 潘松,EDA技术实用教程[M],北京:科学出版社,2002

[3] 谭京生,EDA技术及应用[M],西安:西安电子科技大学出版社,2001

[4] 徐志军,CPLD/FPGA的开发与应用[M],北京:电子工业出版社,2001

[5](美)Mark D.Birnbaum,电子设计自动化基础(英文影印版)[M],北京:机械工业出版社,2005

[6] 朱正伟,EDA技术与应用[M],北京:清华大学出版社,2005

[7] 王金明,数字系统设计与Verilog HDL[M],北京:电子工业出版社,2000

[8] 潘松,VHDL实用教程[M],成都:电子科技大学出版社,2001

[9] 周祖成,电子设计硬件描述语言VHDL [M],北京:北京学苑出版社,2000

[10] 侯伯亭,VHDL硬件描述语言与数字逻辑电路设计[M],西安:西安电子科技大学出版社,2001

[11] 边计年、薛宏熙,用VHDL设计电子线路[M],北京:清华大学出版社,2000

[12] 任爱锋,基于FPGA的嵌入式系统设计[M],西安:西安电子科技大学出版社,2004

计数器工作原理及应用

计数器工作原理及应用 除了计数功能外,计数器产品还有一些附加功能,如异步复位、预置数(注意,有同步预置数和异步预置数两种。前者受时钟脉冲控制,后者不受时钟脉冲控制)、保持(注意,有保持进位和不保持进位两种)。虽然计数器产品一般只有二进制和十进制两种,有了这些附加功能,我们就可以方便地用我们可以得到的计数器来构成任意进制的计数器。下面我们举两个例子。在这两个例子中,我们分别用同步十进制加法计数器74LS160构成一个六进制计数器和一个一百进制计数器。 因为六进制计数器的有效状态有六个,而十进制计数器的有效状态有十个,所以用十进制计数器构成六进制计数器时,我们只需保留十进制计数器的六个状态即可。74LS160的十个有效状态是BCD编码的,即0000、0001、0010、0011、0100、0101、0110、0111、1000、1001[图5-1]。 图5-1 我们保留哪六个状态呢?理论上,我们保留哪六个状态都行。然而,为了使电路最简单,保留哪六个状态还是有一点讲究的。一般情况下,我们总是保留0000和1001两个状态。因为74LS160从100 1变化到0000时,将在进位输出端产生一个进位脉冲,所以我们保留了0000和1001这两个状态后,我们就可以利用74LS160的进位输出端作为六进制计数器的进位输出端了。于是,六进制计数器的状态循环可以是0000、0001、0010、0011、0100和1001,也可以是0000、0101、0110、0111、1000和1001。我们不妨采用0000、0001、0010、0011、0100和1001这六个状态。 如何让74LS160从0100状态跳到1001状态呢?我们用一个混合逻辑与非门构成一个译码器[图5. 3.37b],当74LS160的状态为0100时,与非门输出低电平,这个低电平使74LS160工作在预置数状态,当下一个时钟脉冲到来时,由于等于1001,74LS160就会预置成1001,从而我们实现了状态跳跃。

8位二进制加法计算器

一:本实验设计的是一个8为二进制加法计算器,其功能就是对两个八位的二进制数执行加法运算,并可以异步清零。 二:电路可划分为三部分:半加器、全加器和复位电路。 1、半加器: 真值表 a b so co 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 电路图 2全加器:由半加器和或门组成 电路图 3复位电路: 复位电路通过en控制,当en为‘1’时,执行加法运算,输出正确的值,当en为‘0’时,输输出及结果为全0. 三:实验波形仿真和VHDL 1、仿真图:

2、VHDL代码 1)半加器h_adder: library ieee; use ieee.std_logic_1164.all; entity h_adder is port (a,b :in std_logic; co,so :out std_logic); end entity h_adder; architecture fh1 of h_adder is begin so <= not(a xor (not b));co <= a and b ; end architecture fh1; 2)或门or2a: library ieee; use ieee.std_logic_1164.all; entity or2a is port (a,b :in std_logic; c: out std_logic); end entity or2a; architecture one of or2a is begin c <= a or b ; end architecture one; 3)全加器f_adder: library ieee;

100进制同步计数器设计

实验名称:100进制同步计数器设计 专业班级:姓名:学号:实验日期: 一、实验目的: 1、掌握计数器的原理及设计方法; 2、设计一个0~100的计数器; 3、利用实验二的七段数码管电路进行显示; 二、实验要求: 1、用VHDL 语言进行描写; 2、有计数显示输出; 3、有清零端和计数使能端; 三、实验结果: 1. VHDL程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; PACKAGE my_pkg IS Component nd2 -- 或门 PORT (a,b: IN STD_LOGIC; c: OUT STD_LOGIC); END Component; Component led_decoder PORT (din:in std_logic_vector(3 downto 0 ); --四位二进制码输入 seg:out std_logic_vector(6 downto 0) ); --输出LED七段码 END Component; 1

Component CNT60 --2位BCD码60进制计数器 PORT ( CR:IN STD_LOGIC; EN:IN STD_LOGIC; CLK:IN STD_LOGIC; OUTLOW:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); OUTHIGH:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) ); END Component; Component CNT100 --带使能和清零信号的100进制计数器PORT ( CLK:IN STD_LOGIC; EN:IN STD_LOGIC; CLR:IN STD_LOGIC; OUTLOW:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); OUTHIGH:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) ); END Component; Component freq_div --50MHZ时钟分频出1Hz PORT ( clkinput : IN STD_LOGIC; output : OUT STD_LOGIC ); END Component;

计数器原理分析及应用实例

计数器原理分析及应用实例 除了计数功能外,计数器产品还有一些附加功能,如异步复位、预置数(注意,有同步预置数和异步预置数两种。前者受时钟脉冲控制,后者不受时钟脉冲控制)、保持(注意,有保持进位和不保持进位两种)。虽然计数器产品一般只有二进制和十进制两种,有了这些附加功能,我们就可以方便地用我们可以得到的计数器来构成任意进制的计数器。下面我们举两个例子。在这两个例子中,我们分别用同步十进制加法计数器74LS160构成一个六进制计数器和一个一百进制计数器。 因为六进制计数器的有效状态有六个,而十进制计数器的有效状态有十个,所以用十进制计数器构成六进制计数器时,我们只需保留十进制计数器的六个状态即可。74LS160的十个有效状态是BCD编码的,即0000、0001、0010、0011、0100、0101、0110、0111、1000、1001[图5-1]。 图5-1 我们保留哪六个状态呢?理论上,我们保留哪六个状态都行。然而,为了使电路最简单,保留哪六个状态还是有一点讲究的。一般情况下,我们总是保留0000和1001两个状态。因为74LS160从1001变化到0000时,将在进位输出端产生一个进位脉冲,所以我们保留了0000和1001这两个状态后,我们就可以利用74LS160的进位输出端作为六进制计数器的进位输出端了。于是,六进制计数器的状态循环可以是0000、0001、0010、0011、0100和1001,也可以是0000、0101、0110、0111、1000和1001。我们不妨采用0000、0001、0010、0011、0100

和1001这六个状态。 如何让74LS160从0100状态跳到1001状态呢?我们用一个混合逻辑与非门构成一个译码器[图5.3.37b],当74LS160的状态为0100时,与非门输出低电平,这个低电平使74LS160工作在预置数状态,当下一个时钟脉冲到来时,由于等于1001,74LS160就会预置成1001,从而我们实现了状态跳跃。 图5.3.37b用置数法将74160接成六进制计数器(置入1001) 比这个方案稍微繁琐一点的是利用74LS160的异步复位端。下面这个电路中[图5.3.34],也有一个由混合逻辑与非门构成的译码器。 图5.3.34用置零法将74LS160接成六进制计数器

四位二进制减计数器概要

成绩评定表

课程设计任务书

摘要 Quartus II是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Multisim是Interactive Image Technologies (Electronics Workbench)公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。Multisim为用户提供了丰富的元器件,并以开放的形式管理元器件,使得用户能够自己添加所需要的元器件。 在QuartusII8.1软件中,建立名为wq的工程,用四位二进制减法计数器的VHDL语言实现了四位二进制减法计数器的仿真波形图,同时进行相关操作,锁定了所需管脚,将其下载到实验箱。 在Multisim软件中,通过选用四个时钟脉冲下降沿触发的JK触发器和同步电路,画出其时序图,卡诺图,建立相关方程,做出相关计算,完成四位二进制减法计数器(缺1001,1010)的驱动方程。在Multisim软件里画出了四位二进制减法计数器的逻辑电路图。分析由红绿灯的亮灭顺序及状态,和逻辑分析仪里出现波形图,证明四位二进制减法计数器设计成功。 关键字:VHDL语言;四位二进制减计数器;QUARTUSⅡ;Multisim

目录 1.课程设计目的 (1) 2.设计框图 (1) 3.实现过程 (2) 3.1Q UARTUSⅡ实现过程 (2) 3.1.1建立工程 (2) 3.1.2VHDL源程序 (4) 3.1.3波形仿真 (5) 3.1.4引脚锁定与下载 (7) 3.1.5仿真结果分析 (9) 3.2MULTISIM实现过程 (9) 3.2.1求驱动方程 (9) 3.2.2画逻辑电路图 (11) 3.2.3逻辑分析仪的仿真 (12) 3.2.4结果分析 (13) 4.总结 (14) 5.参考文献 (15)

七进制加法计数器电路设计

信 息 工 程 分 院 课题名称:集成计数器及其应用 班级:14电子信息工程技术1班 学生姓名:邱荣荣 学 号: 18 指导教师:王连英 完成时间:2015年5月19日 设 计 报 告

七进制计数器电路设计 1.设计要求 a.分别采用反馈清零和反馈置数的方法 b.用同步十进制加法计数器74LS160(或同步4位二进制加法计数器74LS161)、三3输入与非门74LS10、4511、共阴七段数码LED 显示器设计七进制计数器。 2.设计原理 a.使用4位同步二进制计时器74LS161设计反馈清零加法计数器 由74LS160是模16加法计数器、M=16,要设计制作的是七进制加法计数器、N=7,M>N ,需一块74LS161,且74LS161具有异步清零(低电平有效)功能。 从初始状态开始,七进制加法计数器的有效循环状态:0000、0001、0010、0011、0100、0101、0110等七个。其最后一个,在下一个状态所对应的数码是:0111。所以,异步清零的反馈数210)0110()7(===N S N 。利用74LS161的异步清零(低电平有效)功能有,反馈数012Q Q Q CR =。据此有反馈清零法,由74LS161七进制加法计数器循环转换状态换图2.1.1所示,仿真电路如图2.1.2所示。 2.1.1 反馈清零七进制加法计数器循环转状态换图

b.使用4位同步二进制计时器74LS161设计反馈置数加法计数器 对于74LS161而言,取七进制加法计数器的有效循环状态,是使用74LS161十个有效状态中任意连续的七个,例如是:0010、0011、0100、0101、0110、0111、1000。设预置数输入端0123D D D D 则对应的预置数码0123d d d d 为0010,则从0010开始,其最后一个循环状态所对应的数码是:1000,所以此时,同步置数的反馈数2)1000(=S 。有,3Q LD =。 据此有,74LS160反馈置数法设计七进制加法计数器循环转换状态换图2.2.1所示,仿真电路如图2.2.2所示。———实验证据如图00所示 图2.1.2 反馈清零法七进制加法计数器仿真电路 2.2.1 反馈置数七进制加法计数器循环转状态换图

100进制计数器设计报告

100进制计数器设计报告

一、设计要求 1)设计的电路可以实现预置数,实现0~9的预置,并在七段字符显示电路上显示相应的0~9。 2)同时可完成100进制的计数,并从任意100以内数开始,要求计数器为同步计数,数码管以十进制的方式显示。 3)该电路的脉冲采用555定时器来实现,要求其频率f=1HZ 。 根据555定时器产生多谐波振荡器的频率f= 1.44()2A B C R R + =1HZ 10C F μ= 1442A B K R R ∴+=Ω 50,50A B K K R R =Ω=Ω取可调的电阻 三 、元件清单 2个74LS48, 1个74LS04反相器 2个74LS160, 1个74LS147, 1个555定时器,, 9个按键开关,2个自锁开关, 2个七段数码显示电路(共阴极) 2个10μF 的电容,导线若干电阻1K Ω的13个,1个50K Ω的电阻,1个50K Ω的可调电阻,

四、安装调试过程中遇到的问题与解决方法 在首次完成电路的焊接后,接上电源,经调试,发现七段数码管显示有误,重新查找资料发现七段数码管管脚连接有误,重新修改好再试,成功实现了数码显示。此外,后期调试发现,4与5在置数时,显示不正常,检查电路发现在74ls147的1、2管脚存在短路现象,经修改后重新接上电路,再次调试,发现该电路所需功能均已实现。 五、心得体会 通过本次实验,进一步加深了对74LS48,74LS04,74LS160,74LS147的逻辑功能的理解,并且对555定时电路的原理以及应用有了更为深刻的认识。在动手焊接电路时,无形中加深了自己的动手能力,在调试过程中培养了自我总结,发现问题解决问题的能力。

同步七进制加法计数器数字电子技能

目 录 1 课程设计的目的............................................................12 计数器设计的总体框图......................................................13 计数器设计过程 (1) 3.1根据题意可画出该计数器状态图:.......................................13.2选择触发器,求时钟方程,画出卡诺图:.................................13.3根据卡诺图写出状态方程:.............................................33.4求驱动方程:.........................................................33.5检查电路能否自启动:.................................................44 173进制加法计数器 (4) 4.1写出和的二进制代码.............................................41 N S N S 5 设计的逻辑电路图. (4) 5.1同步七进制加法计数器.................................................45.2 173进制加法计数器...................................................56 设计的芯片原理图..........................................................66 实验仪器..................................................................77 总结与体会. (7) 参考文献 (8)

实验7 74ls160组成n进制计数器

实验7 74ls160组成n进制计数器 一、实验内容 1.掌握集成计数器的功能测试及应用 2.用异步清零端设计6进制计数器,显示选用数码管完成。 3.用同步置0设计7进制计数器,显示选用数码管完成。 二、演示电路 74LS160十进制计数器连线图如图1所示。 图1 74LS160十进制计数器连线图 74161的功能表 如表1所示。由表1可知,74161具有以 下功能: ①异步清 零 当CR(C L R’)=0时,不管其他输入端的状态如何(包括时钟信号C P),计数器输出将被直接置 零,称为异步清零。

②同步并 行预置数 在CR=1的条件下,当 LD(L O A D’)=0、且有时 钟脉冲C P的上升沿 作用时,D0、D1、D2、D3输入端的数据将 分别被Q0~Q3所接 收。由于这个置数操 作要与C P上升沿同步,且D0、D1、D2、 D3的数据同时置入计 数器,所以称为同步 并行置数。 ③保持 在CR=LD=1的条件 下,当E N T=E N P=0,即 两个计数使能端中有 0时,不管有无C P脉 冲作用,计数器都将 保持原有状态不变 (停止计数)。需要说 明的是,当E N P=0, E N T=1时,进位输出C 也保持不变;而当 E N T=0时,不管E N P 状态如何,进位输出 R C O=0。

④计数 当 CR=LD=E N P=E N T=1时, 74161处于计数状态, 电路从0000状态开 始,连续输入16个计 数脉冲后,电路将从 1111状态返回到0000 状态,R C O端从高电 平跳变至低电平。可 以利用R C O端输出的 高电平或下降沿作为 进位输出信号。 连上十进制加法计数器160,电路如图1所示,给2管脚加矩形波,看数码管显示结果,并记录显示结果。 三、用160和与非门组成6进制加法计数器-用异步清零端设计 74160从0000状 态开始计数,当输入 第6个C P脉冲(上

数字式100进制加减计数电路的工作原理及制作

数字式100进制加减计数电路的工作原理及制作 工作原理 1、振荡与分频:晶振X1与集成电路ICl(4060)内部的非门电路共同产生32768Hz的方波信号,经IC1进行214分频后由IC1的13脚输出频率为2Hz的方波信号,再经IC2(集成触发器74LS73)分频一次,输出1Hz的方波信号作为计数器的计数脉冲,送入到个位计数器IC4进行计数。 振荡电路中的R1为反馈电阻;其数值较大(10MΩ)有利于提高振荡频率的稳定性。电容C1、C2与晶体构成一个谐振型网络,实现对振荡频率的控制,同时提供180度相移,从而和IC1内部的非门构成一个正反馈网络满足振荡条件,使振荡电路正常电工作。 2、计数:计数电路由二块74LS190(IC4、IC5)构成个位和十位的计数。 IC4的13脚为进位输出端/借位输出端)与IC5的14脚(计数脉冲输入端)相连,完成个位向十位进位或借位的功能。 3、译码与显示:该部分电路由两块74LS48(IC6、IC7)和两个数码管组成,IC6对个位计数电路输出的8421BCD码进行译码驱动,数码管显示,IC7对十位计数电路输出8421BCD码进行译码驱动,数码管显示。 4、控制电路:主要由三个按钮SB1、SB2、SB3和一块双JK触发器74LS73构成。 ①加法计数控制:接通电源的瞬间,由于电容C4两端的电压不能突变而为0,故IC3A、IC3B的CLR=O,故两触发器清零,即1Q=2Q=O,1Q=2Q=1,2Q=0送到IC2的CLR端,使其清零,此时IC2无计数脉冲输出到计数器74LS190,又因IC3B的Q(的反)=1,该信号送到74LS190的使能控制端(CTEN),则计数器工作在保持状态,故开机后,数码显示不变。再按一次SB2,IC4、IC5的LOAD变为低水平,使IC4、IC5处于并行输入状态,同时因A=D=U/D=0,B=C=0,故IC4、IC5的QA=QB=QC=QD=0,故显示为00(置0),再按一次SB3(启动)使IC3B获得一个下降脉冲,则IC3B输出从O翻转为1,使IC2输出计数脉冲,送至IC4,同时因IC3B的Q(的反)转为0,则IC4、IC5的CTEN=0,此时虽然C4充电后变为高电平,但IC3A无下降脉冲触、发,故其Q保持为0,则U/D=0,

三位二进制加法计数器(精)

成绩评定表 学生姓名班级学号 专业自动化课程设计题目数字电子 课程设计 评 语 组长签字: 成绩 日期20 年月日

课程设计任务书 学院信息科学与工程学院专业自动化 学生姓名班级学号 课程设计题目 1.三位二进制加法计数器(无效态:001,110) 2.序列信号发生器的设计(发生序列100101) 3.100进制加法计数器设计 实践教学要求与任务: 数字电子部分 1)采用multisim 仿真软件建立电路模型; 2)对电路进行理论分析、计算; 3)在multisim环境下分析仿真结果,给出仿真波形图。 工作计划与进度安排: 第1天: 1. 布置课程设计题目及任务。 2. 查找文献、资料,确立设计方案。 第2-3天: 1. 安装multisim软件,熟悉multisim软件仿真环境。 2. 在multisim环境下建立电路模型,学会建立元件库。 第4天: 1. 对设计电路进行理论分析、计算。 2. 在multisim环境下仿真电路功能,修改相应参数,分析结果的变化情况。 第5天: 1. 课程设计结果验收。 2. 针对课程设计题目进行答辩。 3. 完成课程设计报告。 指导教师: 201 年月日专业负责人: 201 年月日 学院教学副院长: 201 年月日

目录1 课程设计的目的与作用1 1.1设计目的及设计思想1 1.2设计的作用1 1.3 设计的任务1 2 所用multisim软件环境介绍1 3 三位二进制同步加法计数器设计3 3.1 基本原理3 3.2 设计过程3 4序列信号发生器的设计..6 4.1 基本原理6 4.2 设计过程6 6 100进制加法器计数器7 6.1 基本原理7 6.2 设计过程7 5 仿真结果分析8 5.1 三位二进制同步加法计数器仿真8 5.2 序列信号发生器(发生序列100101)的仿真11 6 设计总结和体会14 7 参考文献14

三位二进制同步减法计数器

赣南师院物理与电子信息学院数字电路课程设计报告书 姓名:胡丹 班级:电气教育技术10级 学号:100805004 时间:2012年 4月8日

3位二进制同步减法计数器 1、设计任务与要求 设计一个3位二进制同步减法计数器(无效状态为001 100) 2、方案设计与论证 2.1 基本原理 计数器是用来统计脉冲个数的电路,是组成数字电路和计算机电路的基本时序部件,计数器按进制分可分为:二进制,十进制和N 进制。计数器不仅有加法计数器,也有减法计数器。一个计数器如果既能完成加法计数,又能完成减法计数,则其称为可逆计数器。 同步计数器:当输入计数脉冲到来时,要更新状态的触发器都是同时翻转的计数器,叫做同步计数器。设计同步计数器按照下面的思路进行分析。 图(1) 2.2 设计过程 2.2.1 状态图 000 111 110 101 011 010 图(2) 2.2.2 卡诺图 00 01 11 10 111 xxx 010 000 xxx 011 110 101 图(3) 0 1 Q 1n Q 0n Q 2n 时序逻辑问题 状态赋值 状态转换图 最简逻辑表达式 逻辑图 检查能否自启动 选定触发器类型

00 01 11 10 1 x 0 0 x 1 1 图(4) 00 01 11 10 1 x 1 1 x 1 1 图(5) 00 01 11 10 1 x 0 0 x 1 1 图(6) 2.2.3 状态方程与驱动方程 状态方程: 12 n Q +=1n Q 2 n Q +1n Q 2 n Q 11 n Q +=1 n Q +0 n Q 1 n Q Q 1n Q 0n Q 2n 0 1 Q 1n+1的卡诺图 Q 1n Q 0n Q 2 n 0 1 Q 1n Q 0n Q 2n 0 1

100进制计数器

实验课程:EDA 实验 实验地点:第五实验室 实验时间:2012/11/12 班级:通信103班 学号: 102193 姓名:杨险峰 100进制计数器 一、实验目的: 1、设计一个100进制计数器; 2、掌握ISE 软件的综合与设计实现流程; 3、掌握采用ISE 软件进行FPGA 开发的过程以及试验箱的使用方法; 4、了解对设计电路进行功耗分析的方法; 5、了解ISE 软件设计报告中电路资源利用率情况分析; 6、掌握使用VHDL 创建测试文件的方法。 二、实验步骤: 1、启动ISE 集成开发环境,新建一个工程; 2、为工程添加设计源文件; 3、对源文件进行语法检查,并改正错误之处; 4、对设计进行时序仿真,分析设计的正确性; 5、锁定引脚,完成设计实现过程,并在试验箱上连线,利用iMPACT 进行程序下载; 6、在试验箱上验证计数器的功能,观察并记录实验结果; 7、打开report 文件查看资源利用率的情况; 三、实验原理: 输入时钟信号,输出接七段数码管的段码,数码管原理图如下: 四、实验代码: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_unsigned.ALL; entity counter100 is port(clk1,clk2:in std_logic; y:out std_logic_vector(6 downto 0); Y0 Y1 Y2 Y3 Y4 Y5 Y6 EN clr en clk Vcc

swgw:out std_logic_vector(1 downto 0)); end counter100; architecture Behavioral of counter100 is signal xy:std_logic_vector(1 downto 0); signal gw:std_logic_vector(3 downto 0) :="0000"; signal sw:std_logic_vector(3 downto 0); signal w:std_logic_vector(3 downto 0); signal led:std_logic_vector(6 downto 0); begin swgw<=xy; y<=led; process(clk1) begin if(clk1='1') then xy<="01"; else xy<="10"; end if; end process; process(clk2) begin if(clk2' event and clk2='1') then if(gw="1001") then gw<="0000"; else gw<=gw+'1'; end if; end if; end process; process(clk2) begin if(clk2' event and clk2='1') then if(gw="1001") then if(sw="1001") then sw<="0000"; else sw<=sw+'1'; end if; end if; end if;

100进制计数器实验报告

南京信息工程大学 数 字 电 路 实 验 报 告 学号:20111305062 班级:11电信2班 姓名:杨天星

一、引言 计数器电路是一种随时钟输入CP的变化,其输出按一定的顺序变化的时序电路,其变化的特点不同可将计数器电路按以下几种进行分类: 按照时钟脉冲信号的特点分为同步计数器和异步计数器两大类,其中同步计数中构成计数器的所有触发器在同一个时刻进行翻转,一般来讲其时钟输入端全连在一起;异步计数器即构成计数器的触发器的时钟输入CP没有连在一起,其各触发器不在同一时刻变化。一般来讲,同步计数器较异步计数器具有更高的速度。 按照计数的数码变化升降分为加法计数器和减法计数器,也有一些计数器既可实现加计数又可实现减计数器,这类计数器为可逆计数器。按照输出的编码形式可分为:二进制计数器、二—十进制计数器、循环码计数器等。 按计数的模数(或容量)分:十进制计数器、十六进制计数、六十进制计数器等。 二、主要设计要求 利用74LS163设计模为100的计数器

一、电路设计和分析 1、74LS163逻辑功能表 2、芯片特性 74LS163为二进制四位并行输出的计数器,它有并行装载输入和同步清零输入端。 74LS00为四二输入与非门。 74LS20为四输入与非门。 3、设计思路 用两个模为10的计数器构成模为100的计数器。模为10的计数

器实现方法:用一个与非门,两个输入取自Q A和Q D,输出接清零段CLR。当第9个脉冲结束时,Q A和Q D都为“1”,则与非门输出为“0”,并加到CLR端,因CLR为同步清零端,此时虽已建立清零信号,但并不执行,只有第10个时钟脉冲到来后74LS163才被清零。 4、电路仿真 第三章 一、实验结果分析 1、设计结果 该设计可以实现0到99循环计数。

采用74LS192设计的4、7进制计数器

《电子设计基础》课程报告 设计题目:4/7进制计数器设计 学生班级:通信0902 学生学号:20095972 学生姓名: 指导教师: 时间:2011. 6.24 西南科技大学 信息工程学院

一.设计题目及要求 1、题目:4/7进制计数器设计:采用74LS192(40192)。 2、要求:a、数码管显示状态。 b、用开关切换两种进制。 c、计数脉冲由外部提供。 二.题目分析与方案选择 由题目及其要求分析可知,首先要使用74LS192或40192设计一个4进制计数器和一个7进制计数器,然后通过数码管来显示状态。两种进制间的切换可以通过一个单刀双掷开关来实现。其重点和难点在于设计一个4进制计数器和一个7进制计数器。 通过分析74LS192和40192的特点,发现可以使用清零法来设计一个4进制计数器,而7进制则不能直接通过置数或者清零获得。因此我选择采用置数法将74LS192或40192设计的从0到7的8进制计数器改装为从1到7的计数器,然后再通过一个减法器使从1到7的计数器变为从0到6的7进制计数器。而减法器可以使用集成加法器和四个异或门来实现。 三.主要元器件介绍 在本课程设计中,主要用到了74LS192计数器、7447译码器、74LS00与非门、7408与门、74LS136异或门、74283加法器、七段数码显示器和一个单刀双掷开关等元器件。 一、十进制同步可逆计数器74LS192 功能如下: 1.异步清零。74LS192的输入端异步清零信号CR,高电平有效。仅当CR=1时,计数器输出清零,与其他控制状态无关。 2.异步置数控制。LD非为异步置数控制端,低电平有效。当CR=0,LD 非=0时,D1D2D3D4被置数,不受CP控制。 3.加法计数器,当CR和LD非均无有效输入时,即当CR=0、LD非=1,而减数计数器输入端CPd为高电平,计数脉冲从加法计数端CPu输入时,进行加法计数;当CPd和CPu条件互换时,则进行减法计数。 4.保持。当CR=0、LD非=1(无有效输入),且当CRd=CPu=1时,计数器处于保持状态。 5.进行加计数,并在Q3、Q0均为1、CPu=0时,即在计数状态为1001时,给出一进位信号。进行减计数,当Q3Q2Q1Q0=0000,且CPd=0时,BO非给出一错位信号。这就是十进制的技术规律。 在设计过程中,我主要利用74LS192的计数功能,通过置数法和清零法将其改造为一个4进制计数器和一个7进制计数器。

100进制计数器

四川工商学院电子信息工程学院电子电路课程设计 100进制计数器设计 学生姓名杨露 学号2015101027 所在学院电子信息工程学院 专业名称通信工程 班级15通信(移动)(1)班指导教师周春梅 成绩××× 四川工商学院 二○一七年十二月

电子电路课程设计任务书

计数器 内容摘要:计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。计数器可以用来显示产品的工作状态,一般来说主要是用来表示产品已经完成了多少份的折页配页工作。它主要的指标在于计数器的位数,常见的有3位和4位的。很显然,3位数的计数器最大可以显示到999,4位数的最大可以显示到9999。 关键词:计数器指令触发器 Counter Abstract:The count is one of the most simple basic computing counter logic circuit is to realize this operation, the counter in digital systems is to count the number of pulses to achieve the measurement and counting and control functions, also has the function of frequency division, the counter is composed of basic counting unit and a control gate, a all kinds of trigger counting unit is composed of a series of information storage function, the trigger RS flip-flop, T flip-flop, D flip-flop, JK flip-flop etc.. The counter is widely used in digital systems, such as the address of the instruction count in the computer controller, in order to remove the order of the next instruction, in the arithmetic unit for multiplication and division operations to write down the number of addition and subtraction, and as in the digital instrument of pulse counting etc.. The counter can be used to display the working status of the product, are

24进制计数器设计

湖南人文科技学院 课程设计报告 课程名称:电子技术基础课程设计 设计题目:24进制数字电子钟时计器、译码显示电路系别: 专业: 班级: 学生姓名:学号: 起止日期:2009/06/01 ---------- 2009/06/18 指导教师: 教研室主任:

教学系审核意见: 主任签字: 摘要 24进制数字钟是一种用数字电路技术实现时计时的装置,与机 械式时钟相比具有更高的准确性和直观性。此次设计与制作24进制电子数字钟时计数、译码、显示电路需要了解组合逻辑电路和时序逻辑电路;了解集成电路的引脚安排;了解各种时计数、译码芯片的逻辑功能及使用方法;了解数字钟的原理。本次设计是基于24进制电 子数字钟的原理,实现具有24进制清零功能的电子钟,它主要由脉冲、10进制加法器74LS160、译码器74LS48、共阴极LED数码管等四个模块构成。脉冲本利用555设计一个多谐振荡器,但由于制板受单面板限制,故撤销了555设计的多谐振荡器,而直接由实验室提供脉冲。各功能模块在Quartus H软件中先由VHDL语言描述出,然后将其打包成可调用的元件,再利用原理图输入法将各模块按功能连接起来就得到顶层文件的原理图。这时,再进行时序仿真、引脚锁定和嵌入逻辑分析仪之后,就编译下载至 硬件中,选择正确的模式和各种设置后即可实现这次设计所要求的功能。 关键词:加法器;译码器;显示数码管

目录 设计要求 (1) 、/一. 前言 (1) 1. ...................................................................................................... 方案论证与对比.. (2) 1.1 方案一 (2) 1.2 方案二 (2) 1.3 两种方案的对比 (3) 2、各功能模块设计 (3) 2.1 计数器电路 (3) 2.2 译码驱动电路 (5) 2.3 共阴极七段数码管显示器 (6) 3、调试与操作说明 (8) 3.1 电路仿真效果图 (8) 3.2 P ROTEL电路印刷板原理图及印刷板制版电路图 (9) 3.3 实际电路系统的制作及测试 (10) 3.4 电路板的测试情况、参数分析与实际效果 (10) 4、心得与体会 (11) 5、元器件及仪器设备明细 (12) 6、参考文献 (13) 7、致谢 ............................................. 14

模100进制计数器

计算机与信息技术学院综合性(设计性)实验报告 一、实验目的 1.掌握原理图的绘制与仿真 2.熟悉74LS161的工作原理 3.设计一个模100进制计数器 二、实验仪器或设备 装有PROTEUS软件的微机一台 三、总体设计(设计原理、设计方案及流程等) 1.设计原理 (1)同步二进制计数器74161的原理 所以要用74161设计一个模一百的计 数器应用两个74161,并且每一个都将 D0、D1、D2、D3分别置为0、1、1、0 (2)七段数码管的原理 七段数码管显示器由七段可发光 的线段拼合而成,每一个线段都是发光 二极管。其外形图如右图所示 数码管可以用TTL或CMOS集成电 路直接驱动。为此,就需要使用显示译 图1七段数码管外形码器将BCD代码译成数码管所需要的 驱动信号,以便使数码管用十进制数字显示出BCD代码所示的值。规定1 表示数码管中线段的点亮状态,用0表示熄灭状态。 (3)7477工作原理 7477即74HC77是4位双稳态锁存器,其功能是将数转化为段选码 2.设计方案

如下图2所示,该部分的功能是将脉冲信号转化为数字信号 如下图3 所示,该部分的功能是将数字信号的16进制转化为10进制 如下图4所示,该部分电路图的功能是将图3部分所输出的数字信号转化为数码管显示从0—9的各个数字的BCD 代码的值,即将数字转化为段选码 图4 3.设计流程 (1)根据实验要求画出原理图 (2)对布局进行调整 四、实验步骤(包括主要步骤、代码分析等) 1.打开Proteus 软件,新建一个ISIS 类文件 2.在该软件下新建一个项目,命名为“模100进制计数器.DSN ” 3.在元器件库中找取该实验所需要的元器件 4.合理的摆放元器件 5.根据所绘制的原理图将各元器件用线连接起来 6.对原理图进行适当的调整,使之美观 图2 图3

二进制加减计数器74HC190

M54/M74HC190M54/M74HC191 October 1992 4BIT SYNCHRONOUS UP/DOWN COUNTERS B1R (Plastic Package)ORDER CODES : M54HCXXXF1R M74HCXXXM1R M74HCXXXB1R M74HCXXXC1R F1R (Ceramic Package) M1R (Micro Package)C1R (Chip Carrier) PIN CONNECTIONS (top view) NC = No Internal Connecti o n DESCRIPTION .HIGH SPEED f MAX =48MHz (TYP.)AT V CC =5V .LOW POWER DISSIPATION I CC =4μA (MAX.)AT T A =25 °C .HIGH NOISE IMMUNITY V NIH =V NIL =28%V CC (MIN.).OUTPUT DRIVE CAPABILITY 10LSTTL LOADS .SYMMETRICAL OUTPUT IMPEDANCE I OH =I OL =4mA (MIN.) .BALANCED PROPAGATION DELAYS t PLH =t PHL .WIDE OPERATING VOLTAGE RANGE V CC (OPR)=2V TO 6V . PIN AND FUNCTION COMPATIBLE WITH 54/74LS190/191 The M54/74HC190/191are high speed CMOS 4-BIT SYNCHRONOUS UP/DOWN COUNTERS fabri-cated in silicon gate C 2MOS technology. They have the same high speed performance of LSTTL combined with true CMOS low power con-sumption. State changes of the counter are synchronous with the LOW-to-HIGH transition of the Clock Pulse input.An asynchronous parallel load input overrides count-ing and loads the data present ontheDATA inputs into the flip-flops,which makes it possible to use the cir-cuits as programmable counters.A countenable input serves as the carry/borrow input in multi-stage counters.Control input,Down/Up,determines whether a circuit counts up or down.A MAX/MIN out-put and a Ripple Clock output provide overflow/under-flow indication and make possible a variety of methods for generating carry/borrow signals in multi-stage counter applications. Allinputs are equipped with protection circuits against static discharge and transient excess voltage. 1/14

相关文档