找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6007|回复: 9
打印 上一主题 下一主题
收起左侧

制作电子秤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, 下载次数: 264)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏9 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:343424 发表于 2018-6-9 12:05 来自手机 | 只看该作者
?能加我QQ教教我吗    1520995945
回复

使用道具 举报

板凳
ID:347243 发表于 2018-7-14 17:00 | 只看该作者
你好,你的程序是全的吗
回复

使用道具 举报

地板
ID:345003 发表于 2018-7-16 12:14 | 只看该作者
谢谢收获很多
回复

使用道具 举报

5#
ID:170318 发表于 2018-7-16 16:19 | 只看该作者
程序好像不完整吧
回复

使用道具 举报

6#
ID:460010 发表于 2019-1-2 14:06 | 只看该作者
厉害,还行吧
回复

使用道具 举报

7#
ID:460629 发表于 2019-1-3 15:38 | 只看该作者
为什么你的uvproj是空的你
回复

使用道具 举报

8#
ID:461075 发表于 2019-1-3 17:40 | 只看该作者
极积参加,相互学习,共同提高.
回复

使用道具 举报

9#
ID:833834 发表于 2021-4-23 20:45 | 只看该作者

极积参加,相互学习,共同提高.
回复

使用道具 举报

10#
ID:722907 发表于 2021-5-21 00:23 | 只看该作者
请问此程序怎么写称重识别到小数点后0.1g或0.01g读数?(可以不准确,但想知道)
看到此贴,知道的坛友帮忙解答看看,谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表