单片机设计的温度检测显示警报程序文件_第1页
单片机设计的温度检测显示警报程序文件_第2页
单片机设计的温度检测显示警报程序文件_第3页
单片机设计的温度检测显示警报程序文件_第4页
单片机设计的温度检测显示警报程序文件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机设计的温度检测显示报警程序 设备技术网 时间 :2010-4-14 来源:电子技术网 作者: 1 温度传感器 AD590 基本知识 AD590 产生的电流与绝对温度成正比,它可接收的工作电压为4V30V ,检测的温度范围为 55 150 ,它有非常好的线性输出性能,温度每增加1,其电流增加 1uA 。 AD590 温度与电流的关系如下表所示 : 摄氏温度 AD590 电流 经 10K 电压 0273.2 uA2.732V 10283.2 uA2.832 V 20293.2 uA2.932 V 30303.2 uA3.032 V 40313.2 uA3.132 V 50323.2 uA3.

2、232 V 60333.2 uA3.332 V 100 373.2 uA 3.732 V 实验任务: 利用 AD590 温度传感器完成温度的测量,把转换的温度值的模拟量送入 ADC0809 的其中一个通道 进行 A/D 转换,将转换的结果进行温度值变换之后进行监控。 由于 AD590 的温度变化范围在 55 150 之间,经过 10K 之后采样到的电压变化在 2.182V 4.232V 之间,不超过 5V 电压所表示的范围, 因此参考电压取电源电压 VCC (,实测 VCC 4.70V ) 由此可计算出经过 A/D 转换之后的摄氏温度显示的数据为: 如果( D*2350/128 )0;z-)

3、for(x=0;x114;x+) for(x1=0;x11;x1+); 写 LCD 指令 void write_Directive(uchar a)/ 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(1

4、5); write_Directive(0 x38); delay(5); write_Directive(0 x38); delay(5); write_Directive(0 x38); write_Directive(0 x01); write_Directive(0 x02);/ 初始化后数据地址为 0 x80; 即第一行,第一个位置 write_Directive(0 x0c);/不显示光标 /write_Directive(0 x0f);/ 显示光标 write_Directive(0 x80+0 x00);/第一行第一位地址 for(i=0;i=100) temp=99; ret

5、urn; else Alarm_Value+; return; / if(key_2=0) delay(20);/ 延时 20ms while(!key_2); delay(20);/ 延时 20ms if(Alarm_Value=0) Alarm_Value=0; return; else Alarm_Value-; return; void main() uchar i; ADC0809_init();/ADC0809 复位 LCD_init();/LCD 复位 delay(5);/ 延时 for(i=0;i8;i+) write_Directive(0 x40+i);/ 写入温度符号 w

6、rite_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 单片机

7、的温度检测及显示设计 由于高新技术的不断发展,仪器仪表的微型化,数字化已得到实现。 90 年代高精确度、高性能、多功能仪 器仪表都已经采用微处理器件。而作为工业控制和自动化领域的各种新技术、新方法、新产品的发展趋势 和显著标志智能化是自动化技术当前和今后发展的动向之一。本文采用 AT89C52 单片机开发了键盘、液 晶显示器、多路温度检测来实现温度的采集、温度的文字显示和图形显示三个系统。实验证明,采用 AT89C52 开发的系统性能可靠、成本较低、软件设计灵活简单、硬件接口功能丰富,具有扩展性好、通 用性强等优点。 1 元器件的选择 1.1 核心芯片的选择 AT89C52 单片机价格低廉,

8、输入输出口丰富, 无需再另外扩展, 简化了外围电路。 256 B 内部 RAM ,8 kB 内部 ROM ,程序存储空间大,防止由于字模过多而造成存储空间不够。另外由于前期开发需要多次的写 入、擦除,而 89C52 可以完成 1 000 次写擦,故满足要求。 1.2 模数转换芯片的选择 ADC0809 是 8 位的 AD 转换芯片,为逐次逼近型。由单一的 +5 V 电源供电,片内带有所存功能的 8 路模拟多路开关,可对 8 路 0 5 V 的输入模拟电压信号分时进行转换,完成一次转换约需100 s;片内 的地址译码和锁存电路,将单片机的三条地址信号译码生成选择八路模拟通道。输出具有 TTL 三

9、态锁存缓 冲器,可以直接接到单片机的数据线上。 1.3 温度传感器的选择 温度传感器类型很多,目前出现的石英体温度传感器如 AD590 具有很高的稳定性、准确度和良好的线性, 抗干扰能力强。单总线数字型的温度传感器 DS18B20 直接产生温度数字信号,不需要 A D 转换,准确 度、稳定性都相当高, 但这些传感器的适用范围不广, 不利于以后其他功能的扩展。 所以本次采用 TREND 公司的铂热电阻温度传感器 TPIHT,传感器的工作电压为 24 V ,输出电流为 420 mA ,外接 250 精确电阻用于提取电压时进行 AD 转换, ADC0809 的输入电压在 15 V 范围内对应的测量温

10、度范围 为 -10 +160 。 2 AT89C52 的设计应用 2.1 硬件设计 根据设计仪表的功能要求,本设计要完成以下功能: (1) 数字化测量,显示及报警装置; (2) 显示指定位置温度的数值及其动态曲线图; (3) 多路模拟数据的采集、处理; (4) 温度值字体的放缩。 系统结构图如图 1 所示 2.2 软件设计 用C 语言进行单片机程序设计, 采用结构化程序设计思想: 在总体设计中采用“自顶而下”-(DTOWPN) 的方法,在程序设计中采用模块化编程。把整体任务分成一个个子任务,子任务再分子任务,逐层细分, 每个子程序都完成其规定的功能,明确输入输出。将这些程序连接起来就构成整体流

11、程图。模块化编程, 每个模块结构完整,相互独立的程序段。如液晶模块的写控制指令、写显示数据、清屏;数据处理中的工 程量转换,均值滤波等。这些程序可以任意调用、修改,使整个程序结构清晰,组合灵活,维护调试方便。 2.2.1 主流程图 主流程图如图 2 所示。主要包括程序初始化部分,主要完成的任务是初始化液晶显示屏,初始化单片机各 口状态和设初始阈值,检测位置为第一路;按确定键后系统开始工作,显示第一路位置的温度及其动态显 示图的主页面;当按下设置键时,液晶屏幕显示一个选择界面,可选择设置检测位置,检测位置阈值;通 过上下键可进行选择,选择界面的箭头指向设置位置时,按确定就可进入位置的设置,设置完

12、毕后,确定 健返回;直接再按确定键可显示放大的温度字体。 2.2.2 测温流程图和曲线显示流程 启动 ADC0809 时需根据启动的检测位置不同查表选用不同的通道地址表; 设定 ADC0809 转换时间, 采 用延时等待后,再读取它的转换数据;根据温度传感器的量程得出转换公式;为了便于显示,需要把各位 数分离,分离出了百位数、十位、个位、十分位和百分位;建立一个 0 9 的数字字模表,取模显示。温 度显示和曲线显示流程图分别如图 3 和图 4 所示 2.2.3 阈值设置流程图 阈值温度 ft 为外部变量,在整个程序中都有效,每按一次“上”键 ft=ft+1 ,按“下”键时 ft=ft-1 ,检测 位置的设定与其相

温馨提示

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

最新文档

评论

0/150

提交评论