目前共有10篇帖子。 內容轉換:不轉換▼
 
點擊 回復
586 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)
 

本帖信息

點擊數:586 回複數:9
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2017-2-4 21:33
 
©2010-2024 Arslanbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。