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

51单片机的简易计算器数码管显示仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

51单片机的简易计算器数码管显示仿真设计

  • 1.主要功能:
  • 2.仿真
  • 3. 程序代码
  • 4. 原理图
  • 5. 设计报告
  • 6. 设计资料内容清单&&下载链接

51单片机的简易计算器数码管显示仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

仿真图proteus7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0049

1.主要功能:

本设计旨在设计一个基于51单片机的简易计算器仿真设计。

功能要求:实现加减乘除四则简单运算数码管显示

1、能通过矩阵键盘输入正确键值;

2、能进行简单的四则运算;

3、能以数码管正确显示数值;

4、最大支持999*999;

5、输入数字能重复操作,取后三位数字。

需注意仿真中51单片机芯片是通用的,AT89C51,AT89C52都是51单片机的具体型号,内核是兼容的。无论stc还是at都一样,引脚功能都是一样的,程序也是一样的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

以下为本设计资料展示图:

2.仿真

开始仿真

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后,数码管显示000000。

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后,数码管显示000 000。

img

由于数码管显示有局限,本设计的运算符号加减乘除分别按照下图的标点显示:

img

加法验证:矩阵键盘输入123+456后,按下按键=即显示运算结果 00579。剪辑如下图所示:

img

减法验证:矩阵键盘输入789-456后,按下按键=即显示运算结果000333。剪辑如下图所示:

img

乘法验证:矩阵键盘输入999*999后,按下按键=即显示运算结果998001。剪辑如下图所示:

img

除法验证:矩阵键盘输入666*3后,按下按键=即显示运算结果000222。剪辑如下图所示:

img

以上加减乘除运算均符合数学运算规则,满足设计要求。

3. 程序代码

使用keil4或者keil5编译,代码有注释,可以结合报告理解代码含义。

img

主函数代码

void main()//主函数
{unsigned char i;unsigned int m=0;while(1){//显示if(fuhao<5){P0=smgduan[a%1000/100];smg1=0;delay(100);smg1=1;P0=smgduan[a%100/10];smg2=0;delay(100);smg2=1;P0=smgduan[a%10];smg3=0;delay(100);smg3=1;	//显示第一个数switch(fuhao)//显示运算符号{case 1:P0=0x01;break;case 2:P0=0x40;break;case 3:P0=0x08;break;case 4:P0=0x80;break;default:P0=0;}smg4=0;delay(100);smg4=1;P0=smgduan[b%1000/100];smg5=0;delay(100);smg5=1; //显示第二个数P0=smgduan[b%100/10];smg6=0;delay(100);smg6=1;P0=smgduan[b%10];smg7=0;delay(100);smg7=1;}else//显示结果{P0=smgduan[c%1000000/100000];smg2=0;delay(100);smg2=1;P0=smgduan[c%100000/10000];smg3=0;delay(100);smg3=1;P0=smgduan[c%10000/1000];smg4=0;delay(100);smg4=1;P0=smgduan[c%1000/100];smg5=0;delay(100);smg5=1;P0=smgduan[c%100/10];smg6=0;delay(100);smg6=1;P0=smgduan[c%10];smg7=0;delay(100);smg7=1;}//==================================================i=key_scan();//检测if((i>0)&&(i<11))//输入数值{if(fuhao==0)//第1个输入{a=a*10+i-1;if(a>999)a=a%1000;				}else //第2个输入{b=b*10+i-1;if(b>999)b=b%1000;				}}if(i==13)//+	加法{fuhao=1;}if(i==14)//-	  减法{fuhao=2;}if(i==15)//*		乘法{fuhao=3;}if(i==16)// /	   除法{fuhao=4;}if(i==11)//ok		 等于{						switch(fuhao)	   //判断按下的运算法则是什么{case 1:c=a+b;break;		   //加case 2:c=a-b;break;		   //减case 3:c=a;c=c*b;break;	   //成case 4:c=a/b;			   //除法}fuhao=5;						}if(i==12)//清除{			 a=0;b=0;c=0;fuhao=0;}}
}

4. 原理图

原理图使用AD绘制,可供实物参考,仿真不同于实物,经验不足不要轻易搞实物。

img

Proteus仿真和实物作品的区别:

1.运行环境:Proteus仿真是在计算机上运行的,而实物则是在硬件电路板上运行。

2.调试方式:在Proteus仿真中,可以方便地进行单步调试和观察变量值的变化,而在实物中则需要通过调试器或者串口输出等方式进行调试。

电路连接方式:在Proteus仿真中,可以通过软件设置进行电路连接的修改,而在实物中则需要通过硬件电路板和连接线进行修改。

3.运行速度:Proteus仿真通常比实物运行速度快,因为仿真是基于计算机运行的,而实物则需要考虑电路板上的物理限制和器件的响应时间等因素。

4.功能实现:在Proteus仿真中,可以通过软件设置实现不同的功能,而在实物中则需要根据电路设计和器件的性能进行实现。

5. 设计报告

6249字设计报告

img

6. 设计资料内容清单&&下载链接

资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。

0、常见使用问题及解决方法–必读!!!!

1、仿真图

2、程序源码

3、开题报告

4、原理图

5、功能要求

6、元器件清单

7、设计报告

8、软硬件流程框图

9、讲解视频

Altium Designer 软件资料

filename.bat

KEIL软件资料

Proteus软件资料

单片机学习资料

目录清单.txt

答辩技巧

设计报告常用描述

鼠标双击打开查找更多51 STM32单片机课程毕业设计.url

img

资料下载链接:

https://docs.qq.com/doc/DS2RTaGxZUktTRnRE

相关文章:

51单片机的简易计算器数码管显示仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

51单片机的简易计算器数码管显示仿真设计 1.主要功能&#xff1a;2.仿真3. 程序代码4. 原理图5. 设计报告6. 设计资料内容清单&&下载链接 51单片机的简易计算器数码管显示仿真设计( proteus仿真程序原理图报告讲解视频&#xff09; 仿真图proteus7.8及以上 程序编译器…...

Qt版本的冷知识

Qt4.8.7是Qt4的终结版本&#xff0c;是Qt4系列版本中最稳定最经典的&#xff08;很多嵌入式板子还是用Qt4.8&#xff09;&#xff0c;其实该版本是和Qt5.5差不多时间发布的。参考链接 https://www.qt.io/blog/2015/05/26/qt-4-8-7-released https://blog.qt.io/blog/2015/07/01…...

[C++ 学习] 控制信号

// // Created by ubuntu on 9/6/23. // #include<iostream> #include<unistd.h> #include <signal.h>using namespace std; void EXIT(int sig){cout << "收到了信号&#xff1a;" << sig << endl;cout << "正在释放…...

php如何设置随机数

第一种方法用mt_rand() 第二种方法&#xff08;最快的&#xff09; 第三种取当时时间戳 第四种打乱字符串 5 //开始创建验证码(直接用函数生成&#xff0c;比较方便快捷) php mt_rand生成0~1随机小数的效果比较 第一种方法用mt_rand() function GetRandStr($length){ $s…...

WebGL 纹理——在矩形表面贴上图像

目录 WebGL要进行纹理映射&#xff0c;需遵循以下四步&#xff1a; 1. 准备好映射到几何图形上的纹理图像。 2. 为几何图形配置纹理映射方式。 3. 加载纹理图像&#xff0c;对其进行一些配置&#xff0c;以在WebGL中使用它。 4. 在片元着色器中将相应的纹素从纹理中抽取出…...

javaweb-Filter-listener过滤器与监听器

这里对Javaweb三大组件 Servelet Filter Listener 的Filter Listener进行学习 即过滤器 与监听器 过滤器: 当web浏览器向服务器发送请求时就可以对请求进行拦截与增强 这里直接给出过滤器的代码 package Filter;import javax.servlet.*; import javax.servlet.annotati…...

DBeaver 常用快捷键【大全】

本文介绍DBeaver 数据库工具的常用快捷键 一、简介 DBeaver 是一款常用的数据库工具&#xff0c;使用快捷键可以提高操作效率。 二、常用快捷键介绍 以下是DBeaver的常用快捷键&#xff1a; 1.ctrlenter 执行sql 2.ctrl\ 执行sql,保留之前窗口结果 3.ctrlshift↑ 向上复制一…...

数据分析之面试题目汇总

1、解释数据清洗的过程及常见的清洗方法。 数据清洗是指在数据分析过程中对数据进行检查、处理和纠正的过程&#xff1b;是数据预处理的一步&#xff0c;用于处理数据集中的无效、错误、缺失或冗余数据 常见的清洗方法包括&#xff1a;处理缺失值、处理异常值、去除重复值、统一…...

【Vue-Element-Admin】级联查询

背景 有两个查询条件&#xff1a;模块、功能点 想实现选择模块后&#xff0c;点击功能点下拉框&#xff0c;查询出对应模块下的功能点列表 查询 listQuery: export default{return{listQuery:{//page:1,//limit:20,//如果想兼容按条件导出&#xff0c;可以定义查询条件age:…...

深入探讨Kubernetes(K8s)在云原生架构中的关键作用和应用

文章目录 1. 容器化的应用程序管理2. 自动化扩展和负载均衡3. 容器编排和调度4. 存储管理5. 自动化滚动更新6. 多云和混合云部署7. 监控和日志8. 安全9. 社区支持和生态系统10. 未来展望案例 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;CSDN新晋作者 &#x1…...

redis zset score 求和

redis zset score 求和 local sum0 local zredis.call(‘ZRANGE’, KEYS[1], 0, -1, ‘WITHSCORES’) for i2, #z, 2 do sumsumz[i] end return sum 例子&#xff1a;lua ~$ redis-cli zadd z 1 a 2 b 3 c 4 d 5 e (integer) 5 ~$ redis-cli eval "local sum0 local zr…...

springboot属性注入增强(一)背景/需求

一 背景 springboot 在启动时候会将系统的环境变量、项目的启动时设置的属性 、application.yml文件&#xff08;或application.properties文件&#xff09;、PropertySource定义的配置文件中的属性加载到Environment对象中&#xff0c;分布式配置中心框架也会把配置加载到Env…...

《PWA实战:如何为你的网站增加离线功能和推送通知》

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

sqli-labs关卡之一(两种做法)

目录 一、布尔盲注(bool注入) 二、时间盲注(sleep注入) 一、布尔盲注(bool注入) 页面没有报错和回显信息&#xff0c;只会返回正常或者不正常的信息&#xff0c;这时候就可以用布尔盲注 布尔盲注原理是先将你查询结果的第一个字符转换为ascii码&#xff0c;再与后面的数字比较…...

Visual Studio 线性表的链式存储节点输出引发异常:读取访问权限冲突

问题&#xff1a; 写了一个线性表的链式存储想要输出&#xff0c;能够输出&#xff0c;但是会报错&#xff1a;读取访问权限冲突 分析&#xff1a; 当我们输出到最后倒数第二个节点时&#xff0c;p指向倒数第二个节点并输出&#xff1b; 下一轮循环&#xff1a;p指向倒数第二…...

[通用]计算机经典面试题基础篇Day3

[通用]计算机经典面试题基础篇Day3 1、请说明mysql的两种主要引擎 MySQL有多种存储引擎&#xff0c;但最常见的两种主要引擎是InnoDB和MyISAM。 2、说一下mysql这两种引擎的使用场景 MySQL的两种主要引擎&#xff0c;InnoDB和MyISAM&#xff0c;各自适用于不同的使用场景&…...

(Golang) 牛客 在线编程 Go语言入门

文章目录 前言Go的学习资料链接 AC代码01 输出打印GP1 go的第一个程序 02 变量GP2 小明信息GP3 个人信息 03 常量GP4 国家名称 04 指针GP5 值和指针 05 字符串GP6 拼接字符串GP7 字符数量GP8 回文数 06 类型转换GP9 格式化字符串GP10 字符求和 07 运算符GP11 长方形的周长GP12 …...

2.6 PE结构:导出表详细解析

导出表&#xff08;Export Table&#xff09;是Windows可执行文件中的一个结构&#xff0c;记录了可执行文件中某些函数或变量的名称和地址&#xff0c;这些名称和地址可以供其他程序调用或使用。当PE文件执行时Windows装载器将文件装入内存并将导入表中登记的DLL文件一并装入&…...

SpringMvc进阶

SpringMvc进阶 SpringMVC引言一、常用注解二、参数传递三、返回值 SpringMVC引言 在Web应用程序开发中&#xff0c;Spring MVC是一种常用的框架&#xff0c;它基于MVC&#xff08;Model-View-Controller&#xff09;模式&#xff0c;提供了一种结构化的方式来构建可维护和可扩…...

SpringCloud Alibaba 入门到精通 - Nacos

SpringCloud Alibaba 常用组件 一、基础结构搭建1.父工程创建2.子工程创建 二、Nacos&#xff1a;注册中心1.服务端搭建2.注册中心-客户端搭建3.注册中心-管理页面4.注册中心-常用配置5.注册中心-核心功能总结 三、Nacos注册中心集成Load Balancer 、OpenFeign1.Nacos客户端集成…...

Obsidian Full Calendar:5步构建个人知识与时间管理一体化系统

Obsidian Full Calendar&#xff1a;5步构建个人知识与时间管理一体化系统 【免费下载链接】obsidian-full-calendar Keep events and manage your calendar alongside all your other notes in your Obsidian Vault. 项目地址: https://gitcode.com/gh_mirrors/obs/obsidian…...

5维精准配准:医学影像分析的SyN算法实践指南

5维精准配准&#xff1a;医学影像分析的SyN算法实践指南 【免费下载链接】ANTs Advanced Normalization Tools (ANTs) 项目地址: https://gitcode.com/gh_mirrors/ant/ANTs 医学影像分析中&#xff0c;不同设备、不同时间采集的图像往往存在空间差异&#xff0c;如何实…...

保姆级教程:在Windows 11上为PyTorch配置CUDA 12.x和cuDNN(含环境变量疑难杂症排查)

Windows 11深度学习环境配置全攻略&#xff1a;从CUDA安装到PyTorch GPU加速实战 每次打开PyCharm准备大展身手时&#xff0c;看到那个令人心碎的False——torch.cuda.is_available()的输出结果&#xff0c;是不是感觉整个深度学习梦想都被泼了冷水&#xff1f;别担心&#xf…...

PADS 9.5资源包下载与安装教程:附最新许可证生成工具MentorKG使用指南

PADS 9.5完整资源获取与高效安装实战指南 在电子设计自动化&#xff08;EDA&#xff09;领域&#xff0c;PADS系列软件凭借其稳定的性能和友好的操作界面&#xff0c;始终保持着广泛的市场占有率。作为经典的9.5版本&#xff0c;虽然已不是最新发布&#xff0c;但在许多企业的标…...

Python实战:两步移动搜索法(2SFCA)在医疗资源可达性分析中的应用

1. 什么是两步移动搜索法&#xff08;2SFCA&#xff09;&#xff1f; 第一次听说两步移动搜索法&#xff08;2SFCA&#xff09;时&#xff0c;我完全被这个专业名词唬住了。后来在实际项目中用了才发现&#xff0c;它其实就是个"找资源"的聪明算法。想象一下你住在一…...

OpenCore 辅助工具(OCAT):跨平台开源配置工具的零基础上手指南

OpenCore 辅助工具&#xff08;OCAT&#xff09;&#xff1a;跨平台开源配置工具的零基础上手指南 【免费下载链接】OCAuxiliaryTools Cross-platform GUI management tools for OpenCore&#xff08;OCAT&#xff09; 项目地址: https://gitcode.com/gh_mirrors/oc/OCAuxili…...

保姆级教程:手把手教你将若依(RuoYi)项目从Java 8迁移到Java 17(含Spring Boot 3升级)

保姆级教程&#xff1a;手把手教你将若依(RuoYi)项目从Java 8迁移到Java 17&#xff08;含Spring Boot 3升级&#xff09; 最近几年Java生态发生了翻天覆地的变化&#xff0c;从Java 8到Java 17不仅仅是版本号的跳跃&#xff0c;更是一次技术栈的全面革新。作为国内广泛使用的…...

别再只用交叉熵了!深入对比YOLOv8中Focal Loss与CIoU Loss的改进效果与适用场景

深入解析YOLOv8损失函数优化&#xff1a;Focal Loss与CIoU Loss的实战对比与场景适配 当你在深夜调试YOLOv8模型时&#xff0c;是否遇到过这样的困境&#xff1a;明明增加了训练数据&#xff0c;小目标检测的准确率却始终上不去&#xff1f;或是发现模型对密集排列的物体总是漏…...

MangoHud与Vulkan视频编码协议:AV1监控完全指南

MangoHud与Vulkan视频编码协议&#xff1a;AV1监控完全指南 【免费下载链接】MangoHud A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more. Discord: https://discordapp.com/invite/Gj5YmBb 项目地址: https://gitcode.com/gh_mirrors/…...

Phi-4-Reasoning-Vision效果展示:低资源语言(如日/韩/西)图文推理能力

Phi-4-Reasoning-Vision效果展示&#xff1a;低资源语言&#xff08;如日/韩/西&#xff09;图文推理能力 1. 多模态推理工具概览 Phi-4-Reasoning-Vision是一款基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具。该工具专为双卡RTX 4090环境优化&#x…...