|
【电路】用74HC165和74HC595构成的硬件乘法器 |
一派護法 十九級 |
|
一派護法 十九級 |
|
一派護法 十九級 |
中间的165B的D1~D7接第一个乘数,D1为符号位,D0必须和D1相同。如图所示接的是1010010=-46。 165C的D1~D7为另一个乘数,D0电平任意(可直接接地)。如图所示接的是0110101=53。 通电后,先按START键复位并置入操作数,然后给63个时钟脉冲(按CLK键63下),即可在输出端得出计算结果(把左下角U15的Q0~Q7和U16的Q0~Q5拼在一起,11011001 111010,最高位为符号位,对应的十进制数是-2438)。 -46*53=-2438。
|
一派護法 十九級 |
此乘法器使用的算法是:补码一位乘法。
|
一派護法 十九級 |
|
一派護法 十九級 |
乘法器数据表(每个CLK时钟周期内各寄存器的数值变化情况): http://pan.baidu.com/s/1o7IhTSA 表格“分步乘法部分”的单元格E2为第一个乘数,采用双符号位,正数为00,负数为11。 单元格J2为第二个乘数,采用单符号位,最高位为任意电平X。 可以手动修改这两个单元格的值(必须为8位二进制数),Excel自动计算其他单元格的值。 D65为最终U15_595A寄存器的值,J65为最终U16_595C寄存器的值。
|
一派護法 十九級 |
此电路还可以做一些改进: 1.通过14个按键或开关输入两个乘数 2.通过14个LED灯输出计算结果 3.由于按63下CLK按键很麻烦。可以干脆接一个晶振(比如8MHz的)作为时钟信号,每计算完毕一次就自动将START置0重新装载操作数并计算。并且仿照单片机的复位电路,接一个10μF的电容实现上电复位(START自动从0变到1)。 这样就可以完全去掉那两个按键,只要操作数一变,计算结果马上就显示出来了。
|
一派護法 十九級 |
实际上在这个电路中,如果按CLK键63次以上,虽然各寄存器还在工作,但输出不会改变,直到按下START键复位(重装操作数)
|
一派護法 十九級 |
【本电路用到的主要集成电路器件】 与门12个:74HC08三个 与非门4个:74HC00一个 或门6个:74HC32两个,闲置2个或门 非门5个:74HC04一个,闲置1个非门 异或门3个:74HC86一个,闲置1个异或门 D触发器4个:74HC74一个 74HC161计数器两个 74HC165并入串出寄存器三个 74HC595串入并出寄存器两个
|
一派護法 十九級 |
一共用到集成电路16个。其中集成门电路8个。 若每个集成门电路的价格是1.5元,其余集成电路每个3元,那么成本就是36元。 可见,用74系列芯片搭建数字电路的成本很高,还不如直接使用单片机。
|