数据输入电路
将输入的数据进行编码,得到二进制数
减数完成取反操作
对被减数A与减数B进行比较
如果A>B,则OUT输出高电平,那么在进行A-B的计算过程中,就需要将B进行取反然后加1。
如果A<=B,则OUT输出低电平,那么在进行A-B的计算过程中,就不需要加1
74LS157完成数据切换
当被减数A大于减数B(A>B)时,结果为正值;
当被减数A小于减数B(A<B)时,结果为负值。
计算过程如下所示:
9-3= 9+D=0x16
-3的补码为D;
0011 --》1100 +1=1101 (D)
因此0x16 (10110)
当A>B时
当被减数A大于减数B(A>B)时,结果为正值;由于A>B,因此经过74LS85比较之后,OUT为高电平,且74HC283得进位输出端输出为1,所以符号位数码管不显示,表示结果是正值。
计算过程如下所示:
9-3= 9+D=0x16
-3的补码为D;
0011 --》1100 +1=1101 (D)
因此0x16 (10110),低四位为0110,也就是6;
计算过程正确。
当A<B时
当被减数A小于减数B(A<B)时,结果为负值;由于A<B,因此经过74LS85比较之后,OUT为低电平,且74HC283得进位输出端输出为0,所以符号位数码管显示负号,表示结果为负数。
计算过程如下所示:
6-8= 6+7=13 (1101) 然后取反,得到0010
-8的补码为7;
1000 --》0111 (7) (此时不需要加1)
因此1101取反得(0010),低四位为0010,也就是2;
计算过程正确。
仿真文件需要用proteus 8.8版本以上的软件才能打开:
06_数字电路_十进制减法器设计.zip
(1.86 MB, 下载次数: 29)
|