已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
铜陵学院毕业论文(设计)学 号_0810111079 毕 业 论 文(设计)课 题 基于PC机的温湿度采集系统设计 学生姓名 系 别 机械工程系 专业班级 2008级 机械设计制造及自动化专业(1)班 指导教师 二 O一二年 六 月基于PC机的温湿度采集系统设计摘 要文章以家居室和办公室环境等较小空间作为研究对象,介绍了温湿度数据采集系统的设计过程。详细介绍了温湿度测量电路以及PC机外围电路的设计,软件流程及汇编语言源程序的计。该方法可以提高系统的开发效率、缩短周期和降低成本。为PC机系统的开发提供了手段。结果表明:该系统可以实现温湿度数据的采集、处理、实时显示、开关量的控制输出及系统键盘设置等功能。同时用DS18B20作为温度传感器,用HS1101作为湿度传感器连接PC机,实现问湿度采集以及PC机间的数据通讯。本文简要介绍了沮度传感器DSl8B20的特性及工作原理,给出了DSl8B20、HS1101与单片机、单片机与PC机间的接线图,并介绍了知何实现温湿度度采集以及与PC机间的数据通讯。PC可把接收到的单片机采集到的温度数据进行合理处理并实时显示,具有一定的推广价值。 关键词:温度、湿度、PC机、DS18B20、HS1101Design of Temperature and Humidity Acquisition SystemBased On PCAbstract The design process of temperature and humidity data acquisition system are introduced in this paper which takes a family room and office environment, small space as the research object. Detailed introduced the temperature and humidity measurement circuit and PC peripheral circuit design, software process and assembly language the source program plan. The method can improve the efficiency of system development, shorten the period and reduce the cost. As the PC system was developed to provide a means of. The results show that: the system can achieve the temperature and humidity data acquisition, processing, real-time display, switching quantity output and control system keyboard settings and other functions. At the same time using DS18B20 as temperature sensor, humidity sensor connected with HS1101 as PC, realize ask humidity acquisition and PC machine data communication. This paper briefly introduced the stop sensor DSl8B20 characteristics and working principle, is given by DSl8B20, HS1101 and SCM, SCM and PC machine wiring diagram, and introduces how to realize the temperature / humidity acquisition and data communication between PC machine. PC received SCM collected temperature data processing and real-time display, has certain promotion value.Key words: temperature;humidity;PC;DS18B20;HS1101目录第一章绪论1.1 设计的背景与意义 温湿度监测系统是在环境试验、科学研究(诸如种植、养殖、生物工程、化工工程)、工业生产等领域应用广泛的现场环境控制系统。它能模拟各种环境条件,即按照实际要求精确控制环境的温度和湿度,为研究不同的生化过程创造了良好的环境条件。因此,温湿度监测系统广泛应用在科研、现代农业、医药、冶金、化工、林业、环境科学及生物遗传工程等领域。 温度和湿度是工农业生产和日常生活中经常要测量的一个物理,而温度和湿度的获取离不开温度传感器和湿度传感器,然而大多数的温度、湿度传感器的输出是一个模拟变化的电压量,不能与PC机采集系统直接相接,需要先进行转换。而单总线数字温度传感器DSl8B20可以把温度转换为相应的数字量,并能通过串行传输方式(如:RS-232)把温度值传送到PC机。而HS1101可以将电容值转化为与其电容量随湿度增大而增大呈反比的电压频率信号,可直接被计算机所采集。此种测温和测湿方式大大提高了温湿度测控系统的可靠性,降低了成本,缩小了体积。在很多工业自控场合,常常把单片机放在环境比较恶劣的远程前端,作为下位机,而把PC机放在条件比较好的环境中作为中央控制机,PC机可以对单片机进行远程控制,并把单片机采集到的数据送到计算机进行处理和显示,同时计算机把反馈信号送到单片机,将可实现闭环控制系统。1.2 设计的思路和方法 1、 用DSl8B20和HS1101与单片机、单片机与PC机连接,以实现温湿度采集以及与PC机间的数据通讯。PC可以把接收到的单片机采集到的温度、湿度数据进行合理 处理并实时显示。 2、基于PC机与AT89C52的串行通信温度采集系统,以抗干扰能力强、对环境要求不高,以低廉的价格换取良好的温度显示效果,实现起来简单而且可靠性较强。 3、PC机对读取的温湿度数据可进行方便、较好的实时处理,将可实现温度的闭环控 制。第二章系统总体设计方案2.1 系统总体方案设计 本系统以单片机AT89C52作为控制核心,以数字式温度传感器DS18B20、电容式湿度传感器HS1101作为测量元件,构成智能温湿度测量系统;同时可把采集到的数据通过RS-232总线上传给工业控制计算机进行进一步处理,系统设计方案如图2.1所示图2.1温图2.1湿度数据采集系统设计方案2.2 温湿度采集系统组成系统硬件设计主要包括传感检测和单片机外围电路设计。其中传感检测部分的设计包括温度测量电路和湿度测量电路;单片机外围电路部分的设计包括时钟电路、复位电路、电源电路、独立式键盘输入电路、显示电路、光报警电路等。2.3 系统软件结构框图图 2.3 系统结构框图2.4 DS18B20温度检测模块和HS1101湿度检测模块电路设计 DS18B20温度检测模块和HS1101湿度检测模块电路原理图如下所示:图 2.4 DS18B20温度检测模块和HS1101湿度检测模块电路原理图2.5 温湿度采集系统软件设计2.5.1温湿度主程序流程图 图2.5主程序流程图2.5.2温湿度采集程序设计/* 主函数 */*/void main() EA=1; /开总中断 init_t0(); /初始化定时器 init_t1(); TR0=1; /定时器开始工作 TR1=1; ET0=1; lcd_init() ; /初始化LCD ok_menu();BEEP=0;while(1) if(key1=0) lcd_init; wendu_Menu (); do Read_Temperature() ; Disp_Temperature() ; baojing(); while(key2) ;if(key2=0)lcd_init;shidu_Menu();do if(int_flag=1) disp(); while(key1); #include #include #define uchar unsigned char#define uint unsigned intsbit DQ = P20 ; /定义DS18B20端口DQ sbit BEEP=P22 ; /蜂鸣器驱动线bit presence ;sbit LCD_RS = P12; sbit LCD_RW = P11; sbit LCD_EN = P10;sbit led= P21; sbit key1= P23;sbit key2= P24;uchar code cdis1 = wendujishiyan ;uchar code cdis2 = T= . C ;uchar code cdis3 = shidujishiyan ;uchar code cdis4 = shidu: % ;uchar code cdis5 = the system of ;uchar code cdis6 = temp and hum ;unsigned char data temp_data2 = 0x00,0x00 ;unsigned char data display5 = 0x00,0x00,0x00,0x00,0x00 ;unsigned char code ditab16 = 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09 ;void beep() ; unsigned char code mytab8 = 0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00 ;bit int_flag; /定时器0 1S到标志位unsigned char volatile int_count; /定时器0中断次数unsigned char volatile T1count; /定时器1中断次数unsigned long sum,wet; /1S内脉冲总个数unsigned char le6; /LED显示缓存#define delayNOP() ; _nop_() ;_nop_() ;_nop_() ;_nop_() ; ;/*/void delay1(int ms) unsigned char y ; while(ms-) for(y = 0 ; y 0 ; i-) DQ = 0 ; / 给脉冲信号 dat = 1 ; DQ = 1 ; / 给脉冲信号 if(DQ) dat |= 0x80 ; Delay(4) ; return (dat) ;/* 写一个字节 */*/ WriteOneChar(unsigned char dat) unsigned char i = 0 ; for (i = 8 ; i 0 ; i-) DQ = 0 ; DQ = dat&0x01 ; Delay(5) ; DQ = 1 ; dat=1 ; /* 读取温度 */*/ Read_Temperature(void) Init_DS18B20() ; WriteOneChar(0xCC) ; / 跳过读序号列号的操作 WriteOneChar(0x44) ; / 启动温度转换 Init_DS18B20() ; WriteOneChar(0xCC) ; /跳过读序号列号的操作 WriteOneChar(0xBE) ; /读取温度寄存器 temp_data0 = ReadOneChar() ; /温度低8位 temp_data1 = ReadOneChar() ; /温度高8位 /* 数据转换与温度显示 */*/ DISP_Temperature()display4=temp_data0&0x0f ;display0=ditabdisplay4+0x30 ; /查表得小数位的值display4=(temp_data0&0xf0)4)|(temp_data1&0x0f)4) ;display3=display4/100+0x30 ;display1=display4%100 ;display2=display1/10+0x30 ;display1=display1%10+0x30 ;if(display3=0x30) /高位为0,不显示 display3=0x20 ; if(display2=0x30) /次高位为0,不显示display2=0x20 ; lcd_pos(0x48) ; lcd_wdat(display3) ; /百位数显示 lcd_pos(0x49) ; lcd_wdat(display2) ; /十位数显示 lcd_pos(0x4a) ; lcd_wdat(display1) ; /个位数显示 lcd_pos(0x4c) ; lcd_wdat(display0) ; /小数位数显示 3.4 温度测量电路DS18B20是Dallas公司1-W ire系列高精度数字式温度传感器,可直接与单片机相连,其测量电路如图2所示。采用电源供电方式,此时DS18B20的第1脚接地,第2脚作为信号线,第3脚接电源;AT89C52通过P2. 7口对DS18B20进行控制,读取DS18B20所测得的温度。单片机与DS18B20之间进行应答来采集温度参数,先将与DS18B20的连线电平拉低480s以上,将DS18B20复位,再进行操作。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有上拉电阻Rp,上拉开启时间最长为500ms,即先向DS18B20发送指令,跳过ROM后发出转换温度的指令,然后初始化后读取温度,将读到的温度通过4位一体LED显示出来。图 3.4 温度测量电路图 第四章湿度采集系统设计方案4.1 HS1101 电容式湿敏元件传感器简介4.1.1 HS1101概述 HUMIREL 湿度传感器 HS1101/HS1100 基于独特工艺设计的电容元件,这些相对湿度传感器可以大批量生产。可以应用于办 公自动化,车厢内空气质量控制,家电,工业控制系统等。在需要湿度补偿的场合它也可以得到很大的应用。HS1101是一个电容式湿敏元件,在电路中可等效成一个电容器件,其电容量随着所测空气湿度的增大而增大。4.1.2 HS1101 特点 1、全互换性 在标准环境下不需校正 2、长时间饱和下快速脱湿 3、可以自动化焊接,包括波峰焊或水浸 4、高可靠性与长时间稳定性 5、专利的固态聚合物结构 6、可用于线性电压或频率输出回炉 7、快速反应时间 8、最大参数值(Ta=25 除非特别标定)4.1.3 HS1101湿度检测传感器工作原理 T1为HS1101湿度检测传感器,其工作电路由555多谐振荡器来实现,HS1101作为电容变量接在555芯片的2、5脚之间,引脚7用作电阻R2的短路,等量电容HS1101通过R1、R2充电到门限电压(约0.67V),通过R4放电到触发电平,然后R2通过7短路到地,传感器由不同的电阻R1、R2充放电,进行工作循环,形成方波。其周期计算如下: T充电=C*(R1+R2)*In2; T放电=C*R1*In2; 由此可知输出方波频率为f=1/(T充电+ T放电)=1/C*(R2+2R1)*In2; 可见空气湿度通过555测量振荡电路,就转变为与之呈反比例的频率信号。图4.1.3 HS1101工作原理图4.2 湿度电路设计 HS1101是一个电容式湿敏元件,在电路中可等效成一个电容器件,其电容量随着所测空气湿度的增大而增大。本系统中将该湿敏电容置于555振荡电路中,将电容值的变化转为与之呈反比的电压频率信号,可直接被计算机所采集。其测量电路如图4.2所示:图4.2 湿度测量电路图 4.3 湿度采集系统软件设计4.3.1 湿度检测系统流程图 图4.3.1湿度检测流程图4.3.2湿度采集系统软件设计*湿度测量*/软件延时/void delays(unsigned int cnt) while(-cnt);/定时器0初始化void init_t0(void) TMOD=(TMOD&0xF0)|0x01; /定时器0工作于方式1/ TH0=(65536-50000)/256; /定时50ms/ TL0=(65535-50000)%256;TH0=0x4c;TL0=0x00;/ 定时器1初始化void init_t1(void) TMOD=(TMOD&0x0F)|0x50; /定时器1用作计时 TH1 =0x00; TL1 =0x00;/定时器0中断服务程序void int_t0(void) interrupt 1 TH0=(65535-50000)/256; TL0=(65535-50000)%256; int_count+; if(int_count=20) TR1=0; int_flag=1; int_count=0x00; /定时器1中断服务程序void int_t1(void) interrupt 3 T1count+; void disp(void) /湿度显示函数 int_flag=0; sum=TL1+TH1*256+T1count*65536; /计算1秒内的脉冲个数 /以下将数据格式化,转成LED可显示的BCD码 wet=100-(sum-4000)/50;/* 湿度计算公式 le0=wet%10; /最低位 wet=wet/10; le1=wet%10; /第二位 wet=wet/10; le2=wet%10; /第三位 wet=wet/10; int_count=0x00; T1count=0; TH1=0x00; TL1=0x00; TR1=1; lcd_pos(0x4a) ; lcd_wdat(le2+48); lcd_pos(0x4b) ; lcd_wdat(le1+48); lcd_pos(0x4c) ; lcd_wdat(le0+48); delays(100); void wendu_Menu () /显示温度的菜单 uchar m ; lcd_pos(0) ; /设置显示位置为第一行的第1个字符 m = 0 ; while(cdis1m != 0) /显示字符 lcd_wdat(cdis1m) ; m+ ; Lcd_pos(0x40) ; /设置显示位置为第二行第1个字符 m = 0 ; while(cdis2m != 0) lcd_wdat(cdis2m) ; /显示字符 m+ ; Writetab() ; /自定义字符写入CGRAM delay1(5) ; lcd_pos(0x4d) ; lcd_wdat(0x00) ; /显示自定义字符void shidu_Menu () /显示湿度的菜单 uchar m ; lcd_pos(0) ; /设置显示位置为第一行的第1个字符 m = 0 ; while(cdis3m != 0) /显示字符 lcd_wdat(cdis3m) ; m+ ; Lcd_pos(0x40) ; /设置显示位置为第二行第1个字符 m = 0 ; while(cdis4m != 0) lcd_wdat(cdis4m) ; /显示字符 m+ ; Writetb() ; /自定义字符写入CGRAM delay1(5) ; lcd_pos(0x4d) ; lcd_wdat(0x00) ; /显示自定义字符void ok_menu() uchar m; lcd_pos(0) ; /设置显示位置为第一行的第1个字符 m = 0 ; while(cdis5m != 0) /显示字符 lcd_wdat(cdis5m) ; m+ ; Lcd_pos(0x40) ; /设置显示位置为第二行第1个字符 m = 0 ; while(cdis6m != 0) lcd_wdat(cdis6m) ; /显示字符 m+ ; 第五章外围电路设计5.1蜂鸣器电路设计与原理 蜂鸣器额定电流IB30mA,而对于AT89S52单片机,P1口的灌电流为 16mA,拉电流为60A,由此可见,仅靠单片机的P1口电流是不能驱动蜂鸣器的,必须使用集晶体管放大电路,为了使单片机消耗的功率更小,所以使用 PNP型晶体管9012。AT89S52采用的晶振电路采用110592MHz的无源晶振,微调电容大小取30pF。显示模块选用1602字符型液晶模块,是目前工控系统中使用最为广泛的液晶屏之一,电路图如图2.4所示。1602字符型液晶模块是点阵型液晶,驱动方便,经编码后显示内容多样化。系统的输入模块采用中断扫描的44矩阵键盘,相比定时扫描方式,提高了MCU的使用效率。5.2 1602液晶显示模块电路设计与程序设计5.2.1 1602液晶显示模块电路 1602液晶显示模块电路原理图如下所示:图5.2 1602液晶显示模块电路原理图 在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。 在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高、数字式接口 、体积小、重量轻 、功耗低 、 1602LCD 主要技术参数: 显示容量:162 个字符 芯片工作电压:4.55.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.954.35(WH)mm 引脚功能说明:1602LCD 采用标准的 14脚(无背光)或 16脚(带背光)接口, 第 1 脚:VSS 为地电源。 第 2 脚:VDD接 5V正电源。 第 3 脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度。 第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS和 R/W共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可以读忙信号,当 RS 为高电平 R/W为低电平时可以写入数据。 第 6 脚:E端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 714脚:D0D7为 8 位双向数据线。 第 15脚:背光源正极。 第 16脚:背光源负极5.2.2 1602液晶显示程序设计/*检查LCD忙状态 */*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。 */*/ bit lcd_busy() bit result ; LCD_RS = 0 ; LCD_RW = 1 ; LCD_EN = 1 ; delayNOP() ; result = (bit)(P0&0x80) ; LCD_EN = 0 ; return(result) ; /*写指令数据到LCD */*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 */*/void lcd_wcmd(uchar cmd) while(lcd_busy() ; LCD_RS = 0 ; LCD_RW = 0 ; LCD_EN = 0 ; _nop_() ; _nop_() ; P0 = cmd ; delayNOP() ; LCD_EN = 1 ; delayNOP() ; LCD_EN = 0 ; /*/*写显示数据到LCD */*RS=H,RW=L,E=高脉冲,D0-D7=数据。 */*/void lcd_wdat(uchar dat) while(lcd_busy() ; LCD_RS = 1 ; LCD_RW = 0 ; LCD_EN = 0 ; P0 = dat ; delayNOP() ; LCD_EN = 1 ; delayNOP() ; LCD_EN = 0 ; /* LCD初始化设定 */*/void lcd_init() delay1(15) ; lcd_wcmd(0x01) ; /清除LCD的显示内容 lcd_wcmd(0x38) ; /16*2显示,5*7点阵,8位数据 delay1(5) ; lcd_wcmd(0x38) ; delay1(5) ; lcd_wcmd(0x38) ; delay1(5) ; lcd_wcmd(0x0c) ; /显示开,关光标 delay1(5) ; lcd_wcmd(0x06) ; /移动光标 delay1(5) ; lcd_wcmd(0x01) ; /清除LCD的显示内容 delay1(5) ;/* 设定显示位置 */*/void lcd_pos(uchar pos) lcd_wcmd(pos
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026贵州贵阳市云城中学招聘(第一期)备考题库含答案解析(必刷)
- 2025复旦大学招聘专职辅导员、专职心理健康教育教师30人备考公基题库带答案解析
- 2026秋季国家管网集团北方管道公司高校毕业生招聘备考题库附答案
- 中国烟草招聘官网2026校园招聘历年真题汇编及答案解析(夺冠)
- 2025厦门大学经济学院国际经济与贸易系主任招聘1人历年真题汇编带答案解析
- 食品安全与营养的课件
- 2025重庆大剧院管理有限公司招聘1人历年真题库带答案解析
- 2025广东广州白云区三元里街经济高质量发展工作专班招商引资组招聘招商专员2人备考公基题库附答案解析
- 2025哈尔滨工业大学(威海)秋季心理咨询岗位招聘1人备考公基题库附答案解析
- 2026福建漳州市国企类选优生选拔引进38人备考公基题库附答案解析
- 超星尔雅学习通《舞台人生走进戏剧艺术(中央戏剧学院)》2024章节测试答案
- 2024版建设工程质量常见多发问题防治措施汇编(房建篇)
- (2025)《传染病防治法》综合培训试题与答案
- JG/T 377-2012混凝土防冻泵送剂
- CJ/T 486-2015土壤固化外加剂
- (三级)人工智能训练师职业技能鉴定理论考试题(附答案)
- DB32/T 4194-2022检验检测机构资质认定检验检测能力表述规范
- 骡子搬运安全协议书
- 人教版(PEP)英语六年级上册 Unit 5 Part A Lets talk 教案
- 检验科乙肝课件
- 2024中国母婴行业发展趋势预测及投资规划研究报告
评论
0/150
提交评论