资源简介
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个文件信息
相关资源
- PCB布线技术---一个布线工程师谈
- USB PCB布局布线要点及注意事项
- 高速PCB设计指南-----PCB布线
- BGA器件的PCB布局布线经验
- 如何把PCB设计布线层数规划好
- 瑞芯微RK原厂3399+LPDDR4 200球参考原理图
- BGA扇出,原理图中PCB的类和布线规则
- PCB布线设计完整的方法
- 在PCB板设计中高效地使用BGA信号布线
- 认识界面以及PCB设计整体要求
- 用AD6、AD9画完PCB生成gerber文件详细说
- DAC34H84 HD2 性能优化与 PCB 布局建议
- PCB电路设计指南经典
- Altium Designer实战攻略与高速PCB设计P
- PowerPCB(PADS)常见问题集合汇总(下
- PCB设计软件Protel使用中常见问题汇总
- tms320c6748 DSP原理图 SCH PCB
-
ST-li
nk V2 电路PCB及固件 - 光通信参考设计:GPON(MOGPON)ONT模块含
- genesis10(含GFX稳定带脚本版
- 反激式开关电源原理图及PCB
- altium designer 实用封装库 .pcblib亲测可
- 最全的DXPAD软件元件库,自己长期积累
- RTL8309N方案-8口交换机方案含原理图
- 数字钟计时器的设计与制作
- 交通灯原理图、PCB3d图、Solidworks外壳
- 最小NRF51822系统原理图+PCB版图+元器件
- 印刷电路板设计:PowerPCB5.0入门与提高
- DXP标准元件库(没有Miscellaneous Devic
- XH2.54mm 2P 4P 3P 贴片贴装接插件AD封装
评论
共有 条评论