文末附电路的资源链接
一.原理:
BCD码的加法:相加结果若大于9(1001),则加6校正。
BCD码的减法(补码算法):
①求减数的补码,如果是两位,则:补码 = 100 - 减数。这里的100,用2位的BCD码可以表示为9AH(1001 1010)。注:用9AH不用A0H的原因是9A作为被减数直接省去向十位借位的步骤,并且后续修正利用两个BCD加法器进位即可修正,设计电路更易实现。
②利用BCD码加法的运算法则,结果 = 被减数 + 减数的补码。
③结果若有向高处的进位1,则忽略。
二. 实现电路:
由上到下
负号利用三态门高阻态阻断数码管实现
结果中S9为符号位,为1时表示负数,并且作为控制信号,当结果为负时,控制八位加法器求补。
F通道用于显示加法进位时的百位1。
电路图自下到上分别是:
- 八位先行进位加法器(减法时实现求补操作)
- 两个1位 BCD加法器(两数相加)
- 八位先行进位加法器(结果出现负数时再次模100求补)
- 两个1位BCD加法器(修正。如:10-20,得到0A,需进行修正为10)
三.子电路:
1.异或门电路 :
2.四位先行进位电路:
3.四位并行进位加法器
4.八位先行进位加法器
5.一位BCD码加法器
引用资料
电路资源文件
2位BCD码的可控加减法器.circ-嵌入式文档类资源-CSDN下载