制作加法计数器
- 格式:ppt
- 大小:2.62 MB
- 文档页数:92
一、六进制同步加法计数器(无效状态为010 100)二、基于74163芯片仿真设计157进制加法计数器一:1.1 课程设计的目的和要求1.1.1 课程设计的目的1 学会使用数字电子实验平台2 熟悉各个芯片和电路的接法3 熟练掌握设计触发器的算法4 懂得基本数字电子电路的功能,会分析,会设计1.1.2 课程设计的要求1 六进制同步加法计数器(无效状态为000 101)。
2 实验用两片74LS112,一片74LS00,一片74LS08芯片完成。
1.1.3 基本原理计数器是用来统计脉冲个数的电路,是组成数字电路和计算机电路的基本时序部件,计数器按进制分可分为:二进制,十进制和N进制。
计数器不仅有加法计数器,也有减法计数器。
一个计数器如果如果既能完成加法计数,又能完成减法计数,则其称为可逆计数器。
同步计数器:当输入计数脉冲到来时,要更新状态的触发器都是同时翻转的计数器,叫做同步计数器。
1.2 设计过程 1.2.1 状态图000 001 011 101 110 111图1.2.1 状态图1.2.2 卡诺图00 01 11 10000 010 100 xxx xxx 101 001 111输出卡诺图00 01 11 10 1 0 0 x x 10 1Q 2n次态卡诺图00 01 11 10 11 0 x x 011Q n次态卡诺图00 01 11 10 0 1 1 x x 01Q n次态卡诺图0 Q 1nQ 0nQ 2n Q 1nQ 0n Q 2n1Q 1nQ 0n Q 2n0 1Q 1nQ 0n Q 2n 0111.2.3 驱动方程和状态方程:状态方程:Q2n+1= Q2n Q1n Q0n+ Q2n Q0nQ1n+1= Q1n+ Q0n Q1nQ0n+1=Q1n Q0n+ Q2n Q1n Q0n驱动方程:J2=Q1n Q0n K2=Q0nJ1= 1 K1=Q0nJ0=Q1n K0= Q2n Q1n1.3设计电路图设计电路实验结果可通过数字显示器的数字变化检验,较直观易懂,容易验证电路是否正确。
EDA-16位加法计数器的设计北京理工大学用程序输入方法设计一个16位二进制加法计数器学院:机械xxxx学院专业班级:10机械电子工程x班姓名:陈xx学号: 10xxxxxx指导教师:xxx 老师目录摘要 (1)1 绪论 (2)2 计数器的工作原理 (3)3 设计原理 (4)4 电路系统的功能仿真 (4)6 个人小结 (23)参考文献 (24)摘要计数器是数字系统中使用较多的一种时序逻辑器件。
计数器的基本功能是统计时钟脉冲的个数,即对脉冲实现计数操作。
计数器也可以作为分频、定时、脉冲节拍产生器和脉冲序列产生器使用。
计数器的种类很多,按构成计数器中的各触发器是否使用一个时钟脉冲源来分,可分为同步计数器和异步计数器;按进位体制的不同,可分为二进制计数器、十进制计数器和任意进制计数器;按计数过程中数字增减趋势的不同,可分为加法计数器、减法计数器和可逆计数器;还有可预制数和可编计数器等等。
本次课程设计将利用众多集成电路软件软件中的Quartus II软件,使用VHDL语言编程完成论文《用程序输入方法设计一个16位二进制加法计数器》,调试结果表明,所设计的计数器正确实现了计数功能。
关键词:二进制;加法计数器;VHDL语言1 绪论现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化,即EDA(Electronic Design Automation)技术。
EDA技术就是依赖功能强大的计算机,在集成电路软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。
十进制加法器设计1课程设计的任务与要求 课程设计的任务1、综合应用数字电路知识设计一个十进制加法器。
了解各种元器件的原理及其应用。
2、了解十进制加法器的工作原理。
3、掌握multisim 软件的操作并对设计进行仿真。
4、锻炼自己的动手能力和实际解决问题的能力。
5、通过本设计熟悉中规模集成电路进行时序电路和组合电路设计的方法,掌握十进制加法器的设计方法。
课程设计的要求1、设计一个十进制并运行加法运算的电路。
2、0-9十个字符用于数据输入。
3、要求在数码显示管上显示结果。
2十进制加法器设计方案制定 加法电路设计原理图1加法运算原理框图如图1所示第一步置入两个四位二进制数。
例如(1001)2,(0011)2和(0101)2,(1000),同时在两个七段译码显示器上显示出对应的十进制数9,3和5,8。
2第二步将置入的数运用加法电路进行加法运算。
第三步前面所得结果通过另外两个七段译码器显示。
即:加法运算方式,则(1000)2+(0110)2=(1110)2 十进制8+6=14 并在七段译码显示出14。
运算方案通过开关S1——S8接不同的高低电平来控制输入端所置的两个一位十进制数,译码显示器U8和U9分别显示所置入的两个数。
数A直接置入四位超前进位加法器74LS283的A4——A1端,74LS283的B4——B1端接四个2输入异或门。
四个2输入异或门的一输入端同时接到开关S1上,另一输入端分别接开关S5——S8,通过开关S5——S8控制数B的输入,通过加法器74LS283完成两个数A和B的相加。
由于译码显示器只能显示0——9,所以当A+B>9时不能显示,我们在此用另一片芯片74LS283完成二进制码与8421BCD码的转换,即S>9(1001)2时加上3(0011)2,产生的进位信号送入译码器U10来显示结果的十位,U11显示结果的个位。
3十进制加法器电路设计加法电路的实现用两片4位全加器74LS283和门电路设计一位8421BCD码加法器。
课程设计课程名称51单片机原理及应用单片机“0~99”加法计数器题目名称程序设计专业班级12级计算机科学与技术2班学生姓名郑伟、刘刚、纪强、岳向阳学号51202012032、5120201200751202012021、51202012018 指导教师刘粉二○一四年十二月蚌埠学院计算机科学与技术系课程设计任务书目录一.前言 (4)二.单片机介绍 (4)(一).AT89C51简介编辑 (4)(二).主要特性编辑 (5)(三).特性概述编辑 (5)(四).管脚说明编辑 (5)(五).芯片擦除编辑 (7)(六).串口通讯 (7)三.课程设计的目的和要求 (11)(一).设计目的 (11)(二).课程设计题目 (11)(三).设计任务及要求 (11)四.总体设计思路 (11)(一).硬件设计思路及系统框图 (11)1.硬件设计思路: (11)2.原器件清单 (12)3.系统框图 (12)(二).软件设计思路: (12)(三).对照表 (12)(四).程序流程图 (13)五.硬件设计 (15)(一).芯片主要特性 (15)(二)管脚说明: (15)(三).排阻的作用 (16)(四).电路图说明 (17)1.添加晶振和复位 (17)2.添加P0和P2两个按键 (17)3. 数码管动态显示 (17)六.软件设计说明 (17)七.使用Keil、preoteus软件调试仿真说明 (19)八.结束语 (20)九.参考文献 (21)附录: (22)(一).汇编源程序 (22)(二).原理图 (24)前言单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
思考题5.1 如何设计二进制同步加法计数器?5.2 如何设计多功能移位寄存器?5.3 如何用74194实现数据的串行-并行或并行-串行转换?5.4 利用移位寄存器和一位全加器,如何实现累加器功能?5.5 实现任意进制计数器的反馈复位法有什么缺点?5.6 同步时序电路分析的主要步骤是什么?5.7 同步时序电路设计的主要步骤是什么?5.8 什么是移位型序列信号发生器?习题5.1 图P5.1为由JK触发器组成的移位寄存器。
⑴假定要串行输入数码101,说明其工作过程,画出波形图(输入波形应与CP脉冲同步),说明这时并行输入控制信号时高电平还是低电平。
⑵假定要并行输入数码A=0,B=1,C=0,说明工作过程。
A B C图P5.1图 P5.1解:(1) 串行输入时,并行输入控制信号为“0”,在串行输入端依次加入1→0→1,在CP 脉冲作用下作右移操作.(同步工作,图略)(2) 并行输入时,并行输入控制信号为“1”,当ABC加010时,Q0Q1Q2立即被置为010.(异步工作)5.2试用维持阻塞结构D 触发器、与非门和一个2线—4线译码器设计一个四位移位寄存器,移位寄存器的功能表如图P5.2所示。
解:以i 单元示意(左侧为i-1单元,右侧为i+1单元D i S B S A5.3 参照串行累加器示意图(见图 5.12),用两片移位寄存器74194、一个全加器、一个D触发器及少量逻辑门,设计一个四位累加器,画出逻辑图。
5.4 试用四个维持阻塞结构JK 触发器组成一个四位二进制异步减法计数器。
解:用JK 触发器的CP 下降沿触发,构成的异步二进制减法计数器的i CP 接1i Q5.5 试分析图P5.5所示计数器,画出状态图,说明计数器的模。
CP解: 0011→0100→0101→0110→0111→1000→1001→0011 (模7计数器).5.6 试分析图P5.6所示电路的功能,画出在CP 作用下c f 的波形。
EDA实验报告书ELSECOUT<='0';END IF;CQ<=CG;CP<=CS;END PROCESS;END BBQ;仿真波形图问题讨论1.设计一个60进制的加法计数器,具体要求与本实验中的24进制计数器相同。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JINZHI60 ISPORT(CLK,RD,EN:IN STD_LOGIC;CQ,CP:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END JINZHI60 ;ARCHITECTURE BBQ OF JINZHI60 ISSIGNAL CS,CG: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK,RD,EN)BEGINIF RD='1' THEN CG<="0000"; CS<="0000";ELSIF CLK'EVENT AND CLK='1' THENIF EN='1' THENIF (CS="0101" AND CG="1001") THENCG<="0000";CS<="0000";ELSIF CG="1001" THEN CG<="0000";CS<=CS+1;ELSE CG<=CG+1;END IF;END IF;END IF;IF (CS="0101" AND CG="1001") THEN COUT<='1';ELSE COUT<='0';END IF;CQ<=CG;CP<=CS;END PROCESS;END BBQ;2.利用60进制及24进制计数器设计简易数字钟。
加法计数器电路设计需要考虑多个因素,包括输入信号、计数器状态、计数规则等。
以下是一个简单的加法计数器电路设计的步骤:
1. 确定计数器的位数:根据需要计数的最大值和最小值,确定计数器的位数。
例如,如果要计数的范围是0到99,则可以选择一个3位的二进制计数器。
2. 确定计数器的状态:根据确定的位数,确定计数器的所有可能状态。
例如,对于一个3位的二进制计数器,有8个可能的状态:000、001、010、011、100、101、110、111。
3. 确定计数规则:根据计数器的状态和输入信号,确定计数器的计数规则。
例如,对于一个3位的二进制加法计数器,可以采用逢十进一的规则,即当计数器的值达到最大值(111)时,下一个输入信号会使计数器的值回绕到最小值(000)。
4. 设计电路:根据上述步骤,设计加法计数器电路。
可以采用门电路、触发器等电子元件来构成加法计数器。
在设计过程中,需要考虑电路的稳定性和可靠性,以及尽量减小功耗和减小体积等问题。
5. 仿真和测试:使用仿真软件对设计的加法计数器电路进行仿真和测试,以确保其功能正确性和性能可靠性。
总之,加法计数器电路设计需要综合考虑多个因素,并采用合适的电子元件和设计方法来实现。
实验四加法计数器的设计一、实验目的熟悉利用QuartusII的VHDL文本输入方法设计简单时序电路,掌握异步、同步电路的设计的方法,并通过一个十进制加法计数器的设计,掌握边沿触发(或电平触发)的描述方法等。
二、实验要求和内容1、根据【例5-15】(课本132页),将其修改成一个异步清0,同步时钟使能,同步数据加载的十进制加法计数器:包括VHDL程序输入、编译、综合、适配、仿真。
(1)为此工程新建一个文件夹。
启动QuartusII软件工作平台,新建工程设计文件名为CNT10.vhd。
在新建的VHDL模型窗口下编写源程序代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT (CLK,EN,RST,LOAD: IN STD_LOGIC;DATA : IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : OUT STD_LOGIC );END CNT10;ARCHITECTURE behav OF CNT10 ISBEGINPROCESS(CLK,RST,EN,LOAD)VARIABLE Q:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST='0' THEN Q:=(OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF EN='1' THENIF (LOAD='0') THEN Q:=DATA;ELSE IF Q<9 THEN Q:=Q+1;ELSE Q:=(others=>'0');END IF;END IF;END IF;END IF;IF Q="1001" THEN COUT<='1';ELSE COUT<='0'; END IF; DOUT<=Q;END PROCESS;END behav;(2)创建工程及全程编译。