找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3101|回复: 1
打印 上一主题 下一主题
收起左侧

数字电路设计-1位十进制减法器的Proteus仿真设计

[复制链接]
跳转到指定楼层
楼主




数据输入电路
将输入的数据进行编码,得到二进制数



减数完成取反操作


对被减数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, 下载次数: 26)

评分

参与人数 1黑币 +30 收起 理由
admin + 30 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1041086 发表于 2022-7-31 23:35 | 只看该作者
清晰明了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表