继续分享电工学基础第205期,二进制计数器的再说明。在电子计算机和数字逻辑系统中,计数器是基本部件之一,它能累计输入脉冲的数目,就像我们数数目一样,1、2、3…,最后
继续分享电工学基础第205期,二进制计数器的再说明。在电子计算机和数字逻辑系统中,计数器是基本部件之一,它能累计输入脉冲的数目,就像我们数数目一样,1、2、3…,最后给出累计的总数,计数器可以进行加法计数,也可以进行减法计数,或者可以进行两者兼有的可逆计数,若从进位制来分,有二进制计数器、十进制计数器等多种,这里先探讨一下二进制计数器。
所谓二进制加法,就是逢二进一,即01=1、11=10。也就是每当本位是1,再加一个1时,本位便变成0,而向高位进位,使高位加1由于双稳态触发器有1和0两个状态,所以一个触发器可以表示一位二进制数。如果要表示n位二进制数,就得用n个触发器。根据上面描述,我们可以列出四位二进制加法计数器的状态表要实现表13-15所列的四位二进制加法计数,必须用四个双稳态触发器,它们具有计数功能。
1、d触发器设计十六进制计数器的原理D触发器是一种数字电路元件,它有一个数据输入端(D)、时钟输入端(CLK)和一个输出端(Q)。当时钟信号CLK上升沿到来时,D触发器会将D端的输入值存储到内部的锁存器中,并在Q端输出。可以利用D触发器设计计数器,实现特定次数的计数功能。一个四位十六进制计数器由四个D触发器组成。每个触发器的输出都连接到下一个触发器的时钟输入端,这样就形成了一个串联的触发器网络。
在正向十六进制计数模式下,当CLK信号的下降沿到来时,第一个触发器的D输入端接入低电平,从而产生“0000”输出。当CLK信号的下降沿再次到来时,第一个触发器的锁存器将“0000”存储下来,同时其输出为高电平,会将次高位的锁存器的D输入端也置为高电平。依此类推,每当CLK下降沿到来时,触发器之间的信号传递会从低位到高位,逐步产生输出结果“0001”、“0010”、“0011”直到“1110”和“1111”的输出。
2、用vhdl编写用D触发器设计异步四位二进制加法计数器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYasy_bin_counterISPORT(clock:INSTD_LOGIC;q_out:OUTSTD_LOGIC_VECTOR(3DOWNTO0);carry_out:OUTSTD_LOGIC);ENDasy_bin_counter;ARCHITECTUREONEOFasy_bin_counterISSIGNALd,
d:INSTD_LOGIC;q,q_n:OUTSTD_LOGIC);ENDCOMPONENT;BEGINU0:dff_2PORTMAP(clk>clock,d>d(0),q>q(0),q_n>d(0));U1:dff_2PORTMAP(clk>q(0),d>d(1),q>q(1),q_n>d(1));U2:dff_2PORTMAP(clk>q(1)。