基于單片机的计算器.docVIP

  • 8
  • 0
  • 约 6页
  • 2016-11-27 发布于重庆
  • 举报
基于單片机的计算器

基于单片机的计算器 编程语言用的是C语言。要做好计算器,4KB的程序存储空间已经不够用了,所以这里没有用51单片机,这里用的是AT89S52,拥有8KB程序存储空间。第一次写这种文章,写的不对的地方请大家提出来我好修改。 实现功能: 1、一定数值范围内的加减乘除、开方、倒数运算,能计算小数、负数,以及记忆功能。 2、时钟功能,能直接用键盘上的数字键设置时间,一定时间内无操作能自动显示时间。 3、闹铃功能及可控制的按键声音。 基本思路: 每按一个按键,单片机做出一个反应。 计算的过程实际上就是对以下对象进行操作: 比如2+4=6。 写程序时脑中要时常想着这张图片,弄清除现在该对哪个对象进行操作。 比如: 用h1,h2,h3,h4分别存放 数1、符号、数2、结果,刚开始输入时是对h1进行操作,将输入的数存入h1内,当按下一个”+”,用h2存放”+”代表的值,再次输入数字时就是对h3进行操作,最后按下等号就是将h1+h3的值赋给h4,并清空h1、h2、h3。 但如果最后不是按下的等号,而是又按下了一个运算符号呢?这是就要想我们用计算器时这样操作是希望干什么,我们是希望将上一个运算结果接着用在下一个运算中,这时就不将h1+h2赋给h4了,而是赋给h1。假设又一次按下的是”-”,判断h2的值得知前一次按下的是加号,于是执行h1=h1+h3;,并将这次按下的减号存入h2。于是就构成了“上次运算

文档评论(0)

1亿VIP精品文档

相关文档