絕對值計算--電路應用

2011-10-13 9:47 pm
某科技公司你設計一個絕對值計算電路,功能如下:

1.兩個四位元的資料(輸入)

2.當輸入資料為BCD碼時則執行減法運算(絕對值),當有任一為非BCD碼時則顯示錯誤(紅燈亮)

3.當A>B則執行A-B且顯示B的燈亮,當A



請熟知電路的高手們解一下電路,並給一下電路圖

感激不盡

回答 (1)

2011-10-14 5:26 am
✔ 最佳答案
二進碼十進數(Binary-Coded Decimal, 簡稱BCD, 大陸稱BCD碼或二-十進制編碼)是一種二進制的數字編碼形式。
這種編碼形式利用了四個位元來儲存一個十進位的數碼, 使二進制和十進制之間的轉換得以快捷的進行。這種編碼技巧, 最常用於會計系統的設計裡, 因為會計制度經常需要對很長的數字串作準確的計算。
相對於一般的浮點式記數法, 採用BCD碼, 既可保存數值的精確度, 又可免卻使電腦作浮點運算時所耗費的時間。
此外, 對於其他需要高精確度的計算, BCD編碼亦很常用。

最常用的BCD編碼, 就是使用"0"至"9"這十個數值的二進碼來表示。
這種編碼方式,稱為BSD8421, 除此以外, 對應不同需求, 各人亦開發了不同的編碼方法, 以適應不同的需求。
這些編碼, 大致可以分成有權碼和無權碼兩種:有權碼, 如 : 8421(最常用)、2421、5421… 無權碼, 如 : 餘3碼、格雷碼… 以下為三種常見的BCD編碼的比較。十進數 8421-BCD碼 餘3-BCD碼 2421-A碼 (M10)D C B AC3 C2 C1 C0a3 a2 a1 a000 0 0 00 0 1 10 0 0 010 0 0 10 1 0 00 0 0 120 0 1 00 1 0 10 0 1 030 0 1 10 1 1 00 0 1 140 1 0 00 1 1 10 1 0 050 1 0 11 0 0 00 1 0 160 1 1 01 0 0 10 1 1 070 1 1 11 0 1 00 1 1 181 0 0 01 0 1 11 1 1 091 0 0 11 1 0 01 1 1 1

格雷碼(循環碼)是任意兩個相鄰數的代碼只有一位二進制數不同的BCD碼, 它與奇偶校驗碼同屬可靠性編碼。

由於有各式各樣的BCD碼, 所以你所謂的非BCD碼並不成立, 你只有將其分類, 才能夠編碼與解碼。

以下是簡單的編碼器。

圖片參考:http://sub.allaboutcircuits.com/images/quiz/03003x01.png



圖片參考:http://sub.allaboutcircuits.com/images/quiz/03004x01.png


當然你也可以用二極管來配搭

圖片參考:http://www.imefan.com/dzrm/UploadFiles_6100/200803/20080322165916276.jpg


圖片參考:http://www.gauss.com.tw/logic/ch7/images/ssdff.gif



更加可以用機械式

圖片參考:http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/BCD-Scheibe.png/120px-BCD-Scheibe.png


至於解碼器也有多種的設計

圖片參考:http://macao.communications.museum/images/exhibits/2_18_6_3_chi.png


圖片參考:http://macao.communications.museum/images/exhibits/2_18_6_2_chi.png

更加可以用二極體解碼器





收錄日期: 2021-04-27 17:55:12
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20111013000016KK03044

檢視 Wayback Machine 備份