十二进制同步计数器的设计

合集下载

EDA实验FPGAvhdl两个数码管显示12进制

EDA实验FPGAvhdl两个数码管显示12进制

EDA实验FPGAvhdl两个数码管显⽰12进制⼀、实验⽬的学习时序电路的设计,特别是计数器的设计、仿真和硬件测试,进⼀步熟悉VHDL设计技术。

⼆、实验要求1、⽤VHDL语⾔设计4位加法计数器为同步⼗⼆进制计数器,并具有异步清零,同步使能的功能。

2、⽤EDA6000实验仪进⾏实验结果的验证。

三、实验原理设计带有异步复位和同步时钟使能的4位加法计数器,所谓同步或异步都是相对时钟⽽⾔的。

不依赖于时钟⽽有效的信号称为异步信号,反之为同步信号。

因此,在使⽤VHDL语⾔设计该电路时,要注意时钟的使能信号发⽣时刻,以及进程语句的启动信号处理。

四、实验内容1、⽤VHDL语⾔编写出含异步清零和同步时钟使能的加法器电路程序;通过QuartysⅡ进⾏编辑、编译、综合、适配、仿真测试,给出其所有的信号的时序仿真波形。

2、按实验要求锁定管脚,重新综合。

3、在EDA6000软件中建⽴实验模式。

4、下载设计⽂件;硬件验证计数器的⼯作性能。

5、熟悉嵌⼊式逻辑分析仪,使⽤Signaltag 2对此计数器进⾏实时测试。

五、实验结果1、调试⾸先建⼯程按照实验要求写好程序,确定程序运⾏⽆误后,进⾏波形仿真,这⾥有⼀点⾮常重要,就是输⼊,输出的进制问题,还有就是该电路为时序电路,要做成时序电路进⾏仿真。

其次定义管脚,在Quartus II软件上进⾏管脚定义,为了⽅便这⾥定义管脚如上⾯所⽰。

然后再运⾏程序。

在对EDA6000建⽴相应实验模式。

由先前的定义管脚,在EDA6000中找到对应的IO脚,对软件中的数码管连接类型进⾏相应设置,分别设置好按键。

在EDA6000的CLK0(I030)设置1HZ,也就是⾃动产⽣1HZ脉冲波进⾏计数。

2、验证(1)当RST为⾼电平,EN为低电平时,CQ输出为0,即计数清零,禁⽌计数。

(2)当RST为低电平时,EN为⾼电平时,每⼀个CLK的上升沿后,CQ输出加1,当有第⼗⼀个上升沿时,CO输出进位信号。

当两个数码管显⽰为11时,CO、CQ清零,从新计数。

实验4:同步计数器及其应用实验报告

实验4:同步计数器及其应用实验报告

实验4:同步计数器及其应用实验报告
一、实验目的
1、了解可编程数字系统设计的流程
2、掌握Quartus II 软件的使用方法
3、掌握原理图输入方式设计数字系统的方法和流程
4、掌握74LS161同步16进制计数器的特点及其应用
二、实验设备
1、计算机:Quartus II 软件
2、Altera DE0 多媒体开发平台
3、集成电路:74LS10
4、集成电路:74LS161
三、实验内容
1、74LS161逻辑功能的测试
2、用74LS161实现12进制计数(异步清零)
3、用74LS161实现12进制计数(同步置数)
四、实验原理
74LS161
1、74LS161:异步清零、同步置数四位二进制计数器
2、引脚的定义:
使用74161实现16进制和12进制
1)首先使用quartus软件建立原理图,首先实现16进制,所以只
需要将需要的输入输出接到相应的引脚上,其中需要注意的是
我们需要让这个板子开始工作,所以需要将T和P引脚接响应
的高电压,然后将cp信号接入相应的输入;q0q1q2q3接到相
应的输出就可以了,然后编译。

现在在建立波形文件完成仿真,
通过仿真结果就可以看到自己的电路是否正确。

最后一步就是
实现在FPGA上的应用,我们需要做的就是给原来的原理图分
配相应的引脚,然后重新编译后,插入线就可以看到仿真结果
了。

2)12进制可以采取两种方式,也就是同步置数和异步清零两种
方式,我使用的异步清零,从而只需要对q0q1q2q3在12的时
候执行清零的动作就可以了,也就是加一个而输入的与非门就
可以了。

五、实验结果。

实验五 计数器的设计

实验五 计数器的设计

实验五计数器的设计姓名: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的两倍,时钟周期的四倍。

十二进制计数器

十二进制计数器

Xilinx FPGA实验报告——十二进制同步计数器十二进制同步计数器1.实验内容1)用BCD码实现个位和十位,其中个位十进制,十位二进制。

2)当计数到11时,产生进位脉冲。

3)自行设计VHDL测试向量文件,进行仿真测试。

4)分频产生1Hz信号,用1Hz信号作为十二进制同步计数器的计数时钟。

5)设计数码管译码电路,将计数结果在BASYS2实验板上下载显示。

2.实验目的1)熟悉Xilinx的ISE软件的使用和设计流程;2)掌握ISE仿真方法;3)熟悉Xilinx FPGA开发板4)利用VHDL语言设计计数器电路,下载到FPGA板上进行验证。

3.实验环境1)PC机一台;2)Xilinx的ISE软件一套;4.实验结果顶层模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity top12 isPort ( clock : in STD_LOGIC;clear : in STD_LOGIC;segment_4 : out std_logic_vector(3 downto 0);result : out STD_LOGIC_VECTOR (6 downto 0);jinwei:out std_logic);end top12;architecture Behavioral of top12 iscomponent frequencyPort ( clock : in STD_LOGIC;clock_1Hz : out STD_LOGIC;clock_1kHz : out STD_LOGIC);end component;component counter12 Port ( clock : in STD_LOGIC;clear : in STD_LOGIC;jinwei:out std_logic;result : out STD_LOGIC_VECTOR (7 downto 0));end component;component segmentPort ( bcd1 : in STD_LOGIC_VECTOR (3 downto 0);bcd2 : in STD_LOGIC_VECTOR (3 downto 0);segment_4 : out STD_LOGIC_vector(3 downto 0);result : out STD_LOGIC_VECTOR (6 downto 0);clock : in STD_LOGIC);end component;signal clock_1Hz: std_logic;signal clock_1kHz: std_logic;signal bcd1: std_logic_vector(3 downto 0); --个位signal bcd2: std_logic_vector(3 downto 0); --十位beginU0: frequency portmap( clock=>clock,clock_1Hz=>clock_1Hz,clock_1kHz=>clock_1kHz);U1:counter12 port map(clock=>clock_1Hz,clear=>clear,jinwei=>jinwei,result(3 downto 0)=>bcd1,result(7 downto 4)=>bcd2);U2:segment port map( bcd1 =>bcd1,bcd2 =>bcd2,segment_4 =>segment_4,result =>result,clock =>clock_1kHz);end Behavioral;分频部分:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_unsigned.all;entity frequency isPort ( clock : in STD_LOGIC;clock_1Hz : out STD_LOGIC;clock_1kHz : out STD_LOGIC);end frequency;architecture Behavioral of frequency isSIGNAL temp_1Hz : STD_LOGIC ;SIGNAL temp_1kHz : STD_LOGIC ;BEGINPROCESS(clock)VARIABLE cnt : INTEGER RANGE 0 TO 50000000 :=0;VARIABLE cntt : INTEGER RANGE 0 TO 50000 :=0; BEGINIF (clock'EVENT AND clock='1') THEN--上升沿cnt := cnt+1;cntt := cntt+1;temp_1Hz <= '0'; -- 是否多余temp_1kHz <= '0';IF cnt=50000000 THENcnt := 0;temp_1Hz <= '1';END IF;if (cntt=50000) thencntt:=0;temp_1kHz <= '1';END IF;end if;END PROCESS;clock_1Hz<= temp_1Hz;clock_1kHz <=temp_1kHz;end Behavioral;计数器部分:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;entity counter12 isPort ( clock : in STD_LOGIC;clear : in STD_LOGIC;jinwei:out std_logic;result : out STD_LOGIC_VECTOR (7 downto 0)); end counter12;architecture Behavioral of counter12 issignal temp: std_logic_vector(7 downto 0):="00000000"; beginprocess(clock)beginif (clock'event and clock='1') thenif (clear='1') thentemp <= "00000000";jinwei<='0';elsif(temp="00010001")thenjinwei<= '1';temp <="00000000";elsif(temp="00010000")thenjinwei<='0';temp<="00010001";elsif(temp="00001001")thenjinwei<='0';temp<="00010000";elsif(temp<"00001001")thentemp <= temp+1;jinwei<='0';elsetemp<="00000000";jinwei<='0';end if;end if;end process;result<= temp;end Behavioral;显示与译码部分:library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity segment isPort ( bcd1 : in STD_LOGIC_VECTOR (3 downto 0);bcd2 : in STD_LOGIC_VECTOR (3 downto 0);segment_4 : out STD_LOGIC_vector(3 downto 0):="1111";result : out STD_LOGIC_VECTOR (6 downto 0);clock : in STD_LOGIC);end segment;architecture Behavioral of segment issignal count: std_logic := '0' ;signal bcd_in: std_logic_vector(3 downto 0);beginprocess(clock)beginif (clock'event and clock='1') then--上升沿if(count = '0') thenbcd_in <= bcd1;--个位segment_4<="1110";--count <='1';elsebcd_in <= bcd2;--十位segment_4<="1101";count <= '0';end if;end if;end process;process(bcd_in)begincase bcd_in iswhen "0000"=>result <= "1000000";when "0001"=>result <= "1111001";when "0010"=>result <= "0100100";when "0011"=>result <= "0110000";when "0100"=>result <= "0011001";when "0101"=>result <= "0010010";when "0110"=>result <= "0000010";when "0111"=>result <= "1111000";when "1000"=>result <= "0000000";when "1001"=>result <= "0010000";when others=>null;end case;end process;end Behavioral;5.实验总结为了便于正确得完成整个工程的任务,应该先对每个模块进行仿真测试,然后再进行整体的调试。

同步与异步计数器的设计与分析

同步与异步计数器的设计与分析

同步与异步计数器的设计与分析计数器是数字电路中常用的模块之一,用于计数和记录特定事件发生的次数。

其中,同步计数器和异步计数器是两种常见的设计方法。

本文将对同步与异步计数器的设计原理与分析进行介绍。

一、同步计数器的设计与分析同步计数器是一种基于时钟信号的计数器,它的输入和输出在时钟边沿进行同步。

以下是同步计数器的设计步骤:1. 确定计数器的位数和计数范围:根据实际需求确定所需计数器的位数和计数范围,例如一个4位二进制计数器可以计数0~15。

2. 设计计数器的状态转移表:根据计数器的位数和计数范围,设计计数器的状态转移表。

以4位二进制计数器为例,其状态转移表如下:当前状态(Q) 输入(D) 下一个状态(Q+1)0000 0 00010001 0 00100010 0 00110011 0 0100...1101 0 11101110 0 11111111 0 00003. 实现计数器的状态转移方程:根据状态转移表,可以得到计数器的状态转移方程。

以4位二进制计数器为例,其状态转移方程如下: Q0+ = Q0' + Q1' + Q2' + Q3'Q1+ = Q1' + Q2' + Q3'Q2+ = Q2' + Q3'Q3+ = Q3' + 1其中,Q0~Q3表示当前状态的各个位,Q0+~Q3+表示下一个状态的各个位。

4. 实现计数器的逻辑电路图:根据状态转移方程,可以设计计数器的逻辑电路图。

以4位二进制计数器为例,其逻辑电路图如下: Q0+ = Q0' + Q1' + Q2' + Q3'Q1+ = Q1' + Q2' + Q3'Q2+ = Q2' + Q3'Q3+ = Q3' + 15. 分析同步计数器的特性:对于同步计数器,由于输入和输出在时钟边沿同步,因此具有较低的时序延迟和较高的稳定性。

同步计数器设计及应用

同步计数器设计及应用

同步计数器设计及应用同步计数器是一种用于计算、记录和控制操作次数的电子设备。

它由多个触发器(如D触发器)组成,通过正确的时钟信号、清零信号和计数方式,可以实现各种计数功能。

同步计数器的设计原理是基于触发器的性质:当时钟沿到来时,数据会从输入引脚传输到输出引脚,通过将多个触发器级联,可以实现多位的二进制计数器。

在同步计数器中,计数是同步进行的,意味着每个触发器的时钟输入都与前一个触发器的输出相连。

当一个触发器发生状态变化时,将会触发下一个触发器进行计数。

这样,整个计数器的每个位都会随着时钟信号的变化进行计数操作。

同步计数器的应用非常广泛,下面列举了一些常见的应用场景:1. 时序控制器:同步计数器可以作为时序控制器的一部分,用于生成特定的时序信号,例如时钟分频、脉冲生成等。

它可以按照设定的步进和延时来发出相关信号,从而实现对系统的精确控制。

2. 信号发生器:同步计数器可以用来生成不同频率的信号,用于测试和校准各种仪器设备。

通过设定计数器的输入时钟频率和计数值,可以产生特定频率的方波、脉冲等信号,可以应用于通信、测量、自动控制等领域。

3. 事件计数器:同步计数器可以用来计数来自外部事件的脉冲,例如传感器的测量、机械运动的脉冲等。

通过将事件脉冲与计数器的时钟输入相连,并根据计数器的输出进行一定的处理,可以实现对事件的计数和统计。

4. 频率计数器:同步计数器可以用来测量输入信号的频率。

当输入信号的周期固定时,通过测量计数器的输出,在一定的时间内进行计数,可以得到输入信号的频率。

这种方法广泛应用于频谱分析、无线通信、音频信号处理等领域。

5. 时钟发生器:同步计数器可以用于产生各种精确的时钟信号。

通过设定计数器的初始值和计数范围,并合适地选取时钟频率,可以产生所需的时钟信号,如系统时钟、工作时钟、校准时钟等。

这种应用广泛存在于数字电路设计和一个微控制器中。

总结起来,同步计数器在各种电子设备和系统中都有重要的应用。

十二进制同步计数器的设计知识讲解

十二进制同步计数器的设计知识讲解

同步计数器的设计
《数字电路与逻辑设计》 10/28
1.确定电路所需的触发器数目。 2.列出计数器的状态转换图。 3.根据状态转换图画出状态转换表。 4.根据状态转换表,写出J-K触发器的状态方程和驱动方程。 5.检查自启动性。 6 .画出逻辑图。
同步计数器的设计
《数字电路与逻辑设计》 11/28
2 3
十二进制同步计数器的设计
实验内容
1.用JK触发器和门电路设计一个特殊12进制计数 器,要求使用权的排列为8421的非BCD码,即允许 使用1010及以后各码,其十进制数的状态转移图为:
00 01 02 03 04 05
11 10 09 08 07 06
2.静态检查:用逻辑开关模拟输入的非BCD码,并把输出 接“0~1”显示器检查,触发器CP端接单脉冲,看电路工 作是否正常。
同步计数器的设计
《数字电路与逻辑设计》 6/28
1.确定电路所需的触发器数目。
2.列出计数器的状态转换图。
3.根据状态转换图画出状态转换表。
4.根据状态转换表,写出J-K触发器的状态方程和驱动方程。
5.检查自启动性。
6 .画出逻辑图。
0000 0 0 0 1
0001 0 0 1 0
0010 0 0 1 1
Vcc 14 13 12 11 10 9 8
74LS00
1 2 3 4 5 6 7地
0 1
Vcc 14 13 12 11 10 9 8
74LS08
1 2 3 4 5 6 7地
2 3
Vcc 14 13 12 11 10 9 8
74LS00
1 2 3 4 5 6 7地
0 1
Vcc 14 13 12 11 10 9 8

12进制计数器课程设计

12进制计数器课程设计

12进制计数器课程设计一、课程目标知识目标:1. 让学生掌握12进制计数器的基本原理和计数方法;2. 使学生了解12进制与其他进制(如二进制、十进制)之间的转换关系;3. 帮助学生理解12进制在生活中的应用,如时钟、货币等。

技能目标:1. 培养学生运用12进制进行计数和简单运算的能力;2. 培养学生运用所学知识解决实际问题的能力,如设计一个简单的12进制计算器;3. 提高学生团队协作和沟通能力,通过小组讨论和分享,共同完成学习任务。

情感态度价值观目标:1. 培养学生对数学学科的热爱,增强学习数学的兴趣和自信心;2. 培养学生勇于探究、善于思考的科学精神,养成独立思考和质疑的习惯;3. 增强学生的创新意识,鼓励学生尝试用不同的方法解决问题,培养创新思维。

课程性质:本课程为数学学科的一节实践课,旨在通过12进制计数器的设计,让学生在实际操作中掌握进制知识,提高解决实际问题的能力。

学生特点:五年级学生具有一定的数学基础和逻辑思维能力,对新鲜事物充满好奇心,喜欢动手操作和团队协作。

教学要求:教师需结合学生特点,采用启发式、探究式教学方法,注重培养学生的实践能力和创新精神。

教学过程中,关注学生的学习进度,及时给予指导和鼓励,确保学生能够达到预期学习成果。

二、教学内容1. 引入12进制计数器概念,讲解12进制的定义和基本原理;2. 通过实例分析,介绍12进制在日常生活中的应用,如时钟的12小时制、货币的12等分等;3. 教学进制转换方法,以12进制与十进制的相互转换为切入点,让学生掌握进制转换规律;4. 引导学生探索12进制与二进制的联系,理解不同进制之间的内在联系;5. 设计实践活动,让学生动手制作简单的12进制计数器,巩固所学知识;6. 通过小组合作,设计并完成12进制计算器,培养学生的团队协作和创新能力;7. 结合教材相关章节,进行课堂讲解和案例分析,使学生系统掌握12进制计数器知识。

教学内容安排和进度:1. 第1课时:引入12进制概念,讲解基本原理和应用;2. 第2课时:教学进制转换方法,进行12进制与十进制转换练习;3. 第3课时:探索12进制与二进制的联系,理解进制之间的内在规律;4. 第4课时:动手制作12进制计数器,巩固进制知识;5. 第5课时:小组合作设计12进制计算器,展示和分享成果。

可编程硬件描述语言VHDL Quartus 十二进制计数器设计报告

可编程硬件描述语言VHDL Quartus 十二进制计数器设计报告

带允许端的十二进制计数器设计报告目录带允许端的十二进制计数器设计报告 (1)一、题目剖析 (2)二、设计思路 (2)三、设计过程 (2)1、真值表 (2)2、源代码分析 (4)四、仿真分析 (6)1、波形分析 (6)2、注意事项 (6)五、总结 (7)一、题目剖析1.带允许端:说明可以用使能信号控制,也可以用清零端控制2.十二进制:说明需要4个二进制位(0000~1011)3.计数器:说明是时序逻辑电路,需要加入始终控制二、设计思路1.用使能端(EN)和清零端(CLR)控制计数器的工作状态2.加入占空比为50%的的脉冲波(方波),在上升沿到来时计数三、设计过程1、真值表2、源代码分析四、仿真分析1、波形分析由波形分析可知,带允许端的十二进制的计数器仿真成功,计数12次后,计数值又回到0重新计数2、注意事项1、由于quartus II软件中不能注释中文,所以可以下载工具“notepad”,在notepad编辑好后再复制到quartus II中2、见仿真界面的方框,将4位输出“grouping”后,一定要注意选择“unsignedinteger”,同时还要兼顾4位输出的顺序,高位在上,地位在下,否则乱码。

五、总结1、遇到问题不要着急,应该冷静下来分析问题。

在调试代码时,发现有7个errors,其原因在于语法上出现了很多错误,比如:IF后缺少THEN;语句后忘记“;”等等。

2、波形仿真时,由于高位与低位的顺序不当,导致乱码,经过分析,调整他们的位置,将问题解决。

3、一定要理解硬件描述语言“并行”的概念,这对编程有很大的帮助。

十二进制计数器电路原理

十二进制计数器电路原理

12进制计数器在具有同步复位功能的集成计数器中使用复位法(同步复位法),和在具有异步复位功能的集成计数器中使用复位法(异步复位法)是有区别的。

这是由同步复位功能与异步复位功能动作上的差异决定的。

在同步复位功能中,当复位端有效时并不能立即复位,还必须经过CP有效边沿的触发,才能复位,这就使得用具有同步复位功能的集成计数器组成的N进制计数器没有过渡状态。

因此,采用同步复位法组成N进制计数器时,是用最后一个有效状态来控制计数器复位,不象异步复位法那样,用最后一个有效状态之后的过渡状态来控制复位。

也就是说,在同步复位法中,控制复位的状态可以作为有效计数状态,没有过渡状态。

例如:用74LS163组成12进制计数器。

我们可以从0000状态开始选择0000à0001à…à1011共12个状态为有效计数状态,状态转换图如图4-9所示。

图4-9 同步复位法12进制计数器状态转换图用末态的译码信号使复位端有效。

在加法计数器中,仍然可以用末态中为“1”的输出端相与使计数器复位端有效,组成12进制计数器。

同步复位法组成的12进制计数器电路如图4-10所示。

使用具有同步复位功能的集成计数器,采用同步复位法,组成N进制加法计数器,可以用下列方法实现:a.选择模大于N的集成计数器(N大于16,应先级联扩展)b.画集成计数器原有状态转换图c.从0000状态开始,顺序选择N个状态,确定最后一个状态为末态d.末态中为“1”的输出端相与使复位端有效、地GND;使能端有效、不用的控制输入端无效;e.连线:电源VCC连接输出端控制复位端3、异步、同步复位功能在应用上的差异总而言之,在集成计数器的应用中,采用复位法组成任意进制计数器时,应该特别注意集成计数器的复位功能。

使用异步复位功能的集成计数器组成N进制计数器时,存在一个过渡状态,在选择状态时,应该选择N+1个状态,并且,最后一个状态为过渡状态。

使用同步复位功能的集成计数器组成N进制计数器时,不存在过渡状态,在选择状态时,应该选择N个状态,并且,没有过度干扰。

实验六_同步计数器设计

实验六_同步计数器设计

实验六同步计数器设计一、实验目的和要求熟悉JK触发器的逻辑功能,掌握用JK触发器设计同步计数器。

二、实验仪器及器材三、实验预习复习时序逻辑电路设计方法。

⑴逻辑抽象,得出电路的状态转换图或状态转换表①分析给定的逻辑问题,确定输入变量、输出变量以及电路的状态数。

通常都是取原因(或条件)作为输入逻辑变量,取结果作输出逻辑变量。

②定义输入、输出逻辑状态和每个电路状态的含意,并将电路状态顺序编号。

③按照题意列出电路的状态转换表或画出电路的状态转换图。

通过以上步骤将给定的逻辑问题抽象成时序逻辑函数。

⑵状态化简①等价状态:在相同的输入下有相同的输出,并且转换到同一次态的两个状态。

②合并等价状态,使电路的状态数最少。

⑶状态分配①确定触发器的数目n。

因为n个触发器共有2n种状态组合,所以为获得时序电路所需的M个状态,必须取 2n-1<M≤2n②给每个电路状态规定对应的触发器状态组合。

⑷选定触发器类型,求出电路的状态方程、驱动方程和输出方程①根据器件的供应情况与系统中触发器种类尽量少的原则谨慎选择使用的触发器类型。

②根据状态转换图(或状态转换表)和选定的状态编码、触发器的类型,即可写出电路的状态方程、驱动方程和输出方程。

⑸根据得到的方程式画出逻辑图⑹检查设计的电路能否自启动①电路开始工作时通过预置数将电路设置成有效状态的一种。

②通过修改逻辑设计加以解决。

⑺设计步骤简图四、实验原理1.计数器的工作原理递增计数器----每来一个CP ,触发器的组成状态按二进制代码规律增加。

递减计数器-----按二进制代码规律减少。

双向计数器-----可增可减,由控制端来决定。

2.集成J-K 触发器74LS73 ⑴ 符号:见图1表1 J-K 触发器功能表图1 J-K 触发器符号⑵ 功能:见表1 ⑶ 状态转换图:⑷ 特性方程:n n n Q K Q J Q +=+1 ⑸ 注意事项:① 在J-K 触发器中,凡是要求接“1”的,一定要接高电平(例如5V ),否则会出现错误的翻转。

基于JK触发器的12归1计数器的设计与实现

基于JK触发器的12归1计数器的设计与实现

基于JK触发器的12归1计数器的设计与实现
摘要:触发器是数字电路的基本逻辑单元之一,也是构成各种时序电路的最基本逻辑单元。

文中给出了基于JK 触发器来设计十二归一计数器的设计和实现方法,并通过EWB 软件进行了仿真。

关键词:JK 触发器;12 归1;计数器;时序电路
O 引言在现实生活中,任意进制的归一应用都十分广泛。

触发器是数字电路中的基本逻辑器件,本文给出了用JK 触发器设计实现十二归一计数器的设计方法,该方法也可以扩展到设计实现任意进制的计数器。

1 计数器的基本原理根据1
2 归l 计数器的设计要求,可利用4 个JK 触发器来实现12 归1 计数器,其JK 触发器的功能表如表1 所列,计数状态表如表2 所列。

12 归1 计数器通常有两种功能,即计数和置1,通过分析JK 触发器的功能表和计数器状态表,可以看到,要实现计数,也有两种方法,即同步计数和异步计数;而要实现置1,同样也有两种方法,即利用JK 触发器的端异步置1 和直接利用J、K 端同步置1。

2 异步计数/异步置1 法的设计异步时序电路是指无统一CP,输入时钟脉冲只作用于最低位触发器,各触发器间串行连接,即状态更新逐级进行的一种计数器电路。

图1 所示就是一种异步计数器的电路图。

3 同步计数/异步置1 法的设计所谓同步时序计数器,是指有统一的CP、状态更新与CP 同步、而且共用的信号源。

分析12 归1 的状态表,可以看出:当低位全部变为1 时,高位进位。

而将JK 触发器的、端置1,即为异步置l,。

实验六同步计数器的设计实验报告参考模板

实验六同步计数器的设计实验报告参考模板

实验六同步计数器的设计学号:姓名:一、实验目的和要求1.熟悉JK触发器的逻辑功能。

2.掌握用JK触发器设计同步计数器。

二、实验仪器及器件三、实验预习1、复习时序逻辑电路设计方法。

⑴逻辑抽象,得出电路的状态转换图或状态转换表①分析给定的逻辑问题,确定输入变量、输出变量以及电路的状态数。

通常都是取原因(或条件)作为输入逻辑变量,取结果作输出逻辑变量。

②定义输入、输出逻辑状态和每个电路状态的含意,并将电路状态顺序编号。

③按照题意列出电路的状态转换表或画出电路的状态转换图。

通过以上步骤将给定的逻辑问题抽象成时序逻辑函数。

⑵状态化简①等价状态:在相同的输入下有相同的输出,并且转换到同一次态的两个状态。

②合并等价状态,使电路的状态数最少。

⑶状态分配①确定触发器的数目n。

因为n个触发器共有n2种状态组合,所以为获得时序电路所需的M个状态,必须取1≤2-n<nM2②给每个电路状态规定对应的触发器状态组合。

⑷选定触发器类型,求出电路的状态方程、驱动方程和输出方程①根据器件的供应情况与系统中触发器种类尽量少的原则谨慎选择使用的触发器类型。

②根据状态转换图(或状态转换表)和选定的状态编码、触发器的类型,即可写出电路的状态方程、驱动方程和输出方程。

⑸根据得到的方程式画出逻辑图⑹检查设计的电路能否自启动①电路开始工作时通过预置数将电路设置成有效状态的一种。

②通过修改逻辑设计加以解决。

⑺设计步骤简图图3 设计步骤简图2、按实验内容设计逻辑电路画出逻辑图。

设计思路详情见第六部分。

电路图如下:四、实验原理1.计数器的工作原理递增计数器----每来一个CP ,触发器的组成状态按二进制代码规律增加。

递减计数器-----按二进制代码规律减少。

双向计数器-----可增可减,由控制端来决定。

2.集成J-K 触发器74LS73 ⑴ 符号:图1 J-K 触发器符号 ⑵ 功能:表1 J-K 触发器功能表 CP J K n Q 1 n Q 功能 ↓ ↓ 0 0 0 0 保持0 0 1 1 ↓ ↓ 0 1 0 0 清零0 1 1 0 ↓ ↓ 1 0 0 1 置位1 0 1 1 ↓ ↓1 1 0 1 翻转111⑶ 状态转换图:图2 J-K 触发器状态转换图 ⑷ 特性方程:n n n Q K Q J Q +=+1 ⑸ 注意事项:① 在J-K 触发器中,凡是要求接“1”的,一定要接高电平(例如5V ),否则会出现错误的翻转。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告要求
• 实验目的 • 实验内容 • 实验设备
(含设备、所用器件)
四.实验设计
(状态转换表、卡诺图、状态方程、 驱动方程、逻辑图)
五.实验结果
(静态检查的结果、动态波形图)
00 1 1 0 0 1 1 0 0 1 1 0 0
01 0 1 0 1 0 1 0 1 0 1 0 1
线接好后 1.静态检查是否能按顺序计数; 2.接着连好动态的线,查看波形; 3.完成实验报告; 4.检查、签名后,拔线、关电脑后方可离开; 5.注意带走自己的东西(特别是垃圾),把椅
子放回原位。
74LS08
1 2 3 4 5 6 7地
2 3
Vcc 14 13 12 11 10 9 8
74LS00
1 2 3 4 5 6 7地
0 1
Vcc 14 13 12 11 10 9 8
74LS08
1 2 3 4 5 6 7地
2 3
Vcc 14 13 12 11 10 9 8
74LS00
1 2 3 4 5 6 7地
2 3
Vcc 14 13 12 11 10 9 8
74LS00
1 2 3 4 5 6 7地
0 1
Vcc 14 13 12 11 10 9 8
74LS08
1 2 3 4 5 6 7地
2 3
Vcc 14 13 12 11 10 9 8
74LS00
1 2 3 4 5 6 7地
0 1
Vcc 14 13 12 11 10 9 8

Vcc 14 13 12 11 10 9 8
74LS08
1 2 3 4 5 6 7地
接开关,设置为1
“1”
“1”
2
3
功能脚设置
0 1
Vcc 14 13 12 11 10 9 8
74LS00
1 2 3 4 5 6 7地
Vcc 14 13 12 11 10 9 8
74LS08
1 2 3 4 5 6 7地
74LS00
Vcc 14 13 12 11 10 9 8
1 2 3 4 5 6 7地
74LS08
Vcc 14 13 12 11 10 9 8
1 2 3 4 5 6 7地
时序电路设计步骤
1.确定电路所需的触发器数目。 2.列出计数器的状态转换图。 3.根据状态转换图画出状态转换表。 4.根据状态转换表,写出J-K触发器的状态方程和
驱动方程。 5.检查自启动性。 6 .画出逻辑图。
设计过程
1.确定电路所需的触发器数目。 2.列出计数器的状态转换图。 3.根据状态转换图画出状态转换表。 4.根据状态转换表,写出J-K触发器的状态方程和驱动方程。 5.检查自启动性。 6 .画出逻辑图。
4
1.确定电路所需的触发器数目。 2.列出计数器的状态转换图。 3.根据状态转换图画出状态转换表。 4.根据状态转换表,写出J-K触发器的状态方程和驱动方程。 5.检查自启动性。 6 .画出逻辑图。
74LS00
1 2 3 4 5 6 7地
0 1
Vcc 14 13 12 11 10 9 8
74LS08
1 2 3 4 5 6 7地
2 3
Vcc 14 13 12 11 10 9 8
74LS00
1 2 3 4 5 6 7地
0 1
Vcc 14 13 12 11 10 9 8
74LS08
1 2 3 4 5 6 7地
11 10 09 08 07 06
2.静态检查:用逻辑开关模拟输入的非BCD码,并把输出 接“0~1”显示器检查,触发器CP端接单脉冲,看电路工 作是否正常。
3.动态检查:触发器CP端接连续脉冲,用示波器观察输 出的波形。
所用器件:109 X 2、00 X 1、08 X 1
所用器件
109 X 2、00 X 1、08 X 1
2 3
Vcc 14 13 12 11 10 9 8
74LS00
1 2 3 4 5 6 7地
10
0 1
Vcc 14 13 12 11 10 9 8
74LS08
1 2 3 4 5 6 7地
电源/地
+5V
10
2 3
Vcc 14 13 12 11 10 9 8
74LS00
1 2 3 4 5 6 7地
0
1
1.确定电路所需的触发器数目。 2.列出计数器的状态转换图。 3.根据状态转换图画出状态转换表。 4.根据状态转换表,写出J-K触发器的状态方程和驱动方程。 5.检查自启动性。 6 .画出逻辑图。
➢ 分别检查1100、1101、1110、1111能否 进入有效循环里面
1.确定电路所需的触发器数目。 2.列出计数器的状态转换图。 3.根据状态转换图画出状态转换表。 4.根据状态转换表,写出J-K触发器的状态方程和驱动方程。 5.检查自启动性。 6 .画出逻辑图。
实验四 同步计数器的设计
实验目的
1. 熟悉J-K触发器的逻辑功能。 2. 掌握J-K触发器构成同步计数器。
实验内容
1.用JK触发器和门电路设计一个特殊12进制计数 器,要求使用权的排列为8421的非BCD码,即允许 使用1010及以后各码,其十进制数的状态转移图为:
00 01 02 03 04 05
静态检查
0000
0001
单脉冲每按一下,输出就按 0 0 1 0
照状态转换表进行状态变换。00
0 1
1 0
1 0
0101
0110
0111
1000
1001
1010
1011
0000
动态检查
1 2 3 4 5 6 7 8 9 10 11 12 13
CP
00 0 0 0 0 0 0 1 1 1 1 0 0 00 0 0 1 1 1 1 0 0 0 0 0 0
2 3
接输出
10
0 1
Vcc 14 13 12 11 10 9 8
74LS00
1 2 3 4 5 6 7地
Vcc 14 13 12 11 10 9 8
74LS08
1 2 3 4 5 6 7地
实验要求
1. 搭建电路,进行实验的验证: ➢ 静态检查
4个109的CP引脚接“单脉冲”,逐个查看 输出状态。 ➢ 动态检查 4个109的CP引脚接“连续脉冲”,用示波 器查看动态波形。 2. 确认无误后写实验报告 3. 完成之后检查方可离开
0 1
Vcc 14 13 12 11 10 9 8
74LS08
1 2 3 4 5 6 7地
2 3
Vcc 14 13 12 11 10 9 8
74LS00
1 2 3 4 5 6 7地
0 1
Vcc 14 13 12 11 10 9 8
74LS08
1 2 3 4 5 6 7地
2 3
Vcc 14 13 12 11 10 9 8
0000 0 0 0 1
0001 0 0 1 0
0010 0 0 1 1
0011 0 1 0 0
0100 0 1 0 1
0101 0 1 1 0
0110 0 1 1 1
0111 1 0 0 0
1000 1 0 0 1
1001 1 0 1 0
1010 1 0 1 1
1011 0 0 0 0
1.确定电路所需的触发器数目。 2.列出计数器的状态转换图。 3.根据状态转换图画出状态转换表。 4.根据状态转换表,写出J-K触发器的状态方程和驱动方程。 5.检查自启动性。 6 .画出逻辑图。
Q3Q2Q1Q0
0000 0001 0010 0011
1011
0100
111 0110
1.确定电路所需的触发器数目。
2.列出计数器的状态转换图。
3.根据状态转换图画出状态转换表。
4.根据状态转换表,写出J-K触发器的状态方程和驱动方程。
5.检查自启动性。
6 .画出逻辑图。
相关文档
最新文档