
LIBRARY IEEE; USE IEEESTD_LOGIC_1164ALL; USE IEEESTD_LOGIC_UNSIGNEDALL; ENTITY 8_COUNT IS PORT(CLK,RESET,EN:IN STD_LOGIC; OUTPUT:OUT INTEGER RANGE 0 TO 7); END ENTITY; ARCHITECTURE ART OF 8_COUNT IS BEGIN PROCESS
k是控制置数的,en是计数使能,clr是清零:
library IEEE;
use IEEEstd_logic_1164all;
use IEEEstd_logic_unsignedall;
use IEEEstd_logic_arithall;
entity cnt_16 is
port (
clk: in STD_LOGIC;
qin: in STD_LOGIC_VECTOR (15 downto 0);
clr:in std_logic;
k: in std_logic;
en: in STD_LOGIC;
qout: out STD_LOGIC_VECTOR (15 downto 0);
q: out STD_LOGIC
if qqout="1111111111111111" then
qq<='1' ;
qqout<="0000000000000000";
else
qqout<=qqout '1';
end if;
end process suocun;
end cnt_16_arch;
扩展资料:
n位二进制异步计数器由n个处于计数工作状态(对于D 触发器,使Di=Qin;对于JK 触发器,使Ji=Ki=1) 的触发器组成。各触发器之间的连接方式由加、减计数方式及触发器的触发方式决定。
对于加计数器,若用上升沿触发的触发器组成,则应将低位触发器的Q 端与相邻高一位触发器的时钟脉冲输入端相连(即进位信号应从触发器的Q 端引出);若用下降沿触发的触发器组成,则应将低位触发器的Q 端与相邻高一位触发器的时钟脉冲输入端连接。对于减计数器,各触发器的连接方式则相反。
参考资料来源:百度百科-二进制计数器
。。。。。建议你分块写 别吝啬always,多用几个不花钱的!别把一堆东西往一个always里边放, 就像posedge en ,if(clk), 你那个几个if 都是问题 , 写code一定要逻辑清晰!
用两片74ls90芯片,一片控制个位,为十进制;另一片控制十位,为六进制。利用74ls90本身的两控制端(见摘要关于74ls90的注解)完成十进制,在达到1001(即十进制的九)时,给第二个芯片一个脉冲,这样反复,直到第二片达到0110时第二片自身清零,这样完成一次60的计数,且回到初态,两片74ls90全部清零,继续重复计数。(见图3)时计数器具体设计方案为:用两片74ls90芯片,一片控制个位,为十进制;另一片控制十位,为二进制。利用74ls90本身的两控制端(见摘要关于74ls90的注解)完成十进制,在达到1001(即十进制的九)时,给第二个芯片一个脉冲,这样反复,直到第二片达到0010(即十进制的二)且第一片达到0100(即十进制的四)时第一片和第二片同时清零,这样完成一次24的计数,且回到初态,继续重复计数。(见图4)(3)译码输出显示单元电路为了将计数器输出的8421bcd
码显示出来,需用译码输出显示电路将计数器的输出数码转换为数码显示器件所需要的输出逻辑,我们采用较熟悉的七段译码显示电路。本设计可选器件74ls47为译码电路。
用74HC161设计一个四进制计数器,使用同步置数功能。当计数到最大数3时,用一个与非门74LS00,产生一个置数信号加到置数端LD即可。下图是逻辑图,也是仿真图,是计数到最大数3时的截图。你画逻辑图时,要省掉 那个数码管,那是为了显示仿真效果的。
以上就是关于设计一个带使能输入的和同步清零的十进制计数器的vhdl语言程序全部的内容,包括:设计一个带使能输入的和同步清零的十进制计数器的vhdl语言程序、带异步复位,同步使能的十进制计数器的设计、verilog十进制计数器程序,有四个错误,请问哪错了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)