目前共有10篇帖子。 字體大小:較小 - 100% (默認)▼  內容轉換:港澳繁體▼
 
點擊 回復
676 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)
 

本帖信息

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