传感器课程设计自动抽水测控系统Word文件下载.docx
《传感器课程设计自动抽水测控系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《传感器课程设计自动抽水测控系统Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
·
标准MCS-51内核和指令系统
片内8kROM(可扩充64kB外部存储器)
32个双向I/O口
256x8bit内部RAM(可扩充64kB外部存储器)
3个16位可编程定时/计数器
时钟频率3.5-12/24/33MHz
向上或向下定时计数器
改进型快速编程脉冲算法
6个中断源
5.0V工作电压
全双工串行通信口
布尔处理器
—帧错误侦测
4层优先级中断结构
—自动地址识别
兼容TTL和CMOS逻辑电平
空闲和掉电节省模式
PDIP(40)和PLCC(44)封装形式
(3)时钟电路
计算机工作时,是在统一的时钟脉冲控制下一拍一拍的进行的,这个脉冲
是由单片机控制器中的时序电路发出的。
单片机的时序就是CPU在执行指令时所需控制信号的时间顺序。
为了保证各部件间的同步工作。
单片机内部电路就在惟一的时钟信号控制下严格的按时序进行工作。
要给单片机提供时序要有相关的硬件电路,即振荡器和时钟电路。
因此选择了内部时钟方式。
利用蕊片内部的振荡器,然后在引脚XTAL1和XTAL两端跨接晶体或陶瓷谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,外接晶振时,C1和C2值通常选择为30PF左右。
C1,C2对频率有微调作用。
晶体的频率范围可在1.2~12MHZ之间选择。
在实际连接中,为了减少寄生电容,更好地保证振荡器稳定。
可靠地工作,振荡器和电容应尽可能安装得与单片机蕊片靠近。
(4)复位电路
按键电平复位电路,相当于按复位键后复位端通过电阻与Vcc电源接通。
复位是单片机的初始化操作。
单片机在启动运行时,都需要先复位,其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。
因而,复位是一个很重要的操作方式。
但单片机本身是不能自动进行复位的,必须配合相应的外部电路来实现
(5)管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口作为AT89C51的一些特殊功能口,管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2.传感器模块
超声波传感器
1、产品特点:
HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;
模块包括超声波发射器、接收器与控制电路。
基本工作原理:
(1)采用IO口TRIG触发测距,给最少10us的高电平信呈。
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
测试距离=(高电平时间*声速(340M/S))/2;
2.实物图:
3.时序图
以上时序图表明你只需要提供一个10uS以上脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。
一旦检测到有回波信号则输出回响信号。
回响信号的脉冲宽度与所测的距离成正比。
由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。
公式:
uS/58=厘米或者uS/148=英寸;
或是:
距离=
高电平时间*声速(340M/S)/2;
建议测量周期为60ms以上,以防止发射信号对回响信号的影响。
超声波测距原理
为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。
总体上讲,超声波发生器可以分为两大类:
一类是用电气方式产生超声波,一类是用机械方式产生超声波。
电气方式包括压电型、磁致伸缩型和电动型等;
机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。
目前较为常用的是压电式超声波发生器
超声波测距通常采用度越时间法,即利用s=vt/2计算被测物体的距离。
式中s为收发头与被测物体之间的距离,v为超声波在介质中的传播速度(v=331.41+T/273m/s),t为超声波的往返时间间隔。
工作原理为:
发射头发出的超声波以速度v在空气中传播,在到达被测物体时被其表面反射返回,由接收头接收,其往返时间为t,由s算出被测物体的距离。
T为环境温度,在量精度要求高的场合必须考虑此影响,但在一般情况下,可舍去此法,由软件进行调整补偿。
由于超声波也是一种声波,其声速c与温度有关,附表1列出了几种不同温度下的声速。
在使用时,如果温度变化不大,则可认为声速是基本不变的。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
声速确定后,只要测得超声波往返的时间,就可以求出距离。
这就是超声波测距原理。
超声波发射电路
发射电路由555构成的多谐振荡器和超声波发射头组成。
3.2.1多谐振荡器
采用555构成多谐振荡器可以实现宽范围占空比的调节!
并且电路设计简单!
占用面积小。
如图3.2所示,由单片机AT89C52的P2.3口发出同步脉冲信号!
该同步脉冲启动多谐振荡器!
使其输出40KHZ的高频电压信号!
经过整形直接加至超声波换能器探头!
根据逆压电效应!
产生振动频率为40KHZ的超声波。
图3.2超声波发射电路
接通电源后,电容C被充电,VC上升,当VC上升到2/3VCC时,触发器被复位,同时放电BJTT导通,此时Vo为低电平,电容C通过R2和T放电,使VC下降。
当VC下降到1/3VCC时,触发器又被置位,Vo翻转为高电平。
电容器C放电所需的时间为
当C放电结束时,T截止,VCC将能过R1,R2向电容器充电,VC由1/3VCC上升到2/3VCC所需的时间为
当VC上升到2/3VCC时,触发器又发生翻转,如此周而复始,在输出端就得到一个周期性的方波,其频率为
由于555内部的比较器的灵敏度较高,而且采用差分电路形式,它的振荡频率受电源电压的温度变化的影响很小。
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
图3.3555的工作波形图
从555的工作波形图,可看出占空比是固定不变的。
为了调解的方便,我把R1和R2都换成了电位器,就形成了占空比可调的电位器。
使的超声波的发射电路更加具有高效性。
也能满足波尽可能的减小失真。
从面达到测距更长的效果。
3.2.2超声波传感器
从图3.2超声波的发射电路上看还有一个超声波传感器。
它具有把电信号转化为机械信号,同时又能把机械信号转化为电信号的功能。
在设计中选择了压电式超声波发声器。
压电式超声波发生器实际上是利用压电晶体的谐振来工作的。
超声波发生器内部结构如图3.4所示,它有两个压电晶片和一个共振板。
压电晶体组成的超声波传感器是一种可逆传感器,它可以将电能转变成机械振荡而产生超声波,同时它接收到超声波时,也能转变成电能,所以它可以分成发送器或接收器。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。
本文所采用的超声波传感器是T/R-40-16(其中T表示发送,R表示接收,40表示频率为40KHZ,16表示其外径尺寸,以毫米计)
共振板
图3.4超声波传感器结构
3.3超声波接收电路
超声波接收电路包括由MC3403构成的三级回波放大电路以及LM358电压比较整形电路两部分,与超声波接收传感器T-40-16配合使用,实现超声波的接收功能。
图3.5超声波接收电路
3单片机最小系统
电路原理图:
PCB图:
4电机驱动模块(用于控制水泵电机启动)
原理图
PCB图
相关程序:
#include<
reg52.h>
//包括一个52标准内核的头文件
#defineucharunsignedchar//定义一下方便使用
#defineuintunsignedint
#defineulongunsignedlong
sbitTrig=P1^0;
//产生脉冲引脚
sbitEcho=P3^2;
//回波引脚
sbitin1=P1^1;
sbitin2=P1^2;
//测试用引脚
uintdistance[4];
//测距接收缓冲区
uchartemp,flag,outcomeH,outcomeL,i,c=5;
//自定义寄存器
bitsucceed_flag;
//测量成功标志
//********函数声明
voiddelay_20us();
voidmain(void)//主程序
{uintdistance_data;
in1=0;
in2=0;
flag=0;
Trig=0;
//首先拉低脉冲输入引脚
TMOD=0x11;
//定时器0,定时器1,16位工作方式
TR0=1;
//启动定时器0
IT0=0;
//由高电平变低电平,触发外部中断
ET0=1;
//打开定时器0中断
EX0=0;
//关闭外部中断
EA=1;
//打开总中断0
while
(1)//程序循环
{
EA=0;
Trig=1;
delay_20us();
//产生一个20us的脉冲,在Trig引脚
while(Echo==0);
//等待Echo回波引脚变高电平
succeed_flag=0;
//清测量成功标志
EX0=1;
//打开外部中断
TH1=0;
//定时器1清零
TL1=0;
TF1=0;
//
TR1=1;
//启动定时器1
while(TH1<
30);
//等待测量的结果,周期65.535毫秒(可用中断实现)
TR1=0;
//关闭定时器1
if(succeed_flag==1)
{
distance_data=outcomeH;
//测量结果的高8位
distance_data<
<
=8;
//放入16位的高8位
distance_data=distance_data|outcomeL;
//与低8位合并成为16位结果数据
distance_data*=12;
//因为定时器默认为12分频
distance_data/=58;
//微秒的单位除以58等于厘米
}if(succeed_flag==0)
{
distance_data=0;
//没有回波则清零
}
if(distance_data<
c||distance_data==c)in1=0;
elsein1=1;
}
//***************************************************************
//外部中断0,用做判断回波电平
INTO_()interrupt0//外部中断是0号
{
outcomeH=TH1;
//取出定时器的值
outcomeL=TL1;
succeed_flag=1;
//至成功测量的标志
//****************************************************************
//定时器0中断,用做显示
timer0()interrupt1//定时器0中断是1号
TH0=0xfd;
//写入定时器0初始值
TL0=0x77;
voiddelay_20us()
{ucharbt;
for(bt=0;
bt<
100;
bt++);
4个人总结
经过几周的奋战我的传感器课程设计终于完成了,在没有做此设计以前觉得传感器设计只是对这门课所学知识的单纯总结,但是通过这次设计发现自己的看法有点太片面。
课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高,通过这次课程设计使我明白自己原来知识还比较欠缺。
自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。
通过这次课程设计,我才明白学习是个长期积累的过程,在以后的学习生活中都应该不断地学习,努力提高自己知识和综合素质。
这次课程设计使我知道不管学会的还是学不会的的却觉得困难比较多,真实万事开头难,不知道如何入手。
最后终于做完了有种如卸重负的感觉。
此外,还得出一个结论:
知识必须通过应用才能实现其价值!
有些东西以为学会了,但真正到用的时候是两码事,所以我认为只有到真正会用的时候才是真的学会了。
在此要感谢我的指导老师对我的悉心的指导,感谢同学们给我的帮助。
在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。
在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。
而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功的喜悦。
虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。
参考文献
单片机应用系统设计技术电子工业出版社
自动检测技术及应用(第二版)机械工业出版社