Logisim利用先行进位加减法器设计2位数(即100以内)的BCD码的可控加/减法器

文末附电路的资源链接

一.原理:

BCD码的加法:相加结果若大于9(1001),则加6校正。

BCD码的减法(补码算法):

①求减数的补码,如果是两位,则:补码 = 100 - 减数。这里的100,用2位的BCD码可以表示为9AH(1001 1010)。注:用9AH不用A0H的原因是9A作为被减数直接省去向十位借位的步骤,并且后续修正利用两个BCD加法器进位即可修正,设计电路更易实现。

②利用BCD码加法的运算法则,结果 = 被减数 + 减数的补码。

③结果若有向高处的进位1,则忽略。

二. 实现电路:

由上到下

91c31a1a7ec9477eb1e34222537e8212.jpeg

 

4f497d127d0c4677a442b454aad751d4.jpeg

 负号利用三态门高阻态阻断数码管实现

结果中S9为符号位,为1时表示负数,并且作为控制信号,当结果为负时,控制八位加法器求补。

 F通道用于显示加法进位时的百位1。

电路图自下到上分别是:

  1. 八位先行进位加法器(减法时实现求补操作)
  2. 两个1位 BCD加法器(两数相加)
  3. 八位先行进位加法器(结果出现负数时再次模100求补)
  4. 两个1位BCD加法器(修正。如:10-20,得到0A,需进行修正为10)

 

三.子电路:

1.异或门电路 :

dd3602c23f9248ea978ac3a4f6423f75.jpeg

 2.四位先行进位电路:

9ceaf3c3a6384a4ea842a3939e1557b2.jpeg

 

 3.四位并行进位加法器

 8dc85502e1124eb6a7847ed61314ee01.jpeg

 

4.八位先行进位加法器 

25cf83f0d58a4ccf972276d121116800.jpeg

 5.一位BCD码加法器

 35196d441b5640fb86f7abfb8ec57ec3.jpeg

 

引用资料

http://t.csdn.cn/Uadlq

电路资源文件

2位BCD码的可控加减法器.circ-嵌入式文档类资源-CSDN下载

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值