远程温度采集系统PPT
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
硬件设计
设计的基本方案
温度采集器电路设计总体方框图如图所示,控制器采用单片机 STC89C52RC,温度传感器采用DS18B20,用4位LED数码管以串口传送数据 实现温度显示。
复位电路
时钟震荡
甲 机 单 片 机 发 送
乙 机 单 片 机 接 收
温度传感器
LED显示
硬件设计
硬件部分的选择
单片芯片:采用STC89C52单片机。STC89C52单片机是 低功耗,高可靠的单片机,是一种高效微控制器,为很多嵌入 式控制系统提供了一种灵活性高且价廉的方案。 显示:采用传统的四位共阴数码管显示。数码管具有 低压低耗能、寿命长、对外界环境要求低等特点,而且其精度 比较高。采用BCD编码方式显示数字,程序编译简单,价格较低。 温度传感器:DS18B20 通过对其内部温度系 统振荡器输出的脉冲信号计数来测量温度, 并在芯片 内部把温度信号转换成串行数字信号供微处理器处理, 它具有体积小、抗干扰能力强、使用简单等特点。
SBUF=send; delay(125*2000); while(TI==0); TI=0; }
}
软件设计
乙机程序流程图
通讯程序(接收)
数码管动态显示de<reg52.h> unsigned char code table[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92, 0x82,0xF8,0x80,0x90,0x7f,0xbf,0xa7}; unsigned char xianshi; sbit L1=P2^7; sbit L2=P2^6; sbit L3=P2^5; void disp(void); void main() { TMOD=0x20; TL1=0xf4; TH1=0xf4; TR1=1; SCON=0x40; while(1) { REN=1; while(RI==0); xianshi=SBUF; RI=0; disp(); } }
软件部分
//***********读取温度植*********// unsigned char ReadTemperature(void) { unsigned char tempL=0; unsigned char tempH=0; unsigned char temperature; Init_DS18B20(); WriteOneChar(0xcc); WriteOneChar(0x44); delay(125); Init_DS18B20(); WriteOneChar(0xcc); WriteOneChar(0xbe); tempL=ReadOneChar(); tempH=ReadOneChar(); temperature=((tempH*256)+tempL) >>4; delay(200); return(temperature); } void main() { unsigned char send; int i; TMOD=0x20; TL1=0xf4; TH1=0xf4; TR1=1; SCON=0x40; while(1) { send=ReadTemperature( );
硬件设计
总体电路设计
本设计主要由单片机、温度采集器、LED数码管显示等部分组成。
软件部分
甲机程序流程图
通讯程序(发送)
采 集 子 程 序
18B20 初始化
写入
读取
软件部分
甲机参考程序
#include <reg52.h> sbit DQ=P1^1; void display(); unsigned char Init_DS18B20(void); unsigned char ReadOneChar(void); void WriteOneChar( unsigned char dat); unsigned char ReadTemperrature(void); void delay (unsigned char time) { unsigned char n; n=0; while(n<time) n++; return; } unsigned char Init_DS18B20(void) { unsigned char x=0; DQ=1; delay(8); DQ=0; delay(85); DQ=1; delay(14); x=DQ; delay(20); return(x); } //******读取1字节******// unsigned char ReadOneChar(void) { unsigned char i=0; unsigned char dat=0; for(i=8;i>0;i--) { DQ=1; delay(1); DQ=0; dat>>=1; DQ=1;delay(1); if(DQ) dat|=0x80; delay(4); } return (dat); } //********写1字节*********// void WriteOneChar( unsigned char dat) { unsigned char i=0; for(i=8;i>0;i--) { DQ=0;delay(1); DQ=dat&0x01; delay(5); DQ=1;dat>>=1; } delay(4); }
论文框架
1 2 3 4
研究背景 硬件设计
软件设计
编程调试 结论
5
研究背景
随着社会的发展,科学技术的进步同时也带动了测量技 术的发展,现代控制设备不同于以前,它们在性能和结构发 生了翻天覆地的变化。我们已经进入了高速发展的信息时代, 测量技术是当今社会的主流,广泛地深入到应用工程的各个 领域。 温度采集器是可以通过温度传感器与单片机组合使用能 测试温度的仪器,该系统结构简单,抗干扰能力强,适合恶 劣环境下进行现场温度测量,有广泛的应用前景。温度采集 系统可被广泛应用于温度测量或相应的可转换为温度量或供 电故障监控的工业、农业、环保、服务业、安全监控等工程 中,例如:城市路灯故障检测和供电线路防盗监视、城市居 民小区供热检测、大型仓库温度检测、工业生产测控、农业 生产温度测控、环保工程、故障监控工程等。 本组此次是利用单片机控制甲机与乙机实现双机通信。 甲机通过 温度传感器DS18B20实现温度采集,并将数据发送 至乙机。乙机接收数据后,经过数码管实现动态显示。