数字电路:设计《BIN 到 BCD 码的转换电路》
来源:互联网 发布:网络摄像机工程宝 编辑:程序博客网 时间:2024/05/16 15:09
要求:输入4位二进制码(0~15),输出为 BCD码,BCD码用数码管显示。
题目链接:http://zhidao.baidu.com/question/554416754
常识:
十进制数是人们常用的数字。
而在数字电子技术、计算机技术中,却常用二进制代码来表示数字。
最常见的二进制码是 8421 码,它可以方便的进行加减乘除运算,而不需要进行什么转换。
计算的结果,通常还是 8421 码。
把计算的结果,显示出来,就要照顾大多数人的水平。
因为大多数人,只是学过十进制,让他们看二进制的数字,有点勉为其难。
用二进制的代码,代表十进制数字,称为 BCD 码。
在 BCD 码中,只用 0000~1001,代表 0~9。
它们的对应关系如下表所示。
----------------------------------------
十进制数 | 二进制码 | BCD 码
----------+------------+----------------
0 | 0000 | 0000 0000
1 | 0001 | 0000 0001
2 | 0010 | 0000 0010
3 | 0011 | 0000 0011
4 | 0100 | 0000 0100
5 | 0101 | 0000 0101
6 | 0110 | 0000 0110
7 | 0111 | 0000 0111
8 | 1000 | 0000 1000
9 | 1001 | 0000 1001
10 | 1010 | 0001 0000
11 | 1011 | 0001 0001
12 | 1100 | 0001 0010
13 | 1101 | 0001 0011
14 | 1110 | 0001 0100
15 | 1111 | 0001 0101
----------------------------------------
可以看出:
4位二进制码0~15,对应的 BCD码是 8 位二进制数。
4位二进制码0~9,和 BCD码的关系,非常简单,几乎没有什么变化。
4位二进制码10~15,就应该加上6,才能变成 BCD码。
这就是说,要进行转换,关键是要判断4位二进制码是否大于9,大于就加6,否则就不加。
这个过程称为《十进制调整》。
-------------------------------
电路设计:
设计这样的转换电路,需要使用一个加法器芯片,可以选用 74LS283。
283 的功能如下。
两个加数:A3A2A1A0、B3B2B1B0,各自都是四位二进制数。
低位进位:C0,一位二进制数。
相加过程的竖式:
A3A2A1A0
+ B3B2B1B0
+ C0
--------------
C4 S3S2S1S0
百度的排版太差了!字符的位置,对不齐。
把上面的竖式,复制到记事本再看,就能看清楚它们的关系了。
把4位二进制码当做一个加数A3A2A1A0;0或6,当做另一个加数B3B2B1B0。
是否大于 9,可用两个与门、一个或门,来判断。
或门输出的0、1,送到B2B1,即可形成 0000 或 0110。
变换出来的 BCD码,可以用七段码译码器芯片(74LS48)和共阴数码管来显示。
做而论道设计的电路如下:
图片链接:http://xiangce.baidu.com/picture/detail/1f4f863d58b5d971a4aa21560e05777d085189b0
图中的左边,4位二进制码是 1101,右边的显示是 13。
-------------------------------
用硬件来实现这个转换,有些浪费资金了,用单片机的软件编程,就省钱了。
写上:DA A,这一条指令,即可完成二进制代码到BCD码的转换。
- 数字电路:设计《BIN 到 BCD 码的转换电路》
- 模拟电路和数字电路PCB设计的区别
- 数字电路设计之同步电路的一些经验
- 数字电路:设计《三个开关控制一个灯的电路》
- BIN,BCD,ASCII码的区别
- 51单片机汇编编程:BCD 码与 BIN 数据的转换程序
- BIN,BCD码
- 数字电路设计之格雷码与二进制之间的转换
- 数字电路与模拟电路的区别
- 模拟电路与数字电路的区别
- 什么是BCD码?BCD码的用处。怎么把BCD码转换成二进制值?
- BCD码与十进制之间的转换
- 作业-8421BCD码的转换
- 十六进制、BCD码和十进制的转换
- 十六进制与BCD码的相互转换
- BCD码和十进制的相互转换
- 数字电路设计的抗干扰考虑
- 数字电路、单片机的抗干扰设计
- GitLab 基本使用说明
- 80x86汇编语言编程:求两个单元中,有多少个对应的位是不同的
- 数字电路:设计《三个开关控制一个灯的电路》
- 51 汇编编程:停留保持的流水灯
- [Linphone Android] 登录实现
- 数字电路:设计《BIN 到 BCD 码的转换电路》
- ArcGIS教程:自然邻域法的工作原理
- 51 汇编编程:一种单片机抢答器
- 51 汇编编程:中断的现场保护与恢复
- C# socket编程实践——简单聊天室
- 为什么volatile不能保证原子性而Atomic可以
- 51 汇编编程:多路延时开关
- 广厦结构cad18.0官方正式版
- 51 单片机串口实验