嵌入式设计—供暖水压水温的检测(老冯)

上传人:cl****1 文档编号:494914366 上传时间:2023-10-15 格式:DOC 页数:17 大小:577.50KB
返回 下载 相关 举报
嵌入式设计—供暖水压水温的检测(老冯)_第1页
第1页 / 共17页
嵌入式设计—供暖水压水温的检测(老冯)_第2页
第2页 / 共17页
嵌入式设计—供暖水压水温的检测(老冯)_第3页
第3页 / 共17页
嵌入式设计—供暖水压水温的检测(老冯)_第4页
第4页 / 共17页
嵌入式设计—供暖水压水温的检测(老冯)_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《嵌入式设计—供暖水压水温的检测(老冯)》由会员分享,可在线阅读,更多相关《嵌入式设计—供暖水压水温的检测(老冯)(17页珍藏版)》请在金锄头文库上搜索。

1、供暖水压水温的检测系统1.设计的缘由:供暖站的热水供暖系统需要时刻对热水进行水温和水压的实时监控,才能保证供暖的有效性和稳定性。这就需要有一个可靠地水温、水压数据采集的监控系统来实现这样的需求。2.系统功能的流程图:水温数据的采集(ds18b20)水压数据的采集(mpx4250)单片机(AT89C51)LED显示水温、水压(8个8段数码管)继电器水压警报灯水温警报灯是否水压高于等于160kpa水温高于等于100水温低于100且水压低于160kpa是否同时满足?如图所示:3.检测系统的硬件设计3.1单片机AT89C51单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央

2、处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。设计用到的AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,其主要特性有:1288位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。图1 51单片机引脚接线图本设计用到定时器/计数器的功能,在时间计数设置时,用定时器/计数器0的计数功能,外部以脉冲形式输入作为计数

3、器的计数脉冲,这里外部脉冲间隔约为1s,计数实现时间计数功能。3.2数字温度传感器ds18b20数字温度传感器就是能把温度物理量,通过温度敏感元件和相应电路转换成方便计算机、plc、智能仪表等数据采集设备直接读取得数字量的传感器。设计用到的ds18b20数字温度传感器耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。其主要性能描述:1.独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;2.测温范围 55+125,固有测温分辨率0.5;3.支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多

4、只能并联8个,实现多点测温;4.工作电源: 35V/DC;5.在使用中不需要任何外围元件;6.测量结果以912位数字量方式串行传送。本设计中,用ds18b20来采集供暖水的水温数据,以单线串口形式将数据输送给单片机处理。图2 ds18b20引脚图3.3压力传感器mpx4250压力传感器是工业实践中最为常用的一种传感器,而我们通常使用的压力传感器主要是利用压电效应制造而成的,这样的传感器也称为压电传感器。压电传感器结构简单、体积小、质量累世、功耗小、寿命长,特别是它具有良好的动态特性,因此适合有很宽频带的周期作用力和高速变化的冲击力。mpx4250的主要性能指标:1.工作压力0 36.3 PSI

5、;2.输出0.2 4.9V;3.精确度1.4%;4.电源电压4.85 V 5.35 V;5.工作温度-40C 125C。图3 mpx4250引脚功能图本设计中,用mpx4250来采集供暖水压数据,1端口输出采集的水压数据到adc0808模数转换芯片。3.4模数转换芯片adc0808ADC0808是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。adc0808主要特性:1. 8路输入通道,8位A/D转换器,即分辨率为8位;2.具有转换起停控制端;3.转换时间为1

6、00s(时钟为640kHz时),130s(时钟为500kHz时);4.单个+5V电源供电;5.模拟输入电压范围0+5V,无需零点和满刻度校准;6.工作温度范围为-40+85摄氏度; 图4 adc0808引脚接线图7.低功耗,约15mW本设计中,adc0808模数芯片用于压力传感器mpx4250的水压模拟量串口输入的数据转化为数字量并口输出给单片机P0口的数据。3.5 8个8段数码管与数码管显示驱动芯片max7219led数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管根据LED的接法不同分为共阴和共阳两类。8段led数

7、码管分为8个显示段,分别是:a、b、c、d、e、f、g、dp,dp是小数点位段。根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 图5 数码管引脚定义静态驱动显示也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。MAX7221是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的

8、B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。MAX7221显示驱动芯片的主要功能特点:1. 10MHz 连续串行口;2. 独立的LED 段控制;3. 高电压中断显示;4. 共阴极LED 显示驱动;5. 限制回转电流的段驱动来减少EMI。图6 max7221的典型应用电路本设计中,8个8段共阴极数码管与max7221显示芯片配合驱动显示数据。显示方式为动态显示。前4个数码管显示水温数据,精确到0.1。后4个数码管显示水压数据,精确到0.1kpa。同时可以切换显示计数的时间,即系统开启后运行时间的计时。3.6继电器的工作原理继电器是一种电控制器件。

9、它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。当输入量达到规定值时,继电器使被控制的输出电路导通或断开。继电器具有动作快、工作稳定、使用寿命长、体积小等优点。广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。本设计中,用了两个电磁继电器对报警灯回路进行接通或断开操作。图7 本设计中的继电器和报警灯的电路图3.7供暖水压水温系统的原理图4.供暖水压水温系统的软件设计4.1系统硬件控制描述1.控制器用at89c51,12M晶振;2.采集的水压数据输入P0口;3.采集的水温数据输

10、入P2.7;4.数码管、max7221显示驱动P2.0P2.2;5.adc0808模数芯片的控制P2.3P2.5;6.切换数码管显示的按钮端P2.6;7.继电器控制端P3.0、P3.1。4.2 c程序语言设计自定义的h文件:#ifndef _MAIN_H_#define _MAIN_H_#include#include#include#define uchar unsigned char#define uint unsigned int#define addo (260.0/255.0)sbit DIN = P20;sbit CS = P21;sbit CLK = P22;sbit START

11、 = P23;sbit EOC = P24;sbit OE = P25;sbit KEY = P26;sbit DQ = P27;sbit NPN1 = P30;sbit NPN2 = P31;#endif#ifndef _DISPLAY_H_#define _DISPLAY_H_#includemain.hextern uchar table8;extern uchar table18;extern uchar table28;void WriteByte(uchar dat);void MAX7221_WRITE(uchar addr,uchar dat);void MAX7221_Ini

12、tial(void);void Display(uchar *str);void HEXTOBCD_One(void);void HEXTOBCD_Two(void);#endif#ifndef _DELAY_H_#define _DELAY_H_#includemain.hvoid delay_us(uchar n);void delay_ms(uint n);#endif#ifndef _ADC0808_H_#define _ADC0808_H_#includemain.huchar ADC0808_READ(void);#endif#ifndef _DS18B20_H_#define _

13、DS18B20_H_#includemain.hextern uchar flag;void DS18B20_RST(void);uchar DS18B20_READ(void);void DS18B20_WRITE(uchar dat);uint DS18B20_ReadTemp(void);#endif#ifndef _TIME0_H_#define _TIME0_H_#includemain.hextern uchar secs;extern uchar minutes;extern uchar hours;void Time0_Initial(void);#endif程序正文:#inc

14、ludemain.h#includedelay.h#includedisplay.h#includeadc0808.h#includeds18b20.h#includetime0.huchar ADC0808_READ(void)uchar temp;START = 0;START = 1;START = 0;while(EOC=0);OE = 1;temp = P0;return temp;void delay_us(uchar n)while(n-);void delay_ms(uint n)uchar i;while(n-)for(i=0;i100;i+);uchar table9 = 15,15,15,15,15,15,15,15;uchar table18 = 1,2,3,4,5,6,7,8;uchar table28 = 1,2,3,4,5,6,7,8;void WriteByte(uchar dat)uchar i;for(i=0;i8;i+)DIN = (dati)&0x80)?1:0;CLK = 0;_nop_();CLK = 1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号