基于MSI芯片74160设计模为100的计数器
- 格式:doc
- 大小:992.50 KB
- 文档页数:13
用74160集成计数器构成任意进制计数器的电路设计单嵛琼;单长吉【摘要】74160 is die for 10 synchronous counter addition,take advantage of its reset and the number of pre-set function can make mould for any number of counters.So as to solve the problem that we can't buy any kind of counter.%74160是模为10的同步加法计数器,利用它的清零和预置数功能可以构成模为任意数的计数器,从而解决了我们需要计数器但市场上又买不到这种计数器的困难。
【期刊名称】《大学物理实验》【年(卷),期】2016(029)003【总页数】3页(P15-17)【关键词】计数器;清零;置数;有效状态【作者】单嵛琼;单长吉【作者单位】昭通学院,云南昭通 657000;昭通学院,云南昭通 657000【正文语种】中文【中图分类】O453市场上能买到的集成计数器芯片一般为4位二进制计数器和十进制计数器,如果需要其它进制计数器,可用现有的4位二进制计数器和十进制计数器芯片进行设计。
74160是8421BCD码同步加法十进制计数器,可以用它来构成任意进制计数器。
74160是8421BCD码同步加法计数器[1-2],图1是它的逻辑符号:是清零端,端是预置数端,EP、ET是两个使能端,CP端是时钟脉冲端,RCO是进位输出端,D3、D2、D1、D0是四个预置数据输入端,Q3、Q2、Q1、Q0是四个数据输出端。
其中进位输出端的逻辑表达式为[3]:RCO=ET·Q3·Q1。
由表1可知,74160具有异步清零、同步置数、计数和保持的功能。
用74160构成模小于10的计数器的计数器时通常有两种方法:异步清零法和同步置数法[4].文章中选取用74160构成五进制计数器来说明这两种方法的应用。
EDA课程设计之MAX PLUSS II设计基于74160计数器的电子时钟设计报告学院:信息科学与技术学院专业:电子信息科学与技术班级:2011级1班姓名:***学号:************设计目的1.在了解数字钟的原理的前提下,运用刚刚学过的数字电路知识设计并制作数字钟,而且通过数字钟的制作进一步了解各种在制作中用到的中小规模集成电路的作用及其使用方法。
2.由于数字电子钟包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法,从而实现理论与实践相结合,并学会使用MAX+plus II软件的使用,增强实验设计能力和动手操作能力。
3.通过本次试验对电子线路知识的整合和电子线路设计能力的训练,并为后继课程的学习和毕业设计打下一定的基础。
设计任务及要求1 实验任务设计一种简易数字钟,该数字钟具有基本功能,包括准确计时,以数字形式显示时、分,以二极管显示秒的时间和校时功能。
拓展功能包括秒表计时和整点报时。
2 实验要求(1)时的计时要求为12和24进制两种方式,分和秒的计时要求为60进制。
(2)准确计时,以数字形式显示时间,分小时,分钟和秒分别用两个七段显示来显示。
(3)可以校正时间,两个校时按键,分别校正小时和分钟。
(4)计时时可以暂停、继续和清零。
(5)可以选择显示时间和秒表计时功能。
设计方案数字时钟电路是一个典型的数字电路系统,其由时,分,秒计数器以及校时和显示电路组成。
本次设计利用集成十进制递增计数器(74160)和带译码器的七段显示数码管组成的数字钟电路。
具体设计流程可分为:用MAX+plus II完EPM7128SLC84-6内部功能的设计。
整体思想如图:1、时钟起振电路该电路给数字钟提供一个频率稳定准确的方波信号,可保证数字钟的走时准确及稳定。
不管是指针式的电子钟还是数字显示的电子钟都须使用晶体振荡器电路。
如图:(起振电路)2.利用两片74160组成带清零的100进制递增计数器(0.01秒与0.1秒)利用两片十进制递增计数器74160组成的同步100进制递增计数器如图:(计时单元部分电路)其中两位计数均为十进制形式。
74160是一种4位可编程同步计数器,可以实现计数器的功能。
该计数器有四个并行输入,包括清零输入、时钟输入、并行加载输入和输出控制输入,以及四个异步输出,可以用来控制其他数字电路的工作。
74160计数器的功能表如下:Q1111 0 1 0 1 0 1 0 1 DQ其中,CP表示计数器的时钟输入,MR表示清零输入,PL 表示并行加载输入,PE表示输出控制输入,Q3、Q2、Q1、Q0表示计数器的异步输出,D3、D2、D1、D0表示并行加载时的输入数据。
在计数器工作时,当CP为高电平时,计数器会按照以下顺序依次输出Q0、Q1、Q2、Q3,直到计数器的计数值达到15,然后重新从0开始计数。
当MR为高电平时,计数器会被清零,输出恢复为0000。
当PL为高电平时,计数器的输出值会被设置为输入的值,即将D0-D3设置为需要的计数值。
当PE 为高电平时,计数器的输出被锁定,不再计数,而是输出锁存的计数值。
74160计数器的原理是基于 JK 触发器实现的。
每个 JK 触发器可以存储两个比特位的信息,其中 J 和 K 输入控制着触发器的输出状态,而时钟输入用于时序控制。
在计数器中,每个JK 触发器的输出被连接到下一个JK 触发器的时钟输入上,形成一个级联的 JK 触发器网络。
当 CP 为高电平时,时钟信号被传递到每个 JK 触发器的时钟输入,使得计数器的计数值递增。
当计数值达到15时,所有 JK 触发器的输出都变为0,计数器重新从0开始计数。
在并行加载模式下,输入数据被加载到 JK 触发器中,从而可以设置计数器的初始值。
在输出控制模式下,PE 为高电平时,计数器的输出被锁定,不再计数,而是输出锁存的计数值。
实验七100进制计数器设计实验报告一、实验要求1.GW48实验箱;2、用层次设计方式设计100进制计数器, 并进行编译、仿真、下载;3.总结实验步骤和实验结果。
二、实验内容在数字系统中, 计数器不仅能记录输入时钟脉冲的个数, 还可以实现分频、定时、产生节拍脉冲和脉冲序列等。
常用的计数器包括加法计数器、减法计数器和加减可逆计数器。
用层次化设计方法设计一个可控的100进制计数器的计数、译码电路,(1)计数器的时钟输入信号为1s(2)计数器的功能是从0到99计数, 输出显示采用8421BCD码的编码方式。
(3)有一个复位端clr和两个控制端plus和Plus Minus 功能minus, 在这些控制信号的作用下(如下表所示), 计数器具有复位、增或减计数、暂停功能。
Clr0 X X 复位为01 1 0 递增计数1 0 1 递减计数1 1 1 暂停计数这里作为的层次设计方法是指“Top-Down”的设计方法, 它能够把复杂的设计分解为许多简单的逻辑来实现。
本例中可分为两个子模块, 一个是计数模块, 一个是译码模块,由顶层模块将两个子模块组合起来。
多层次结构电路的描述既可以采用文本方式, 也可以用图形和文本混合设计的方式, 这里我们采用文本方式。
(1)计数器模块设计Module zdws(q,clk,clr,plus,minus);inputclk,clr,plus,minus;output[7:0]q;reg[7:0]q;always@(posedgeclk or negedgeclr)beginif(!clr) q<=8'h00;elsecase({plus,minus})2'b10:begin //递增if(q[3:0]==4'd9)beginq[3:0]<=4'd0;if(q[7:4]==9)q[7:4]=4'd0;else q[7:4]<=q[7:4]+1'b1;endelse q[3:0]<=q[3:0]+1'b1;end2'b01:begin //递减if(q[3:0]==4'd0)beginq[3:0]<=4'd9;if(q[7:4]==0)q[7:4]=4'd9;else q[7:4]<=q[7:4]-1'b1;endelse q[3:0]<=q[3:0]-1'b1;end2'b11:q<=q; //暂停default:q<=4'bx;endcaseendendmodule(2)译码电路模块module BCD(in,out);output[6:0]out;input[3:0]in;reg[6:0]out;always@(in)begincase(in)4'd0:out=7'b1111110;4'd1:out=7'b0110000;4'd2:out=7'b1101101;4'd3:out=7'b1111001;4'd4:out=7'b0110011;4'd5:out=7'b1011011;4'd6:out=7'b1011111;4'd7:out=7'b1110000;4'd8:out=7'b1111111;4'd9:out=7'b1111011;default:out=7'bx;endcaseendendmodule(3)顶层电路模块module top(out1,out2,clk,clr,plus,minus);output[6:0]out1,out2;inputclk,clr,plus,minus;wire[7:0]qout;zdws u1(qout,clk,clr,plus,minus);//模块调用, 端口采用位置对应调用法bcd u2(qout[7:4],out1);bcd u3(qout[3:0],out2);endmodule硬件逻辑验证: 选择实验电路结构图NO.6.可取实验电路结构图的PIO40~PIO46接out1[6..0],PIO32~PIO38接out2[6..0],CLOCK0接clk, PIO13接clr(键8), PIO12接plus(键7), PIO11接minus(键6)。
74ls160十进制计数器原理
74LS160十进制计数器原理74LS160是一种常用的十进制计数器,它能够实现0至9的循环计数。
它的原理基于二进制计数和锁存器的结合。
该计数器由四个D触发器组成,每个触发器都能存储一个二进制位。
在计数过程中,每当一个触发器的输出从低电平变为高电平时,它会向高位触发器传递一个脉冲信号。
这样,当最低位的触发器计数到9时,它会向高位触发器传递一个脉冲信号,使得高位触发器加1,而最低位触发器归零。
为了实现循环计数,74LS160还包含一个复位功能。
当外部信号复位输入为低电平时,所有触发器的输出都会被清零,计数器重新从0开始计数。
除了计数功能,74LS160还具有一个使能输入。
当使能输入为低电平时,计数器将会被禁用,不再进行计数。
这个功能可以用于控制计数器的启动和停止。
总结起来,74LS160十进制计数器通过二进制计数和锁存器的结合,实现了0至9的循环计数。
它具有复位和使能功能,可以灵活控制计数器的启动和停止。
这使得它在很多应用中都有广泛的使用,如时钟、计时器、频率分析等。
附录一:基于原理图的模100BCD码计数器的设计1目的:1)练习用原理图输入设计;2)如何用数码管和二极管显示设计;3)如何仿真;4)如何绑定管脚。
2过程2.1新建原理图文件。
点击file->new->block diagram file->OK,如图2-1,图2-2,出现图2-3。
图2-1 新建文件。
点击file->new。
图2-2 新建原理图文件。
点击block diagram file->OK。
图2-3. 原理图设计输入区域。
双击工作区域。
图2-4 宏单元输入界面。
点击Library下的+。
图2-5 选用宏单元。
键入74160。
2.2 输入设计。
双击图2-3的工作区,出现图2-4。
在+megafunctions,+others,+primitives中寻找需要的宏单元。
也可在Name下输入知道名字的宏单元,如“74160”,“GND”,“VCC”等,如图2-5。
输入设计,如图2-6。
存盘为m100_jishuqi,如图2-7。
图2-6 模100BCD码计数器。
图2-7 保存文件。
2.2为本设计建立工程,并放在文件夹..\m100_jishuqi\中。
在图2-7中点击是(或点击file->newproject)出现图2-8;点击next,出现图2-9;输入工程名字和顶层设计名字;点击next,出现图2-10,加入设计文件;点击next,出现图2-11,选择器件(cycloneII系列EP2C70F896C6);点击next->next->finish。
图2-8 新建工程。
点击Next。
图2-9 输入工程名字和顶层设计名字:mo100_jishuqi。
图2-10 把设计文件加入工程。
图2-11 选择器件:cycloneII系列EP2C70F896C6。
2.3把FPGA没有用到的引脚设定为 as input tri-stated。
点击assignment->device,如图2-12;点击Device and Pin Options,如图2-13所示,把Unused Pins设定为as input tri-stated。
74192是一种常见的集成电路,通常用于实现二进制或十进制的计数器。
虽然74192本身是二进制的计数器,但我们可以通过逻辑设计来将其转换为100进制计数器。
以下是实现100进制计数器的基本原理:
1. 使用四个74192:由于74192是四位计数器,我们需要使用四个74192芯片来构建100进制计数器。
每个74192芯片负责计数器的一个数位。
2. 设置计数范围:根据100进制,我们需要设置计数范围为0-99。
这意味着每个数位需要以100为基数进行计数。
因此,我们需要将每个74192的计数范围设置为0-99。
3. 连接输出:将四个74192芯片的计数输出相连,以形成完整的100进制计数器。
低位计数器的进位输出(Carry Out)将连接到高位计数器的时钟输入(Clock In),以实现进位。
4. 重置和启动:在开始计数之前,需要将所有74192芯片的复位输入(Reset)设置为逻辑高电平,以将计数器复位为0。
然后,通过将任意一个74192的时钟输入(Clock In)设置为逻辑高电平来启动计数器。
5. 结果显示:将每个74192芯片的计数输出连接到适当的显示设备,如数码管或LED灯,以显示计数器的当前值。
通过这种方式,我们可以利用多个74192芯片实现一个100进制计数器。
该实验需要适当的电路设计和连接,以及对集成电路的正确使用和配置。
附录一:基于原理图的模100BCD码计数器的设计1目的:1)练习用原理图输入设计;2)如何用数码管和二极管显示设计;3)如何仿真;4)如何绑定管脚。
2过程2.1新建原理图文件。
点击file->new->block diagram file->OK,如图2-1,图2-2,出现图2-3。
图2-1 新建文件。
点击file->new。
图2-2 新建原理图文件。
点击block diagram file->OK。
图2-3. 原理图设计输入区域。
双击工作区域。
图2-4 宏单元输入界面。
点击Library下的+。
图2-5 选用宏单元。
键入74160。
2.2 输入设计。
双击图2-3的工作区,出现图2-4。
在+megafunctions,+others,+primitives中寻找需要的宏单元。
也可在Name下输入知道名字的宏单元,如“74160”,“GND”,“VCC”等,如图2-5。
输入设计,如图2-6。
存盘为m100_jishuqi,如图2-7。
图2-6 模100BCD码计数器。
图2-7 保存文件。
2.2为本设计建立工程,并放在文件夹..\m100_jishuqi\中。
在图2-7中点击是(或点击file->newproject)出现图2-8;点击next,出现图2-9;输入工程名字和顶层设计名字;点击next,出现图2-10,加入设计文件;点击next,出现图2-11,选择器件(cycloneII系列EP2C70F896C6);点击next->next->finish。
图2-8 新建工程。
点击Next。
图2-9 输入工程名字和顶层设计名字:mo100_jishuqi。
图2-10 把设计文件加入工程。
图2-11 选择器件:cycloneII系列EP2C70F896C6。
2.3把FPGA没有用到的引脚设定为 as input tri-stated。
点击assignment->device,如图2-12;点击Device and Pin Options,如图2-13所示,把Unused Pins设定为as input tri-stated。
基于MSI芯片74160设计模为100的计数器1、实验目的:基于MSI芯片74160,利用QuartusII软件设计并实现一个计数器的逻辑功能,通过电路的仿真和硬件验证,进一步了解计数器的特性和功能。
2、实验原理:利用集成计数器MSI芯片的清零端和置数端实现归零,可以按自然态序进行计数的N进制计数器的方法。
集成计数器中,清零、置数均采用异步方式的有74LS163;均采用异步方式的有74LS193、74LS197、74LS192;清零端采用异步方式、置数端采用同步方式的有74LS161、74LS160。
74161/74160功能真值表表1图13、实验环境:PC机(Windowsxp,QuartusII)4、实验内容:按照第五章相关内容,完成计数器的实际,包括原理图输入、编译、综合、适配、仿真,并将此计数器电路设计成一个硬件符号入库。
最后利用两个MSI芯片74160完成一个模为60的计数器的设计,包括原理图的输入、编译、综合、适配、仿真。
5、实验步骤:Step1.启动QuartusII“开始”菜单“所有程序”中的“Altera”程序框中选择“QuartusII”如图1所示:Step2.建立工作库目录文件夹以便设计工程项目的存储EDA工具中的任何一项设计都是一项工程(PROJECT),应首先为此工程建立一个放置与此工程相关的文件的文件夹,此文件夹将被EDA软件默认为工作库(WORK LIBRARY).一般不同的设计项目最好放在相应的文件夹中,注意,一个设计项目可以包含多个设计文件夹。
本项目中的文件夹取名为counter_100,路径为:E:/数字逻辑/作业/100511217/。
注意:文件夹名不能用中文,且不可带空格。
Step3.输入设计(1)打开QuartusII,选择File|New命令。
在New窗口中(如图2所示)的DeviceDesign File中选择硬件设计文件类型为Block Diagram/Schematic File,然后在框图设计文件编辑窗中输入源程序图1的文件。
74LS160 芯片同步十进制计数器(直接清零)·用于快速计数的内部超前进位·用于n 位级联的进位输出·同步可编程序·有置数控制线·二极管箝位输入·直接清零·同步计数本电路是由4 个主从触发器和用作除2计数器及计数周期长度为除5的3位2进制计数器所用的附加选通所组成。
有选通的零复位和置9输入。
为了利用本计数器的最大计数长度(十进制),可将B输入同QA 输出连接,输入计数脉冲可加到输入A上,此时输出就如相应的功能表上所要求的那样。
LS90可以获得对称的十分频计数,办法是将QD 输出接到A输入端,并把输入计数脉冲加到B输入端,在QA输出端处产生对称的十分频方波。
74160引脚图交流波形图:图1 时钟到输出延迟计数图2 主复位输出延迟,主复位时钟频率,脉冲宽度脉冲宽度,和主复位恢复时间状态图VHDL十进制计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity count10 isport (clk:in std_logic;f:buffer integer range 0 to 15;cout:out std_logic);end;architecture aa of count10 isbeginprocess(clk)beginif falling_edge(clk) thenif f=9 thenf<=0;cout<='1';elsef<=f+1;end if;elsenull;end if;end process;end;十进制计数器VHDLlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;--**************实体*****************entity shijinzhi isport(clk: in std_logic;reset: in std_logic;s : out std_logic_vector(5 downto 0);out1: out std_logic_vector(7 downto 0));end shijinzhi;--*****************结构体***********************architecture one of shijinzhi issignal clk_500 : std_logic;--扫描时钟signal clk_1 : std_logic;--1s时钟begin--*************500Hz分频程序********************process(clk)variable cnt1 : integer range 0 to 200;variable cnt2 : integer range 0 to 250;beginif clk'event and clk='1' thenif cnt1=200 thencnt1:=0;if cnt2=250 thencnt2:=0;clk_500<=not clk_500;elsecnt2:=cnt2+1;end if;elsecnt1:=cnt1+1;end if;end if;end process;--***********1Hz分频程序和扫描信号产生********************process(clk_500)variable cnt3 : integer range 0 to 250;beginif clk_500'event and clk_500='1' thenif cnt3=250 thencnt3:=0;clk_1<=not clk_1;elsecnt3:=cnt3+1;end if;end if;end process;--****************************************process(clk_1,reset)variable count1:integer range 0 to 9;beginif reset='0' then count1:=0;elsif clk_1'event and clk_1='1' thenif count1=9 thencount1:=0;elsecount1:=count1+1;end if;end if;if clk_500='1' thencase count1 isWHEN 0 =>s<="111110";out1<="10111111";WHEN 1 =>s<="111110";out1<="10000110";WHEN 2 =>s<="111110";out1<="11011011";WHEN 3 =>s<="111110";out1<="11001111";WHEN 4 =>s<="111110";out1<="11100110";WHEN 5 =>s<="111110";out1<="11101101";WHEN 6 =>s<="111110";out1<="11111101";WHEN 7 =>s<="111110";out1<="10000111";WHEN 8 =>s<="111110";out1<="11111111"; WHEN 9 =>s<="111110";out1<="11101111";when others=>out1<="00000000";end case;end if;end process;end one;。
multisim建立100进制计数器步骤Multisim是一款非常流行的电路仿真软件,它可以帮助我们快速地设计各种电路并模拟其工作过程。
在实际的电路设计中,计数器经常被使用。
100进制计数器可以实现对0~99的数字进行计数和展示。
下面我们将介绍如何通过Multisim来建立一个简单的100进制计数器。
首先,我们需要打开Multisim软件并新建一个电路图。
在新建电路图的界面中,我们可以选择“文件”->“新建”->“电路图”来创建一个新的电路图文件。
创建好之后,我们就可以开始设计我们的计数器电路了。
第一步,我们需要选择适当的计数器芯片。
在Multisim中,我们可以直接从工具栏中拖拽各种芯片模块到电路图中。
我们需要选择一个100进制的计数器芯片,比如CD4017。
将CD4017拖拽到电路图中。
第二步,我们需要为芯片提供合适的时钟输入。
在Multisim中,我们可以在工具栏中找到各种电子元器件,包括时钟发生器。
我们需要将一个合适的时钟发生器拖拽到电路图中,然后将输出连接到计数器的时钟输入端口上。
第三步,我们需要将计数器的输出连接到适当的显示器上,以展示当前计数器的计数值。
在Multisim中,我们可以选择各种显示器模块,包括数字显示器。
我们需要选择一个100进制数字显示器,并将计数器的输出连接到其输入端口上。
第四步,我们需要为计数器提供复位功能,以便在需要时将计数器的值重置为0。
在Multisim中,我们可以使用一个按钮模块来实现复位功能。
我们需要将按钮的输出连接到计数器的复位端口上。
第五步,我们需要为电路添加电源。
在Multisim中,我们可以通过选择电池模块或一个直流电源来为电路提供电源。
我们需要将电源的正负极分别连接到电路的正负极端口上。
最后,我们需要检查一遍我们的电路图,并确认每个元器件的连接方式和参数设置都是正确的。
如果一切都准备好了,我们就可以开始仿真电路的工作过程,看看我们的计数器是否能够正常工作。
74192实现100进制计数器实验原理100进制计数器是一种用于计算机科学和电子工程中的数字计数器。
它可以用来表示和处理范围在0到99之间的数字。
在这篇文章中,我们将介绍100进制计数器的原理以及如何实现它。
首先,让我们先了解一下计数器的基本工作原理。
计数器是一种递增的电子装置,可以记录或计算输入脉冲的数量。
它们通常是基于时钟信号进行计数,每个时钟脉冲都会导致计数器值的递增。
计数器通常包括输入端、时钟端、复位端和输出端。
输入端用来接收输入脉冲,时钟端用来接收时钟信号,复位端用来将计数器值重置为初始值,输出端用来输出计数器的当前值。
在100进制计数器中,我们需要使用两个10进制计数器来表示两位数字。
每个10进制计数器都可以表示0到9之间的数字。
当第一个计数器的值达到9时,它将发送一个进位信号到第二个计数器,同时将自身的值重置为0。
这样,第二个计数器的值将递增1。
当第二个计数器的值达到9时,它将发送一个进位信号到更高位(如果有的话),并将自身的值重置为0。
这样,我们可以实现一个0到99之间的数字计数器。
为了实现100进制计数器,我们需要使用逻辑门和触发器构建逻辑电路。
逻辑门用于控制输入脉冲的传递和进位信号的生成。
触发器用于存储计数器的当前值。
我们可以使用D触发器来实现这一功能。
让我们以一个简单的示例来说明具体操作。
假设我们要构建一个2位的100进制计数器。
这意味着我们需要使用两个10进制计数器,并且每个计数器都可以表示0到9之间的数字。
我们可以使用两个D触发器(称为D1和D2)来存储计数器的值。
首先,我们将输入脉冲连接到D触发器的时钟端。
每个输入脉冲到达时,D触发器将会根据当前输入(D1和D2)的值来更新输出(Q1和Q2)的值。
我们还需要将Q1和Q2连接到逻辑门中,以便在特定情况下生成进位信号。
接下来,让我们看看如何实现第一个10进制计数器。
我们可以使用两个逻辑门和两个D触发器来完成这个任务。
首先,我们将D1和D2与逻辑门G1和G2连接。
74160功能表74160是一款功能强大的集成电路,广泛应用于计数和时序控制系统中。
它具有以下功能:1. 可二进制加计数器:74160能够实现0到9的二进制加计数器功能。
它有四个独立的计数输入线和四个输出线,每个输出线对应一个二进制位。
通过控制输入线的状态,可以实现向上或向下二进制计数。
2. 同步计数:74160使用异步输入方式进行计数,它具有同步计数输入。
当同步计数输入为高电平时,计数器会非常准确地进行计数操作。
3. 并行输出:74160具有四个并行输出位,每个输出位可以直接与其他电路或设备连接。
这使得74160可以与其他功能电路或者显示设备进行连接,实现各种计数和显示功能。
4. 异步复位和置位功能:74160有强大的异步复位和置位功能。
通过设置复位或置位信号,可以迅速将计数器状态复位到指定值,方便起到不同计数起始点。
5. 与外部计数器级联:74160还具有级联输入和级联输出功能,允许多个74160通过级联方式一起工作。
这样可以构成更大范围的计数器系统,满足更多复杂的计数需求。
6. 可编程预设计数器:74160能够通过编程指定预设值进行计数。
设置预设值后,计数器将从指定值开始计数,非常灵活。
这使得74160可以实现定制的计数模式和计数范围。
7. 低功耗设计:74160采用低功耗设计,能够在提供功能的同时有效降低功耗。
这使得它适用于长时间运行的系统,如工业自动化和电力监控等。
总结起来,74160功能全面,适用范围广泛。
它可以用于各种计数和时序控制系统,满足不同的需求。
无论是用于实现基本的二进制计数,还是构成复杂的计数器网络,74160都能够提供稳定可靠的性能。
在不断发展的电子控制技术中,74160这样的功能强大的集成电路有着广阔的应用前景。
计算机与信息技术学院综合性(设计性)实验报告一、实验目的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 代码的值,即将数字转化为段选码图43.设计流程(1)根据实验要求画出原理图(2)对布局进行调整四、实验步骤(包括主要步骤、代码分析等)1.打开Proteus 软件,新建一个ISIS 类文件2.在该软件下新建一个项目,命名为“模100进制计数器.DSN ”3.在元器件库中找取该实验所需要的元器件4.合理的摆放元器件5.根据所绘制的原理图将各元器件用线连接起来6.对原理图进行适当的调整,使之美观图2 图37.进行调试,对不合理的模100进制计数器的原理图如下:五、结果分析与总结通过本次实验,我掌握了基本的原理图的设计步骤,并了解了仿真的基本原理和仿真设计方法,同时也掌握了74161、7477和七段数码管显示的工作原理,但是在设计过程中也遇到了一些问题,最后在同学的帮助下才得以解决。
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定时电路的原理以及应用有了更为深刻的认识。
在动手焊接电路时,无形中加深了自己的动手能力,在调试过程中培养了自我总结,发现问题解决问题的能力。
基于MSI芯片74160设计模为100的计数器1、实验目的:基于MSI芯片74160,利用QuartusII软件设计并实现一个计数器的逻辑功能,通过电路的仿真和硬件验证,进一步了解计数器的特性和功能。
2、实验原理:利用集成计数器MSI芯片的清零端和置数端实现归零,可以按自然态序进行计数的N 进制计数器的方法。
集成计数器中,清零、置数均采用异步方式的有74LS163;均采用异步方式的有74LS193、74LS197、74LS192;清零端采用异步方式、置数端采用同步方式的有74LS161、74LS160。
74161/74160功能真值表输入输出CLRN LDN ENT ENP CP D C B A QD QC QB QA RCO0 X X X X X X X X 0 0 0 0 01 0 X X ↑ D C B A D C B A1 1 1 1 ↑X X X X 步进计数1 1 0 X X X X X X 保持1 1 X 0 X X X X X 保持0表1图13、实验环境:PC机(Windows xp,QuartusII)4、实验内容:按照第五章相关内容,完成计数器的实际,包括原理图输入、编译、综合、适配、仿真,并将此计数器电路设计成一个硬件符号入库。
最后利用两个MSI芯片74160完成一个模为60的计数器的设计,包括原理图的输入、编译、综合、适配、仿真。
5、实验步骤:Step1.启动QuartusII“开始”菜单“所有程序”中的“Altera”程序框中选择“QuartusII”如图1所示:Step2.建立工作库目录文件夹以便设计工程项目的存储EDA工具中的任何一项设计都是一项工程(PROJECT),应首先为此工程建立一个放置与此工程相关的文件的文件夹,此文件夹将被EDA软件默认为工作库(WORK LIBRARY).一般不同的设计项目最好放在相应的文件夹中,注意,一个设计项目可以包含多个设计文件夹。
本项目中的文件夹取名为counter_100,路径为:E:/数字逻辑/作业/100511217/。
注意:文件夹名不能用中文,且不可带空格。
Step3.输入设计(1)打开QuartusII,选择File|New命令。
在New窗口中(如图2所示)的Device Design File 中选择硬件设计文件类型为Block Diagram/Schematic File,然后在框图设计文件编辑窗中输入源程序图1的文件。
图2(2)放置元件在原理图空白处双击鼠标,跳出Symbol选择窗口(或单击右键选择Inster→Symbol…),出现元件对话框图2图3为了设计一位全加器,可参考图1,分别调入元件input、output、与门AND4、MSI芯片74160,并连接好。
然后分别在input和output的PIN NAME上双击使其变黑,再用键盘分别输入各引脚名:CLRN,CLK(时钟),CO(输出),Q[7..0](两个74160共8个输出)。
以及Q[0]到Q[7]输出。
(3)文件存盘从菜单File中选择Save as 命令,选择刚才为自己工程建立的目录E:/数字逻辑/作业/100511217/,将设计好的图文件取名为:counter_100(注意后缀是.bdf),并存盘在E:/数字逻辑/作业/100511217/ 目录内,如图4所示。
图4Step4.新建工程(1)单击File/New Project Wizard,弹出“工程设置”对话框,如图5图5第1行的E:/数字逻辑/作业/100511217/ 表示工程所在的工作库文件夹,第2行表示该工程的工程名,此工程名可以取任何其他的名,也可以用顶层文件实体名作为工程名;第3行是当前工程顶层文件的实体名(此处输入的顶层文件实体名与之后的设计文件实体名相同,默认的顶层文件名与工程名相同),此处即为counter_100。
(2)加入设计文件单击Next按钮,在弹出的对话框中单击File栏中的“…”,将于工程相关的所有文件加入工程中,单击Add按钮进入此工程,即可得如图6所示的情况。
图6 添加设计文件(3)选择目标芯片(用户必须选择与开发板相应的FPGA器件型号):这时弹出选择目标芯片的窗口,首先在Family栏选择目标芯片系列,在此选择Cylone 系列,如图7所示。
再次单击Next按钮,选择此系列的具体芯片EP1C6Q240C8,这里EP1C6表示Cylone系列及此器件的规模,Q表示PQFP封装,C8表示速度级别。
图7 选择目标芯片(4)选择仿EDA工具:设计中可能用到的EDA工具有时序分析工具、仿真工具和综合工具。
单击图7中Next按钮,可从弹出的窗口中选择EDA工具类型,如果都选None,表示选QuartusII中自带的EDA工具。
(5)单击Next按钮后进入下一步。
弹出“工程设置统计”窗口,如图8所示。
图8 工程设计统计(6)结束设置。
最后单击Finish按钮,即表示已设定好此工程,并出现counter_100的工程管理窗口(亦称Compilation Hierarchies窗口),该窗口主要显示该项目的层次结构和各层次的实体名,如图9所示。
完成设置后可以看到窗口左上角显示所设工程路径的变化。
QuartusII将工程信息文件存储在工程配置文件(.qsf)中。
它包括设计文件、波形文件、SignalTapII文件、内存初始化文件,以及构成工程的编译器、仿真器的软件构件设置等有关QuartusII工程的所有信息。
图9Step5.编译综合QuartusII默认把所有编译结果放在工程根目录中,为了让QuartusII像Visual Studio等IDE 一样把编译结果放在一个单独的目录中,需要指定编译结果的输出路径。
单击菜单项Assignment→settings,选中Compilation processSetting 选项卡,勾选右边的Save Project output files inspecified directory,输入路径(release or debug),如下图:QuarterII编译器是由一系列处理模块构成,这些模块负责对设计项目检错,逻辑综合、结构综合、输出结果的编辑配置,以及时序分析。
单击菜单选项Processing→Start→Start Analysis&Synthesis执行分析与综合项目检错(或Ctrl+K),如果仅仅需要检测语法,那么执行Analysis&Elaboration(分析与解析),但这一步生成的数据并不对应FPGA器件的物理结构,生成的网表中节点的名称也不与FPGA器件的Cell名称对应。
更多情况下直接执行Start Analysis&Synthesis。
执行分析与综合后,生成的数据库对应FPGA器件的物理结构,映射后的数据库包含FPGA底层Cell的位置信息和Cell的时序信息。
上面所有工作做好后,执行QuartusII主窗口的Processing菜单的Star Compilation 选项,启动全程编译。
编译好后的工程管理窗口如图10所示。
图10编译过程中应注意工程管理窗下方的Processing栏中的编译信息。
如果编译有错,启动编译后下方Processing栏会显示出来,可双击错误提示,即弹出对应用深色标记的相关错误位置,再次编译直至排除所有错误。
在图10中单击Report可得到如图11所示的界面,此界面左上角是工程管理窗口,单击其中各项可了解编译和分析结果。
如单击Flow Summary,将在右栏显示此工程的硬件耗用报告:Timing Analyzer 项,则能看到当前工程所有相关时序特性的报告。
图11Step6.仿真测试该工程编译通过后,必须对其功能和时序性能进行仿真检测,以验证设计结果是否满足设计要求。
整个时序仿真测试流程一般有建立波形文件、输入信号节点、设置波形参数、编辑输入信号、波形文件存盘、运行仿真器和分析仿真波形等步骤。
现给出以.vwf文件方式的仿真测试流程的具体步骤如下:(1)建立仿真波形文件选择QuartusII主窗口主窗口的File菜单的New选项,在弹出的文件类型编辑对话框中,选择Verification/Debugging Files 中的Vector Weaveform Files 项,单击OK按钮,打开波形文件编辑窗口。
单击File→Save As,即出现如图12所示:图12(2)设置仿真参数选择Assigment 中的settings 对话框,可以进行如仿真激励文件、毛刺检测、功耗估计、输出等设置,一般情况下选默认值。
如图13所示:图13本题中整个仿真时间区域蛇为10µs、时间轴周期为100ns,其设置步骤是在Edit菜单中选择End Time,在弹出窗口中Time 出填入10,单位选择µs,同理在Gride Size中Time Period 输入50ns,单击OK按钮,设置结束。
(3)输入工程的信号节点单击Edit→Insert→Insert Node or BUS…,即可弹出如图14的对话框,单击Nodes Found选项,在Nodes Found对话框Filter项中选择Pins:All,然后单击List按钮,在下方的窗口中出现设计中的工程的所有窗口的引脚名,选择欲观察信号节点,用中间的“≥”将需要观察的信号选到右边,如图15所示,单击OK按钮,回到Insert Node or BUS 对话框,再单击OK按钮即可,如图16所示。
图14.图15图16(4)设计输入信号波形单击图16窗口的输入信号CP使之变成蓝色条,再单击右键,选择Value设置中的Clock对话框(如图17所示),设置其周期为50ns,同理分别设置其他信号的波形,波形编辑结果如图19所示。
双击图16所示输出信号CO、Q[7..0],将弹出信号输出格式设置对话框图18所示,在对话框的Radix中有6中选择,将在后续试验中要用到。
图17 图18图19(5)启动仿真器,观察结果所有设置完成后,选择“File”中的“Save As”项,将波形文件以默认名存盘后,即可启动仿真器Processing|Start Simulation,直到出现Simulation was successful,仿真结束。
QuartusII9.0中默认的Simulation mode 为Timing(时序仿真)仿真波形输出文件Simulation Report 将自动弹出如图20所示,通过该图可查看实际设计的电路运行时是否满足延时要求。
注意,QuartusII的仿真波形文件中,波形编辑文件(*.bdf)与波形仿真报告输出文件(Simulation Report)是分开的,而MaxplusII的激励波形编辑文件与波形仿真报告输出文件是合二为一的。