目前共有10篇帖子。 内容转换:不转换▼
 
点击 回复
474 9
【电路】用74HC165和74HC595构成的硬件乘法器
一派护法 十九级
1楼 发表于:2017-1-25 22:03
一派护法 十九级
3楼 发表于:2017-1-25 22:14
电路文件下载地址:http://pan.baidu.com/s/1gfqmhDh
一派护法 十九级
4楼 发表于:2017-1-25 22:15
中间的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。
一派护法 十九级
5楼 发表于:2017-1-25 22:16
此乘法器使用的算法是:补码一位乘法。
一派护法 十九级
6楼 发表于:2017-1-25 22:17
回复5楼 @巨大八爪鱼 的内容:
此乘法器使用的算法是:补码一位乘法。
准确的说是:比较法
一派护法 十九级
7楼 发表于:2017-1-25 22:36

乘法器数据表(每个CLK时钟周期内各寄存器的数值变化情况):

http://pan.baidu.com/s/1o7IhTSA

表格“分步乘法部分”的单元格E2为第一个乘数,采用双符号位,正数为00,负数为11。

单元格J2为第二个乘数,采用单符号位,最高位为任意电平X。

可以手动修改这两个单元格的值(必须为8位二进制数),Excel自动计算其他单元格的值。

 

D65为最终U15_595A寄存器的值,J65为最终U16_595C寄存器的值。

 

一派护法 十九级
8楼 发表于:2017-1-25 22:42

此电路还可以做一些改进:

1.通过14个按键或开关输入两个乘数

2.通过14个LED灯输出计算结果

3.由于按63下CLK按键很麻烦。可以干脆接一个晶振(比如8MHz的)作为时钟信号,每计算完毕一次就自动将START置0重新装载操作数并计算。并且仿照单片机的复位电路,接一个10μF的电容实现上电复位(START自动从0变到1)。

这样就可以完全去掉那两个按键,只要操作数一变,计算结果马上就显示出来了。

一派护法 十九级
9楼 发表于:2017-1-25 22:43
实际上在这个电路中,如果按CLK键63次以上,虽然各寄存器还在工作,但输出不会改变,直到按下START键复位(重装操作数)
一派护法 十九级
10楼 发表于:2017-2-4 21:30

【本电路用到的主要集成电路器件】

与门12个:74HC08三个

与非门4个:74HC00一个

或门6个:74HC32两个,闲置2个或门

非门5个:74HC04一个,闲置1个非门

异或门3个:74HC86一个,闲置1个异或门

D触发器4个:74HC74一个

74HC161计数器两个

74HC165并入串出寄存器三个

74HC595串入并出寄存器两个

一派护法 十九级
11楼 发表于:2017-2-4 21:33

一共用到集成电路16个。其中集成门电路8个。

若每个集成门电路的价格是1.5元,其余集成电路每个3元,那么成本就是36元。

可见,用74系列芯片搭建数字电路的成本很高,还不如直接使用单片机。

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:474 回复数:9
评论数: ?
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2017-2-4 21:33
 
©2010-2024 Arslanbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。