德必信生活网

您现在的位置是:首页 > 生活资讯 > 正文

生活资讯

十进制计数器程序(十进制计数器功能表)

阿信2023-03-07生活资讯157

今天给各位分享十进制计数器程序的知识,其中也会对十进制计数器功能表进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

用同步置数法和异步清零法设计一个十进制计数器

LS161的11脚(Q3)和13脚(Q1)接到LS20的其中一个与非门的两个输入端,LS20是双4输入与非门,也就是一个与非门有四个输入端,所以另外两个输入端应该接高电平,把这个与非门的输出端接到LS161的CR非端(1脚)。输出就是一个十进制计数器了,计到10会自动清零。

74LS161:异步二进制计数器在做加法计数时是以从低位到高位逐位进位的方式T作的。因此,其中的各个触发器不是同步翻转的。按照二进制加法计数规则,第i位如果为1,则再加上1时应变为0,同时向高位发出进位信号,使高位翻转。

扩展资料:

异步二进制计数器在做加法计数时是以从低位到高位逐位进位的方式T作的。因此,其中的各个触发器不是同步翻转的。按照二进制加法计数规则,第i位如果为1,则再加上1时应变为0,同时向高位发出进位信号,使高位翻转。

若使用T'触发器构成计数器电路,则只需将低位触发器的Q(或Q)端接至高位触发器的时钟输入端即可实现进位。当低位由1变为0时,Q端的下降沿正好可以作为高位的时钟信号(若采用下降沿触发的T'触发器),或者Q端的上升沿作为高位的时钟信号(若采用上升沿触发的T'触发器)。

参考资料来源:百度百科-异步计数器

Verilog HDL程序:实现2位十进制计数器,从0计数到99?

module CNT10 (CLK, RST, EN, CQ, COUT);

input CLK,RST,EN;

output[3:0] CQ;

output COUT;

reg[3:0] CQ,CQI;

reg COUT;

always @(posedge CLK)//检测时钟上升沿

begin : u1

if (RST == 1'b1)//计数器复位

begin

CQI={4{1'b0}};

end

begin

if(EN==1'b1)//检测是否允许计数

begin

if (CQI9)

begin

CQI=CQI+1; //允许计数

end

else

begin

CQI={4{1'b0}}; //大于9,计数值清零

end

end

end

if (CQI==9)

begin

COUT=1'b1 ; //计数大于9,输出进位信号

end

else

begin

COUT=1'b0 ;

end

CQ=CQI ; //将计数值向端口输出

end

endmodule

十进制计数器 vhdl

LIBRARY

IEEE;TY

CNT10

IS

n

USE

IEEE.STD_LOGIC_1164.ALL;

USE

IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY

CNT10

ISEE.STD_LOGIC_1164.AL

PORT

(CLK,RST,EN

:

IN

STD_LOGIC;

CQ

:

OUT

STD_LOGIC_VECTOR(3

DOWNTO

0);

COUT

:

OUT

STD_LOGIC

);

L;

USE

IEEE.STD_LOGI

END

CNT10;

ARCHITECTURE

behav

OF

CNT10

IS

BEGINC_UNSIGNED.ALL;

ENTI

PROCESS(CLK,

RST,

EN)

VARIABLE

CQI

:

STD_LOGIC_VECTOR(3

DOWNTO

0);

BEGINLIBRARY

IEEE;

USE

IE

IF

RST

=

'1'

THEN

CQI

:=

(OTHERS

='0')

;

--计数

ELSIF

CLK'EVENT

AND

CLK='1'

THEN

L;

USE

IEEE.STD_LOGI

IF

EN

=

'1'

THEN

IF

CQI

9

THEN

CQI

:=

CQI

+

1;

--允许计数,

TY

CNT10

IS

n

ELSE

CQI

:=

(OTHERS

='0');

--大于9,

END

IF;C_UNSIGNED.ALL;

ENTI

END

IF;

END

IF;

IF

CQI

=

9

THEN

COUT

=

'1';

--计数大于9,输出进位信号LIBRARY

IEEE;

USE

IE

ELSE

COUT

=

'0';

END

IF;

CQ

=

CQI;

--将计数值向端口输出L;

USE

IEEE.STD_LOGI

END

PROCESS;

END

behav;

一位十进制加法计数器的怎么用VHDL语言实现

十进制加法器的VHDL程序及注释如下:

// 包含所需的库

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_unsigned.all;

// 定义所需的输入输出端口和寄存器

ENTITY BCD_counter IS

 PORT(clr,clk: IN std_logic;

 BCD_q:OUT std_logic_vector(3 DOWNTO 0));

END BCD_counter;

ARCHITECTURE behavioral OF BCD_counter IS

 SIGNAL counter:std_logic_vector(3 DOWNTO 0);

BEGIN

 process(CLR,CLK)

 begin

 IF clr='0' then  // 清零标志有效,则计数器清零

     counter = (OTHERS = '0');

 ELSIF rising_edge(clk) THEN

     IF counter  "1001" THEN     // 计数器数值小于10,计数器加1

         counter = counter +'1';

     ELSE counter = (OTHERS = '0'); // 计数器数值大于等于10,计数器清零

     END IF;

 END IF;

 end process;

 BCD_q = counter;

END behavioral;

关于十进制计数器程序和十进制计数器功能表的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。