(完整版)基于AT89S52单片机的温湿度检测系统设计定稿毕业论文 下载本文

(2)HIH-3610输出电压为:

Vo=Vi[0.0062RH0+0.16] (公

式1)

即输出电压Vo不仅正比于温度测量值,且与电源电压值Vi有关,若Vi固定为5V,则其值仅由相对温度值决定。

(3)HIH-3610测量的湿度值还与环境温度有关,故应进行温度补偿,补偿公式为:

RH=RH0(1.0546-0.00216T) (公式2)

式中:T为环境摄氏温度值。

利用HIH-3610的线性电压输出可直接输入到控制器或其他装置。一般仅需取出200μA电流,HIH-3610系列测湿传感器就能理想地用于低引出、电池供电系统。

HIH-3610系列测湿传感器作为一个低成本、可软焊的单个直插式组建(SIP)提供仪表测量质量的相对湿度(RH)传感性能。RH传感器可用在二引线间有间距的配量中,它是一个热固塑料型电容传感元件,其芯片内具有信号处理功能。传感元件的多层结构对应用环境的不利因素,诸如潮湿、灰尘、污垢、油类和环境中常见的化学品具有最佳的抗力。

2.3 AD转换器

本电路设计AD转换部分主要核心部分采用高性价比的AD转换芯片TLC549 ,以下进行详细介绍 2.3.1 主要特性

TLC549是德州仪器公司生产的8位串行AD转换器芯片,可与通用微处理器、控制器通过IO CLOCK、、DATA 三条口线进行串行接口。具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17μs,TLC548允许的

最高转换速率为45500次s,TLC549为40000次s。总失调误差最大为±0.5LSB,典型功耗值为6mW。采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,VREF-接地,VREF+-VREF-≥1V,可用于较小信号的采样。TLC549引脚图如下图所示:

TLC549的极限参数如下: 图2.7 TLC549的引脚图 电源电压:6.5V;

输入电压范围:0.3V~VCC+0.3V; 输出电压范围:0.3V~VCC+0.3V; 峰值输入电流(任一输入端):±10mA; 总峰值输入电流(所有输入端):±30mA; 工作温度: 0℃~70℃ TLC549I:-40℃~85℃ TLC549M:-55℃~125℃ 2.3.2 TLC549工作原理

TLC549有片内系统时钟,该时钟与IO CLOCK是独立工作的,无须特殊的速度或相位匹配。当CS为高时,数据输出(DATA OUT)端处于高阻状态,此时IO CLOCK不起作用。这种CS控制作用允许在同时使用多片TLC549时,共用IO CLOCK,以减少多路(片)AD并用时的IO控制端口。一组通常的控制时序为:

(1) 将置低。内部电路在测得下降沿后,再等待两个内部时钟上升沿和一个下降沿后,然后确认这一变化,最后自动将前一次转换结果的最高位(D7)位输出到DATA OUT端上。

(2) 前四个IO CLOCK周期的下降沿依次移出第2、3、4和第5个位(D6、D5、D4、D3),片上采样保持电路在第4个IO CLOCK下降沿开始采样模拟输入。

(3) 接下来的3个IO CLOCK周期的下降沿移出第6、7、8(D2、D1、D0)个换位。

(4) 最后,片上采样保持电路在第8个IO CLOCK周期的下降沿将移出第6、7、8(D2、D1、D0)个转换位。保持功能将持续4个内部时钟周期,然后开始进行32个内部时钟周期的AD转换。第8个IO CLOCK后,必须为高,或IO CLOCK保持低电平,这种状态需要维持36个内部系统时钟周期以等待保持和转换工作的完成。如果为低时IO CLOCK上出现一个有效干扰脉冲,则微处理器控制器将与器件的IO时序失去同步;若为高时出现一次有效低电平,则将使引脚重新初始化,从而脱离原转换过程。在36个内部系统时钟周期结束之前,实施步骤(1)~(4),可重新启动一次新的AD转换,与此同时,正在进行的转换终止,此时的输出是前一次的转换结果而不是正在进行的转换结果。若要在特定的时刻采样模拟信号,应使第8个IO CLOCK时钟的下降沿与该时刻对应,因为芯片虽在第4个IO CLOCK时钟下降沿开始采样,却在第8个IO CLOCK的下降沿开始保存。

2.4 单片机AT89S52

AT89S52是一种低功耗、高性能CMOS八位微控制器,具有8K在系统可编程Flash存储器,使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许ROM在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使其为众多嵌入式控制应用系统提供灵活的解决方案。 2.4.1 主要特性

(1) 与MCS-51单片机产品兼容; (2) 8K字节在系统可编程Flash存储器; (3) 1000次擦写周期;

(4) 全静态操作:0Hz~33Hz; (5) 三级加密程序存储器; (6) 32个可编程IO口线; (7) 三个16位定时器计数器; (8) 八个中断源;

(9) 全双工UART串行通道; (10) 低功耗空闲和掉电模式;

(11) 掉电后中断可唤醒; 图2.8 AT89S52芯片的引脚图 (12) 看门狗定时器; (13) 双数据指针; (14) 掉电标识符。

如图2.8所示AT89S52芯片的引脚图

VCC:电源 Vss:地

P0口:8位漏极开路的双向IO口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址数据复用。在这种模式下,P0具有内部上拉电阻。在Flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1口:具有内部上拉电阻的8位双向IO口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器计数器2的外部计数输入(P1.0T2)和定时器计数器2的触发输入(P1.1T2EX),具体如表3-1所示。在Flash编程和校验时,P1口接收低8位地址字节。

引脚号 P1.0 P1.1 P1.5 P1.6 P1.7 第二功能 T2(定时器计数器T2的外部计数输入),时钟输出 引脚号 (定时器计数器T2的捕捉重载触发信号和方向第二功能 T2EXP3.0 P3.1 P3.2 RXD控制) (串行输入) TXD(串行输出) MOSI(在系统编程用) (外部中断0) MISO(在系统编程用) SCK(在系统编程用) P2口:具有内部上拉电阻的8位双向IO口,P2输出缓冲器能驱动四个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在方位外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。在Flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3口:P3口是一个具有内部上拉电阻的8位双向IO口,P2输出缓冲器能驱动四个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为AT89S52特殊功能(第二功能)使用,如表3所示。