




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机设计的温度检测显示报警程序设备技术网时间:2010-4-14来源:电子技术网 作者:1温度传感器AD590基本知识 AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V30V,检测的温度范围为55150,它有非常好的线性输出性能,温度每增加1,其电流增加1uA。 AD590温度与电流的关系如下表所示: 摄氏温度 AD590电流 经10K电压 0 273.2 uA 2.732V 10 283.2 uA 2.832 V 20 293.2 uA 2.932 V 30 303.2 uA 3.032 V 40 313.2 uA 3.132 V 50 323.2 uA 3.232 V 60 333.2 uA 3.332 V 100 373.2 uA 3.732 V 实验任务:利用AD590温度传感器完成温度的测量,把转换的温度值的模拟量送入ADC0809的其中一个通道进行A/D转换,将转换的结果进行温度值变换之后进行监控。 由于AD590的温度变化范围在55150之间,经过10K之后采样到的电压变化在2.182V4.232V之间,不超过5V电压所表示的范围,因此参考电压取电源电压VCC,(实测VCC4.70V)。由此可计算出经过A/D转换之后的摄氏温度显示的数据为: 如果(D*2350/128)2732,则显示的温度值为(2732)D*2350/128) 如果(D*2350/128)2732,则显示的温度值为(D*2350/128)2732)#include reg52.h/头文件#include intrins.h#define uchar unsigned char/宏定义#define uint unsigned int/宏定义 sbit RS=P10;/LCD1602定义I/O的硬件接口sbit RW=P11;/LCD1602定义I/O的硬件接口sbit E=P12;/LCD1602定义I/O的硬件接口sbit key_1=P13;/按键1定义I/O的硬件接口/Alarm_Value;/温度报警值+1度sbit key_2=P14;/按键2定义I/O的硬件接口/Alarm_Value;/温度报警值-1度sbit key_3=P15;/按键3定义I/O的硬件接口sbit key_4=P16;/按键4定义I/O的硬件接口sbit AD590_2=P17;/A定义I/O的硬件接口,通道选择/C、D接地sbit key_6=P37;/按键6定义I/O的硬件接口/控制 温度报警标志位/sbit ST=P30; /ST和ALE接在一起sbit OE=P31; sbit EOC=P32; sbit CLK=P33; sbit SPK=P34; /喇叭,蜂鸣器报警sbit LED1=P35; /LED报警sbit LED2=P36; #define DPDR P2/LCD1602并行数据输出接口定义#define DPDR_1 P0/ADC0809并行数据输入接口定义uchar temp;/最终温度值 unsigned long temp2;/平均温度 unsigned long temp1;/温度1,AD590_1接IN0unsigned long temp2;/温度2,AD590_2接IN1uchar Alarm_Value;/温度报警值bit Alarm_Value_bit;/温度报警标志位uchar code DispTab_1=0,1,2,3,4,5,6,7,8,9;/1602:0-9 数字uchar code DispTab_2=0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00;/温度符号uchar DispBuf6; /6字节的显示缓冲区char char_char_1= Temperature: ;/定义字符串void delay(uint z)/1ms延时 uchar x,x1;for(;z0;z-)for(x=0;x114;x+)for(x1=0;x11;x1+);void write_Directive(uchar a)/写LCD指令RS=0;RW=0;delay(5);E=0;DPDR=a;delay(5);E=1;delay(5);E=0;delay(5);void write_Data(uchar a)/写LCD数据RS=1;RW=0;delay(5);E=0;DPDR=a;delay(5);E=1;delay(5);E=0;delay(5);void LCD_init()/LCD初始化 uchar i;delay(15);write_Directive(0x38);delay(5);write_Directive(0x38);delay(5);write_Directive(0x38);write_Directive(0x01);write_Directive(0x02);/初始化后数据地址为0x80;即第一行,第一个位置write_Directive(0x0c);/不显示光标/write_Directive(0x0f);/显示光标write_Directive(0x80+0x00);/第一行第一位地址for(i=0;i=100)temp=99;return;elseAlarm_Value+;return;/if(key_2=0)delay(20);/延时20mswhile(!key_2);delay(20);/延时20msif(Alarm_Value=0)Alarm_Value=0;return;elseAlarm_Value-;return;void main() uchar i;ADC0809_init();/ADC0809复位LCD_init();/LCD复位delay(5);/延时for(i=0;i8;i+)write_Directive(0x40+i);/写入温度符号write_Data(DispTab_2i);while(1)key_Detection();/按键检测temp1_start();/启动温度1 转换temp2_start();/启动温度2 转换temp1_Calculated();/温度1 计算 temp2_Calculated();/温度2 计算temp=(temp1+temp2)/2;/取温度1和温度2的平均值Alarm_Value=temp;Temperature_Alarm();/温度报警条件查询write_Data_String();/显示温度相关温度检测文章基于AT89C52单片机的温度检测及显示设计由于高新技术的不断发展,仪器仪表的微型化,数字化已得到实现。90年代高精确度、高性能、多功能仪器仪表都已经采用微处理器件。而作为工业控制和自动化领域的各种新技术、新方法、新产品的发展趋势和显著标志智能化是自动化技术当前和今后发展的动向之一。本文采用AT89C52单片机开发了键盘、液晶显示器、多路温度检测来实现温度的采集、温度的文字显示和图形显示三个系统。实验证明,采用AT89C52开发的系统性能可靠、成本较低、软件设计灵活简单、硬件接口功能丰富,具有扩展性好、通用性强等优点。 1 元器件的选择1.1 核心芯片的选择AT89C52单片机价格低廉,输入输出口丰富,无需再另外扩展,简化了外围电路。256 B内部RAM,8 kB内部ROM,程序存储空间大,防止由于字模过多而造成存储空间不够。另外由于前期开发需要多次的写入、擦除,而89C52可以完成1 000次写擦,故满足要求。1.2 模数转换芯片的选择ADC0809是8位的AD转换芯片,为逐次逼近型。由单一的+5 V电源供电,片内带有所存功能的8路模拟多路开关,可对8路05 V的输入模拟电压信号分时进行转换,完成一次转换约需100s;片内的地址译码和锁存电路,将单片机的三条地址信号译码生成选择八路模拟通道。输出具有TTL三态锁存缓冲器,可以直接接到单片机的数据线上。1.3 温度传感器的选择温度传感器类型很多,目前出现的石英体温度传感器如AD590具有很高的稳定性、准确度和良好的线性,抗干扰能力强。单总线数字型的温度传感器DS18B20直接产生温度数字信号,不需要AD转换,准确度、稳定性都相当高,但这些传感器的适用范围不广,不利于以后其他功能的扩展。所以本次采用TREND公司的铂热电阻温度传感器TPIHT,传感器的工作电压为24 V,输出电流为420 mA,外接250 精确电阻用于提取电压时进行AD转换,ADC0809的输入电压在15 V范围内对应的测量温度范围为-10+160。2 AT89C52的设计应用2.1 硬件设计根据设计仪表的功能要求,本设计要完成以下功能:(1)数字化测量,显示及报警装置;(2)显示指定位置温度的数值及其动态曲线图;(3)多路模拟数据的采集、处理;(4)温度值字体的放缩。系统结构图如图1所示。2.2 软件设计用C语言进行单片机程序设计,采用结构化程序设计思想:在总体设计中采用“自顶而下”(TOP-DOWN)的方法,在程序设计中采用模块化编程。把整体任务分成一个个子任务,子任务再分子任务,逐层细分,每个子程序都完成其规定的功能,明确输入输出。将这些程序连接起来就构成整体流程图。模块化编程,每个模块结构完整,相互独立的程序段。如液晶模块的写控制指令、写显示数据、清屏;数据处理中的工程量转换,均值滤波等。这些程序可以任意调用、修改,使整个程序结构清晰,组合灵活,维护调试方便。2.2.1 主流程图主流程图如图2所示。主要包括程序初始化部分,主要完成的任务是初始化液晶显示屏,初始化单片机各口状态和设初始阈值,检测位置为第一路;按确定键后系统开始工作,显示第一路位置的温度及其动态显示图的主页面;当按下设置键时,液晶屏幕显示一个选择界面,可选择设置检测位置,检测位置阈值;通过上下键可进行选择,选择界面的箭头指向设置位置时,按确定就可进入位置的设置,设置完毕后,确定健返回;直接再按确定键可显示放大的温度字体。2.2.2 测温流程图和曲线显示流程启动ADC0809时需根据启动的检测位置不同查表选用不同的通道地址表;设定ADC0809转换时间,采用延时等待后,再读取它的转换数据;根据温度传感器的量程得出转换公式;为了便于显示,需要把各位数分离,分离出了百位数、十位、个位、十分位和百分位;建立一个09的数字字模表,取模显示。温度显示和曲线显示流程图分别如图3和图4所示。2.2.3 阈值设置流程图阈值温度ft为外部变量,在整个程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供热热源规划汇报
- 社工末期评估工作汇报
- 生管半年度工作总结
- 果洛市重点中学2026届英语九年级第一学期期末质量检测试题含解析
- 幼儿园轮状病毒培训
- 有效沟通培训心得
- 山东泰安2026届英语九年级第一学期期末复习检测试题含解析
- 2026届河北省承德市丰宁满族自治县九上化学期中质量检测模拟试题含解析
- 品质主管工作总结
- 内蒙古鄂尔多斯附属学校2026届九年级英语第一学期期末检测模拟试题含解析
- 干眼基础试题及答案
- T/DZJN 118-2022废旧锂离子电池磷酸铁锂材料再生利用技术规范
- 艾灸治疗脾胃病的临床实践
- 资质代办合同协议书范本
- 2025年社区卫生服务岗位考试题及答案
- 古茗合同协议书
- 2025年电力机车钳工(高级)职业技能鉴定理论考试题库(含答案)
- 《蔚来汽车的SWOT分析》课件
- 智联招聘银行试题及答案
- 麻醉科职责及管理制度
- 血栓闭塞性脉管炎中免疫性血栓形成的分子机制研究
评论
0/150
提交评论