许久前整理的一项课程设计,具备以下资源:

1.论文:25页,近9000字

2.程序:Keil5源程序

3.实物:实测可用

软件程序上传在百度网盘,请自行下载:

链接:https://pan.baidu.com/s/1HFRLvQPg-r9QLtAxO0SUiQ?pwd=ibfb 
提取码:ibfb

如需要本文更多相关资料,请关注VX公众号:Rain21321

发送:获取基于STM32f103的电子秤系统设计更多资源

(1)论文部分内容:

基于STM32f103电子秤系统设计

摘要

称重技术自古以来就备受人们重视,作为一种计量手段,它广泛应用于各个领域。随着技术水平的飞速发展,科研实力的快速提升,将称重技术与电子技术相结合的产物——电子衡器横空出世。作为一种无处不在的现代新型称重仪器,它能帮助我们精确测量物体重量并将其显现出来,与我们日常生活息息相关。

电子秤将检测与转换技术、计算机技术、信息处理、数字技术等技术综合为一体,主要以单片机作为中心控制单元,通过称重传感器进行模数转换单元,再配以按键、显示电路等。其不但计量准确,而且快速方便,日益增加的功能诸如自动称重、数字显示等也对人们生活的影响越来越大,广受欢迎。

本次课程设计的基于STM32f103的电子秤系统主要从系统整体设计、硬件电路设计,系统软件设计,三部分进行详细阐述。硬件电路设计主要是基于嵌入式STM32f103为核心的控制单元来实现数据的处理,采用压力传感器对数据进行采集,使用电子秤专用24位AD转换芯片HX711对传感器采集到的模拟量进行AD转换,转换后的数据送到STM32f103进行处理显示,数据显示由LCD1602液晶实现,通过按键实现功能的选择,并且加入了LED闪烁和蜂鸣器报警等。

本次课程设计的电子秤反应灵敏、准确度高、显示直观、性能稳定,、操作简单、价格低廉,满足基本需求,并且具有较好的标定校准方法。

关键词: STM32f103;压力传感器;电子秤;HX711



二、系统整体设计方案

2.1电子秤系统总体框架设计

本次设计中使用压力传感器采集物体重量的变化,通过专为高精度电子秤而设计的24位A/D转换器芯片HX711芯片实现A/D转换,再将数据送给STM32f103芯片处理;采用LCD1602液晶显示物体重量等信息;LED灯和蜂鸣器实现超量程报警功能;通过3个键盘输入装置控制电子秤功能的实现,使电子秤实现称重、去皮、校准的功能。

系统总体框架设计的结构简如图2-1所示:

图2-1:系统设计的结构简图


(2)部分软件程序:

1.#include <stm32f10x.h>
2.#include "delay.h"
3.#include "led.h"
4.#include "lcd1602.h"
5.#include "buzzer.h"
6.#include "rtc.h"
7.#include "usart.h"
8.#include "stmflash.h"
9.#include "IOin.h"
10.#include "IOout.h"
11.#include "hx711.h"
12.#include "esp8266.h"
13.#include "key_s.h"
14.
15.u8 setRTC=0;
16.
17.#define LEN 3
18.u16 eep[LEN];
19.#define weight_mg_L eep[1]
20.
21.u16 weight_mg=0;
22.int main(void)
23.{
24.    u8 key;
25.    u16 cnt = 0;
26.    u8 refresh = 1;
27.    u8 set=0;
28.
29.    Stm32_Clock_Init(9);
30.    delay_Init(72);
31.    uart_init(72,9600);
32.    LCD_Init();
33.    LED_Init();
34.    Buzzer_Init();
35.    KEY_Init();
36.
37.    LCD_Clear();
38.    LCD_GotoXY(0,0);
39.    LCD_Print("HX711 init...   ");
40.    HX711_Init();
41.    Beep(200);
42.
43.    Flash_Read(eep,LEN);
44.    GapValue = eep[0];
45.//-----------------------------------------------------------
46.    if(Calib_HX711())
47.    {
48.        eep[0] = GapValue;
49.        Flash_Write(eep,LEN);
50.    }
51.//-----------------------------------------------------------
52.
53.    printf("usart send OK!\r\n\r\n");
54.    LCD_GotoXY(0,0);
55.    LCD_Print("PRESS :000`000g ");
56.    LCD_GotoXY(0,1);
57.    LCD_Print("LIMIT :000`000g ");
58.
59.    while(1)
60.    {
61.        delay_ms(1);
62.        cnt++;
63.        if(cnt>200)
64.        {
65.            cnt = 0;
66.            LED = !LED;
67.        key = (KeyScan(0));
68.        if(key)
69.        {
70.            Beep(100);
71.            //Play_Voice(33);
72.            refresh = 1;
73.            if(key==3)
74.            {
75.                set++;
76.                if(set>2)
77.                {
78.                    set = 0;
79.                    Flash_Write(eep,LEN);
80.                }
81.
82.            }
83.            else if(key==1)
84.            {
85.                if(set==1)
86.                {
87.            buzzer = 0;
88.
89.            if(set==0)weight_mg = Get_Weight();
90.            refresh = 1;
91.            sendAPP();
92.            if(set==0)
93.            {
94.                if(weight_mg >= weight_mg_L)buzzer = LED;//0ÓÐЧ
95.                if(Weight_Err)buzzer = LED;
96.            }
97.
98.
99.        }
100.
101.                    weight_mg_L+=1000;
102.                }
103.                else if(set==2)
104.                {
105.                    weight_mg_L++;
106.                }
107.            }
108.            else if(key==2)
109.            {
110.                if(set==1)
111.                {
112.                    if(weight_mg_L>=1000)weight_mg_L-=1000;
113.                    else weight_mg_L = 0;
114.                }
115.                if(set==2)
116.                {
117.                    if(weight_mg_L>0)weight_mg_L--;
118.                }
119.            }
120.
121.        }
122.        if(refresh)
123.        {
124.            refresh = 0;
125.            LCD_GotoXY(0x7,0);
126.            if(Weight_Err)LCD_WrDat('-');else
127.            LCD_WrNUM(weight_mg/100000%10);
128.            LCD_WrNUM(weight_mg/10000%10);
129.            LCD_WrNUM(weight_mg/1000%10);
130.            LCD_GotoXY(0xb,0);  LCD_WrNUM(weight_mg/100%10);

(3)实物图:

希望这篇文章能够对您有所帮助。

如有错误、疑问和侵权,欢迎评论留言联系作者。VX公众号Rain21321

砰砰恰!!!

基于STM32f103的电子秤系统设计相关推荐

  1. 用单片机c51电子秤的c语言,基于51单片机的电子秤系统设计

    微机原理论文第八篇:基于51单片机的电子秤系统设计 摘要:本文主要分析51单片机下的数字电子秤.在设计过程中,这种电子秤具体包括电源.传感器.蓝牙.转换器.单片机.键盘.开关.显示器等组成部分,在实践 ...

  2. 基于单片机智能灯光光控照明系统设计、基于单片机HX711电子秤自动计价系统设计、基于单片机GPRS远程测控系统设计、基于单片机多功能循迹避障无线遥控蓝牙智能小车-设计资料

    基于单片机智能灯光光控照明系统设计 智能光控照明系统设计原理: 本系统采用STC89C52系列的单片机为核心,利用BH1750传感器测量实时光照强度,并将亮度的模拟信号转化成数字信号,大大减少了系统的 ...

  3. 基于单片机HX711电子秤自动计价系统设计-基于单片机GPRS远程测控系统设计-818基于单片机循迹避障无线遥控蓝牙智能小车-基于单片机24s倒计时篮球积分器系统-基于单片机智能洗衣机控制系统

    816基于单片机HX711电子秤自动计价系统设计 本设计使用高精度电阻应变式压力传感器,用A/D转换器HX711(HX711数据手册)对传感器信号进行调理转换.AT89s52(AT89s52数据手册) ...

  4. 基于FPGA视频图像处理系统设计

    摘   要 本报告给出一个基于FPGA+两片DDR2组成的核心板.带有4路视频输入和VGA接口的开发板进行的视频图像采集和处理系统的设计.使用TW2867进行视频输入信号的编码,存储到DDR2中,通过 ...

  5. 基于STM32F103的家庭火灾报警及灭火系统(初步)

    基于STM32F103的家庭火灾报警及灭火系统 1 绪论 1.1 课题背景 1.2 设计概述 1.3 设计任务分析 2 装置选取总体方案设计 2.1 烟雾检测传感器选型与介绍 2.1.1 烟雾传感器的 ...

  6. 基于STM32F103的简易示波器设计

    基于STM32F103的简易示波器设计(基于正点原子mini开发板) 摘要 本设计采用STM32F103微控制器,硬件为正点原子的MiniSTM32开发板,设计一个示波器,能够测量输入信号的频率.最大 ...

  7. 基于stm32电梯管理系统设计

    基于stm32电梯管理系统设计 ==这里记录一下以前自己做的嵌入式课程设计,报告中的图片和文字太多了,全部一个一个把搬过来太麻烦了,需要完整文本和代码自行主页私我== 摘要 关键词 一.课题概述 1. ...

  8. 基于RFID的防伪系统设计

    基于RFID的防伪系统设计 近几年来,由于茶叶质量安全危机频繁发生,引起了广大消费者的关注,如何对茶叶质量安全进行有效追踪与追溯,已成为一个急需解决的课题.利用RFID技术建立一个茶叶质量安全追踪与追 ...

  9. 《STM32库开发实战指南:基于STM32F103(第2版)》——2.1节仿真器简介

    本节书摘来自华章社区<STM32库开发实战指南:基于STM32F103(第2版)>一书中的第2章,第2.1节仿真器简介,作者刘火良 杨森,更多章节内容可以访问云栖社区"华章社区& ...

最新文章

  1. msyql 字段说明
  2. cambridge ccaf potential supervisors!
  3. 如何在网页中动态为模版页的Body添加属性
  4. silverlight: [HtmlPage_NotEnabled] 调试资料字符串不可用的解决
  5. 数据结构---KMP模式匹配病毒感染人的DNA检测
  6. 使用J-flash arm下载程序
  7. python中的map函数返回一个地址_python中的map函数
  8. 计算机组成原理计算tag,计算机组成原理计算题
  9. 修改mongodb oplog size
  10. maven 里的 repositories里空的_IntelliJ IDEA 结合 maven通过profile实现多环境
  11. php做网站不兼容ie8,快速修复网页在IE8 下的显示兼容问题
  12. Scratch 游戏项目学习法 —— 接苹果(八)添加接住苹果的接盘(角色)
  13. CodeForces 1009 D. Relatively Prime Graph(思维)
  14. 神州优车开源业界领先的增量数据同步中间件——DataLink
  15. php的简单网站设计
  16. 计算机管理usb出现问号,USB设备全部都是问号,求助?
  17. 微信小程序如何实现文本换行
  18. windows驱动ddk环境设置
  19. php 简繁体转换类库,OpenCC for PHP 优雅的简繁体转换
  20. Karamata 不等式

热门文章

  1. web前端学习笔记——选择器
  2. vux组件的cell组件上下箭头图标显示问题,cell必须放在groud内才会显示
  3. ISO-8601格式时间转换
  4. 保温杯哪种材质最好_水杯材质哪种好 六种材质杯子的使用细节
  5. 关于商品规格(SKU)的设置
  6. python爬虫你们最爱的YY小姐姐,这不爬取下来看看?
  7. Adlik Deer版本发布,模型推理加速就靠它啦
  8. Extraction of individual trees based on Canopy Height Model to monitor the state of the forest
  9. 安装keil5出现you are not logged in as an 'Administrator'
  10. php登录后不点击注销,icloud无密码强制注销的方法