传感器课程设计--自动抽水测控系统_第1页
传感器课程设计--自动抽水测控系统_第2页
传感器课程设计--自动抽水测控系统_第3页
传感器课程设计--自动抽水测控系统_第4页
传感器课程设计--自动抽水测控系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录1引言22硬件部分:2(1.)芯片选择2 (2)主要功能特性3(3)时钟电路.3(4)复位电路3. (5)管脚说明4.2传感器模块1、产品特点52.实物图53时序图6超声波测距原理.63单片机最小系统104电机驱动模块(用于控制水泵电机启动)113软件部分:124个人总结15参考文献151引言水塔作为储水设施,广泛应用于农村家庭、工厂、城市以及市区高层楼房的储水及增压,许多单位还在使用水池水塔供水方式,即用水泵从地面水池向水塔或高位水箱抽水,然后再向用户供水。本设计利用单片机为核心部件设计水池水塔自动抽水控制系统,该系统具有电路简单、性能稳定可靠、经济实用、状态指示直观的特点。2硬件部分:

2、(1).芯片选择AT89C5289C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司可靠的CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信

3、口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。(2)主要功能特性 标准MCS-51内核和指令系统 片内8kROM(可扩充64kB外部存储器) 32个双向I/O口 256x8bit内部RAM(可扩充64kB外部存储器) 3个16位可编程定时/计数器 时钟频率3.5-12/24/33MHz 向上或向下定时计数器 改进型快速编程脉冲算法 6个中断源 5

4、.0V工作电压 全双工串行通信口 布尔处理器帧错误侦测 4层优先级中断结构自动地址识别 兼容TTL和CMOS逻辑电平 空闲和掉电节省模式 PDIP(40)和PLCC(44)封装形式(3)时钟电路计算机工作时,是在统一的时钟脉冲控制下一拍一拍的进行的,这个脉冲是由单片机控制器中的时序电路发出的。单片机的时序就是CPU在执行指令时所需控制信号的时间顺序。为了保证各部件间的同步工作。单片机内部电路就在惟一的时钟信号控制下严格的按时序进行工作。要给单片机提供时序要有相关的硬件电路,即振荡器和时钟电路。因此选择了内部时钟方式。利用蕊片内部的振荡器,然后在引脚XTAL1和XTAL两端跨接晶体或陶瓷谐振器,

5、就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,外接晶振时,C1和C2值通常选择为30PF左右。C1,C2对频率有微调作用。晶体的频率范围可在1.212MHZ之间选择。在实际连接中,为了减少寄生电容,更好地保证振荡器稳定。可靠地工作,振荡器和电容应尽可能安装得与单片机蕊片靠近。(4)复位电路按键电平复位电路,相当于按复位键后复位端通过电阻与Vcc电源接通。复位是单片机的初始化操作。单片机在启动运行时,都需要先复位,其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路

6、来实现(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口作为第八位地址

7、接收。 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

8、”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为AT89C51的一些特殊功能口,管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许

9、的输出电平用于锁存地址的地位字节。 在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将

10、不出现。/EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 2传感器模块超声波传感器1、产品特点:HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。基本工作原理:(1)采用IO 口TRIG

11、 触发测距,给最少10us 的高电平信呈。(2)模块自动发送8 个40khz 的方波,自动检测是否有信号返回;(3)有信号返回,通过IO 口ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S)/2;2.实物图:3时序图以上时序图表明你只需要提供一个10uS 以上脉冲触发信号,该模块内部将发出8 个40kHz 周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:uS/58=厘米或者uS/148=英寸;或是:距离=高电平时间*声速

12、(340M/S)/2;建议测量周期为60ms 以上,以防止发射信号对回响信号的影响。超声波测距原理 为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器超声波测距通常采用度越时间法,即利用s=vt/2计算被测物体的距离。式中s为收发头与被测物体之间的距离, v为超声波在介质中的传播速度(v = 331. 41+T

13、/273m/s),t为超声波的往返时间间隔。工作原理为:发射头发出的超声波以速度v在空气中传播,在到达被测物体时被其表面反射返回,由接收头接收,其往返时间为t,由s算出被测物体的距离。T为环境温度,在量精度要求高的场合必须考虑此影响,但在一般情况下,可舍去此法,由软件进行调整补偿。由于超声波也是一种声波,其声速c与温度有关,附表1列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,就可以求出距离。这就是超声波测距原理。超声波发射电路发射电路由555 构成的多谐振荡器和超声波

14、发射头组成。3.2.1多谐振荡器采用555 构成多谐振荡器可以实现宽范围占空比的调节!并且电路设计简单!占用面积小。 如图3.2所示 ,由单片机AT89C52的P2.3口发出同步脉冲信号!该同步脉冲启动多谐振荡器!使其输出40KHZ的高频电压信号! 经过整形直接加至超声波换能器探头! 根据逆压电效应! 产生振动频率为40KHZ的超声波。 图3.2 超声波发射电路接通电源后,电容C被充电,VC上升,当VC上升到2/3VCC时,触发器被复位,同时放电BJT T导通,此时Vo为低电平,电容C通过R2和T放电,使VC下降。当VC下降到1/3VCC时,触发器又被置位,Vo翻转为高电平。电容器C放电所需的

15、时间为当C放电结束时,T截止,VCC将能过R1,R2向电容器充电,VC由1/3VCC上升到2/3VCC所需的时间为当VC上升到2/3VCC时,触发器又发生翻转,如此周而复始,在输出端就得到一个周期性的方波,其频率为由于555内部的比较器的灵敏度较高,而且采用差分电路形式,它的振荡频率受电源电压的温度变化的影响很小。VcVo2/3vcc1/3vcc 图3.3 555的工作波形图从555的工作波形图,可看出占空比是固定不变的。为了调解的方便,我把R1和R2都换成了电位器,就形成了占空比可调的电位器。使的超声波的发射电路更加具有高效性。也能满足波尽可能的减小失真。从面达到测距更长的效果。3.2.2超

16、声波传感器从图3.2超声波的发射电路上看还有一个超声波传感器。它具有把电信号转化为机械信号,同时又能把机械信号转化为电信号的功能。在设计中选择了压电式超声波发声器。压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构如图3.4所示,它有两个压电晶片和一个共振板。压电晶体组成的超声波传感器是一种可逆传感器,它可以将电能转变成机械振荡而产生超声波,同时它接收到超声波时,也能转变成电能,所以它可以分成发送器或接收器。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波

17、时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。本文所采用的超声波传感器是T/R-40-16(其中T表示发送,R表示接收,40表示频率为40KHZ,16表示其外径尺寸,以毫米计)压电晶片电极共振板 图3.4 超声波传感器结构3.3超声波接收电路超声波接收电路包括由MC3403构成的三级回波放大电路以及LM358电压比较整形电路两部分,与超声波接收传感器T-40-16配合使用,实现超声波的接收功能。 图3.5 超声波接收电路3单片机最小系统电路原理图:PCB图:4电机驱动模块(用于控制水泵电机启动)原理图PCB图3软件部分:相关程序:#include /包括一个52标

18、准内核的头文件#define uchar unsigned char /定义一下方便使用#define uint unsigned int#define ulong unsigned longsbit Trig = P10; /产生脉冲引脚sbit Echo = P32; /回波引脚sbit in1 = P11;sbit in2 = P12;/测试用引脚uint distance4; /测距接收缓冲区uchar temp,flag,outcomeH,outcomeL,i,c=5; /自定义寄存器bit succeed_flag; /测量成功标志/*函数声明void delay_20us();v

19、oid main(void) / 主程序 uint distance_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; /打开总中断0while(1) /程序循环 EA=0; Trig=1; delay_20us(); Trig=0; /产生一个20us的脉冲,在Trig引脚 while(Echo=0); /等待Echo回波引脚变高电平 succee

20、d_flag=0; /清测量成功标志 EX0=1; /打开外部中断 TH1=0; /定时器1清零 TL1=0; /定时器1清零 TF1=0; / TR1=1; /启动定时器1 EA=1; while(TH1 30);/等待测量的结果,周期65.535毫秒(可用中断实现) TR1=0; /关闭定时器1 EX0=0; /关闭外部中断 if(succeed_flag=1) distance_data=outcomeH; /测量结果的高8位 distance_data=8; /放入16位的高8位 distance_data=distance_data|outcomeL;/与低8位合并成为16位结果数据

21、 distance_data*=12; /因为定时器默认为12分频 distance_data/=58; /微秒的单位除以58等于厘米 if(succeed_flag=0) distance_data=0; /没有回波则清零 if(distance_datac|distance_data=c) in1=0;else in1=1; /*/外部中断0,用做判断回波电平INTO_() interrupt 0 / 外部中断是0号 outcomeH =TH1; /取出定时器的值 outcomeL =TL1; /取出定时器的值 succeed_flag=1; /至成功测量的标志 EX0=0; /关闭外部中断 /*/定时器0中断,用做显示timer0() interrupt 1 / 定时器0中断是1号 TH0=0xfd; /写入定时器0初始值 TL0=0x77; void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论