微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 硬件电路设计讨论 > 请教一个电路设计问题

请教一个电路设计问题

时间:12-12 整理:3721RD 点击:
怎么设计二进制数(6位)转换为十进制数(2位)的电路,除了用卡诺图或查询表外有没有更好的方法?谢谢!

查表法是最好的

嗯,我现在在做数字电路的基本功练习,所以想用基本的电路来实现。有一种设计方法,二进制数分别和9,19,29,39,49,59进行比较(基本的比较器实现),分别得到一个比较结果,将这些结果编码(编码器实现)为000,001,010,011,100,101,110可以表示十进制的高位。然后二进制的低4位在不同的数值范围内(0~9,10~19,20~29,30~39,40~49,50~59,60~63)用卡诺图化简为十进制的低位,然后用十进制的高位编码来选择低4位化简的结果(数据选择器来说实现)。
比如二进制数010000,这个数在十进制里面是16,转换的方法是:010000大于9,小于19,所以比较结果编码为001,二进制的低4位“0000”,在不同数值范围内分别可化简为0(0~9)、6(10~19),2(30~39),8(40~48)。用十进制高位编码001,选择低4位化简结果,就可以得到6。
但比较结果有6个,用卡诺图实现编码还是很麻烦。有没有更好的方法呢

两三片74就解决了吧。。

请问能不能说的具体点?比如怎么用74电路将010101转换为21。

你要的十进制是啥形式?
10线选1?还是7段数码管?

也就是把010101转换为0010(高位)0001(低位)?

对,最终是用7-4译码电路驱动7段数码管的,驱动电路比较好做,主要是将6位二进制转换为十进制,转换结果的形式就是2'bxxxx(高位),2'bxxxx(低位)。

74**184/185?
其实这种简单转换还不如弄一片mcu来解决,硬算或者查表都行

查了下这个器件资料,好像是5位输入的转换。其实我是在做一个verilog练习,想和大家讨论下用基本的逻辑电路来实现6位二进制转换为2位十进制的方法,用卡诺图话太麻烦,查询表简单,但还是想尝试用基本的逻辑电路实现。

http://www.pcdown.net/soft/38892.htm
试试这个小软件,给它输入输出,自动生成数字逻辑

好的,我去试下,谢谢!

一片ROM即可解决吧?
ROM里预先写入数据,6位二进制接入地址线,读出的字节就是2位十进制,高尼泊是十位,低尼泊是个位。
ROM依次存储的就是压缩十进制数0~63。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top