栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

基于51单片机的简易计算器设计

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于51单片机的简易计算器设计

本设计:

仿真图proteus 7.8/protues 8.6

程序编译器:keil 4/keil 5

编程语言:C语言

编号12

芯片可以替换为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  12

code 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(i0)//按下"<"时删除一位
          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 仿真。

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/657106.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号