硬件设计

(末尾附文件)

本次设计以STM32单片机为核心,利用压力传感器监测货物的压力并转换成电流输出给AD芯片,HX711转换模块将模拟量转换成数字量并输出给单片机,STM32单片机通过公式计算出具体的货物重量,采用按键矩阵对结果进行加减乘除,得出总价或者其他的结果。LCD1602液晶屏上显示检测到的货物重量、单价和总价。
设计思路
以STM32为中央处理器,通过压力传感器监测货物对其造成的压力,并以电流变化输出给HX711AD模块,hx711AD芯片将模拟量转换成数字量并发送给单片机,经单片机计算后,得到当前的重量。通过安检矩阵设置货物的单价,通过加减乘除操作,算的货物的总价。LCD1602液晶显示屏上显示检测到的货物重量,设置的商品单价以及最后算出的货物总价。

程序设计

#include "hx711.h"unsigned long ReadCount(void)
{unsigned long Count;unsigned char i;ADSK=0;Count=0;while(ADDO);for (i=0;i<24;i++){ADSK=1;Count=Count<<1;ADSK=0;if(ADDO) Count++;}ADSK=1;Count=Count^0x800000;ADSK=0;return(Count);
}#include "keyboard.h"//按键扫描函数 :
//功能;只扫描一个按键,按键为号小优先
//返回键值:
//         7    8    9    10
//         4    5    6    11
//         1    2    3    12
//         14   0    15   13unsigned char Getkeyboard(void)
{unsigned char number = 0;unsigned char i;//行输入低电平ROW1=ROW2=ROW3=ROW4=0;//如果列输出不全为高,则说明有键按下if ((COL1!=1)||(COL2!=1)||(COL3!=1)||(COL4!=1)){//输入0111ROW1=0;ROW2=ROW3=ROW4=1;for (i=0;i<20;i++);if (COL1==0) return 1;      // 7else if (COL2==0) return 2;  //   8else if (COL3==0) return 3;   // 9else if (COL4==0) return 10;  //  10//输入1011ROW2=0;ROW1=ROW3=ROW4=1;for (i=0;i<20;i++);if (COL1==0) return 4;     //4else if (COL2==0) return 5; //  5else if (COL3==0) return 6;  // 6else if (COL4==0) return 11;  // 11//输入1101ROW3=0;ROW1=ROW2=ROW4=1;for (i=0;i<20;i++);if (COL1==0) return 7;  //1else if (COL2==0) return 8;    // 2else if (COL3==0) return 9;    //   3else if (COL4==0) return 12;   //   12//输入0111ROW4=0;ROW1=ROW2=ROW3=1;for (i=0;i<20;i++);if (COL1==0) return 14;else if (COL2==0) return 0;else if (COL3==0) return 15;else if (COL4==0) return 13;//没有检测到列低电平return 99;}return 99;
}#include "LCD1602.h"//****************************************************
//MS延时函数(12M晶振下测试)
//****************************************************
void LCD1602_delay_ms(unsigned int n)
{unsigned int  i,j;for(i=0;i<n;i++)for(j=0;j<123;j++);
}//****************************************************
//写指令
//****************************************************
void LCD1602_write_com(unsigned char com)
{LCD1602_RS = 0;LCD1602_delay_ms(1);LCD1602_EN = 1;LCD1602_PORT = com;LCD1602_delay_ms(1);LCD1602_EN = 0;
}//****************************************************
//写数据
//****************************************************
void LCD1602_write_data(unsigned char dat)
{LCD1602_RS = 1;LCD1602_delay_ms(1);    LCD1602_PORT = dat;LCD1602_EN = 1;LCD1602_delay_ms(1);LCD1602_EN = 0;
}//****************************************************
//连续写字符
//****************************************************
void LCD1602_write_word(unsigned char *s)
{while(*s>0){LCD1602_write_data(*s);s++;}
}void Init_LCD1602()
{LCD1602_EN = 0;LCD1602_RW = 0;                     //设置为写状态LCD1602_write_com(0x38);            //显示模式设定LCD1602_write_com(0x0c);            //开关显示、光标有无设置、光标闪烁设置LCD1602_write_com(0x06);            //写一个字符后指针加一LCD1602_write_com(0x01);            //清屏指令
}#include <reg52.h>
#include <intrins.h>
#include <string.h>
#include "LCD1602.h"
#include "hx711.h"
#include "keyboard.h"
#include "eeprom52.h"#define uchar unsigned char
#define uint  unsigned int
//定义量程系数
#define RATIO    4000/1000     //1574/1000  //2114/1623

.

链接:https://pan.baidu.com/s/1Yi7LHfzInUBkjVrzMqM_yQ
提取码:it0s

.

基于STM32的智能电子秤原理图PCB程序设计相关推荐

  1. 基于STM32的智能电子秤设计

    硬件设计 本设计是一款基于STM32单片机的电子秤系统,随着科学技术的不断发展,传统的机械秤逐渐被电子秤所取代,相比于计量不精确,费时费力的机械秤,电子秤采用在方便快捷的同时,又保证了结果的准确性.本 ...

  2. 【毕业设计】基于stm32的智能电子秤系统 - 物联网 嵌入式 单片机

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 设计原理 4.1 STM32F103C8T6 4.2 HX711压力传感器 5 部分核心代码 6 最后 0 前言

  3. 基于STM32的智能宠物看护喂养系统(程序源码+原理图+PCB+Boom表+实物操作说明)

    基于STM32的智能宠物看护喂养系统(程序源码+原理图+PCB+Boom表+实物操作说明) **0  引言** 随着我国经济的快速发展,人们的生活水平不断提高,饲养宠物已经成为成为一种潮流.目前,市场 ...

  4. 基于STM32的“智能家居”课程设计

    基于STM32的"智能家居系统"课程设计 此设计是基于STM32F407单片机的智能家居系统,具体完成要求如下: 基于蓝牙的智能家居系统设计 设计一个基于蓝牙/Wifi的智能家居控 ...

  5. 基于stm32的智能防疫门禁管理系统

    1.选题背景与意义 经过了疫情的开端与发展,就目前我国已经处在疫情的常态化管理中.在疫情常态化管理下,与人们日常生活中的出行,总离不开测温.通行证明等等. 针对当前的疫情形式,我们设计一款智能防疫门禁 ...

  6. 基于数字电路交通灯信号灯控制系统设计-基于单片机病房温度监测与呼叫系统设计-基于STM32的无线蓝牙心电监护仪系统设计-基于STM32的智能蓝牙温控风扇控制设计-基于STM32的智能温室控制系统设计

    1617基于数字电路交通灯信号灯控制系统设计(仿真电路,论文报告)  摘  要:交通灯控制系统在城市交通控制中发挥着重要的作用,本次课程设计就是以城市交通灯控制系统为背景的,主要通过运用学过的数字电路 ...

  7. 基于STM32的智能篮球测温记分记时系统

    1.项目概述(20分) 1.1项目简介(5分) 进入21世纪,伴随着电子信息通信技术的应用与普及开发,人们对电子技术的要也越来越高.篮球作为一种体育运动进入了人们的生活.为对比赛进行规范化管理,研究一 ...

  8. 基于STM32的智能枕头

    本设计是基于STM32的智能枕头,主要实现以下功能: 1,按键可设置最高温度和最低温度: 2,可自动控制温度: 3,可以播放音乐: 4,OLED显示温度和温度阈值 标签:STM32.温度检测模块.语音 ...

  9. 基于stm32的智能家居项目

    基于stm32的智能家居 具体教程可以看文中的B站链接,上面有手把手教程 本人其他项目链接基于linux的智能仓储项目 基于Qt的人脸识别 移植人脸识别到Linux开发板上 基于正点原子的IMX6UL ...

最新文章

  1. Linux的shell脚本实战之检查主机IP是否存在
  2. python字符串转字典并获取多层嵌套字典元素
  3. Eigen入门之密集矩阵 8 - resharp slicing切片
  4. Spring jdbc 对象Mapper的简单封装
  5. 【CodeForces - 1060C】Maximum Subrectangle (思维,预处理前缀和,dp,枚举长度)
  6. 计算机出现假桌面怎么解决办法,Win10系统桌面频繁假死的解决方法
  7. javascript 200列(3)
  8. 细说BLUETOOTH 5 【4X 远距离】
  9. 图像处理-线性滤波-2 图像微分(1、2阶导数和拉普拉斯算子)
  10. 前端项目部署到服务器
  11. 去马赛克的频域方法(可抗混叠)
  12. php获取银行logo,PHP实现根据银行卡号判断银行
  13. xpath小结preceding-sibling、following-sibling
  14. Excel合并计算和分类汇总
  15. java: java mina ——基于TCP/IP、UDP/IP协议栈的通信框架
  16. 一些理论算法的学习资源推荐
  17. UR机器人数据包解析(python与C++实现)
  18. 使用PS批量处理图片大小
  19. 谁动了我的奶酪(读后感)
  20. Python 知识点超全学习笔记整理

热门文章

  1. opensees 笔记(一)坐标转换
  2. java里false是什么意思_为什么 Java 中“1000==1000”为false,而”100==100“为true?
  3. 象棋小巫师java下载_象棋小巫师美化加强版
  4. 广州数控(广数GSK)系列数据采集
  5. 博达的各种插件的下载
  6. vue2.x源码解析(一)
  7. 五大未来大数据技术发展趋势
  8. las数据的读写及注意事项总结
  9. C# SqlSugar框架的学习使用(一)--SqlSugar简介及创建
  10. openssl 非对称加密算法DSA命令详解