
基于51单片机的简易计算器设计(原理图+仿真+源代码+参考论文)
本设计以51单片机为核心,矩阵键盘输入数字,通过1602显示屏显示计算结果,能够实现整数的加、减、乘、除四则运算,具备清除功能。
·
前言
本设计以51单片机为核心,矩阵键盘输入数字,通过1602显示屏显示计算结果,能够实现整数的加、减、乘、除四则运算,具备清除功能。
一、硬件构成
1.系统框图
本设计以51单片机为核心,硬件部分主要包含三个模块:单片机最小系统、LCD1602液晶显示电路和按键电路这三个模块,整体框图如下:
2.原理图
二、仿真
三、代码
#include<regg51.h>
typedef unsigned char uchar;
typedef unsigned int uint;
sbit E=ff^5;
sbit RS=ff^7;
uchar i,j,temp,num,num_1;
long a,b,c;//a,第一个数 b,第二个数 c,得数
float a_c,b_c;
uchar flag,fuhao;//flag,表示是否有符号键按下,fuhao表征按下的是哪个符号
uchar code table[]= {
7,8,9,0,
4,5,6,0,
1,2,3,0,
0,0,0,0
};
uchar code table1[]={
7,8,9,0x2f-0x30,
4,5,6,0x2a-0x30,
1,2,3,0x2d-0x30,
0x01-0x30,0,0x3d-0x30,0x2b-0x30
};
void delay(uchar z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=0;y>0;y--);
}
void write_com(uchar com)
{
RS=0;
E=0;
dd=com;
E=1;
delay(5);
E=0;
delay(5);
}
void write_date(uchar date)
{
RS=1;
E=0;
dd=date;
delay(5);
E=1;
E=0;
}
void init()
{
E=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x80);
write_com(0x01);
num_1=0;
a=0; //第一个参与运算的数
b=0; //第二个参与运算的数
flag=0;
fuhao=0;
}
四、资料下载

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)