做一个计算器_用51单片机做一个简单的计算器小程序

一:硬件仿真图

分别为8位数码管和4位数码管

7bb7a3d239d1618a2f9a33e4368efdcd.gif

3b63a0c5c208e30b7b099907d1369de3.gif

注意:本仿真案例有偿提供,请点击文章最下方的阅读原文,查看仿真图和程序下载地址。本仿真仅供参考,如有需要修改电路和程序,请联系管理员有偿修改。当然,如果你动手能力强,完全可以按照本文提供的电路图和程序源码自行搭建。

硬件部分比较简单,当键盘按键按下时它的那一行、那一列的端口为低电平。因此,只要扫描行、列端口是否都为低电平就可以确定是哪个键被按下。

本计算器是以80C51单片机为核心构成的简易计算器系统。该系统通过单片机控制,实现对4*4键盘扫描进行实时的按键检测,并把检测数据和计算结果存储下来,显示在LED数码管上,并可实现清零。

整个系统主要可分为四个主要功能模块:

功能模块一:实时键盘扫描;

功能模块二:数据存储和计算;

功能模块三:LED数码管显示;

功能模块四:清零

整个计算器系统的工作过程为:首先初始化参数,送LED低位显示“0”,功能键位不显示。然后扫描键盘看是否有键输入,若有,读取键码。判断键码是数字键、清零键还是“+” 、“—” 、“*” “/” ,是数值键则送LED显示并保存数值,是清零键则做清零处理,是功能键则又判断是“=”、清零、还是运算键,若是“=”则计算最后结果并送LED显示,若是运算键则保存相对运算程序的首地址,若是清零键则跳转回初始化阶段使所有值清零。

二、主程序流程图

917c9bc52604eb524b548debfe99b103.png

程序的主要思想是:将按键抽象为字符,然后就是对字符的处理。将操作数分别转化为字符串存储,操作符存储为字符形式。然后调用compute()函数进行计算并返回结果。具体程序及看注释还有流程图。

三:键盘扫描程序流程图

59cb33a282503ebe65997acc6c83e183.png

四:显示程序流程图

2d4e0ee616b2c90796b97e6fec89e884.png

五:程序源码

#include

  • 10
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值