• 大小: 18.27MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-06-26
  • 语言: 其他
  • 标签: pcb  

资源简介

pcb schdoc 本设计中液晶显示有4个字母,分别为 H------容器的最高水位设定值(不能高于实际高度) L------容器的最低水位设定值 D-----容器实际高度(可以设置) C-----容器内液体的高度(在实际演示中,障碍物离探头越近,液晶C显示越大,因为障碍物好比液面,离探头近了说明水位高了) 特别提醒:如果容器实际高度D你设置为1米,那么C液体的高度最高能测到98cm,因为探头的盲区在2cm左右。如果D设为2米,那么最高能测到1.98m. 按键功能分别为:设置键 增加键 减小键 复位键 三个指示灯的分别功能为:红色----超过设定的最高水位H 黄色-----低于设定的最低水位L 绿色----最高H和最低L中间

资源截图

代码片段和文件信息


/***************************************************************
名称:基于51单片机的超声波水位监测报警系统
单片机型号:AT89C51
单片机设置:时钟12T,晶体12MHZ
作者:学长电子工作室
网站:http://shop63037296.taobao.com/shop/view_shop.htm?spm=1.6653501.a21470s.5
注:修改增加水泵控制和排水控制,即双继电器
***************************************************************/

#include 
#include  // 包含循环移位:_cror_
#include “main.h“     
//----------------------------------------------------------------------

uchar code TabNumASCII[10] =    {‘0‘‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘‘8‘‘9‘};

bool g_flag = isNo; //用于标记超时(65.536ms)    
bool g_flag05s = isNo; //用于标记0.52秒  
uchar  ucCount = 0; //用于计数0.52秒     
    
uint uiH = 80; //设定的最高报警水位 H
uint uiL = 30; //设定的最低报警水位 L
uint uiD = 100;  //检测探头到水库底部的距离 D 

bool g_flagSwitch = isNo; //控制阀门连续开启间隔延时(保护)标志
bool g_flagBeepTimer = isNo; //定时提醒标志


//-----------------------------------------------------------------------
// 延时10us
void delay10us(void) //@12MHz
{
unsigned char i;

_nop_();
i = 2;
while (--i);
}

// 延时100us
void delay100us(void) //@12MHz
{
uchar i;

_nop_();
i = 47;
while (--i);
}

// 延时125us
void delay125us(void) //@12MHz
{
unsigned char i;
i = 60;
while (--i);
}

// 延时5ms
void delay5ms(void) //@12.000MHz
{
unsigned char i j;

i = 10;
j = 183;
do
{
while (--j);
} while (--i);
}

// 延时500ms
void delay500ms(void) //@12MHz
{
unsigned char i j k;

_nop_();
i = 4;
j = 205;
k = 187;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}

//-----------------------------------------------------------------------
//初始化IO端口
void initIO(void)
{
P0 = 0xff;
P1 = 0xff;
P2 = 0xff;
P3 = 0xff;
}

// 初始化定时器0,定时器时钟12T模式 模式1,16位 @12.000MHz
void initTimer0(void)
{
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x01; //设置定时器模式
TL0 = 0; //定时器初值清零
TH0 = 0; //定时器初值清零
//TR0 = 1;    //开定时器0
    ET0 = 1;   //开定时器0中断
    EA = 1;      //开总中断    

}

// 初始化定时器1,定时器时钟12T模式 模式1,16位 @12.000MHz
void initTimer1(void) //50毫秒@12.000MHz
{
TMOD &= 0x0F; //设置定时器模式
TMOD |= 0x10; //设置定时器模式
TL1 = 0xB0; //设置定时初值
TH1 = 0x3C; //设置定时初值
TR1 = 1; //定时器1开始计时
ET1 = 1;   //开定时器0中断
}

//-----------------------------------------------------------------------
//定时器0中断
void zd0(void) interrupt 1   
{

g_flag = isYes; //中断溢出标志g_flag = isYes超过测距范围
if(++ucCount >= 8)
{
ucCount = 0;
g_flag05s = isYes; //g_flag05s = isYes定时0.52秒到,用于测量周期延时
}
TL0 = 0; //设置定时初值
TH0 = 0; //设置定时初值

}


//定时器1中断 定时50ms
void tm1_isr() interrupt 3 using 1
{
static uchar count = DATA_switchTime; //50ms的200倍 = 10S
static uchar uiCount = 1200; // = 1分钟
static uint uiCount_BeepTimer = DATA_BeepTimer;

TL1 = 0xB0; //设置定时初值
TH1 = 0x3C; //设置定时初值

if (g_flagSwitch == isNo)
{
if (count-- == 0)               //50ms * 200 -> 10s
{
count = DATA_switchTime;
g

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-06-21 19:32  基于单片机超声波液位控制器设计\
     文件       11264  2014-09-17 17:44  基于单片机超声波液位控制器设计\使用前必读.doc
     目录           0  2018-06-26 00:49  基于单片机超声波液位控制器设计\元件清单\
     文件       15872  2018-06-26 00:49  基于单片机超声波液位控制器设计\元件清单\元件清单.doc
     目录           0  2015-06-25 12:44  基于单片机超声波液位控制器设计\制作详解\
     目录           0  2018-06-26 13:39  基于单片机超声波液位控制器设计\制作详解\1602液晶\
     文件      317952  2014-04-09 23:59  基于单片机超声波液位控制器设计\制作详解\1602液晶\lcd1602中文资料.doc
     文件      352446  2014-04-09 23:59  基于单片机超声波液位控制器设计\制作详解\1602液晶\LCD1602液晶中文资料.pdf
     文件       15741  2014-04-09 23:59  基于单片机超声波液位控制器设计\制作详解\1602液晶\与插针的接法.jpg
     文件       22365  2014-04-09 23:59  基于单片机超声波液位控制器设计\制作详解\1602液晶\此液晶3脚与地阻值为1.5k.jpg
     文件       27594  2014-04-09 23:59  基于单片机超声波液位控制器设计\制作详解\1602液晶\此液晶3脚与地阻值为220Ω.jpg
     文件       62597  2014-04-09 23:59  基于单片机超声波液位控制器设计\制作详解\1602液晶\液晶原理图.jpg
     文件       63318  2014-04-09 23:59  基于单片机超声波液位控制器设计\制作详解\1602液晶\液晶原理图1.jpg
     文件       37514  2014-04-09 23:59  基于单片机超声波液位控制器设计\制作详解\1602液晶\液晶原理图2.jpg
     文件         188  2014-04-09 23:59  基于单片机超声波液位控制器设计\制作详解\1602液晶\液晶引脚简介.txt
     目录           0  2015-06-25 12:44  基于单片机超声波液位控制器设计\制作详解\DC电源插口\
     文件       44796  2014-04-06 22:56  基于单片机超声波液位控制器设计\制作详解\DC电源插口\CON2为电源插针(电路中可以不接).jpg
     文件       32060  2014-04-06 22:56  基于单片机超声波液位控制器设计\制作详解\DC电源插口\DC电源接口及开关(简易版).jpg
     文件        6039  2014-04-06 22:56  基于单片机超声波液位控制器设计\制作详解\DC电源插口\DC电源插口内部透视图.jpg
     文件       15132  2014-04-06 22:56  基于单片机超声波液位控制器设计\制作详解\DC电源插口\DC电源插口原理图.jpg
     文件          92  2014-04-06 22:56  基于单片机超声波液位控制器设计\制作详解\DC电源插口\DC电源插口原理图介绍说明.txt
     文件       49452  2014-04-06 22:56  基于单片机超声波液位控制器设计\制作详解\DC电源插口\DC电源插口硬件图.jpg
     目录           0  2015-06-25 12:44  基于单片机超声波液位控制器设计\制作详解\三极管\
     文件       16626  2014-04-06 22:56  基于单片机超声波液位控制器设计\制作详解\三极管\NPN型原理图.jpg
     文件       10402  2014-04-06 22:56  基于单片机超声波液位控制器设计\制作详解\三极管\PNP型原理图.jpg
     文件        3296  2014-04-06 22:56  基于单片机超声波液位控制器设计\制作详解\三极管\三极管介绍.txt
     文件       17239  2014-04-06 22:56  基于单片机超声波液位控制器设计\制作详解\三极管\三极管引脚介绍.jpg
     目录           0  2015-06-25 12:44  基于单片机超声波液位控制器设计\制作详解\上拉排阻\
     文件       39338  2014-04-06 22:56  基于单片机超声波液位控制器设计\制作详解\上拉排阻\8个电阻组成的上拉电阻.jpg
     文件         720  2014-04-06 22:56  基于单片机超声波液位控制器设计\制作详解\上拉排阻\上拉电阻介绍.txt
     文件       31232  2014-04-06 22:56  基于单片机超声波液位控制器设计\制作详解\上拉排阻\单片机使用上拉电阻及作用.doc
............此处省略105个文件信息

评论

共有 条评论