設置 | 登錄 | 註冊

作者共發了10篇帖子。

【電路】用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系列晶片搭建數字電路的成本很高,還不如直接使用單片機。

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張
©2010-2025 Purasbar Ver3.0 [手機版] [桌面版]
除非另有聲明,本站採用知識共享署名-相同方式共享 3.0 Unported許可協議進行許可。