设计要求
使用keil c软件基于单片机系统设计一个“简单的计算器”。要求设计的模拟计算器必须从按钮输入0~9组成一个数,再从按钮输入加、减、乘和除运算符(+、-、*、/),同样从按钮上输入另一个数,之后按下等于按钮能够实现两个数之间的和、差、积和商的运算并且显示相关的操作步骤。
硬件设计
1、AT89C51单片机
2、手动复位电路
3、时钟电路
4、LCD602液晶显示
5、4*4按键矩阵
软件设计流程图
程序代码
#include "reg52.h"
#include "stdio.h"
#include "key.h"
#include "1602.h"
#define uchar unsigned char
#define uint unsigned int
uchar Line1[20]; //第一行显示数组
uchar Line2[20]; //第二行显示数组
uint key_flag; //按键标志
int result1 = 0; //存储第一个整数
int result2 = 0;
int Oper = 0; //存储运算符
uint succeed_flag = 0; //计算完成标志
void display_line1(uint key)
{
static uint num = 0;
uchar str = 0;
if(succeed_flag == 1)
{
sprintf((char *)Line1," "); //直接输入空格便会清除
print_string(Line1,1);
sprintf((char *)Line2," ");
print_string(Line2,2);
succeed_flag = 0;
num = 0;
}
switch(key)
{
case 0 : str = '1'; break;
case 1 : str = '2'; break;
case 2 : str = '3'; break