十进制加法器

时间:2024-06-12 15:01:29编辑:分享君

二进制计数器与十进制计数器的区别是什么?

用2辗转相除至结果为1
将余数和最后的1从下向上倒序写 就是结果
例如302
302/2 = 151 余0
151/2 = 75 余1
75/2 = 37 余1
37/2 = 18 余1
18/2 = 9 余0
9/2 = 4 余1
4/2 = 2 余0
2/2 = 1 余0
故二进制为100101110

二进制转十进制
从最后一位开始算,依次列为第0、1、2...位
第n位的数(0或1)乘以2的n次方
得到的结果相加就是答案
例如:01101011.转十进制:
第0位:1乘2的0次方=1
1乘2的1次方=2
0乘2的2次方=0
1乘2的3次方=8
0乘2的4次方=0
1乘2的5次方=32
1乘2的6次方=64
0乘2的7次方=0
然后:1+2+0
+8+0+32+64+0=107.
二进制01101011=十进制107.


VHDL语言编写一个一位10进制可逆计数器

是用BCD码表示十进制吗?可以每四位分开看。

比如BCD码q(11 downto 0)可以表示0到999,前四位是个位,中四位是十位,后四位是百位。不知道对于溢出的有什么要求,我设成溢出后不做任何运算。

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

entity add_sub is
port(
clk : in std_logic;
clr : in std_logic;
sl : in std_logic;
q : out std_logic_vector(11 downto 0));

end add_sub;

architecture add_sub_arc of add_sub is

signal cnt : std_logic_vector(11 downto 0);

begin

process(clk,clr,cnt)
begin

if clr = '0' then

cnt '0');

elsif clk = '1' and clk'event then

if sl = '0' then -- adder

if cnt /= "100110011001" then

if cnt(3 downto 0) = "1001" then

cnt(3 downto 0) '0'); -- units
cnt(7 downto 4) <= cnt(7 downto 4) + '1'; -- tens

else

cnt(3 downto 0) <= cnt(3 downto 0) + '1'; -- units

end if;

if cnt(7 downto 4) = "1001" then -- tens

cnt(7 downto 4) '0'); -- tens
cnt(11 downto 8) <= cnt(11 downto 8) + '1'; -- hundreds

end if;

else

cnt <= cnt;

end if;

else -- substractor

if cnt /= "000000000000" then

if cnt(3 downto 0) = "0000" then

cnt(3 downto 0) <= "1001";
cnt(7 downto 4) <= cnt (7 downto 4) - '1';

else

cnt(3 downto 0) <= cnt (3 downto 0) - '1';

end if;

if cnt(7 downto 4) = "0000" then

cnt(7 downto 4) <= "1001";
cnt(11 downto 8) <= cnt (11 downto 8) - '1';

end if;

end if;

end if;

q <= cnt;

end if;

end process;

end add_sub_arc;


用两个74LS192构成十进制加计数器功能表——急求!!!

下面以两个74LS192级联构成两位十进制计数器控制实现0.0~9.9V的切换为例。低位计数器输出Qo、Qi、Q2、Q3分别提供0.1V、0.2V、0.4V、0.8V的控制信号;高位计数器输出Qo. Qi、Q2、Q3分别提供1V、2V、4V、8V的控制信号。采用按键作为步进加、步进减的控制按钮;为了防止在按钮过程中出现振铃现象,在计数器加计数、减计数时钟脉冲端与加、减计数按钮之间接入施密特触发器74 LS14,以消除振铃现象。预置数选通端可以接拨码开关,以实现预置数的设置;用开关控制预置数选通端的选通状态,开关闭合时预置数选通端为低电平,选通端有效,预置数送到输出端;开关断开时预置数选通端为高电平,选通端无效,不能将预置数送到输出端 由两个74LS192级联构成两位十进制计数器的电路如下图所示。在图中,1V以下的计数器74LS192的时钟可以由"+""-"两键分别控制输出电压步进增减,1V以上的计数器74LS192的加、减计数时钟则由低位的进、借位输出提供如果需要3位以上的减计数和预置数,则可以在图中的基础上继续级联192、相应的拨码开关及相应的74LS14,直到满足要求为止。 74LS192的输出接驱动继电器激磁线圈的晶体管基极,如下图所示。 为了使晶体管与TTL电平匹配,需要在74LS输出与晶体管基极之间串联适当的电阻,如15~20kΩ的电阻,同时在晶体管基极与发射极之间并联lOkΩ的电阻,以确保在74LS192输出低电位时晶体管处于关断状态。

用74LS192构成十进制加法计数器

主要是用74LS283芯片和74LS86芯片通过拨码开关来控制高低电平作为二进制的0和1,用普通led灯来展现高低电平状态,高电平则灯亮,低电平则灯灭,通过2位的拨码开关来实现加法器和减法器的转换,经过两组芯片后电流通过led,led灯亮,则表示为1,如果灯灭,则表示为0。另外设计一个电源电路,将9v的交流电压降到5v,再输入到加法器、减法器电路,能够实现8位的二进制相加或则相减,结果的范围应该在00000000到111111110之间,八位二进制数换算成三位十进制数最大为255。扩展资料设计原理图时,在原理图元器件的放置就要好好安排位置,以免太过杂乱,不好复查,同时,在选择元器件的时候要注意所包含的封装是否是插孔式,因为有的封装是贴片式的,以免选错,造成不必要的麻烦。在做原理图的时候有一些小技巧,如果像每样相同的元器件很多,比如电阻,可以双击元器件然后摁TAB键,改变元器件名称和序号,这样就可以一次性得到相同型号的元器件,不用一个个点,做原理图时元器件的型号要标好,方便自己检查和焊元器件时pcb和原理图进行对应,从原理图库中有差不多的元器件的时候可以观察它们封装的特点,看哪一个封装比较适合自己,同时看封装大小是否合适。

上一篇:2019百度沸点

下一篇:智博会2019