标题: 制作电子秤HX711+LCD1602 附单片机源码 [打印本页]

作者: 球子蛞    时间: 2018-5-18 15:14
标题: 制作电子秤HX711+LCD1602 附单片机源码
  自己花了五六天做的一个电子秤,没有包装有点丑,它能精确到1g,超5KG报警,能设置单价幷显示出总价,A键为去皮键,B键为单价清零键。


部分代码如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define KV P1
  4. #define LCD P0
  5. #define uchar unsigned char
  6. #define uint unsigned int
  7. #define ulong unsigned long

  8. sbit HX711_SDA=P2^0;        //HX711转换数据端
  9. sbit HX711_SCK=P2^1;        //HX711时钟端
  10. sbit LCD1602_E=P2^4;        //LCD1602液晶使能端
  11. sbit LCD1602_RS=P2^5;        //LCD1602液晶命令数据端
  12. sbit LCD1602_RW=P2^6;        //LCD1602液晶数据读写端
  13. sbit buzzer=P2^7;                        //蜂鸣器管脚
  14. ulong weight;
  15. ulong qupi=0;
  16. volatile uint keyvalue;
  17. volatile uint price=0;
  18. volatile ulong money=0;
  19. uchar W=0;            //检测标志
  20. uchar temp1;
  21. uchar temp2;
  22. uchar Moni=0;                                  //检测标志
  23. uchar dat[4];                                        //缓存数据数组
  24. uchar code desk[]="W:0.000kg P:00.0Money:000.0     ";                //显示内容初始化

  25. void delay_us()       //延时us
  26. {
  27.         _nop_();
  28.         _nop_();
  29. }

  30. void delay_ms(uint k) //延时ms
  31. {
  32.   uint i,j;  
  33.         for(i=k;i>0;i--)  
  34.                 for(j=110;j>0;j--);  
  35. }

  36. unsigned long Read_HX711(void)  
  37. {  
  38.   unsigned long Count;  
  39.   unsigned char i;  
  40.   HX711_SDA=1;
  41.         delay_us();
  42.   HX711_SCK=0;      //使能AD(PD_SCL 置低)  
  43.   Count=0;  
  44.   while(HX711_SDA); //AD转换未结束则等待,否则开始读取  
  45.   for (i = 0; i < 24; i++)  
  46.   {  
  47.                 HX711_SCK = 1;        //PD_SCL 置高(发送脉冲)  
  48.                 Count=Count<<1; //下降沿来时变量Count左移一位,右侧补零  
  49.     HX711_SCK =0;          //PD_SCL 置低  
  50.     if(HX711_SDA)
  51.                         Count++;  
  52.    }  
  53.     HX711_SCK = 1;  
  54.     Count=Count^0x800000;//第25个脉冲下降沿来时,转换数据
  55.                 delay_us();
  56.     HX711_SCK = 0;  
  57.     return (Count);  
  58. }
复制代码

下载:
电子秤(1602).zip (29.7 KB, 下载次数: 265)



作者: 1520995945    时间: 2018-6-9 12:05
?能加我QQ教教我吗    1520995945
作者: 北鱼x    时间: 2018-7-14 17:00
你好,你的程序是全的吗
作者: lcd1314007    时间: 2018-7-16 12:14
谢谢收获很多
作者: jhczy    时间: 2018-7-16 16:19
程序好像不完整吧
作者: 奥特曼的蛋    时间: 2019-1-2 14:06
厉害,还行吧
作者: jhjhhiugi    时间: 2019-1-3 15:38
为什么你的uvproj是空的你
作者: tututu111    时间: 2019-1-3 17:40
极积参加,相互学习,共同提高.
作者: 972803100    时间: 2021-4-23 20:45

极积参加,相互学习,共同提高.
作者: litxyz    时间: 2021-5-21 00:23
请问此程序怎么写称重识别到小数点后0.1g或0.01g读数?(可以不准确,但想知道)
看到此贴,知道的坛友帮忙解答看看,谢谢。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1