基于STM32水塔水位液位检测传感器测量仪报警器设计-学习笔记

 

1、超声波测距是根据超声波发出和接收时间差,表示声波来回路程需要的
时间,声波速度是固定的,从而计算距离。
2、通过液晶LCD1602液晶实时显示当前探测距离、设置报警阈值。
3、当前距离低于设置距离阈值时,蜂鸣器报警水泵打开,装置动作,否则蜂鸣器不报警,不动作。
4、设置阈值具有掉电不丢失功能即flash存储,按键有设置按键、设置+、设置-,在设置情况下可以对设置值进行加减运算。

#define FLASH_SAVE_ADDR  0X08010000 	// 注意不同芯片 扇区flash地址不一样 设置FLASH 保存地址(必须为偶数,且其值要大于本代码所占用FLASH的大小+0X08000000)
//stm32f103R8T6 flash地址范围 0x8010000-0x801FFFF
//stm32f103C8T6 flash地址范围 0x8000000-0x807FFFF

#define SIZE 10	 	//数组长度
unsigned char  setFlashBuf[10];//存储数据'

char dis0[17]; //显示暂存数组
char dis1[17];

unsigned char i;

unsigned int setNum = 500;	//设置光照值
unsigned char SetFlag  =0; //设置标志


unsigned char initFlagData;	//初始化数据存读取
/******************把数据保存到单片机内部eepom中******************/
void write_FlashBuf(void)
{
	setFlashBuf[0] = initFlagData;
	setFlashBuf[1] =  setNum / 256;  //重新写入值
	setFlashBuf[2] =  setNum % 256; 
//	setFlashBuf[3] =  setL / 256; 

  

posted @ 2020-12-14 23:03  MCU创新DIY  阅读(350)  评论(0)    收藏  举报