文档库 最新最全的文档下载
当前位置:文档库 › 100进制同步计数器设计

100进制同步计数器设计

100进制同步计数器设计
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;

Component jtd --交通灯控制器

PORT

(

CLKIN:IN STD_LOGIC; --50MHZ

R1,G1,R2,G2,R3,G3,R4,G4:OUT STD_LOGIC; --红绿灯信号输出

GAO,DI:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) --倒计时输出);

END Component;

END my_pkg;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE work.my_pkg.ALL; --打开程序包

ENTITY Demo3 IS

PORT (CRl:IN STD_LOGIC;

ENl:IN STD_LOGIC;

CLKIN: IN STD_LOGIC;

LEDLOW,LEDHIGH: OUT STD_LOGIC_VECTOR(6 downto 0));

END Demo3;

ARCHITECTURE behv OF Demo3 IS

SIGNAL CLKTEMP: STD_LOGIC; --定义中转信号

SIGNAL LEDLOWTEMP,LEDHIGHTEMP:STD_LOGIC_VECTOR(3 downto 0);

BEGIN

u1:freq_div PORT MAP(CLKIN,CLKTEMP); --位置关联方式

u2:CNT60 PORT

MAP(CR=>CRl,EN=>ENl,CLK=>CLKTEMP,OUTLOW=>LEDLOWTEMP,OUTHIGH=>LEDHIGHTE MP); --名字关联方式

u3:led_decoder PORT MAP(LEDLOWTEMP,LEDLOW); --低位数码管输出u4:led_decoder PORT MAP(LEDHIGHTEMP,LEDHIGH); --高位数码管输出END behv;

LIBRARY ieee;

USE ieee.std_logic_1164.all;

ENTITY freq_div IS

PORT

(

clkinput : IN STD_LOGIC;

output : OUT STD_LOGIC

);

END freq_div;

ARCHITECTURE rt OF freq_div IS

SIGNAL count_signal : INTEGER RANGE 0 TO 25000000;

signal mid1 : STD_LOGIC ;

BEGIN

PROCESS (clkinput)

BEGIN

IF (clkinput'EVENT AND clkinput = '1') THEN

if count_signal=24999999 then --50MHz division to 1Hz

count_signal <= 0;

mid1<= not mid1;

else

count_signal <= count_signal + 1;

end if;

output <= mid1;

end if;

END PROCESS;

end rt;

--文件名:decoder.vhd

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity led_decoder is

Port (din:in std_logic_vector(3 downto 0 ); --四位二进制码输入seg:out std_logic_vector(6 downto 0) ); --输出LED七段码end led_decoder;

architecture Behavioral of led_decoder is

begin

process(din)

begin

case din is

when "0000" =>

seg<="1000000";--0

when "0001" => seg<="1111001";--1

when "0010" => seg<="0100100";--2

when "0011" => seg<="0110000";--3

when "0100" => seg<="0011001";--4

when "0101" => seg<="0010010";--5

when "0110" => seg<="0000010";--6

when "0111" => seg<="1011000";--7

when "1000" => seg<="0000000";--8

when "1001" => seg<="0010000";--9

when others => seg<="0000110";--E

end case;

end process;

end Behavioral;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNT60 IS

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 CNT60;

ARCHITECTURE behav OF CNT60 IS

BEGIN

PROCESS(CLK,CR,EN)

BEGIN

if CR='1' then

OUTHIGH<="0000";

OUTLOW<="0000";

elsif EN ='1'then

IF CLK'EVENT AND CLK='1' THEN

IF OUTHIGH="1001" AND OUTLOW="1001" THEN

OUTHIGH<="0000";

OUTLOW<="0000";

ELSIF OUTLOW="1001" THEN

OUTHIGH<=OUTHIGH+1;

OUTLOW<="0000";

ELSE OUTLOW<=OUTLOW+1;

END IF;

END IF;

END IF;

END PROCESS;

END behav;

2.仿真结果以及说明

①. 分频器仿真结果:

经过多次仿真,发现按照实验要求分频出1HZ的频率是无法仿真出需要的结果的,因为时钟脉冲太多,QuartusII显示不了。因此我在代码中修改了下,改成每25次高电平计数器加一,实现分频后为1MHZ的频率,仿真出上图的波形。仿真结果与分频后的频率一致。

②. 计数器仿真结果:

计数器代码仿真波形如上图,实现了实验要求的功能,实现了100进制的自加计数器。当使能EN=1时,计数器开始自动增加;当CLR=1时,计数器清零;当各位计数到9的时候,十位自动增加1;当计数到99之后,计数器自动清零,开始重新的自加;仿真结果与计数器功能一致。

3. 程序下载及运行情况说明

四、实验总结:

通过这次的可编程逻辑器件应用课,我对QuartusⅡ软件的使用与CPLD/FPGA设计有进一步了解与掌握。实验通过一个简单的实例来演示如何使用Quartus II在做一个0~100的计数器。

虽然有许多不懂,但经过查询资料,使我克服困难,同时加深了对可编程逻辑器件应用与开发这门课的兴趣,我相信,以后能更好运用其中知识。

数字电路设计--------二十四进制计数器

数字电路设计 姓名:*** 学号:****************** 班级:电信111 专业:电子信息科学与技术 一.设计题目 二十四进制计数器的设计 二.设计要求 (1)要求学生掌握74系列的芯片和LED的原理和使用方法。 (2)熟悉集成电路的使用方法,能够运用所学的知识设计一规定的电路。三.设计任务 (1)完成一个二十四进制的计数器。 (2)LED显示从00开始,各位计数从0—9,逢10 进1,是为计数0—5。23显示后,又从00重新开始计数。 四.设计思路与原理 (一)设计思路框图 →→→ → (二)LED简介 LED是一种显示字段的显示器件,7个发光二极管构成七笔字形“8”,一个发光二极管构成小数点。七段发光管分别称为a、b、c、d、e、f,g,构成字型“8”,如图(a)

所示,当在某段发光二极管上施加一定的电压时,某些段被点亮发光。不加电压则变暗,为了保护各段LED不被损坏,需外加限流电阻。 其真值表如下:

(三)原件总汇表:计数器74LS00D(U7A,U7B),74HC390N-6V(U3A,U6A),74LS47N(U1,U5);与门:时钟脉冲:显示器:发光二极管:电感:电容:电源 五.电路图仿真 二十四进制计数器电路仿真

六.心得体会 通过这一次的数字电路设计,是我更深的了解到了数字电路的基础知识,电路分析与计算的方法。利用仿真软件对电路进行一系列的分析仿真,更加抽象的将理论知识与实际电路结合在一起,加深了对数电一些基本定理的理解与运用。虽然在这学期中,数字电子技术基础学的不是很好,但是在这次的课程设计中通过同学的帮组还是完成了。虽然做的不是很好,但是从中也让我明白了:要想做好这个课程设计,就必须认认真真地去做,不要怕麻烦,遇到不懂的问题就要主动去问同学或者老师。和查阅材料,保持着一个积极向上的心态,发挥我们自己的主观能动性和创造了才能让我们做的更好。在这次课程设计中让我学到了很多东西,在经过我们一个学期的数字电子技术基础课后,我们已经对数字电子技术有一定的了解,让我们有了一定的基础可以独立完成数字电子技术基础课程设计了,不过当中还是遇到许多不懂的问题。

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;

设计一个24进制计数器(时序逻辑电路设计实验 )

阶段性考核之三:【平时成绩15分】 时序逻辑部分设计型实验报告 实验题目设计一个24进制计数器 学生姓名 班级 学号 任课教师 实验成绩 完成时间2015年07月20号

实验题目设计一个24进制计数器 实验目的 本次实验要求学生设计一个24进制计数器电路。其目的在于: 1.使学生学会用555定时器自行产生时钟脉冲的设计方法; 2.使学生深入理解用已有集成计数器实现任意进制计数器的设计过 程,并用数码管显示相应数字; 3.进一步锻炼学生的动手实践能力。 具体实验要求 选用4位二进制集成计数器74LS161设计一个24进制计数器。 1.试用整体清零法仿真实现上述24进制计数器; 2.试用整体置数法仿真实现上述24进制计数器。 3.要求用实物搭接时实现上述1、2中任意一种情况即可。 4.24进制要求必须用74LS161实现,不允许用74LS160。 5.用数码管显示24个状态对应的十进制数 6.在该实验报告中要有完整的设计过程、仿真电路图和实验调试过程。 7.总结本次实验的收获、体会以及建议,填入本实验报告的相应位置 中。【收获、体会必须写!】 设计过程 一.用555定时器实现秒脉冲的设计过程 555 定时器是一种模拟和数字功能相结合的中规模集成器件。R是复位端,当其为0时,555输出低电平,平时该端开路或接VCC。Vc是控制电压端(5脚),平时输出2/3VCC作为比较器A1的参考电平,当5脚外接一个输入电压,即改变了比较器的参考电平,从而实现对输出的另一种控制,在不接外加电压时,通常接一个0.01uf的电容器到地,起滤波作用,以消除外来的干扰,以确保参考电平的稳定。T为放电管,当T导通时,将给接于脚7的电容器提供低阻放电电路。555 定时器成本低,性能可靠,只需要外接几个电阻、电容,就可以实现多谐振荡器、单稳态触发器及施密特触发器等脉冲产生与变换电路。 对于555定时器构成的多谐振荡电路所产生的脉冲的周期,依据公式周期T=(R1+2R2)Cln2 可以求得,当C2为0.01uF,若C1取22uF,可计算出R1+2R2=66kΩ时可得到周期为1s,频率为1Hz的振荡信号,所以令R1=34kΩ,R2=16kΩ。 二.整体清零法实现24进制计数器 1.设计过程: 要实现整体清零,就要利用R D 端进行清零(在实际器件的端口是CLR端),即将24 进制最终清零信号分别接入两个74LS161芯片的R D 端,以实现整体清零,考虑到清

24进制计数器设计报告.doc

24进制计数器设计报告 单时钟同步24进制计数器课程设计报告1.设计任务1.1设计目的1.了解计数器的组成及工作原理。 2.进一步掌握计数器的设计方法和计数器相互级联的方法。 3.进一步掌握各芯片的逻辑功能及使用方法。 4.进一步掌握数字系统的制作和布线方法。 5.熟悉集成电路的引脚安排。 1.2设计指标1.以24为一个周期,且具有自动清零功能。 2.能显示当前计数状态。 1.3设计要求1.画出总体设计框图,以说明计数器由哪些相对独立的功能模块组成,标出各个模块之间互相联系,时钟信号传输路径、方向。 并以文字对原理作辅助说明。 2.设计各个功能模块的电路图,加上原理说明。 3.选择合适的元器件,利用multisim仿真软件验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在确定电路充分正确性同时,输入信号和输出方式要便于电路的测试和故障排除。 4.在验证各个功能模块基础上,对整个电路的元器件和布线进行合理布局。 5.打印PCB板,腐蚀,钻孔,插元器件,焊接再就对整个计数器电路进行调试。

2.设计思路与总体框图.计数器由计数器、译码器、显示器三部分电路组成,再由555定时器组成的多谐振荡器来产生方波,充当计数脉冲来作为计数器的时钟信号,计数结果通过译码器显示。 图1所示为计数器的一般结构框图。 十位数码显示管译码驱动异步清零计数器计数脉冲(由555电路产生)个位位数码示像管译码驱动异步清零计数器强制清零▲图1计数器结构框图3.系统硬件电路的设计3.1555多谐荡电路555多谐振荡电路由NE555P芯片、电阻和电容组成。 由NE555P的3脚输出方波。 ▲图2555电路3.2计数器电路集成计数芯片一般都设置有清零输入端和置数输入端,而且无论是清零还是置数都有同步和异步之分。 有的集成计数器采用同步方式,即当CP触发沿到来时才能完成清零或置数任务;有的集成计数器则采用异步方式,即通过触发器的异步输入端来直接实现清零或置数,与CP信号无关。 本设计采用异步清零。 由2片十进制同步加法计数器74LS160(图2-1-1)、一片与非门74LS00(图2-1-2)和相应的电阻、开关。 由外加送来的计数脉冲(由555电路产生)送入两个计数器的CLK端,电路在计数脉冲的作用下按二进制自然序依次递增1,当个位计数到9时,输出进位信号给十位充当使能信号进位。

数字电路设计--------二十四进制计数器

数字电路设计 姓名: *** 学号: ****************** 班级:电信 111 专业:电子信息科学与技术 一.设计题目 二十四进制计数器的设计 二.设计要求 (1)要求学生掌握74系列的芯片和LED的原理和使用方法。 (2)熟悉集成电路的使用方法,能够运用所学的知识设计一规定的电路。 三.设计任务 (1)完成一个二十四进制的计数器。 (2)LED显示从00开始,各位计数从0—9,逢10 进1,是为计数0—5。23显示 后,又从00重新开始计数。 四.设计思路与原理 (一)设计思路框图 →→→ → (二)LED简介 LED是一种显示字段的显示器件,7个发光二极管构成七笔字形“8”,一个发 光二极管构成小数点。七段发光管分别称为a、b、c、d、e、f,g,构成字型“8”,如图 (a)所示,当在某段发光二极管上施加一定的电压时,某些段被点亮发光。不加电压则变 暗,为了保护各段LED不被损坏,需外加限流电阻。

其真值表如下: (三)原件总汇表:计数器74LS00D(U7A,U7B),74HC390N-6V(U3A,U6A),74LS47N(U1,U5);与门:时钟脉冲:显示器:发光二极管:电感:电容:电源 五.电路图仿真 二十四进制计数器电路仿真

六.心得体会 通过这一次的数字电路设计,是我更深的了解到了数字电路的基础知识,电路分析与计算的方法。利用仿真软件对电路进行一系列的分析仿真,更加抽象的将理论知识与实际电路结合在一起,加深了对数电一些基本定理的理解与运用。虽然在这学期中,数字电子技术基础学的不是很好,但是在这次的课程设计中通过同学的帮组还是完成了。虽然做的不是很好,但是从中也让我明白了:要想做好这个课程设计,就必须认认真真地去做,不要怕麻烦,遇到不懂的问题就要主动去问同学或者老师。和查阅材料,保持着一个积极向上的心态,发挥我们自己的主观能动性和创造了才能让我们做的更好。在这次课程设计中让我学到了很多东西,在经过我们一个学期的数字电子技术基础课后,我们已经对数字电子技术有一定的了解,让我们有了一定的基础可以独立完成数字电子技术基础课程设计了,不过当中还是遇到许多不懂的问题。

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定时电路的原理以及应用有了更为深刻的认识。在动手焊接电路时,无形中加深了自己的动手能力,在调试过程中培养了自我总结,发现问题解决问题的能力。

24进制计数器

24进制计数器的VHDL语言设计 默认分类2008-01-11 09:55:57 阅读1772 评论4 字号:大中小 摘要: 介绍了使用VHDL语言设计24进制计数器, 给出了功能仿真波形, 举例说明了实现电子设计自动化(EDA ) 的过程。 关键词: VHDL语言; 24进制计数器; 功能仿真; 电子设计自动化 一、前言: EDA技术的应用:电子EDA技术发展迅猛,逐渐在教学、科研、产品设计与制造等各方面都发挥着 巨大的作用: 在教学方面:让学生了解EDA的基本原理和基本概念、描述系统逻辑的方法、使用工具进行电子电路课程的模拟仿真实验并在作毕业设计时从事简单电子系统的设计,为今后工作打下基础。具有代表性的 是全国每两年举办一次大学生电子设计竞赛活动。 在科研方面:主要利用电路仿真工具进行电路设计与仿真;利用虚拟仪器进行产品调试;例如在CDMA无线通信系统中,所有移动手机和无线基站都工作在相同的频谱,为区别不同的呼叫,每个手机有一个唯一的码序列,CDMA基站必须能判别这些不同观点的码序列才能分辨出不同的传呼进程;这一判别是通过匹配滤波器的输出显示在输人数据流中探调到特定的码序列;FPGA能提供良好的滤波器设计,而且能完成DSP高级数据处理功能,因而FPGA在现代通信领域方面获得广泛应用。 在产品设计与制造方面:从高性能的微处理器、数字信号处理器一直到彩电、音响和电子玩具电路等,EDA技术不单是应用于前期的计算机模拟仿真、产品调试,而且也在P哪的制作、电子设备的研制与生产、电路板的焊接、朋比的制作过程等有重要作用。可以说电子EDA技术已经成为电子工业领域不可缺 少的技术支持。 EDA技术发展趋势:EDA技术在进入21世纪后,,在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断更新、增加,使电子EDA技术得到了更大的发展,突出表现在以下几个方面:使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;基于EDA工具的ASIC设计标准单元已涵盖大规模电子系统及IP核模块;软硬件IP核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认;SoC高效低成本设计技术的成熟。随着半导体技术、集成技术和计算机技术的迅猛发展,电子系统的设计方法和设计手段都发生了很大的变化。可以说电子EDA技术是电子设计领域的一场革 本文用VHDL语言设计了一个24进制计数器, 举例说明利用VHDL语言实现电子设计自动化(EDA) 的过程 二、24进制计数器的设计 24进制计数器设计VHDL语言: LIBRARY IEEE;

100进制计数器报告

南京信息工程大学 数字逻辑实验报告 姓名:尤天羽 院(系):电子与信息工程学院 专业:电子信息工程 学号:20111305046 指导教师:裴晓芳 南京信息工程大学电子与信息工程学院 2011-06-04 基于TTL芯片74LS163 设计模为100的计数器 一、引言 基于TTL芯片74LS163,利用芯片级联设计并实现一个100进制计数器的逻辑功能,通过电路的仿真和数电实验想进行硬件验证,进一步了解

计数器的特性和功能。 二、电路设计和分析 2.1理论分析 获取100进制计数器的常用的方法有两种:一是用时钟触发器和门电路进行设计;二是用集成计数器构成。本题制定用集成芯片74LS163来实现功能,故选用方案二。由于集成计数器是产家生产的定型产品,其函数关系已被固化在芯片中,状态分配即编码是不能更改的,而且多为纯自然态序编码,因此仅是利用清零端或置数端控制,让电路跳过某些状态而获得100进制计数器。从74LS163的状态表可知(如图一所示),74LS163的清零和置数均采用同步方式。 本次试验的主要设计理念为:采用数码管显示计数数值,个位显示到9时,下一个上升沿到来时,个位清零,同时向十位进位;同理显示结果为99时,下一个上升沿到来,则归零,继续开始下一轮计数。 2.2主要步骤 1、写出状态{EMBED Equation.KSEE3 \* MERGEFORMAT | S的 N 1 二进制代码 = = = 1001 2、求归零逻辑 = = 3、进位设计 由于74LS163是十六进制计数器,即计满16个数才能使进位端CO 有效,而本题计满10个数就要进位,所以要给CO一个特定的脉冲,给清零端的脉冲正好能满足这个要求。即当=1001时,CO得到一个下降沿,=1010时,CO得到一个上升沿,使进位端有效,与此同时,清零端也有效,完美的实现了清零和进位,比如从29到30。 4、电路仿真 如图二所示 74LS163功能真值表 输入输出 CP CO

EDA 24进制计数器的设计

《EDA技术》课程实验报告 学生姓名:黄红玉 所在班级:电信100227 指导教师:高金定老师 记分及评价: 一、实验名称 实验1:24进制计数器的设计 二、任务及要求 【基本部分】5分 1、在QuartusII平台上,采用原理图输入设计方法,调用两片74160十进制计数器,采 用反馈置数法,完成一个24进制同步计数器的设计,并进行时序仿真。 2、要求具备使能功能和异步清零功能。 3、设计完成后生成一个元件,以供更高层次的设计调用。 4、实验箱上选择恰当的模式进行验证,目标芯片为ACEX1K系列EP1K30TC144-3。 三、实验程序(原理图) 四、仿真及结果分析

在QuartusII平台上,采用原理图输入设计方法,调用两片74160十进制计数器,采用反馈置数法,设计一个24进制同步计数器的思路是,一片74160计数器作为个位计数,一片用来十位计数,要实现同步24进制,则个位接成0011,十位接成0010,再用一个四输入(一段接一个使能信号EN)的与非门接到两片74160计数器上的置数端LDN。把原理图在QuartusII上画成后,进行编译,编译无误后,在新建一个波形文件,添加所有引脚,设置输入引脚的波形,最后在进行波形编译,无误后即可达到想要的24进制。然后再根据EPF10K30E144芯片引脚对照,输入各个输入输出引脚的引脚号,再链接到试验箱检验,观察数码管的显示结果。 五、硬件验证 1、选择模式:模式7 2、引脚锁定情况表: 六、小结 经过这次的实验工作,让我知道了许多的东西,也对QuartusII这个软件的一个初步认识及应用,也让我了解了许多在书本上所学不到的知识和技能,这为我们在以后的工作起了非常重要的作用。

数字式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,

十进制4位加法计数器设计

洛阳理工学院 十 进 制 4 位 加 法 计 数 器 系别:电气工程与自动化系 姓名:李奇杰学号:B10041016

十进制4位加法计数器设计 设计要求: 设计一个十进制4位加法计数器设计 设计目的: 1.掌握EDA设计流程 2.熟练VHDL语法 3.理解层次化设计的内在含义和实现 设计原理 通过数电知识了解到十进制异步加法器的逻辑电路图如下 Q3 则可以通过对JK触发器以及与门的例化连接实现十进制异步加法器的设计 设计内容 JK JK触发器的VHDL文本描述实现: --JK触发器描述 library ieee; use ieee.std_logic_1164.all; entity jk_ff is

port( j,k,clk: in std_logic; q,qn:out std_logic ); end jk_ff; architecture one of jk_ff is signal q_s: std_logic; begin process(j,k,clk) begin if clk'event and clk='0' then if j='0' and k='0' then q_s <= q_s; elsif j='0' and k='1' then q_s <= '0'; elsif j='1' and k='0' then q_s <= '1'; elsif j='1' and k='1' then q_s <= not q_s; end if; end if; end process; q <= q_s; qn <= not q_s; end one; 元件门级电路: 与门VHDL文本描述实现: --与门描述library ieee; use ieee.std_logic_1164.all;

计数器及数码显示实验报告

北华航天工业学院 课程设计报告(论文) 课设名称: EDA技术与应用 设计课题:计数器及数码显示综合设计 专业班级: B12241 学生姓名:白冬雪田尉均 指导教师:齐建玲 设计时间: 2014年 12月 15日

北华航天工业学院电子工程系 EDA 课程设计任务书 姓名:白冬雪田 尉均 专业: 测控技术与 仪器 班级:B12241 指导教师:齐建玲职称:教授 课程设计题目:计数器及数码显示综合设计 已知技术参数和设计要求: ①总体设计要求:设计一个能在7段数码管上动态刷新显示十进制、十二进制、六十进制、四位二进制计数器计数结果的VHDL语言程序并在EDA实验开发系统上实现该功能。 ②技术要点:VHDL语言编辑程序、共阴7段数码管及FPGA可编程芯片的工作原理与连线。 所需仪器设备:实验箱,电脑 成果验收形式:实验报告,硬件实验结果 参考文献: 李国洪、胡辉、沈明山等编著《EDA技术与实验》—机械工业出版社出版。 时间安排 2014年12月14日-15日编辑VHDL语言程序 2014年12月16日硬件调试程序 2014年12月17日实验箱答辩验收 指导教师:齐建玲教研室主任:王晓 2014年 12月 17日

内容摘要 用VHDL语言在MAX+PLUS2环境下 设计一个带使能输入、进位输出及同步清零的十进制计数器。 设计一个带使能输入及同步清零的十二进制计数器。 设计一个带使能输入及同步清零的六十进制加法计数器。 设计一个四位二进制可逆计数器。 设计一个共阴7段数码管控制接口,在时钟信号的控制下,使六位数码管动态刷新显示上述计数器的计数结果。 最后在EDA实验开发系统实验操作。

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;

24进制计数器设计VHDL语言

24进制计数器设计VHDL语言: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ESJZ IS PORT( CLK :IN STD_LOGIC; --时钟 EN :IN STD_LOGIC; --使能端 CR :IN STD_LOGIC; --清零端,低电平有效 LD :IN STD_LOGIC; --数据载入控制,低电平有效 D :IN STD_LOGIC_VECTOR(5 DOWNTO 0); --载入数据端CO : OUT STD_LOGIC; --进位 Q :OUT STD_LOGIC_VECTOR(5 DOWNTO 0) --计时输出); END ESJZ ; ARCHITECTURE a OF ESJZ IS SIGNAL QN :STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN --进位控制 CO<='1' WHEN(QN=X"23" AND EN='1') ELSE'0'; PROCESS(CLK,CR) BEGIN IF (CR='0')THEN

QN<="000000"; ELSE IF (CLK'EVENT AND CLK='1') THEN IF (LD='0') THEN --数据加载 QN<=D; ELSIF(EN='1') THEN IF (QN(3 DOWNTO 0)=3 and QN(5 DOWNTO 4)=2) or QN(3 DOWNTO 0)=9 THEN QN(3 DOWNTO 0)<="0000"; --个位数进位 IF QN(5 DOWNTO 4)=2 THEN QN(5 DOWNTO 4)<="00"; --十位数进位 ELSE QN(5 DOWNTO 4)<= QN(5 DOWNTO 4)+1; END IF; ELSE QN(3 DOWNTO 0)<= QN(3 DOWNTO 0)+1; END IF ; END IF; END IF ; END IF; END PROCESS; Q<=QN; end a;

24进制计数器设计报告

1. 设计任务 1.1 设计目的 1. 了解计数器的组成及工作原理。 2. 进一步掌握计数器的设计方法和计数器相互级联的方法。 3. 进一步掌握各芯片的逻辑功能及使用方法。 4. 进一步掌握数字系统的制作和布线方法。 5. 熟悉集成电路的引脚安排。 1.2 设计指标 1. 以24为一个周期,且具有自动清零功能。 2. 能显示当前计数状态。 1.3 设计要求 1. 画出总体设计框图,以说明计数器由哪些相对独立的功能模块组成,标出各个模块之间互相联系,时钟信号传输路径、方向。并以文字对原理作辅助说明。 2. 设计各个功能模块的电路图,加上原理说明。 3. 选择合适的元器件,利用multisim仿真软件验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在确定电路充分正确性同时,输入信号和输出方式要便于电路的测试和故障排除。 4. 在验证各个功能模块基础上,对整个电路的元器件和布线进行合理布局。 5.打印PCB板,腐蚀,钻孔,插元器件,焊接再就对整个计数器电路进行调试。 2.设计思路与总体框图. 计数器由计数器、译码器、显示器三部分电路组成,再由555定时器组成的多谐振荡器来产生方波,充当计数脉冲来作为计数器的时钟信号,计数结果通过译码器显示。图1所示为计数器的一般结构框图。

▲图 1 计数器结构框图 3.系统硬件电路的设计 3.1 555多谐荡电路 555多谐振荡电路由NE555P 芯片、电阻和电容组成。由NE555P 的3脚输 出方波。 ▲图 2 555电路

3.2 计数器电路 集成计数芯片一般都设置有清零输入端和置数输入端,而且无论是清零还是置数都有同步和异步之分。有的集成计数器采用同步方式,即当CP触发沿到来时才能完成清零或置数任务;有的集成计数器则采用异步方式,即通过触发器的异步输入端来直接实现清零或置数,与CP信号无关。 本设计采用异步清零。由2片十进制同步加法计数器74LS160(图2-1-1)、一片与非门74LS00(图2-1-2)和相应的电阻、开关。 由外加送来的计数脉冲(由555电路产生)送入两个计数器的CLK端,电路在计数脉冲的作用下按二进制自然序依次递增1,当个位计数到9时,输出进位信号给十位充当使能信号进位。当计数到24,这显示器个位输出0010(也就是4),显示器十位输出0010也就是2),显示器十位计数器只有QC端有输出,显示器个位计数器只有QB端有输出,将十位的QC、个位的QB端接一个二输入与非门,与非门输出一路送入十位计数器的清零端,一路送入个位计数器的清零端,将整个电路清零,完成周期为24的计数。 3.3 译码和显示电路 由2个74LS48 和2个数码管组成驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。 数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管。 3.4 强制清零 按下复位开关使两计数器的CR端强制为低电平从而进行强制清零。

VHDL设计一个24进制BCD码计数器。

: 设计一个24进制BCD码计数器。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY h24 IS PORT( CLK1HZ : IN STD_LOGIC; EN : IN STD_LOGIC; LOW : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); HIGH : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END h24; ARCHITECTURE rtl of h24 IS SIGNAL LOW_REG : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"; SIGNAL HIGH_REG : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"; SIGNAL CLR : STD_LOGIC:='0'; BEGIN --个位计数 LOW_PROC:PROCESS(CLK1HZ,EN,CLR) BEGIN IF rising_edge(CLK1HZ) THEN IF EN = '1' THEN IF LOW_REG = "1001" OR CLR = '1' THEN --23:59进位 LOW_REG <= "0000"; ELSE LOW_REG <= LOW_REG + '1'; END IF; END IF; END IF; END PROCESS; LOW <= LOW_REG; --十位计数

verilog八位十进制计数器实验报告附源代码修订版

v e r i l o g八位十进制计数器实验报告附源代码 修订版 IBMT standardization office【IBMT5AB-IBMT08-IBMT2C-ZZT18】

8位10进制计数器实验报告 一、实验目的 学习时序逻辑电路 学会用verilog语言设计时序逻辑电路 掌握计数器的电路结构 掌握数码管动态扫描显示原理 二、实验内容 实现一个8bit十进制(BCD码)计数器 端口设置: 用拨动开关实现复位和使能 LED灯来表示8位数据 用数码管显示16进制的八位数据 1.复位时计数值为8‘h0 2.复位后,计数器实现累加操作,步长为1,逢9进1,,计数值达到8‘h99后,从0 开始继续计数 3.使能信号为1时正常计数,为0时暂停计数,为1时可继续计数。

4.每0.5s计数值加1 5.8位的结果显示在LED灯上,其中LED灯亮表示对应的位为1,LED灯灭表示对应的灯 为0 6.用isim进行仿真,用forever语句模拟时钟信号输入,并给变量赋值仿真initial 语句。 7.用7段数码管的后两位显示16进制下8位结果。 三、实验结果 烧写结果: 拨动reset开关到1时,LED灯显示10010000,7段数码管显示“90”。 之后拨动WE开关呢,开始计数,LED开始变化并且7段数码管开始计数。从99后到达00,LED重新开始从00000000开始亮,且数码管重新从00开始计数。 之后拨动WE开关,暂停计数,LED暂停亮灭,七段数码管暂停变化,WE拨回1,继续计数。 拨动复位信号时,无视WE信号,直接复位。 仿真结果: 当输入reset信号时波形变化如下 当达到一个扫描信号的周期时的波形如下

24进制计数器

课程设计24进制计数电路 专业:XXX 班级:XXX 姓名:XXX 学号:888 指导老师:XXX

一、计数器简介 计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D 触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。 计数器按照计数进制把计数器分为二进制计数器、十进制计数器等等。本设计是24进制计数器,为数字钟模块之一。 二、计数器设计框图 三、 译码显示译码显示 改进为二十四进制计数器 74ls160 74ls160 脉冲输入 复位按钮

通过单刀双掷开关选择计数脉冲 选择计数脉冲,其中,按钮式计数脉冲输入端,每按下一次,计数加一。 四、秒计数脉冲 555定时器是一种模拟电路和数字电路相结合的中规模集成器件,它性能优良,适用范围很广,外部加接少量的阻容元件可以很方便地组成单稳态触发器和多谐振荡器,以及不需外接元件就可组成施密特触发器。该电路有一个秒脉冲控制端,用于开启及停止脉冲输入。

由多谐振荡器原理,结合上图可知其振荡周期T=T1+T2。T1为电 容充电时间,T2为电容放电时间。 充电时间:C )R R (7.02Cln )R R (T 21211+≈+= 放电时间:C R 7.0Cln2R T 222≈= 矩形波的振荡周期:)C 2R R 7.0)C 2R ln2(R T T T 212121+≈+=+=( 555组成的多谐振荡器实际电路参数R1 = R2 =510 K RC 振荡器电容为1uF ,五号管脚所接的Cs 为10PF 。 所以其振荡周期: 1.071s 0.7*1.53)C R 0.7(R )Cln2R (R T T 21211==+≈+== 所以其周期为约为1s. 五、二十四进制计数器 利用74ls160把高位和低位端的脉冲通过一个与非门同时送入高位和低位的MR 非端,同时清为二十四进制。

24进制计数器设计说明

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

摘要 24进制数字钟是一种用数字电路技术实现时计时的装置,与机械式时钟相比具有更高的准确性和直观性。此次设计与制作24进制电子数字钟时计数、译码、显示电路需要了解组合逻辑电路和时序逻辑电路;了解集成电路的引脚安排;了解各种时计数、译码芯片的逻辑功能及使用方法;了解数字钟的原理。本次设计是基于24进制电子数字钟的原理,实现具有24进制清零功能的电子钟,它主要由脉冲、10进制加法器74LS160、译码器74LS48、共阴极LED数码管等四个模块构成。脉冲本利用555设计一个多谐振荡器,但由于制板受单面板限制,故撤销了555设计的多谐振荡器,而直接由实验室提供脉冲。各功能模块在QuartusⅡ软件中先由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.2P ROTEL电路印刷板原理图及印刷板制版电路图 (9) 3.3实际电路系统的制作及测试 (10) 3.4电路板的测试情况、参数分析与实际效果 (10) 4、心得与体会 (11) 5、元器件及仪器设备明细 (12) 6、参考文献 (12) 7、致 (13)

100进制同步计数器设计报告

浙江万里学院实验报告 实验名称:100进制同步计数器设计 专业班级:电子103姓名:徐强学号: 2010014092 实验日期:2011.5.10 一、实验目的: 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;

相关文档
相关文档 最新文档