当前位置: 首页 > article >正文

【Proteus仿真】【51单片机】简易计算器系统设计

目录

一、主要功能

二、使用步骤

三、硬件资源

四、软件设计

五、实验现象

联系作者

一、主要功能

1、LCD1602液晶显示
2、矩阵按键​
3、可以进行简单的加减乘除运算
4、最大 9999*9999

二、使用步骤

系统运行后,LCD1602显示数据,通过矩阵按键输入

三、硬件资源

1、51单片机核心模块
2、按键模块
3、LCD1602显示模块

四、软件设计

//操作简介
// 按第一个数,再按'+-*/',再按'='显示出结果,然后按C清屏
// 加最大9999+9999=19998
// 减最大9999-0   =9999
// 乘最大9999*9999=99980001
// 除 1/9=0.1111 保留小数点后4位
/* 

 接盘按键说明:
--------------------------------------------------
            |  1  |  2  |  3  |  +  |  
            - - - - - - - - - - - - -
            |  4  |  5  |  6  |  -  |
            - - - - - - - - - - - - -
            |  7  |  8  |  9  |  *  |
            - - - - - - - - - - - - -
	      		| C   |  0  |  =  |  /  | 
--------------------------------------------------*/

#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
//--------LCD1602-------------------
//P00-07==== D0-7
sbit rs=P2^7;        //指令or数据
sbit wela=P2^6;      //读or写
sbit lcden=P2^5;	 //使能信号
//--------LCD1602-------------------
//--------KEY-----------------------
//P1口
//--------KEY-----------------------
uchar code table[]= "                ";

long  int data_a,data_b; 	//第一个数和第二个数
long  int data_c;			//计算结果

uchar dispaly[10];         //显示缓冲

//************************************************************************/
// 描述: 延时t us函数
//************************************************************************/
void LCD_Delay_us(unsigned int t)
{
	while(t--);           //t=0,退出
}
//************************************************************************/
// 描述: 延时t ms函数
//************************************************************************/
void LCD_Delay_ms(unsigned int t)
{
	unsigned int i,j;
	for(i=0;i<t;i++)       		//执行t次循环
	for(j=0;j<113;j++)     		//执行113次循环
	;
}
//************************************************************************/
// 描述: 1602液晶写指令
//************************************************************************/
void write_com(uchar com)    	//1602液晶写指令
{
	rs=0;                       //写指令
	lcden=0;                    //使能1602 
	P0=com;                     //写入指令com
	LCD_Delay_ms(1);            //延时1ms
	lcden=1;                    //使能1602
	LCD_Delay_ms(2);            //延时2ms  
	lcden=0;	                //使能1602
}
//************************************************************************/
// 描述:1602液晶写数据 
//************************************************************************/
void write_date(uchar date) //1602液晶写数据
{
	rs=1;                        //写数据
	lcden=0;                     //使能1602 
	P0=date;                     //写入数据date
	LCD_Delay_ms(1);             //延时1ms
	lcden=1;                     //使能1602
	LCD_Delay_ms(2);             //延时2ms
	lcden=0;	                 //使能1602
}

五、实验现象

B站演示视频:【51单片机-B001】【protues仿真】基于51单片机简易计算器仿真_哔哩哔哩_bilibili本项目使用Proteus8仿真基于51单片机简易计算器包含:程序,仿真,文档等主要功能如下:1、LCD1602液晶显示2、矩阵按键3、可以进行简单的加减乘除运算4、最大可以 9999*9999, 视频播放量 8、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 1, 视频作者 无忧电子设计, 作者简介 Q:215138327 V:Kinpar 承接51,32单片机设计定做,51,32单片机protues仿真,实物,程序等。,相关视频:【STM32单片机-A005】【Proteus仿真】烟雾温湿度检测系统,【STM32单片机-A004】【Proteus仿真】超声波测距系统,基于51单片机的寻迹小车,Meta被DeepSeek逼疯? 员工爆料:无法向小扎交代,正在疯狂剖析复制中,基于51单片机的RLC测量仪系统,基于STM32单片机DHT11温湿度检测系统仿真,51单片机 篮球计时计分器2,51单片机 电机转速控制 2,[25w04a快照]亡者回归?剑格挡-SNBT列表兼容更多内容-我的世界,51单片机 热电偶温度控制系统https://www.bilibili.com/video/BV1VMfRYAEaC/https://www.bilibili.com/video/BV1VMfRYAEaC/

联系作者

作者B站链接:https://space.bilibili.com/3493294220773802

专注于51单片机、STM32、Proteus、物联网软件开发,PCB设计。


http://www.kler.cn/a/524554.html

相关文章:

  • 《使用通道 Transformer 进行多尺度特征融合,引导热图像超分辨率》学习笔记
  • 联想Y7000+RTX4060+i7+Ubuntu22.04运行DeepSeek开源多模态大模型Janus-Pro-1B+本地部署
  • 消息队列篇--通信协议篇--应用层协议和传输层协议理解
  • 【机器学习】自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测
  • Cursor 帮你写一个小程序
  • LangChain的开发流程
  • python-leetcode-从中序与后序遍历序列构造二叉树
  • 【Spark速通】
  • MV结构下设置Qt表格的代理
  • EXCEL教程:如何打开Excel隐藏部分?
  • JavaScript - Web APIs(上)
  • 基于Arcsoft的人脸识别
  • doris:异常数据处理
  • DeepSeek部署教程(基于Ollama)
  • 具身智能研究报告
  • 展示统计信息收集情况
  • redis缓存和springboot缓存包冲突怎么办
  • 再见了流氓软件~~
  • 什么是AGI
  • PyTorch中的movedim、transpose与permute
  • [特殊字符] x-cmd pkg | fzf (1) - 强大的模糊搜索工具,一条命令颠覆你的命令行交互体验
  • Autogen_core 测试代码:test_cache_store.py
  • 003 mapper代理开发方式-注解方式
  • 64位的谷歌浏览器Chrome/Google Chrome
  • Maven项目JUnit测试的远程调试技巧
  • 深度学习中常用的评价指标方法