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

【Proteus仿真】【51单片机】电子称重秤

文章目录

  • 一、功能简介
  • 二、软件设计
  • 三、实验现象
  • 联系作者


一、功能简介

本项目使用Proteus8仿真51单片机控制器,使LCD1602液晶,矩阵按键、蜂鸣器、HX711称重模块等。
主要功能:
系统运行后,LCD1602显示HX711称重模块检测重量,单价和总价;可通过键盘设定单价,点击确定键后可计算总价;可通过清除键删除设定单价和总价。


二、软件设计

/*
作者:嗨小易(QQVIP群2:570487280)*///系统数据显示
void sys_data_show(void)
{u8 buf[7];while(1){//重量显示buf[0]=sys_ctrl.weight/10000+0x30;buf[1]=sys_ctrl.weight%10000/1000+0x30;buf[2]='.';buf[3]=sys_ctrl.weight%10000%1000/100+0x30;buf[4]=sys_ctrl.weight%10000%1000%100/10+0x30;buf[5]=sys_ctrl.weight%10000%1000%100%10+0x30;buf[6]='\0';lcd1602_show_string(7,0,buf);//单价显示buf[0]=sys_ctrl.uprice/100+0x30;buf[1]=sys_ctrl.uprice%100/10+0x30;buf[2]='.';buf[3]=sys_ctrl.uprice%100%10+0x30;buf[4]='\0';lcd1602_show_string(0,1,buf);//总价显示buf[0]=sys_ctrl.tprice/10000+0x30;buf[1]=sys_ctrl.tprice%10000/1000+0x30;buf[2]=sys_ctrl.tprice%10000%1000/100+0x30;buf[3]='.';buf[4]=sys_ctrl.tprice%10000%1000%100/10+0x30;buf[5]=sys_ctrl.tprice%10000%1000%100/10+0x30;buf[6]='\0';lcd1602_show_string(10,1,buf);	break;			}
}//系统数据设置
void sys_data_set(void)
{u8 key=0;static u8 buf[3];key=key_matrix_flip_scan();//有键按下if(key>0){beep_alarm(1,2000);//提示音if(key<=10)//0-9数字键{if(sys_ctrl.keycnt<3)//最多输入3位{buf[sys_ctrl.keycnt]=key-1;//记录键值switch(sys_ctrl.keycnt)//获取输入单价{case 0:sys_ctrl.uprice=buf[0];break;case 1:sys_ctrl.uprice=buf[0]*10+buf[1];break;case 2:sys_ctrl.uprice=buf[0]*100+buf[1]*10+buf[2];break;}	sys_ctrl.keycnt++;}	}else if(key==11)//确定{//计算总价sys_ctrl.tprice=((float)sys_ctrl.uprice/10)*((float)sys_ctrl.weight/1000)*100;}else if(key==12)//清除{sys_ctrl.uprice=0;sys_ctrl.tprice=0;sys_ctrl.keycnt=0;	}}
}//系统功能控制
void sys_fun_ctrl(void)
{}//应用控制系统
void appdemo_show(void)
{sys_parm_init();//系统参数初始化lcd1602_init();sys_open_show();//系统开机界面显示while(1){	sys_data_get();//系统数据获取sys_data_show();//系统数据显示sys_data_set();//系统数据设置sys_fun_ctrl();//系统功能控制}
}

三、实验现象

B站演示视频:https://space.bilibili.com/444388619
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

联系作者

视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

相关文章:

  • <VR串流线方案> PICO 4 Pro VR串流线方案 Oculus Quest2 Link串流线方案
  • PyTorch : torch.cuda.amp: 自动混合精度详解
  • VUE篇之日历组件
  • 基于Springboot的教学信息反馈系统的设计与实现(源码+调试)
  • java实现局域网内视频投屏播放(一)背景/需求
  • MATLAB Sub2ind下标值转化
  • Linux---获取管理员权限的相关命令
  • Day20【time模块】
  • 在Flutter中使用PhotoViewGallery指南
  • Docker与K8s的区别
  • 数字化转型导师坚鹏:中国工商银行人工智能与金融数字化转型培训
  • vscode 文件目录栏缩进
  • 基于Springboot的高校教学评价系统的设计与实现(源码+调试)
  • FreeRDP WebConnect Url 任意文件读取漏洞复现
  • acwing算法提高之动态规划--状态压缩DP
  • 《深入 React 技术栈》
  • 【EOS】Cleos基础
  • 08.Android之View事件问题
  • ComponentOne 2017 V2版本正式发布
  • CSS居中完全指南——构建CSS居中决策树
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • GraphQL学习过程应该是这样的
  • Hibernate【inverse和cascade属性】知识要点
  • JavaScript函数式编程(一)
  • Markdown 语法简单说明
  • maya建模与骨骼动画快速实现人工鱼
  • Odoo domain写法及运用
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Python连接Oracle
  • react-native 安卓真机环境搭建
  • 记录:CentOS7.2配置LNMP环境记录
  • 那些被忽略的 JavaScript 数组方法细节
  • 学习笔记:对象,原型和继承(1)
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 云大使推广中的常见热门问题
  • 中文输入法与React文本输入框的问题与解决方案
  • 【干货分享】dos命令大全
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • UI设计初学者应该如何入门?
  • 扩展资源服务器解决oauth2 性能瓶颈
  • # 数据结构
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (BFS)hdoj2377-Bus Pass
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (接口封装)
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (万字长文)Spring的核心知识尽揽其中
  • .NET 中的轻量级线程安全
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • [100天算法】-目标和(day 79)