本设计:

仿真图proteus 7.8/protues 8.6

程序编译器:keil 4/keil 5

编程语言:C语言

编号S001

资料下载链接https://pan.baidu.com/s/1fUdTLbHyPrFRErtmlKoyFw?pwd=wo1o​​​​​​​

芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

一、该简易计算器设计硬件电路采用三部分电路模块构成:

1、键盘模块电路, 采用 4*4 矩阵式键盘作为输入电路;

2、LCD1602 液晶显示模块;

3、以 51 单片机作为控制核心。

二、软件程序主要由三部分组成: 主程序、按键扫描程序和 LCD1602 显示程序。

#include "reg52.h"
#include "string.h"
#include "stdio.h"
#include "lcd1602.h"
#include "keyboard.h"#define keydeng      14
#define keyzuoyi  12code unsigned char KeyDisPlaybuf[16] =
{'1', '2', '3', '+',\'4', '5', '6', '-',\ '7', '8', '9', '*',\'<', '0', '=', '/'
};long Count(char *ch, char len)//简单计算器 仅支持加减乘除+-*/
{unsigned char i = 0;char Operation;long Num1=0,Num2=0;while(i<len && ch[i]!='+' && ch[i]!='-' && ch[i]!='*' && ch[i]!='/'){Num1*=10;Num1+=ch[i]-'0';i++;}Operation=ch[i++];while(i<len && ch[i]!='='){Num2*=10;Num2+=ch[i]-'0';i++;}switch(Operation){case'+':return Num1+Num2;case'-':return Num1-Num2;case'*':return Num1*Num2;case'/':return Num1/Num2;}return 0;
}void EasyCounter(void)
{unsigned char buff[30];unsigned char text[30];unsigned char key;unsigned char i = 0;do{key = keycan();//读取键值 if(key!=0xff)//键值不等于0{text[i++]=KeyDisPlaybuf[key];//记录键值对应的字符text[i]='\0';LCD_ShowStr(0,0,"                ");LCD_ShowStr(16-strlen(text),0,text);}if(key==keyzuoyi&&i>0)//按下"<"时删除一位i-=2;}while(key!=keydeng);//按下'='时结束输入sprintf(buff, "%ld", Count(text, strlen(text)));LCD_ShowStr(0,1,"                ");LCD_ShowStr(16-strlen(buff),1,buff);
}void main(void)
{LCD_Init();while(1){EasyCounter();}
}

三、 性能指标

(1) 用单片机 stc89C51 设计一个简易计算器, 并用 1602 液晶显示相应的数据。

(2) 可以进行简单的加减乘除运算。

(3) 最大可以 9999*9999, 。

(4) 可以通过 proteus 仿真。

基于51单片机的简易计算器设计相关推荐

  1. 51单片机的简易计算器设计(仿真+程序+原理图+PCB+设计报告)

    本设计: 基于51单片机的简易计算器设计(仿真+程序+原理图+PCB+设计报告) 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号S0001 芯片可以替换为 ...

  2. c语言51单片机计算器,新基于51单片机的简易计算器

    <新基于51单片机的简易计算器>由会员分享,可在线阅读,更多相关<新基于51单片机的简易计算器(24页珍藏版)>请在人人文库网上搜索. 1.基于51单片机的简易计算器1.前言: ...

  3. 基于51单片机的简易减法器设计制作

    基于C51单片机的简易减法器设计制作 51单片机可实现很多功能,今天笔者介绍一种使用C51编写程序,通过4*4矩阵键盘和8位共阴数码管实现的简易减法器.矩阵键盘以及数码管的原理图如下: (1)4*4矩 ...

  4. 基于51单片机的简易计算器的实现

    目录 一.硬件简介 1.LCD1602液晶显示器介绍 (1)LCD1602的组成 (2)各引脚功能介绍 (3)DDRAM 2.矩阵按键介绍 (1)矩阵按键的优点: (2)原理: (3)检测方法: (4 ...

  5. 基于51单片机的简易电子琴设计

    一.设计背景 ■电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器.它是现代电子科技与音乐结合的产物,价格相对便宜,能够满足一般爱好者的需求,因此,在现代音乐中扮演着重要的角色.故简易电子琴的 ...

  6. 单片机简易电子钟设计c语言,基于51单片机的简易电子钟设计

    单片机实现电子钟主要有两种方案.一种是利用单片机内部的定时/计数器产生标准秒信号,并根据时间系统的进位原则进行加1调整.另一种方法是为单片机配置一片可独立走时的实时钟(RTC)芯片,单片机通过串行信号 ...

  7. 基于51单片机的矩阵计算器设计

    当初本科的毕业设计不是很完美,一直想把它完善一下,这学期刚开始有点时间,就以一个小项目的方式,综合自己这一年多来的代码阅读收获,重写了这个工程. 一,平台的重新搭建 Ø  在win7上重新安装了pro ...

  8. 【006】基于51单片机的简易电子计算器Proteus仿真设计

    一.压缩包资料内容(私信获取) (1).基于51单片机的简易电子计算器proteus仿真设计一份: (2).基于51单片机的简易电子计算器proteus仿真设计keli源代码一份: (3).基于51单 ...

  9. 基于51单片机的简易电子计算器——有温度显示和万年历等额外功能

    基于51单片机的简易电子计算器--有温度显示和万年历等额外功能 设计实际所实现的功能 模式一可显示日期.时钟.温度,模式二可进行计算器的计算,且显示日期温度模式和计算器模式可随意切换,模式三可以滚动显 ...

  10. 【039】基于51单片机的简易门铃Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的简易门铃proteus仿真设计一份: (2).基于51单片机的简易门铃proteus仿真设计keli源代码一份: (3).基于51单片机的简易门铃prote ...

最新文章

  1. 窗帘效果图css,vuejs、微信小程序窗帘效果
  2. JAVA语言基础组成(2)
  3. 如何在Spring Boot中玩转智能合约【修订版】
  4. ASP.NET MVC 2 验证
  5. 简单的FTP应用程序
  6. leetcode 208. Implement Trie (Prefix Tree) | 208. 实现 Trie 前缀树(Java)
  7. 蓝桥杯单片机数码管动态显示_单片机静态动态数码管
  8. SpringSecurity3整合CAS实现单点登录
  9. python+flask编写一个简单的登录接口例子
  10. MSSMS18闪退解决方法
  11. 捆网包裹行业调研报告 - 市场现状分析与发展前景预测
  12. LeetCode 1035 不相交的线
  13. jQuery和$、jQuery(function(){})和(function(){})(jQuery)
  14. java --map遍历
  15. 冲突符号_冲突营销关键词连载(二) 冲突
  16. javascript 读写服务器文件,js读写文件 - 爱coding的个人页面 - OSCHINA - 中文开源技术交流社区...
  17. vac虚拟声卡我linux,下载_Virtual Audio Cable(虚拟声卡) V4.65 完美免费版_6z6z下载站
  18. 1 分析计算机上网时断时续的原因,网络丢包现象分析与解决方案
  19. Android 显示大尺寸图片
  20. 2020-11-05

热门文章

  1. IDEA如何导入项目
  2. PS 如何使用抽出滤镜抠人物的头发丝等细节
  3. RealSense D435i数据录制 VINS离线运行
  4. 第一讲:Kafka要点入门
  5. 安川机器人SOCKET 通讯
  6. ImageJ使用手册介绍
  7. qnap威联通作文件服务器,QNAP 威联通 TS-453A NAS存储服务器 开箱初体验
  8. 支架预压弹性变形值计算_支架预压计算.doc
  9. java.util.ConcurrentModificationException: null at java.util.ArrayList$Itr.checkForComodification(A
  10. NVIDIA Jetson Xavier NX载板 RTSO-6002使用TF(MicroSD)卡重新刷机