温度采集是信息采集的一个重要分支,也是控制领域的一个比较重要的环节,在国民经济中占用非常核心的位置。与人们百姓的生活起居、科学制造和研究实验有着非常密切的联系。本文通过分析国内外不同的温度传感器的采集温度原理,分析了热敏电阻在温度采集方面的突出性能,并且对其进行非常详细的研究和分析。本文的测温系统主要是包含信号放大模块、信号模拟量采集模块、声光报警模块和单片机最小系统、显示模块部分。分别设计了不同方案进行分析,最终得到本文才去的温度采集系统。单片机主控采用AT89C51作为主控部分,对整个系统进行了硬件设计和软件设计。
本篇文章使用protues进行系统仿真,使用AT89C51作为控制MCU,使用热敏电阻作为温度传感器,通过ADC0804进行AD转换,然后通过数码管进行温度显示,同时设定报警范围,超过范围则声光报警。
关键字: AT89C51单片机,热敏电阻,PT100,数码,Protues
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define ad0_7 P1 /* AD数据口 */
sbit cs = P2 ^ 4; /* 片选信号,低电平有效,控制芯片的启动和结果读取 */
sbit rd = P2 ^ 7; /* 读数据控制,低电平有效 */
sbit wr = P2 ^ 6; /* AD启动控制,上升沿有效 */
sbit intr = P2 ^ 5; /* AD转换完成输出低电平 */
sbit Led = P2 ^ 1; /* 灯 */
sbit Buzzer = P2 ^ 0; /* 蜂鸣器 */
uchar i;
uchar led[11] = { 0x3F, /* "0" */
0x06, /* "1" */
0x5B, /* "2" */
0x4F, /* "3" */
0x66, /* "4" */
0x6D, /* "5" */
0x7D, /* "6" */
0x07, /* "7" */
0x7F, /* "8" */
0x6F, /* "9" */
0x40, /* "-" */
};
uchar dat_AD[4] = { 0 };
/* 启动AD转换子程序// */
void start_ad( void )
{
cs = 0; /* 允许AD */
wr = 0;
_nop_();
wr = 1; /* WR由低变高时启动AD转换 */