文号
t69200
阅读
10296
回复
14
收藏
9
有人DIY过计算器吗?
2015/01/02
IP:海南
这两天一直在思考计算器的实现方法,使用74系列芯片制作,遇到的麻烦是:
1、按键输入转换成二进制?0—9容易实现,10以上如何实现?
2、输出转换成LED显示?0—9容易实现,但是0—10000如何实现?

运算器使用全加器,实现加减运算。



IMG_20150102_154459332.jpg
[ 修改于12年0个月前 - 2015/01/02 20:33:15 ]
14
12年0个月前IP:四川
738341
1楼
学习一下单片机吧,或许你会知道怎么做。
引用
评论
12年0个月前IP:海南
738349
2楼
引用 3.14:
学习一下单片机吧,或许你会知道怎么做。
单片机我会C语言,计算器程序没有写过,不过感觉汇编才能解答我的疑问!
引用
评论
11年11个月前IP:山东
738448
3楼
@相对论万岁
他用1602做过
其实用单片机写很简单的
你只要列算式就行
引用
评论
11年11个月前IP:广东
738460
4楼
用单片机的话还需要你提示吗。目的就是用74做,用单片机算什么本事。
引用
评论
11年11个月前修改于 11年11个月前IP:广西
738702
5楼
按键直接2进制输入比较容易~~~ 要是10进制输入, 每增加一位, 先前输入的数据就要乘十, 二进制乘十的实现方法就是(被乘数 << 3) + (被乘数 << 1)... 正在尝试画个计算器电路...  刚才移位数搞错了- -...
#2进制转10进制也可以用电路实现这个算法~~~~~~~~~~~~~~XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX~~~~~~~~~~~~``
引用
评论
11年11个月前IP:陕西
738705
6楼
1、用单片机做一个可靠的(鲁棒的)计算器并不容易。我不觉得楼主现在已经搞明白了操作数堆栈、运算符堆栈、旋转坐标算法。
2、直接用小规模集成电路甚至晶体管制作的计算器,可以查阅上世纪50-70年代的资料。
引用
评论
11年11个月前IP:广西
738861
9楼
引用 分立元件:
你设计的这个电路完美解决了输入问题,但是输出还是没有办法解决,



这个电路是我修改你的电路

弄了个二进制/十进制自动转换电路...  等下丢Multisim里面仿真看看, 算法是左移加三法,  电路包含了启停控制和移位+3调整, 首先输入需要转换的二进制到左移寄存器1的数据输入端, 然后给个启动转换信号, 等待N个处理脉冲执行之后, 十进制BCD码就出来了, 存在左移寄存器2里面,  电路执行转换的时候, 给启动转换信号不会响应, 要等转换完才能再次给启动转换信号, 然后电路才会再次转换, 表示不是故意把电路搞复杂=  =~...  解释起来比较麻烦, 先不解释了.
DSCF3072_调整大小.jpg
引用
评论
11年11个月前IP:广西
738961
10楼
....二进制转十进制最终电路, 修改成多少位都可以...  楼上的图有错误


attachment icon 二进制转十进制电路Multisim 11.0仿真文件(科创论坛-龙少).rar 621.32KB RAR 32次下载


二进制转十进制电路.png
引用
评论
11年11个月前IP:海南
739066
11楼
引用 神之觉醒:
....二进制转十进制最终电路, 修改成多少位都可以...  楼上的图有错误
有点复杂,看不懂!
引用
评论
11年11个月前IP:湖北
739186
12楼
我用MCU做过,原计划做个表达式计算器,支持CAS和高精度,但后来兴趣转移虎头蛇尾了
引用
评论
11年10个月前IP:北京
751922
13楼
前面的大神应该是对德州仪器情有独钟吧!计算机代数系统。
引用
评论
11年10个月前IP:陕西
751932
14楼
都是牛人。不过我觉得没啥必要啊。
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的