温度检测系统完整版讲解.doc

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
温度检测系统完整版讲解.doc

温度检测系统设计 本设计测量的温度为环境温度,测量范围从0℃—50℃。 检测系统主要由硬件系统和软件系统两大部分组成。 硬件系统包括:集成温度传感器LM35,数据采集和转换模块(A/D转换器ADC0809),主控器(AT89S51),点阵字符型液晶显示模块(RT1602C)。 软件系统包括:前置的各芯片管脚定义、函数声明、全局变量声明、主函数和实现各种功能的子程序:A/D驱动程序、LCD初始化程序、LCD判忙程序、LCD写数据命令程序、LCD显示程序、延时程序。 系统设计原理:温度传感器输出0~1V的线形电压信号,为了提高测量精度将温度传感器的输出电压通过调理电路输出0~3V的线形电压信号,2路模拟信号通过A/D转换器转换成数字信号然后由A/D转换器把数字信号输入到单片机,单片机进行温度补偿后送入液晶显示模块中显示。 系统的硬件设计 系统的硬件主要由温湿度检测模块、ADC0809的A/D转换模块、主控制模块、LCD显示模块等组成。系统原理图如图所示。系统硬件设计电路图见附录A。 温度传感器 温度传感器采用菲利浦公司的精密集成电路温度传感器LM35具有很高的工作精度和较宽的线性工作范围,他的输出电压与摄氏温度线性比例,且无需外部校准或微调,可以提供±1/4的常用的室温精度。LM35的输出电压与摄氏温度的线形关系用公式表示,0时输出为0 V,每升高1,输出电压增加10 mV。 ??工作电压:直流4~30V;??工作电流:小于133μA ??输出电压:+6V~-1.0V ??输出阻抗:1mA负载时0.1Ω; ??精度:0.5精度(在+25时); ??漏泄电流:小于60μA; ??比例因数:线性+10.0mV/; ??非线性值:±1/4; ??校准方式:直接用摄氏温度校准; ??封装:密封TO-46晶体管封装或塑料TO-92晶体管封装; ??使用温度范围:-55~+150额定范围。 温度传感器信号调理电路 A/D转换 数据采集和转换通过A/D转换器实现,本次设计采用8位A/D转换器ADC0809来完成转换任务。 转换电路设计 根据ADC0809的特点和管脚特性设计其外围电路接口如图所示。 ADC0809与单片机接口电路 其中26管脚接收温度模拟电压信号。CLOCK为工作时钟,时钟信号由外界提供,频率为1MHZ,由10管脚外接二进制计数器CD14024二分频得到。为了提高A/D转换精度,A/D转换器的基准电压调整为3V,由图2所示电路完成。 图1时钟信号分频电路 图2电压调制电路 液晶显示设计 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD本系统的液晶显示模块与单片机接口电路如图所示。 μs宽电平脉冲时,就开始A/D转换。EOC为A/D转换结束标志,当A/D转换结束时,EOC高电平。OE为A/D转换数据输出允许控制,当OE为高电平时,A/D转换数据从P0端口输出。A/D转换子函数R eadADC0809()的流程图如图4所示。 图4 A/D转换程序流程图 3.3 液晶显示软件设计 显示程序由各程序模块组成,LCD初始化程序、LCD判忙程序、LCD写数据命令程序、LCD显示程序,在主函数中我们只需要调用这些程序模块即可,这样既简单又实用。 LCD判忙程序: void LcdBusy(void) { do { DataPort=0xff; LCD_RS=0; LCD_RW=1; LCD_E =0; _nop_(); LCD_E = 1; }while(DataPort 0x80); LCD_E=0; } LCD写命令程序: void LcdWriteCmd ( Uchar Command ) { LCD_ME = 0; LcdBusy(); LCD_RS = 0; LCD_RW = 0; DataPort = Command; LCD_E = 1; _nop_(); _nop_(); LCD_E = 0; } LCD写数据程序: void LcdWriteData( Uchar DATA ) { LcdBusy(); LCD_ME = 0; LCD_RS = 1; LCD_RW = 0; LCD_E = 1; DataPort=DATA; _nop_(); LCD_E=0; } LCD初始化程序: void Initialization_1602(void) { LcdWriteCmd(0x01); LcdWriteCmd(0x38); LcdWriteCmd(0x04); LcdWriteCmd(0x0c); } 附录A:系统电路图 温度检测系统 本文介绍了一种温度传感器选用LM35、单片机选用AT895

文档评论(0)

挑战不可能 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档