利用四位加法器實現8421BCD運算補正
實驗原理
判別標準:
兩位8421BCD碼相加,如果
產生進位 (設由此產生的進位爲C_Flag_1)
Or
出現A-F (設由此產生的進位爲C_Flag_2)
則CF=1
解決方法:
加六補正
當出現A-F時
因爲輸入都是0-9,此時不產生進位標誌,即 C_Flag_1 = 0
S4 | S3 | S2 | S1 | C_Flag_2 |
---|---|---|---|---|
1 | 0 | 1 | 0 | 1 |
1 | 0 | 1 | 1 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
利用邏輯轉換器得到最簡與或表達式:
注:A-S4 B-S3 C-S2 D-S1
於是有 C_Flag_2 = S4S2 +S4S3
是否需要進位,則 C = C_Flag_1 or C_Flag_2
顯然,可以使用一扇或門達成目的。
實驗結果
最後電路如上圖,各模塊簡介:
74LS83N - TTL加法器
A_INPUT數碼管 A輸入
B_INPUT數碼管 B輸入
HEX_LED_A數碼管 無補正時的值
HEX_LED_B數碼管 補正後的值
LED_1 判斷是否需要加六補正的標誌,若進位,則LED亮
LED_2 判斷最終結果是否需要進位的標誌,若進位,則LED亮