视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
基于51单片机的电子秤程序
2025-10-05 01:32:26 责编:小OO
文档
#include

#include

//#include "LCD1602.h"

//#include "HX711.h"

#define  uint  unsigned  int 

sbit LCD1602_RS = P2^5;

sbit LCD1602_RW = P2^6;

sbit LCD1602_EN = P2^7;

sbit HX711_DOUT=P2^0; 

sbit HX711_SCK=P2^1; 

unsigned long HX711_Buffer = 0;

unsigned long Weight_Maopi = 0,Weight_Shiwu = 0;

char Price_Count = 0;

uchar KEY_NUM = 0;

uchar Price_Buffer[3] = {0x00,0x00,0x00};

unsigned long Money = 0;

bit Flag_OK = 0;

uchar com;

//延时函数

//****************************************************

void Delay__hx711_us(void)

{

}

void LCD1602_delay_ms(unsigned int n)

{

 

}

void Delay_ms(unsigned int n)

{

 

}

//****************************************************

//写指令

//****************************************************

void LCD1602_write_com( uchar com)

{

}

//****************************************************

//写数据

//****************************************************

void LCD1602_write_data( uchar dat)

{

 

}

//****************************************************

//连续写字符

//****************************************************

void LCD1602_write_word(unsigned char *s)

{

 

 

}

void Init_LCD1602()

{

       设置为写状态

    显示模式设定

    开关显示、光标有无设置、光标闪烁设置

    写一个字符后指针加一

    清屏指令

}

//****************************************************

//矩阵键盘扫描

//****************************************************

unsigned char KEY_Scan()

{

 

 

 

 

 数字1

 数字4

 数字7

 备用键*号键

 数字0

 备用键*号键

 数字2

 数字5

 数字8

 数字3

 数字6

 数字9

 数字A键,去皮功能

 数字B键清除键,二次测量

 数字C输入单价错误时返回上一步

 数字D键,计算总价

}

unsigned long HX711_Read(void) 增益128

{

  

  

  

  

  

 

 

 

 

  

 

 第25个脉冲下降沿来时,转换数据

}

//****************************************************

//称重

//****************************************************

void Get_Weight()

{

   

 

      获取实物的AD采样数值。

   计算实物的实际重量

                  因为不同的传感器特性曲线不一样,因此,每一个传感器需要矫正这里的4.30这个除数。

                  当发现测试出来的重量偏大时,增加该数值。

                  如果测试出来的重量偏小时,减小改数值。

                  该数值一般在4.0-5.0之间。因传感器不同而定。

                  是为了四舍五入百分位

//      关闭警报

//

//

//      负重量报警

//

//   大于5Kg的最大量程,报警

//

// 

//

//

//

//  

//

//

//

// 

//

//

//

}

//****************************************************

//获取毛皮重量

//****************************************************

void Get_Maopi()

{

  

//****************************************************

//主函数

//****************************************************

void main()

{

          初始化LCD1602

       指针设置

    开机画面第一行

   延时2s

loop:Price_Count = 0;

       指针设置

     指针设置

     称毛皮重量

 

 

      称重

   显示当前重量

  

  

  

  

  

  

 

 

     当返回的不是初值时候,确认按键按下。

 

      数字A键,去皮功能

  

       去皮

  

      数字B键清除键,二次测量

  

    

  

      数字C输入单价错误时返回上一步

  

   

   

   

    

   

   

       清除上一个输入的数据

   

   

    

      

      

      

    

      

      

      

    

      

      

      

    

    

  

      数字D键,计算总价

  

    

   

   

      

   

   

   

   

   

        

  

        显示输入的价值

  

   

   

   

    

      

      

      

    

      

      

      

    

      

      

      

    

   

   

   

   

    

   

  

 

}下载本文

显示全文
专题