单片机原理及系统课程设计报告(温度湿度控制系统)

上传人:鲁** 文档编号:495293558 上传时间:2022-07-27 格式:DOCX 页数:22 大小:256.97KB
返回 下载 相关 举报
单片机原理及系统课程设计报告(温度湿度控制系统)_第1页
第1页 / 共22页
单片机原理及系统课程设计报告(温度湿度控制系统)_第2页
第2页 / 共22页
单片机原理及系统课程设计报告(温度湿度控制系统)_第3页
第3页 / 共22页
单片机原理及系统课程设计报告(温度湿度控制系统)_第4页
第4页 / 共22页
单片机原理及系统课程设计报告(温度湿度控制系统)_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《单片机原理及系统课程设计报告(温度湿度控制系统)》由会员分享,可在线阅读,更多相关《单片机原理及系统课程设计报告(温度湿度控制系统)(22页珍藏版)》请在金锄头文库上搜索。

1、单片机原理及系统课程设计报告(温度湿度控制系统)提交版单片机原理及系统课程设计专业:自动化班级:动091姓名:程维洲学号:200908409指导教师: 路小娟评语:平 时 修改 报告 总成(40)(30)(30)单片机原理及系统课程设计报告兰州交通大学自动化与电气工程学院2012年7月1日1引言12方案设计12.1 总体方案设计12.2 系统组成及框图13硬件电品&设计23.1 温度测量电路设计 23.2 湿度测量电路设计23.3 按键电路设计34软件设计44.1 主程序流程图44.2 温度模块程序设计64.3 湿度模块程序设计 64.4 显示子程序设计65总结66参考文献77附录77.1 附

2、录A77.2 附录B7单片机原理及系统课程设计报告1引言本次课程设计主要基于AT89C51单片机,开发环境温度及湿度检测及控制 系统。该系统采用AT89C51单片机作为控制器,DS18B2作为温度传感器,HS1101 作为湿度传感器。系统主要功能如下:(1 )对温度、湿度进行测量;(3)温度及湿度的显示;(4 )设定预期温度与湿度值并显示。关键词:AT89C51 ,温度及湿度检测,LCD显示。2方案设计本章从控制系统的总体构成及原理框图对系统进行了总体分析说明,控制系统组成以后,主要通过控制器、传感器及执行器对控制变量进行分析和处理。2.1 总体方案设计本系统采用AT89C51单片机作为微处理

3、器,DS18B20作为温度传感器对温 度进行检测,HS1101作为湿度传感器与NE555组成湿度测量模块,使用LM016L 对测得的温度及湿度值进行显示,使用按键对温度及湿度的设定值进行修改。2.2 系统组成及框图系统主要有温度测量模块、湿度测量模块、显示模块、及按键模块。其原 理框图如图2 1所示图2 . 1系统组成框图3硬件电路设计本温度及湿度控制系统使用 AT89C51作为控制器,用DS18B20K现对温度 测测量,用HS1101及NE555实现的湿度的测量,并采用LM016L将采集的的数 据显示。现将系统硬件设计表述如下。3.1 温度测量电路设计采用DS18B20数字温度传感器测量温度

4、,DS18B20与单片机是单线双向通信。其连接电路如图3.1所示。U3口司 QQ2Q vTEXTn图3.1 DS18B20的测温电路(DQ端接51的P2.7)3.2 湿度测量电路设计A图3.2 NE555测湿电路HS1101实际上相当于一个可变电容,它会因外部环境湿度的变化而致使电 容值变化,湿度测量模块采用 HS1101及NE555 一起组成,将该HS1101置于 NE555震荡电路中,将电容值的变化转化为与之呈反比的电压频率信号,可直 接被计算机采集。表3.1等效电容值与相对湿度之间的数值关系相对湿度RH (%)电容值C(PF)相对湿度RH (%)电容值C (PF)016360183101

5、66701862017080191301739019540176100202501793.3 按键电路设计系统可以调节设定的温度及湿度值,我们可以通过四个按键来进行实现, 前两个按键选择是温度设定还是湿度设定,后两个按键实现加一和减一操作, 设计电路图如图3.3所示。-O - O!(!,I B r 1!- . . _ . . .I S - O -O图3.3按键电路其工作原理如下:当闭合温度控制开关,可以通过“加”、“减”按钮来实现目标温度值的加一或者减一;同理闭合湿度开关,通过“加” 、“减”按钮来实 现目标湿度值的加一或者减一。而且,当两个开关同时闭合时,可以实现温度和 湿度的同加一或同减一

6、。4软件设计本章主要对各个功能模块的程序流程进行说明4.1 主程序流程图主程序的主要功能是负责读出并处理 DS18B20的测量温度值,读出测湿电 路的结果,并将温度及湿度进行实时显示,直到需要退出该系统时结束并退出。 程序流程图如图4.1所示:允许外部中断和定1602初始读取温度温度显示读取湿度4.2 温度模块程序设计温度模块主要包括DS18B20 的初始化以及与单片机之间的数据处理。DS18B20 与微处理器之间的通信比较复杂,每一次通信之前必须进行复位,复位的时间、等待时间、回应时间应严格按时序编程。4.3 湿度模块程序设计湿度模块主要是利用定时器T0 和 T1 对 555 的输出频率进行

7、测量,进而得到相对湿度值。在该块程序设计中,我们选取T0做定时器,定时时间是50ms,而选择T1做计数器,每当 T0 定时时间到就读取T1 的计数值,然后将T1 的计数值乘以20 就可得到 555芯片的输出频率,可进行数据处理从而得到相对湿度值。4.4 显示子程序设计显示子程序包括1602 的初始化,以及对温度和湿度值的显示。初始化时第一行显示“ wend” ,第二行显示“ shid” ,然后根据温度的测得值及其正负将测得温度值和设定温度值在第一行,并将测得的频率值装换为相对湿度值,并将其和湿度设定值显示在第二行。5 总结在设计中,通过对硬件电路不断的处理,使得硬件部分比较完善。另外,在电路中

8、加入了限流电阻,保证了各个器件的使用寿命。总之,硬件电路的设计达到了抗干扰,较高精度的目的。软件部分中,对程序也做了数次修改,最终在 Keil uVision3 中实现了成功的模拟,进一步验证了设计思路。本系统实现的功能如下。1. 对温室大棚温度和湿度进行实时测量;2. 通过 LCD 显示屏分别进行温度和湿度显示;3对温度和湿度的设定值通过按键可以进行调节。本系统的优点有以下几点。1. 结构简单,容易实现;2. 造价低廉,性价比高;3达到了一定的精度要求。6参考文献1金伟正.单线数字温度传感器的原理与应用J.电子技术与应用,2000(6).2单晓锋,杨建红.电容型温湿度传感器模拟计算与分析J.

9、半导体技 术,2010(11).3胡汉才.单片机原理及接口技术M.北京:清华大学出版社,2004.7附录7.1附录A系统仿真电路图如图5.1所示。在调试过程中,通过改变温度传感器的数值, 来检验系统中温度模块是否运行正常。经过测试温度模块可以正常的显示,并 且具有一定的快速性。通过改变NE555振荡电路中C3的容值(即HS1101的等 效容值),来检验湿度摸快是否可以正常工作,经过测试湿度模块可以正常工作。并且对四个按键(即温度、湿度、 能。+、-)的功能进行了测试,都实现了应有的功.母“rd: 升用如Shid:昨*4股)UI会mi”电; 口也1 ,工势,: P3M3 ,:1摩门 口兔匚三la

10、iOJETjnjEg4 al ,XE M 7 若书。i 丽 ii.小B尸皿噜町E 内亚 002FRTFI1I1T 一邂嚎墨图5.1系统仿真调试图7.2附录B#include#define uchar unsigned char#define uint unsigned intsbit DQ=P2A7;DS18B20 与单片机连接口sbit RS=P3A0;/LCD1602控制端与单片机的连接sbit RW=P3A1;sbit EN=P3A7;sbit ST=P0A0;/ 按键接口sbit SH=P0A1;sbit Sjia=P3A2;sbit Sjian=P3A3;uchar code str

11、1=Wend:;uchar code str2=Shid:;uchar data disdata16;uchar data disdata24;uint tvalue;/ 温度值uchar tflag;/ 温度正负标志uint tem0,tem1;uint temp0,temp1;uint f=0;int hhhh=0;int tsheding=20;/ 设置温度值int hsheding=40;/ 设置湿度值void zhongd0() interrupt 0/外部中断0 :加设置if(ST=1)tsheding+; / 温度值加 1if(SH=1)hsheding+; / 湿度值加 1vo

12、id zhongd1() interrupt 2/外部中断1 :减设置if(ST=1)tsheding-; / 温度值减 1if(SH=1)hsheding-; / 湿度值减1void timer0() interrupt 1/T0 定时中断TR0=0;TR1=0;TL0=0xB0;/ 重装值 ,定时 50000usTH0=0x3C;tem0=TL1;/ 读数tem1=TH1;TL1=0x00;/ 计数器 1 清零TH1=0x00;TR0=1;TR1=1;void timer1() interrupt 3 /T1 计数中断TR0=0;TR1=0;TL0=0xB0;/ 重装值,定时50000us

13、TH0=0x3C;TL1=0x00;/ 计数器1 清零TH1=0x00;TR0=1;TR1=1;void init_timer()TMOD=0x51;TL0=0xB0;/ 定时器0初值定时50000usTH0=0x3C;TL1=0x00;/ 定时器1 清零TH1=0x00;TR0=1;/T0 开始计时TR1=1;/T1 开始计数 void delay1ms(uint ms)/ 延时 1 毫秒 uint i,j;for(i=0;ims;i+)for(j=0;j110;j+);void wr_com(uchar com)/1602 写指令delay1ms(1);RS=0;RW=0;EN=0;P1=com;delay1ms(1);EN=1;delay1ms(1);EN=0;void wr_dat(uchar dat)/1602 写数据delay1ms(1);RS=1;RW=0;EN=0;P1=dat;delay1ms(1);EN=1;delay1ms(1);EN=0;void lcd_init()/1602 初始化设置wr_com(0x38);delay1ms(1); /设置16*2 显示, 5*7 点阵, 8 位数据接口;并延时wr_com(0x08);delay1ms(1); /设置关显示,光标不显示,光标不

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号