找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3001|回复: 4
收起左侧

基于STC89C52RC单片机实现称重与时钟显示 1602,DS1302,HX711芯片

[复制链接]
ID:457999 发表于 2019-12-26 16:15 | 显示全部楼层 |阅读模式
一、整体介绍
作用:
该项目可以测重(<=5kg),可以显示当前时间
         功能:
能将测得的重量、时间显示在液晶显示屏上,能使用按键调节液晶显示屏上的时间,重量大于5kg时蜂鸣器会响,使用按键去皮
用的模块:
LED1602,DS1302,HX711,蜂鸣器,按键
环境:
软件:Keil uVision5
                   硬件:51开发板
目的:
测得的重量显示在液晶显示屏上,同时液晶显示屏还可以显示时间,液晶显示屏上的时间可以通过按键来调节
二、项目硬件介绍
模块介绍:
         HX711:压力传感器,最大为5kg
         DS1302:时钟模块,用来测量时间
         LED1602:液晶显示屏,两排,每排可以显示16个字符
蜂鸣器:无源蜂鸣器
按键:矩阵按键,1~9:去皮,上键加一,下键减一,左右移动光标,Esc取消更改,回车键进入/保存更改
整个项目的电路连接

三、软件介绍
程序介绍:
1.HX711模块:
//延时函数
voidDelay__hx711_us(void){ _nop_();_nop_();}
//读取HX711
unsigned longReadCount()
{
         unsigned long Count;
         unsigned char i;
         Delay__hx711_us();
         ADSK=0;
         Count=0;
         while(ADDO);
         //AD转换未结束则等待,否则开始读取
         for(i=0;i<24;i++)
         {
                   ADSK=1;
                   //PD_SCK置高(发送脉冲)
                   Count=Count<<1; //下降沿来时变量Count左移一位,右侧补零
                   ADSK=0;
                   //PD_SCK置低
                   if(ADDO) Count++;
         }
         ADSK=1;
         Count=Count^0x800000;
         //第25个脉冲下降沿来时,转换数据
         Delay__hx711_us();
         ADSK=0;
         return Count;
}
四、    项目总结
这个项目你收获了什么:
通过这个项目我熟悉了LED1602,DS1302, HX711,蜂鸣器,按键等模块的使用;我清楚的明白单个模块的使用并不难,难的是多个模块一起用,多个模块一起使用时相互之间会产生一定的影响;并巩固了以前学习的知识。

项目源码.rar

92.69 KB, 下载次数: 85, 下载积分: 黑币 -5

回复

使用道具 举报

ID:733895 发表于 2020-4-21 09:16 | 显示全部楼层
很给力
回复

使用道具 举报

ID:733618 发表于 2020-4-21 10:20 来自手机 | 显示全部楼层
不错,我一直就想找这个
回复

使用道具 举报

ID:621880 发表于 2020-5-7 10:24 | 显示全部楼层
你好,这个电路怎么连接
函数怎么烧入
回复

使用道具 举报

ID:253767 发表于 2020-5-22 07:06 | 显示全部楼层
谢谢分享!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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