AT89S52单片机实现简易计算器(C语言程序)

本文设计基于AT89S52单片机的简易计算器。它的功能是:

(1)计算器至少能正常显示8位数。

(2)卡机时,显示0。第一次按下时,显示D1;第二次按下时,显示D1D2。

(3)计算器能对整数进行简单的加、减、乘、除四则运算,在做除法时能自动舍去小数部分。

(4)运算结果超过可显示的位数时能进行出错提示。

总体设计

计算器以AT89S52单片机为核心芯片,通过扫描键盘来得到数据,另外通过CPU将得到的数据按要求进行运算并将结果送到显示电路进行显示。

框图设计

基于AT89S52单片机的简易计算器由电源电路、单片机主控电路、按键电路、显示电路和复位电路几部分组成,框图组成如下图所示。

AT89S52单片机实现简易计算器(C语言程序)

基于AT89S52单片机的简易计算器系统框图

系统设计

电路原理图

AT89S52单片机实现简易计算器(C语言程序)

基于AT89S52单片机简易计算器电路原理图

程序流程图

由于本设计主要是算法问题,所以程序采用C语言编写。主函数对单片机进行初始化,并不断调用扫描函数和运算函数。显示函数采用1ms定时中断来对显示数据进行实时跟新。基于AT89S52单片机简易计算器程序流程图如下图所示。

AT89S52单片机实现简易计算器(C语言程序)

简易计算器程序流程图

代码编写

#include P #include《》

#define LEDS 8

/***按键程序***/ char keyscan();

/***显示程序***/ void display();

char dsp[9]={0,0,12,12,12,12,12,12,12}; //初始化显示数组

/***计算程序***/

void calculate(char k,char c1[8],char c2[8]);

技术专区

  • Alexa语音服务软件扩展STM32Cube
  • 结合DNN API驱动未来神经网络应用的解决方案
  • 针对于高端移动通信和汽车市场的四集群设计
  • 一款基于帧捕捉的开源图形调试器应用设计
  • 即将成为标准配置的最新安全技术:后视摄像系统
  • AT89S52单片机实现简易计算器(C语言程序)已关闭评论
    A+
发布日期:2019年07月14日  所属分类:单片机  物联网