六十进制计数器的仿真与设计
- 格式:doc
- 大小:49.00 KB
- 文档页数:8
实验名称:基于FPGA的原理图六十进制计数器设计
1.实验目的:
熟悉使用Quartus II的原理图输入方法设计简单组合电路。
把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。
2实验内容:
完成六十进制加法计数器的设计,包括原理图输入,编译,综合,适配,仿真,实验板上的硬件测试。
选择模式5,数码管8和7显示数字进制,指示灯8接进位。
3. 实验方案(程序设计说明)
频率计的核心元件之一是含有时钟使能及进位扩展输出的十进制计数器。
在原理图的绘制过程中应特别注意图形设计规则中信号标号和总线的表达方式。
为了测试六十进制计数器的功能,可以将counter60设置成工程,工程名和顶层文件名都取为counter60。
4. 实验步骤或程序(经调试后正确的源程序)
见附件A
5.程序运行结果
6.出现的问题及解决方法
无
附件A
实验步骤或程序:
实验原理图:
管脚设置:。
电子技术基础实验课程设计60进制计数器一、实验目的(一)掌握中规模集成计数器74LS161的引脚图和逻辑功能。
(二)熟悉555集成定数器芯片的引脚图。
(三)利用74LS161和555定时器构成60进制计数器。
(四)在Multisim软件中仿真60进制计数器。
二、实验容(一)集成计数器74LS161逻辑功能验证。
(二)用555定时器构成多谐振荡器。
(三)用两片74LS161和555定时器构成60进制计数器。
三、集成计数器介绍(一)集成计数器74LS161管脚介绍74LS161是4位二进制同步加法计时器。
图1为它的管脚排列图,集成芯片74LS161的CLR是异步清零端(低电平有效),LOAD是异步预置数控制端(低电平有效)。
CLK是时钟脉冲输入端,RCO是进位输出端,ENP、ENT是计数器使能端,高电平有效。
A、B、C、D是数据输入端;QA、QB、QC、QD是数据输出端。
图1 74LS161管脚排列图(二)集成计数器74LS161功能介绍由表1可知,74LS161具有以下功能:1.异步清零。
当CLR=0时,无论其他各输入端的状态如何,计数器均被直接置“0”。
2.同步预置数。
当CLR=1、LOAD=0且在CP上升沿作用时,计数器将ABCD同时置入QA、QB、QC、QD,使QA、QB、QC、QD=ABCD。
3.保持(禁止)。
CLR=LOAD=1且ENP、ENT=0时,无论有无CP脉冲作用,计数器都将保持原有的状态不变(停止计数)。
4.计数。
CLR=LOAD=ENP=ENT=1时,74LS161处于计数状态。
表1 74LS161功能表四、用555定时器构成多谐振荡器(一)多谐振荡器的构成由555定时器构成的多谐振荡器如图1所示,R1,R2和C是外接定时元件,电路中将高电平触发端(THR脚)和低电平触发端(TRI脚)并接后接到R2和C的连接处,将放电端(DIS脚)接到R1,R2的连接处。
(二)工作原理由于接通电源瞬间,电容C来不及充电,电容器两端电压为低电平,小于(1/3)Vcc,故高电平触发端与低电平触发端均为低电平,输出为高电平,放电管V1截止。
表1 十进制计数器功能表CP RD` LD` EP ET 工作状态×0 ××置零↑ 1 0 ××预置数× 1 1 0 1 保持× 1 1 ×0 保持↑ 1 1 1 1 计数连接方式如图:图2 十进制计数器(个位)2、十进制计数器(十位)电路图3 十进制计数器(十位)3、时钟脉冲电路图4 时钟脉冲电路4、置数电路图5 置数电路5、进位电路图6 进位电路6、译码显示电路图7 译码显示电路三、绘制原理图1、完整原理图图7 计数器原理图2、选定仪器列表仪器名称型号数量用途同步十进制计数器74LS160 2片极联构成60进制计数器与门与非门非门74LS21D74LS00D74LS04D各1个辅助设计构成其他计数器共阴极显示器DCD-HEX 2只显示数字计数电压源1个提供脉冲电压表二原理图仪器列表四、测试方案测试步骤:1)进入Multisim7界面图8 软件页面2)右击空白处,选择放置元件,进入元器件选择区,选择要放置的元件,然后单击好。
图9 放置元件3)放置好各种器件之后,即可进行线路连接,同时标明所需参数值。
设置元器件的参数时,用鼠标双击,弹出属性对话框,分别给元件赋值,并设置名称标号。
图10 元器件属性图4)确认电路无误后,即可单击仿真按钮,实现对电路的仿真工作。
5)观察结果看是否与理论分析的预测结果相同。
五、测试验证结果与分析1、验证结果以下两个仿真结果分别是计数器计数的仿真起点00和仿真终点59,之后计数器会自动恢复原来的00起点继续进行循环计数,并且进位输出灯会在59时发光。
图11 60进制计数器起点00 图12 60进制计数器终点592、理论分析本计数器由两个10进制计数器构成60进制计数器的接线图,右边的10进制计数器作为个位,左边的10进制计数器作为十位。
输入端全部接地,计数开始循环一周后通过置位法自动进行归00,之后再继续循环计数。
60进制计数器verilog原理Verilog原理:实现60进制计数器Verilog是一种硬件描述语言,用于设计和开发数字电路。
在本文中,我们将使用Verilog来实现一个能够进行60进制计数的计数器。
首先,我们需要定义计数器的功能和输入输出。
对于一个60进制计数器,我们将使用一个8位的二进制数表示计数器的当前值。
计数器将具有一个时钟脉冲输入(clk)和一个复位输入(reset)。
接下来,我们将定义计数器的行为。
当时钟脉冲输入(clk)变为高电平时,计数器的值将递增1。
当计数器的值达到60时,它将被重置为0。
下面是使用Verilog实现60进制计数器的代码示例:```verilogmodule counter_60(input wire clk,input wire reset,output wire [7:0] count);reg [7:0] count;always @(posedge clk) beginif(reset)count <= 8'b0;else if(count == 8'b111011) // 当计数器的值达到60时,重置为0count <= 8'b0;elsecount <= count + 1;endendmodule```以上代码中,我们使用`reg`关键字声明了一个8位的寄存器`count`,用于存储计数器的当前值。
`always @(posedge clk)`表示在时钟上升沿触发时执行以下代码块。
在代码块中,我们首先检查复位信号(reset)是否为高电平。
如果是,计数器的值将被重置为0。
接下来,我们使用一个条件语句判断计数器的值是否为59(8'b111011)。
如果是,计数器的值将重置为0。
否则,计数器的值递增1。
最后,我们将计数器的值作为输出wire `count`进行输出。
通过将以上代码编译为Verilog硬件描述语言的通用代码格式,我们可以在FPGA或ASIC芯片上实现一个用于60进制计数的计数器。
本科学生设计性实验报告项目组长_学号_成员专业_通信工程__班级_实验项目名称_ 60进制计数器的设计指导教师及职称_________开课学期 2011 至_2012 学年_第二_学期上课时间 2012 年 4 月 16 日一、实验设计方案实验名称:60进制计数器的设计实验时间:2012-4-16小组合作:是○否●小组成员:1、实验目的:熟悉QuartusⅡ的Verilog文本设计流程全过程,学习计数器的设计、仿真和硬件测试。
掌握原理图与文本混合设计方法。
实验要求:1.使用三种以上方法进行设计和仿真2.每种方法要有详细的设计程序和仿真结果3.对比每种方法的实现的RTL图4.选择一种在硬件上实现,并绘出详细实验步骤和实验步骤截图,最后描述实验结果2、实验场地及仪器、设备和材料:实验场地:电脑,quartus II软件,GW48EDA/SPOC主系统实验箱3、实验思路(实验内容、数据处理方法及实验步骤等):实验内容:用Verilog设计一个60进制计数器,要求用三种方式。
1. 打开QuartusII软件,建立一个新的工程:1) 单击菜单File\New Project Wizard…2) 输入工程的路径、工程名以及顶层实体名。
3) 单击Next>按钮,由于我们建立的是一个空的项目,所以没有包含已有文件,单击Next>继续。
4) 设置我们的器件信息:2.建立Verilog文件:1) 单击File\New菜单项,选择弹出窗口中的Verilog File项,单击OK按钮以建立打开空的Verilog文件。
2) 在编辑窗口中输入Verilog源文件并保存,注意实体名、文件名必须和建立工程时所设定的顶层实体名相同。
3) 编译工程单击Processing\Start Compilation开始编译,编译过程中可能会显示若干出错消息,参考提示原因对程序进行修改直到编译完全成功为止。
根据书上的例子做出了如下的三种方法:(1)方式一:(2)方式二:(3)方式三指导老师对实验设计方案的意见:指导老师签名:年月日二、实验结果与分析1、实验目的、场地及仪器、设备和材料、实验思路等见实验设计方案2、实验现象、数据及结果实验现象:(1)方式一:生成如下图电路模型:得到下图为波形图:(2)方式二:生成电路模型如图所示:得到的波形图如图所示:(3)方式三:得到电路模型如图所示:得到波形图如图所示:3、对实验现象、数据及观察结果的分析与讨论:通过实验过程,可以得到实验的相关图像,可能由于实验过程差不多所以得到的结果是差不多的。
电子技术基础实验课程设计用74LS161设计六十进制计数器学院:班级:姓名:学号:电气工程学院电自1418用74LS161设计六十进制计数器摘要计数器是一个用以实现计数功能的时序部件,它不仅可用来及脉冲数,还常用作数子系统的定时、分频和执行数字运算以及其它特定的逻辑功能。
目前,无论是TTL还是CMOS 集成电路,都有品种较齐全的中规模集成计数器。
使用者只要借助于器件手册提供的功能和工作波形图以及引出端的排列,就能正确运用这些器件。
计数器在现代社会中用途中十分广泛,在工业生产、各种和记数有关电子产品。
如定时器,报警器、时钟电路中都有广泛用途。
在配合各种显示器件的情况下实现实时监控,扩展更多功能。
利用两片74LS161分别作为六十进制计数器的高位和低位,分别与数码管连接。
把其中的一个通过一个与门器件构成一个十进制计数器,另一个芯片构成六进制计数器。
十进制计数器(个位)和六进制计数器(十位)均采用反馈清零法利用两个74LS161构成。
当个位计数器从1001计数到0000时,十位计数器要计数一次,可通过两芯片之间级联实现。
使用200HZ时钟信号作为计数器的时钟脉冲。
根据设计基理可知,计数器初值为00,按递增方式计数,增到59时,再自动返回到00。
关键字:60进制,计数器,74LS161,级联目录第1章概述 (1)1.1 计数器设计目的 (1)1.2 计数器设计组成 (1)第2章六十进制计数器设计描述 (2)2.1 74LS161的功能 (2)2.2 方案框架 (3)第3章六十进制计数器的设计与仿真 (4)3.1 基本电路分析设计 (4)3.2 计数器电路的仿真 (6)第4章总结 (8)第1章概述计数器是一个用以实现计数功能的时序部件,它不仅可用来及脉冲数,还常用作数子系统的定时、分频和执行数字运算以及其它特定的逻辑功能。
计数器种类很多。
按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。
实验五考核实验——六十进制计数
一、实验目的
1、了解可编程数字系统设计的流程
2、掌握Quartus II 软件的使用方法
3、掌握Quartus II 软件的使用方法
4、掌握Quartus II 软件的使用方法
二、实验设备
1、计算机:Quartus II 软件
2、掌握Quartus II 软件的使用方法
3、集成电路:74LS161,任意与非门等。
三、实验原理
1、74LS161:异步清零、同步置数四位二进制计数器
2、引脚定义
3、74LS161功能表
四、实验内容
1、实现60进制计数,计数器用74LS161(2片),其它器件任选
2、七段码显示00、01、02、03 、…、57、58、59
要求:
(1)用原理图输入方式完成
(2)给出仿真波形
(3)计数脉冲CLK接BUTTON0,计数结果接7段码HEX1和HEX0显示
五、实验结果
1、实验原理图:
2、实验波形仿真图
3、引脚分配图
六、实验心得
1、同步异步计数器区分:同步计数器的触发信号是同一个信号。
具体来说,每一级的触发器接的都是同一个CLK信号。
异步计数器的触发信号时不同的,例如第一集的输出Q'作为第二级的触发信号。
几进制的区分:看数据输出端得接线方法,当接线满足拿个计数时会导致“清零”端或者是“置数端”满足工作状态。
2、异步计数器中第二级如果采用置数法,就需要置数的时候给该级提供相应的时钟信号,否则不能完成置数。
六进制vhdl语言设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt6 ISPORT(CLK,CLRN,ENA,LDN:IN STD_LOGIC;D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END cnt6;ARCHITECTURE ONE OF cnt6 ISSIGNAL CI:STD_LOGIC_VECTOR (3 DOWNTO 0):="0000"; BEGINPROCESS (CLK,CLRN,ENA,LDN,CI)BEGINIF CLRN='0' THEN CI<="0000";ELSIF CLK'EVENT AND CLK='1' THENIF LDN='0' THEN CI<=D;ELSIF ENA='1' THENIF CI<5 THEN CI<=CI+1;ELSE CI<="0000";END IF;END IF;END IF;Q<=CI;END PROCESS;COUT<=CI(0) AND CI(2);END ONE;十进制vhdl语言设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10 ISPORT(CLK,CLRN,ENA,LDN:IN STD_LOGIC;D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END cnt10;ARCHITECTURE ONE OF cnt10 ISSIGNAL CI:STD_LOGIC_VECTOR (3 DOWNTO 0):="0000"; BEGINPROCESS (CLK,CLRN,ENA,LDN,CI)BEGINIF CLRN='0' THEN CI<="0000";ELSIF CLK'EVENT AND CLK='1' THENIF LDN='0' THEN CI<=D;ELSIF ENA='1' THENIF CI<9 THEN CI<=CI+1;ELSE CI<="0000";END IF;END IF;END IF;Q<=CI;END PROCESS;COUT<=CI(0) AND CI(3);END ONE;分别把上面程序生成符号文件画如下原理图:波形仿真图如下:。
数字电子技术仿真实验报告学院:计算机科学学院班级:信科10级01班学号: ***********姓名:第一章设计方案论证1.1、选择论证的基本过程1)每隔1s,计数器增1;能以数字形式显示时间。
2)当定时器递增到59时,定时器会自动返回到00显示,然后继续计时。
整个计数过程中,LED1即发光灯会显示进位信号。
3)本设计主要设备是两个74LS160同步十进制计数器,并且由300HZ,5V 电源供给。
1.2、设计方案框图使用300HZ555定时器作为计数器的输入信号。
根据设计基理可知,计数器初值为00,按递增方式计数,增到59时,再自动返回到00。
此电路可以作为简易数字时钟的分钟显示。
图1.2为60进制计数器的总体框图。
图1.2 系统总体框图第二章单元电路设计2.1、十进制计数器(个位)电路本电路采用74LS160作为十进制计数器,它是一个具有异步清零、同步置数、可以保持状态不变的十进制上升沿计数器。
功能如表2-1表2-1 十进制计数器功能表CP RD` LD` EP ET 工作状态×0 ××置零↑ 1 0 ××预置数× 1 1 0 1 保持× 1 1 ×0 保持↑ 1 1 1 1 计数连接方式如图2.1图2.1 十进制计数器(个位)2.2、十进制计数器(十位)电路图2.2 十进制计数器(十位)2.3、555定时器555定时器是一种模拟电路和数字电路相结合的中规模集成器件,它性能优良,适用范围很广,外部加接少量的阻容元件可以很方便地组成单稳态触发器和多谐振荡器,以及不需外接元件就可组成施密特触发器。
因此集成555定时被广泛应用于脉冲波形的产生与变换、测量与控制等方面。
图2.3为用555定时器设计的多谐振荡器的电路图及其电路产生的波形。
图2.3 多谐振荡器由多谐振荡器原理,结合上图可知其振荡周期T=T 1+T 2。
T 1为电容充电时间,T 2为电容放电时间。