首页 水位监测系统

水位监测系统

举报
开通vip

水位监测系统 (水位监测系统) 毕业设计论文 湖南科技工业职业技术学院 毕业设计论文 设计课题: 水位监控系统 班 级: 姓 名: 学 号: ...

水位监测系统
(水位监测系统) 毕业 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 论文 湖南科技工业职业技术学院 毕业设计论文 设计课题: 水位监控系统 班 级: 姓 名: 学 号: 专 业: 机电一体化 教 研 室: 指导老师: 杨可以 联系电话: E-mail: 水位监控系统 目录 摘要………………………………………………………………………………3 1 前言……………………………………………………………………………4 1.1 课题背景………………………………………………………………………4 1.2 国内外研究的现状……………………………………………………………4 1.3 使用单片机实现水体液位控制的优点…………………………………5 1.4 系统的总体研究 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ………………………………………………………5 1.4.1 系统硬件总体方案…………………………………………………………5 1.4.2 系统软件总体方案…………………………………………………………6 1.4.3 设计的研究进程……………………………………………………………6 2 系统硬件设计…………………………………………………………………7 2.1 核心芯片AT98C51单片机………………………………………………………7 2.2 液位传感器设计……………………………………………………………10 2.3 压力传感器的基本特性…………………………………………………… ……………13 2.4 ADC0832 A/D 转换器………………………………………………16 2.4.ADC0832转换芯片………………………………………………………18 2.5.LED显示管的设计………………………………………………………20 3 软件的设计……………………………………………………………………22 3.1 软件设计流程图…………………………………………………………………………… 23 3.2 水位 检测 工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训 的主程序…………………………………………………………………………. 24 4 结论……………………………………………………………………………26 致谢………………………………………………………………………………27 参考文献………………………………………………………………………………………… 28 科工的学弟,只能借鉴,你老师那里有 档案 肢体残疾康复训练教师个人成长档案教师师德档案表人事档案装订标准员工三级安全教育档案 。 摘要 本文主要设计了一种液位控制器,它以AT89C51作为控制器,通过AT89C51单片机和模数转换器等硬件系统和软件设计方法,实现具有液位检测报警和控制双重功能,并对液位值进行显示。 本系统是基于单片机的液位控制,在设计中主要有水位检测、按键控制、水位控制、显示部分、故障报警等几部分组成来实现液位控制。主要用水位传感器检测水位,用六个控制按键来实现按健控制,用三位7段LED显示器来完成显示部分,用变频器来控制循环泵的转速,并且通过模数转换把这些信号送入单片机中。把这些信号与单片机中内部设定的值相比,以判断单片机是否需要进行相应的操作,即是否需要开启补水泵或排水泵,来实现对液面的控制,从而实现单片机自动控制液面的目的。本设计用单片机控制,易于实现液位的控制,而且有造价低、程序易于调试、一部分出现故障不会影响其他部分的工作、维修方便、等优点。 关键词: AT89C51单片机; 模数转换; 水位控制; 自动控制 1 前言 1.1 课题背景 液位控制系统是以液位为被控参数的控制系统,它在工业生产的各个领域都有广泛的应用。在工业生产过程中,有很多地方需要对容器内的介质进行液位控制,使之高精度地保持在给定的数值,如在建材行业中,玻璃窑炉液位的稳定对窑炉的使用寿命和产品的质量起着至关重要的作用。液位控制一般指对某一液位进行控制调节,使其达到所要求的控制精度。液体的液位的自动控制,是近年来新开发的一项新技术,它是微型计算机软件、硬件、自动控制等几项技术紧密结合的产物, 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 作业采用的是微机控制和原有的仪表控制,微机控制有以下明显优势: 1)直观而集中的显示各运行参数,能显示液位状态。 2)在运行中可以随时方便的修改各种各样的运行参数的控制值,并修改系统的控制参数,可以方便的改变液位的上限、下限。 3) 具有水体控制过程的自动化处理以及监控软件良好的人机界面,操作人员在监控计算机上能根据控制效果及时修运行参数,这样能有效地减少工人的疲劳和失误,提高生产过程的实时性、安全性 综合以上的种种优点可以预见采用计算机控制系统是行业的大势所趋。单片机是在一块芯片上集成了一片微型计算机所需的CPU、存储器、输入、输出等部件。单片机自问世以来,性能不断提高和完善,体积小、速度快、功耗低的特点使它的应用领域日益广泛。一般,工业控制系统的工作环境差,干扰强,利用单片机控制就能克服这些缺点,因此单片机在控制领域得到广泛的应用,使用单片机控制液体液位是很好的选择。 1.2 国内外研究的现状 目前我国在单片机测控装置研究、生产、应用中,取得了很大的成绩,总结了很多经验,但是各行业仍处于发展期,经调查,更多科研究所在这方面开展的工作更看重的是理论和算法,数年来这方面的研究的论文较多,着重生产实际的很少。在上海,新型的单片机测控装置与系统研究的生产基础较雄厚,在生产过程中需要新型的测控装置与系统,因此在不断的努力研究与开发。上海的工程技术研究人员更着重的是生产实际研究,对理论、算法和成果的论文较少;深圳在研制新型的测控装置与系统领域也比较有成就,尽管与其他国家比较尚有差距,但是,深圳的高校、研究院所的最大的特点就是实际,与生产实际应用项目无关的问题基本不去考虑,主要考虑选取什么材料,测控什么物理量,优点是什么,与机器设备的通讯接口等等。 一些发达国家在单片机新型系统研究、制造和应用上,已积累了很多经验,奠定了基础,进入了国际市场。我国在新型测控装置与系统研究、制造、应用和经验上,与其他发达国家相比还存在差距,但是我国的研究人员已经克服很多困难,并在不断的摸索中前进,有望在相关领域赶上甚至超过发达国家的技术水平,这是发展趋势。 1.3 使用单片机实现水体液位控制的优点 使用单片机实现水体液位控制具有较高的实用价值和稳定性好等特点。采用高亮二极管和光敏三级管所组成的液位传感器测量水位,可有效保证水位的自动控制,能更好地对水体水位进行自动化控制,避免了工作人员在现场进行检测操控,方便了人员对液位系统的控制,控制方便且系统稳定性能好;单片机不仅有体积小,安装方便,功能较齐全等优点,而且有很高的性价比,应用前景广,同时有助于发现可能存在的故障,通过微机实现给水系统的自动控制与调节,维持稳定系统,保证安全经济运行。本文就是采用8051单片机为核心芯片的一种水体水位控制系统,具有较高的实用价值和优越性。 本系统与PLC控制系统相比大大降低了使用成本,提高了控制运行速度。根据仿真模拟运行的结果表明,该系统能很好的运行,将液位控制在给定的范围内,对过高和过低进行安全报警,稳定性能好,容易操作和控制,保证了生产的正常进行。 1.4 系统的总体研究方案 本设计是采用8051单片机为核心芯片,及其相关硬件来实现的水体液位控制系统,在用液位传感器测液位的同时, CPU循环检测传感器输出状态,并用3位七段LED显示示液位高度,检测液位数据,实施报警安全提示,当水体液位低于用户设定的值时,系统自动打开泵上水,当水位到达设定值时,系统自动关闭水泵或打开排水泵。 1.4.1 系统硬件总体方案 系统的原理是采用高亮二极管和光敏三级管所组成的液位传感器对液面进行控制,通过四对传感器分别安装在现场的四个不同的位置,由上至下测量水体的液位值,。并把这四个液位状态通过模数转换器ADC0809传到单片机中,在通过3位七段LED显示器显示出液位的四种状态及报警安全提示。用LED显示是因为它具有显示清晰、亮度高、使用电压低、光电转换效能高、寿命长等特点,根据当前的液位值和用户设定的水位决定是否进行开、关水泵,需要是否开启和关闭驱动阀门的电动机。本设计主要运用了液位传感器测液位,第三章将着重介绍。 1.4.2 系统软件总体方案 水位检测是通过四对由高亮二极管和光敏三极管所组成的液位传感器分别安装在四个不同的位置,由上至下四个输出端口分别接单片机的P1.0、P1.1、P1.2、P1.3口,实时对水位进行检测。当水位到达某一光敏三极管的位置时,其输出端口就向单片机输出高电平;当水位低于此光敏三极管的位置时,其输出端口就向单片机输出低电平。由上至下的第一个位置为水位上限报警线,即当水位高于此位置时,开水阀控制系统就会自动报警,提醒工作人员注意,加水电磁阀有可能出故障;第二个位置是自动停止加水线,即当水位高于此位置时,控制系统会自动关闭加水电磁阀,停止加水;第三个位置是自动加水线,即当水位低于此位置时,控制系统会自动接通加水电磁阀,开始加水;第四个位置是水位下限报警线,即当水位低于此位置时,控制系统就会自动报警,提醒工作人员注意,加水电磁阀可能出故障。 本系统所使用的传感器性能稳定,测量准确,大大简化现场安装,具有较高的性价比,有较大的工程应用价值,而且利用计算机与组态软件技术对工业生产过程进行自动控制有着重要的意义。其优越性主要在于:首先,通过对水体液位进行的简易方便的操纵,可以准确得控制水泵进行添加水或放水以适应工作的需要,操作简单,经济效益好。其次,水体控制过程的自动化处理以及监控软件良好的人机界面,操作人员在监控计算机上能根据控制效果及时修运行参数,这样能有效地减少工人的疲劳和失误,提高生产过程的实时性、安全性。随着计算机控制技术应用的普及、可靠性的提高及价格的下降,工业以及其他方面的微机控制必将得到更加广泛的应用。 1.4.3 设计的研究进程 本设计第二章对系统进行硬件分析,主要介绍了本设计所使用的核心芯片AT89C51,重要对其端口进行介绍,介绍其功能与用途,还介绍了液位传感器、数模转换ADC0832、执行设备、LED显示和报警装置,介绍了他们的原理、结构和电路连接,另外我着重介绍了本设计所使用的传感器,因为传感器的性能在整个系统中起着非常重要的作用,尤其对检测精确度起着重要的作用。第三章我介绍了整个系统的软件设计。 2 系统硬件设计 广泛的液位控制系统包括对水体的液位,压力等的控制,本系统只侧重于介绍液位的控制。液位控制是利用由高亮二级管和光敏三级管所组成的液位传感器,把液位的状态转换成模拟信号,再通过模数转换器ADC0832把输出状态直接接到单片机的I/O接口,单片机经过运算控制,输出数字信号,输出接口接LED进行显示,实现液位的报警和键盘的显示与控制;下图即是液位控制系统: 图2-1 基于单片机的液位控制系统 由上图可观察到传感器通过对液面进行测量,输出模拟信号,再通过模数转换器把输入的模拟信号转换成数字信号,通过AT89C51单片机的运算控制,在通过LED进行显示,通过报警装置进行报警,报警显示之后再通过对阀门的开启实现对水体的液位进行调节控制,阀门的驱动设备是电动机。 计算机芯片MCS-51是一个电脑晶片,英特尔公司生产系列。它是在MCS-48系列的基础上发展的高性能的8位单片机。所出的系列产品有8051、8031、8751。其代表就是AT89C51。其他系列的单片机都以它为核心,所以本设计采用的核心芯片是AT89C51单片机。CPU是它的核心设备,从功能上看,CPU包括两个部分:运算器和控制器,它执行对输入信号的分析和处理。 整个系统电控部分以ATMEL公司的AT89C51为核心芯片,控制信号采集、处理、输出三个过程。这种芯片内置4KEPROM,因为系统要求控制线较多,如果采用AT89C51外置EPROM程序控制结构,则造成控制线不够;而AT89C51却可以利用P0、P2口作控制总线,大大简化了硬件结构,并可以直接控制键盘参数输入、LED数据显示,方便现场调试和维护,使整个系统的通用性和智能化得到了很大的提高。 系统的原理是采用液位式传感器测量液体的液位值,通过单片机的转换与分析在LED上显示及输出控制;根据当前的液位值和用户设定的水位决定是否进行开关电动机,否到达危险高、低水位,需要关闭电动机。 2.1 核心芯片AT89C51单片机 单片机是早期Single Chip Microcomputer的直译,它反映了早期单片机的形态和本质。然后,按照面向对象,突出控制功能,在片内集成了许多外围电路及外设接口,突破了传统意义上的计算机结构,发展成microcontroller的体系结构,目前国外已普遍称之为微控制器MCU(Microcontroller Unit)。鉴于它完全作嵌入应用,故又称为嵌入式微控制器(Embedded Microcontroller)。 大多数单片机采用哈佛(Harvard)结构体系,即数据存储空间与程序存储空间相互独立的结构体系。它不同于一般通用计算机系统结构,即程序和数据共用一个空间的冯诺伊曼(Von Neumann)结构。 AT89C51单片机温度测控仪采用Atmel公司的AT89C51单片机,采用双列直插封装(DIP),有40个引脚。该单片机采用Atmel公司的高密度非易失性存储技术制造,与美国Intel公司生产的MCS—51系列单片机的指令和引脚设置兼容。其主要特征如下: ○8位CPU ○内置4K字节可重复编程Flash,可重复擦写1000次 ○完全静态操作:0Hz~24Hz,可输出时钟信号 ○三级加密程序存储器 ○128B×8的片内数据存储器(RAM) ○32根可编程I/O线 ○2个16位定时/计数器 ○中断系统有6个中断源,可编为两个优先级 ○一个全双工可编程串行通道 ○可编程串行UART通道 ○具有两种节能模式:闲置模式和掉电模式 (1)单片机的基本组成   它由 CPU 、存储器(包括 RAM 和 ROM )、 I/O 接口、定时 / 计数器、中断控制功能等均集成在一块芯片上,片内各功能通过内部总线相互连接起来。   输入 / 输出引脚 P0、P1、P2、P3的功能: 图2-1为AT89C51的引脚图: 图2-1 AT89C51的引脚图 P0 口(P0.0-P0.7):P0 口是一个 8 位漏极开路型双向 I/O 端口。在访问片外存储器时,它分时作低 8 位地址和 8 位双向数据总线用。在EPROM 编程时,由 P0 输入指令字节,而在验证程序时,则输出指令字节。验证程序时,要求外接上拉电阻。 P0 能以吸收电流的方式驱动8个LSTTL 负载。 在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1口(P1.0-P1.7(1-8脚)): P1口是一上带内部上拉电阻的 8 位双向 I/O 口。在 EPROM 编程和验证程序时,由它输入低 8 位地址。 P1 能驱动 4 个 LSTTL 负载。   在AT89C51 中, P1. 0 还相当于专用功能端 T2 ,即定时器的计数触发输入端; P1. 1 还相当于专用功能端T2EX ,即定时器 T2 的外部控制端。 Flash编程和程序校验期间,P1接收低8位地址。 P2口(P2.0-P2.7(21-28脚)):P2也是一上带内部上拉电阻的 8 位双向 I/O 口,P2口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平。在访问外部存储器时,由它输出高 8 位地址。在对 EPROM 编程和程序验证时,由它输入高 8 位地址。 P2驱动4个 LSTTL 负载。 在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX @DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(例如执行MOVX @RI指令)时,P2口线上的内容(也即特殊功能寄存器SFR区中R2寄存器的内容),在整个访问期间不改变。 Flash编程或校验时,P2亦接收高位地址和其它控制信号。 P3口(P3.0-P3.7(10-17脚)):P3口是一组带有内部上拉电阻的8 位双向I/O口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。  P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表1-1所示: 表1-1 AT89C51的P3口特殊功能 口管脚 备选功能 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(外部数据存储器读选通) P3口还接收一些用于Flash闪速存储器和程序校验的控制信号。 (2)MCS-51 的寻址方式: (1) 、立即寻址 如: MOV A , #40H   (2) 、直接寻址 如: MOV A , 3AH   (3) 、寄存器寻址 如: MOV A , Rn   (4) 、寄存器间接寻址 如: MOV A , @Rn  (5)、基址加变址寻址 如: MOVC A , @A+DPTR   (6)、相对寻址 如: SJMP 08H   (7) 、位寻址 MOV 20H , C   (3)指令:   MOV : 片内 RAM 传送  MOVX : 片外 RAM 传送   MOVC : ROM 传送   XCH : 交换(和 A 交换)   SWAP : A 内半字节交换   ADD :不带进位加   ADDC :带进位加   SUBB :带进位减   INC :加 1   DEC :减 1   MUL :乘法   DIV :除法   DAA :调整   (4)计数初值的计算  定时或计数方式下计数初值如何确定,定时器选择不同的工作方式,不同的操作模式其计数值均不相同。若设最大计数值为 M ,各操作模式下的 M 值为:   模式 0 : M=2 13 =8192   模式 1 : M=2 16 =65536   模式 2 : M=2 8 =256   模式 3 : M=256 ,定时器 T0 分成 2 个独立的 8 位计数器,所以 TH0 、 TL0 的 M 均为 256 。   因为 AT89C51 的两个定时器均为加 1 计数器,当初到最大值( 00H 或 0000H )时产生溢出,将 TF 位置 1 ,可发出溢出中断,因此计数器初值 X 的计算式为: X=M- 计数值式中的 M 由操作模式确定,不同的操作模式计数器的长不相同,故M值也不相同。而式中的计数值与定时器的工作方式有关。  (a)计数工作方式   计数工作方式时,计数脉冲由外部引入,是对外部冲进行计数,因此计数值根据要求确定。其计数初值: X=M- 计数值   例如:某工序要求对外部脉冲信号计 100 次, X=M-100   (b)定时工作方式  定时工作方式时,因为计数脉冲由内部供给,是对机器周期进行计数,故计数脉冲频率为  f cont =f osc × 1/12  (式1-1) 计数周期 T=1/f cont =12/f osc 定时工作方式的计数初值 X 等于:   X=M-计数值 =M-t/T=M- ( f osc × t ) /12   (式1-2) 式中: fosc 为振荡器的振荡频率, t 为要求定时的时间。   定时器有两种工作方式 :即定时和计数工作方式。由 TMOD 的 D6 位和 D2 位选择,其中 D6 位选择 T1 的工作方式, D2 位选择 T0 的工作方式。 =0 工作在定时方式, =1 工作在计数方式。并有四种操作模式:   1 、模式 0 : 13 位计数器, TLi 只用低 5 位。  2 、模式 1 : 16 位计数器。   3 、模式 2 : 8 位自动重装计数器, THi 的值在计数中不变, TLi 溢出时, THi 中的值自动装入 TLi 中。   4 、模式 3 : T0 分成 2 个独立的 8 位计数器, T1 停止计数。  MCS-51 有 5 个中断源,可分为 2 个中断优先级,即高优先级和低优先级,中断自然优先级:   外部中断 0 ;定时器 0 中断; 外部中断 1 ;定时器 1 中断 ;  串行口中断 ;定时器 2 中断  (a)同级或高优先级的中断正在进行中;  (b)现在的机器周期还不是执行指令的最后一上机器周期,即正在执行的指令还没完成前不响应任何中断;  (c)正在执行的是中断返回指令 RET1 或是访问专用寄存器 IE 或 IP 的指令,换而言之,在 RETI 或者读写 IE 或 IP 之后,不会马上响应中断请求,至少要在执行其它一要指令之扣才会响应。   (5)中断响应的条件   CPU 响应中断的条件有:   (a)有中断源发出中断请求;   (b)中断总允许位 EA=1 ,即 CPU 开中断; (c)申请中断的中断源的中断允许位为 1 ,即没有被屏蔽。   (6)串行口工作方式及帧格式  MCS-51 单片机串行口可以通过软件设置四种工作方式:   方式 0 :这种工作方式比较特殊,与常见的微型计算机的串行口不同,它又叫同步移位寄存器输出方式。在这种方式下,数据从 RXD 端串行输出或输入,同步信号从 TXD 端输出,波特率固定不变,为振荡率的 1/12 。该方式是以 8 位数据为一帧,没有起始位和停止位,先发送或接收最低位。  方式 2 :采用这种方式可接收或发送 11 位数据,以 11 位为一帧,比方式 1 增加了一个数据位,其余相同。第 9 个数据即 D8 位具有特别的用途,可以通过软件搂控制它,再加特殊功能寄存器 SCON 中的 SM2 位的配合,可使 MCS-51 单片机串行口适用于多机通信。方式 2 的波特率固定,只有两种选择,为振荡率的 1/64 或 1/32 ,可由 PCON 的最高位选择。   方式 3 :方式 3 与方式 2 完全类似,唯一的区别是方式 3 的小组特率是可变的。而帧格式与方式 2- 样为 11 位一帧。所以方式 3 也适合于多机通信。   随着大规模集成电路的出现及其发展,将计算机的CPU 、RAM 、 ROM 、定时/数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机 。  (7) 掉电模式: 在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器SFR的内容在终止掉电模式前被冻结,退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在VCC恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。 1、基本复位电路 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。图1所示的RC复位电路可以实现上述基本功能,图3为其输入-输出特性。但解决不了电源毛刺(A点)和电源缓慢下降(电池电压不足)等问题而且调整 RC常数改变延时会令驱动能力变差。左边的电路为高电平复位有效右边为低电平Sm为手动复位开关 Ch可避免高频谐波对电路的干扰 2.时钟电路 单片机本身是一个复杂的同步时序系统,为了保证同步工作方式的实现,单片机必须有时钟信号,以使系统在时钟信号的控制下按时协调工作。而所谓时序,则是指指令执行过程中各信号之间的相互时间关系。 MPX4115压力传感器 压力传感器对于系统至关重要,需要综合实际的需求和各类压力传感器的性能参数加以选择。一般要选用有温度补偿作用的压力传感器,因为温度补偿特性可以克服半导体压力传感器件存在的温度漂移问题。 本设计要实现的数字气压计显示的是绝对气压值,同时为了简化电路,提高稳定性和抗干扰能力,要求使用具有温度补偿能力的压力传感器。经过综合考虑,本设计选用美国摩托罗拉公司的集成压力传感器。MPX4115可以产生高精度模拟输出电压。数据采集模块由压力传感器MPX4115构成。其中1脚是输出信号端,输出的是与气压值相对应的模拟电压信号。数据采集模块的原理如图、 气压传感器MPX4115的原理 MPX4115系列压电电阻传感器是一个硅压力传感器。这个传感器结合了高级的微电机技术,薄膜镀金属。还能为高水准模拟输出信号提供一个均衡压力。在0℃-85℃的温度下误差不超过1.5%,温度补偿是-40℃-125℃。 ADC0832 ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。 ADC0832 特点 8位分辨率;   · 双通道A/D转换;   · 输入输出电平与TTL/CMOS相兼容;   · 5V电源供电时输入电压在0~5V之间;   · 工作频率为250KHZ,转换时间为32μS;   · 一般功耗仅为15mW;   · 8P、14P—DIP(双列直插)、PICC 多种封装;   · 商用级芯片温宽为0°C to +70°C,工业级芯片温宽为−40to+85°C;    芯片接口说明:   · CS_ 片选使能,低电平芯片使能。   · CH0 模拟输入通道0,或作为IN+/-使用。   · CH1 模拟输入通道1,或作为IN+/-使用。   · GND 芯片参考0 电位(地)。   · DI 数据信号输入,选择通道控制。   · DO 数据信号输出,转换数据输出。   · CLK 芯片时钟输入。   · Vcc/REF 电源输入及参考电压输入(复用)。 ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。 单片机对ADC0832 的控制原理 正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI 并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能,其功能项见官方资料。   如资料 所示,当此2 位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2 位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2 位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行   输入。到第3 个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出 DC0832封装以及各端子(1张) 完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。 作为单通道模拟信号输入时ADC0832的输入电压是0~5V且8位分辨率时的电压精度为19.53mV。如果作为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。 ADC0832 与单片机的接口电路 ADC0832 为 8 位分辨率 A/D 转换芯片,其最高分辨可达 256 级,可以适应 一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟 电压输入在 0~5V 之间。芯片转换时间仅为 32μS,据有双数据输出可作为数据 校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使 多器件挂接和处理器控制变的更加方便。通过 DI 数据输入端,可以轻易的实现 通道功能的选择。 单片机对 ADC0832 的控制原理: 正常情况下 ADC0832 与单片机的接口应为 4 条数据线,分别是 CS、CLK、 DO、DI。但由于 DO 端与 DI 端在通信时并未同时有效并与单片机的接口是双 向的,所以电路设计时可以将 DO 和 DI 并联在一根数据线上使用。(见图 3) 当 ADC0832 未工作时其 CS 输入端应为高电平,此时芯片禁用,CLK 和 DO/DI 的电平可任意。当要进行 A/D 转换时,须先将 CS 使能端置于低电平并 且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯 片时钟输入端 CLK 输入时钟脉冲,DO/DI 端则使用 DI 端输入通道功能选择的 数据信号。在第 1 个时钟脉冲的下沉之前 DI 端必须是高电平,表示启始信号。 在第 2、3 个脉冲下沉之前 DI 端应输入 2 位数据用于选择通道功能,其功能项 见表 1。 如表 1 所示,当此 2 位数据为“1”、“0”时,只对 CH0 进行单通道转换。 当 2 位数据为“1”、“1”时,只对 CH1 进行单通道转换。当 2 位数据为“0”、 “0”时,将 CH0 作为正输入端 IN+,CH1 作为负输入端 IN-进行输入。当 2 位 数据为“0”、“1”时,将 CH0 作为负输入端 IN-,CH1 作为正输入端 IN+进行 输入。到第 3 个脉冲的下沉之后 DI 端的输入电平就失去输入作用,此后 DO/DI 端则开始利用数据输出 DO 进行转换数据的读取。从第 4 个脉冲下沉开始由 DO端输出转换数据最高位 DATA7,随后每一个脉冲下沉 DO 端输出下一位数据。直到第 11 个脉冲时发出最低位数据 DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第 11 个字节的下沉输出 DATD0。随后输出 8 位数据,到第 19 个脉冲时数据输出完成,也标志着一次 A/D 转换的结束。最后将 CS 置高电平禁用芯片,直接将转换后的数据进行处理就可以了。 更详细的时序说明请见表 2。 ADC0832 芯片接口程序的编写: 为了高速有效的实现通信,我们采用汇编语言编写接口程序。由于 ADC0832 的数据转换时间仅为 32μS,所以 A/D 转换的数据采样频率可以很快,从而也保证的某些场合对 A/D转换数据实时性的要求。数据读取程序以子程序调用的形式出现,方便了程序的移植。程序占用资源有累加器 A,工作寄存器 R7,通用寄存器 B 和特殊寄存器 CY。通道功能寄存器和转换值共用寄存器 B。在使用转换子程序之前必须确定通道功能寄存器 B 的值,其赋值语句为“MOV B,#data(00H~03H)。运行转换子程序后的转换数据值被放入 B 中。子程序退出后即可以对 B 中数据处理。 ADC0832 数据读取程序流程: 开始 使能芯片 产生时钟信号 通道输入控制字 读取2节字数字 字节数据效验 将值输入到指定的寄储器 结束 LED显示模块 采用LED动态扫描显示原理如下: (1)P23、P22、P21、P20输出高电平,关闭所有数码管; (2)显示个位——把要显示的数据送到P10~P17,P23送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P23送高电平; (3)显示十位——把要显示的数据送到P10~P17,P22送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P22送高电平; (4)显示百位——把要显示的数据送到P10~P17,P21送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P21送高电平; (5)显示千位——把要显示的数据送到P10~P17,P20送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P20送高电平。 (6)以此顺序循环,把它做成子程序,在主循环中调用。 现已DS8为个位来讨论,十、百、千为分别为DS7、DS6、DS5。 1、首先要了解的是此数码管为共阴极数码管,即三极管Q16、Q15、Q14、Q13导通时数码管才能点亮,亦即相应的单片机P23、P22、P21、P20为低电平。 2、动态扫描显示原理如下: (1)P23、P22、P21、P20输出高电平,关闭所有数码管; (2)显示个位——把要显示的数据送到P10~P17,P23送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P23送高电平; (3)显示十位——把要显示的数据送到P10~P17,P22送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P22送高电平; (4)显示百位——把要显示的数据送到P10~P17,P21送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P21送高电平; (5)显示千位——把要显示的数据送到P10~P17,P20送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P20送高电平。 (6)以此顺序循环,把它做成子程序,在主循环中调用 继电器简介 继电器是具有隔离功能的自动开关元件,在我们设计当中主要来做自动控制作用,我们采用+5V的直流电来控制220V的交流电,以达到控制水泵的作用,因为是在这里是以一种弱电来控制强电所以安装和使用的过程当中我们一定要注意用电安全注意事项。 电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点” 6:系统总体电路图 (三)软件设计 流程图 SHAPE \* MERGEFORMAT 系统总流程图 A/D转换程序流程图 SHAPE \* MERGEFORMAT 显示流程图 主函数流程图 压力测试仪系统描述; 输入 15--115kPA压力信号 输出 00h--ffh数字信号(adc0832) 在LED上显示实际的压力值,如果超限则报警 线性区间标度变换公式: y=(115-15)/(243-13)*X+15kpa 主程序 ********************************************************/ #include #include "intrins.h" #define uint unsigned int #define uchar unsigned char //ADC0832的引脚 sbit ADCS =P2^0; //ADC0832 chip seclect sbit ADDI =P3^7; //ADC0832 k in sbit ADDO =P3^7; //ADC0832 k out sbit ADCLK =P3^6; //ADC0832 clock signal unsigned char dispbitcode[8]={0xf7,0xfb,0xfd,0xfe,0xef,0xdf,0xbf,0x7f}; //位扫描 unsigned char dispcode[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}; //共阳数码管字段码 unsigned char dispbuf[4]; uint temp; uchar getdata; //获取ADC转换回来的值 void delay_1ms(void) //12mhz delay 1.01ms { unsigned char x,y; x=3; while(x--) { y=40; while(y--); } } void display(void) //数码管显示函数 { char k; for(k=0;k<4;k++) { P1 = dispbitcode[k]; P0 = dispcode[dispbuf[k]]; if(k==1) //加上数码管的dp小数点 P0&=0x7f; delay_1ms(); } } /************ 读ADC0832函数 ************/ //采集并返回 unsigned int Adc0832(unsigned char channel) //AD转换,返回结果 { uchar i=0; uchar j; uint dat=0; uchar ndat=0; if(channel==0)channel=2; if(channel==1)channel=3; ADDI=1; _nop_(); _nop_(); ADCS=0;//拉低CS端 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿1 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 ADDI=channel&0x1; _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿2 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 ADDI=(channel>>1)&0x1; _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿3 ADDI=1;//控制命令结束 _nop_(); _nop_(); dat=0; for(i=0;i<8;i++) { dat|=ADDO;//收数据 ADCLK=1; _nop_(); _nop_(); ADCLK=0;//形成一次时钟脉冲 _nop_(); _nop_(); dat<<=1; if(i==7)dat|=ADDO; } for(i=0;i<8;i++) { j=0; j=j|ADDO;//收数据 ADCLK=1; _nop_(); _nop_(); ADCLK=0;//形成一次时钟脉冲 _nop_(); _nop_(); j=j<<7; ndat=ndat|j; if(i<7)ndat>>=1; } ADCS=1;//拉低CS端 ADCLK=0;//拉低CLK端 ADDO=1;//拉高数据端,回到初始状态 dat<<=8; dat|=ndat; return(dat); //return ad k } void main(void) { while(1) { unsigned int temp; float press; getdata=Adc0832(0); if(14
本文档为【水位监测系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_825856
暂无简介~
格式:doc
大小:658KB
软件:Word
页数:29
分类:工学
上传时间:2012-07-20
浏览量:161