前言

本设计以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;
}

四、资料下载

在这里插入图片描述


Logo

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

更多推荐