一、整体介绍 作用: 该项目可以测重(<=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,蜂鸣器,按键等模块的使用;我清楚的明白单个模块的使用并不难,难的是多个模块一起用,多个模块一起使用时相互之间会产生一定的影响;并巩固了以前学习的知识。
|