您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 室内环境控制系统项目报告
《微机原理》课外设计制作终期报告题目:室内环境控制系统组号:14任课教师:xxxxxxx一、项目要求1)本地温湿度采集和显示(1)实时温湿度采集,(2)数字显示,温湿度同时显示。(3)显示精度:1位小数(4)其它与温湿度有关的扩展2)向上位机进行数据传递(1)实现温湿度采集子系统向上位机进行数据传送;(2)进行全双工通信,设计上位机、下位机通信程序,通信波特率9600bps,8位数据、1个停止位、无校验。(3)在PC机屏幕显示采集到温湿度3)上位机向下位机提出报警(1)上位机对采集的数据进行分析,如果温度超过5-30℃的范围或湿度超过40%~80%RH,会发出警示信息;(2)将该警示信息发到下位机,并进行显示和驱动电机控制。二、元器件介绍1、温湿度传感器DHT11DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为4针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。串行接口(单线双向)DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。三、设计方案通过DHT11温湿度传感器接受室内温湿度,然后把40bit温湿度数据传送给单片机并显示在LCD1602上,与此同时,单片机与电脑进行串口通信,使用汇编语言编写上位机程序将温湿度数据能够在上位机进行监控显示。当温度超过5-30℃的范围或湿度超过40%~80%RH,上位机会向单片机发送字符以报警,达到室内环境监控的目的。四、具体实现方案(一)、上位机显示程序使用汇编语言编写上位机程序。将接收到的温度信号显示在显示区。可进行操作对下位机发送信息。当温度超过5-30℃的范围或湿度超过40%~80%RH会自动向下位机发送指令。具体代码如下:STACKSEGMENTDB256DUP(0)ZSDB256DUP(0)STACKENDSDATASEGMENTSEDDB256DUP(0)RECDB256DUP(0)wenDB'Wendu:','$'shiDB'Shidu:','$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKPUSHDSXORAX,AXPUSHAXSTART:MOVAX,DATAMOVDS,AXMOVDX,3FBHMOVAL,80HOUTDX,ALMOVDX,3F8HMOVAL,0CHOUTDX,ALMOVDX,3F9HMOVAL,0OUTDX,ALMOVDX,3FBHMOVAL,03HOUTDX,ALMOVDX,3FCHMOVAL,03HOUTDX,ALMOVDX,3F9HMOVAL,0OUTDX,ALXORCX,CXXORBX,BXmain:PUSHAXPUSHDXMOVAH,02HMOVBH,0MOVDH,0MOVDL,0INT10HPOPAXPOPDXJMPwendumain1:MOVAL,0AHMOVBL,0MOVAH,14INT10HMOVDL,0DHMOVAH,2INT21HJMPshidumain2:MOVAL,0AHMOVBL,0MOVAH,14INT10HMOVDL,0DHMOVAH,2INT21HPUSHCXPOPCXJMPPANDUANwendu:LEADX,wenMOVAH,9INT21HCALLRECEIVELEADI,RECMOV[DI],ALMOVDL,ALMOVAH,02INT21HCALLRECEIVEMOV[DI+1],ALMOVDL,ALMOVAH,02INT21HMOVDL,2EHMOVAH,02INT21HCALLRECEIVEMOV[DI+2],ALMOVDL,ALMOVAH,02INT21HMOVDL,43HMOVAH,02INT21HJMPmain1shidu:LEADX,shiMOVAH,9INT21HCALLRECEIVEMOV[DI+3],ALMOVAH,02HMOVDL,ALINT21HCALLRECEIVEMOV[DI+4],ALMOVDL,ALINT21HMOVDL,2EHINT21HCALLRECEIVEMOV[DI+5],ALMOVDL,ALINT21HMOVDL,25HINT21HJMPmain2PANDUAN:LEADI,RECMOVAL,[DI]CMPAL,32HJAFACMPAL,30HJNEFDMOVAL,[DI+1]CMPAL,35HJBFAFD:MOVAL,[DI+3]CMPAL,38HJNBFACMPAL,34HJBFAJMPmainFA:MOVAL,78HMOVDX,3F8HOUTDX,ALJMPmainRECEIVEPROCNEARIQ:MOVDX,3FDHINAL,DXTESTAL,1EHJNZIQTESTAL,01HJNZWSJMPIQWS:MOVDX,3F8HINAL,DXRETRECEIVEENDPCODEENDSENDSTART(二)、下位机程序下位机程序主要由main;lcd1602;delay;send函数构成。Main函数单片机运行的主程序。Lcd1602是控制液晶显示屏的程序。Delay定义定时器的初始化及中断子函数。Send是双机通信的函数。具体代码如下:U8comdataEQU31HU8T_data_HEQU32HU8T_data_LEQU33HU8RH_data_HEQU34HU8RH_data_LEQU35HU8checkdataEQU36HU8tempEQU37HtempEQU38HTEM0EQU39HTEM1EQU40HTEM2EQU41HTAEQU42HTBEQU43HTCEQU44HTDEQU45HTEEQU46HTFEQU47HTGEQU48HTHEQU49Ha_bitEQU20H;数码管个位数存放内存位置b_bitEQU21H;数码管十位数存放内存位置c_bitEQU22Hd_bitEQU23Ht_bitEQU24Hr_bitEQU25HRSEQUP2.6;确定具体硬件的连接方式RWEQUP2.5;确定具体硬件的连接方式EEQUP2.7;确定具体硬件的连接方式BEEPEQUP1.5T2CONEQU0C8HRCAP2LEQU0CAHRCAP2HEQU0CBHORG0000HAJMPSTARTORG0030HSTART:MOVP0,#0FFHMOVRCAP2L,#0D9HMOVRCAP2H,#0FFHMOVT2CON,#34HMOVSCON,#50HMAIN:LCALLRHLCALLLCDLCALLSENDLCALLRECEIVELJMPMAINRH:CLRP2.0MOVA,#36LCALLDelaySETBP2.0LCALLDelay_10usLCALLDelay_10usLCALLDelay_10usJBP2.0,RH_ENDLOOP1:JNBP2.0,LOOP1LOOP2:JBP2.0,LOOP2LOOP2_END:LCALLReadMOVU8RH_data_H,ALCALLReadMOVU8RH_data_L,ALCALLReadMOVU8T_data_H,ALCALLReadMOVU8T_data_L,ALCALLReadMOVU8checkdata,ACLRP2.0LCALLDelay_10usLCALLDelay_10usLCALLDelay_10usLCALLDelay_10usLCALLDelay_10usSETBP2.0RH_END:RETRead:MOVtemp,#8LOOP3:JNBP2.0,LOOP3LOOP3_END:LCALLDelay_10usLCALLDelay_10usLCALLDelay_10usLCALLDelay_10usMOVC,P2.0RLCALOOP4:JBP2.0,LOOP4DJNZtemp,LOOP3RETDelay:MOVR4,AD1:MOVR5,#0FFHDJNZR5,$DJNZR4,D1RETDelay_10us:NOPNOPNOPNOPNOPNOPRETLCD:display:ACALLDL100MSACALLDL100MSMOVA,U8T_data_H;温度高位MOVB,#0AH;10进制/10=10进制DIVABADDA,#00110000BMOVb_bit,AMOVA,BADDA,#00110000BMOVa_bit,AMOVA,U8T_data_L;温度低位MOVB,#26DIVABADDA,#00110000BMOVt_bit,AMOVA,U8RH_data_H;湿度高位MOVB,#0AH;10进制/10=10进制DIVABADDA,#00110000BMOVd_bit,AMOVA,BADDA,#00110000BMOVc_bit,AMOVA,U8RH_data_L;温度低位MOVB,#26DIVABADDA,#00110000BMOVr_bit,AFUWEI:MOVP0,#00000001B;;清屏并光标复位ACALLENABLE;调用写入命令子程序MOVP0,#00111000B;;设置显示模式:8位2行5x7点阵ACALLENABLE;调用写入命令子程序MOVP0,#00001111B;;显示器开、光标开、光标允许闪烁ACALLENABLE;调用写入命令子程序MOVP0,#00000110B;;文字不动,光标自动右移ACALLENABLE;调用写入命令子程序MOVTC,b_bitMOVTD,a_bitMOVTF,t_bitMOVR7,#08HMOVTEM1,#80HMOVTA,#01010100BMOVTB,#00111010BMOVTE,#00101110BMOVTG,#11011111BMOVTH,#01000011BMOVTEM2,#42HLOOP5:MOVP0,TEM1INCTEM1ACALLENABLE;调用写入命令子程序MOVR1,TEM2MOVP0,@R1;输入TINCTEM2ACALLGDPGDJNZR7,LOOP5MOVTC,d_bitMOVTD,c_bitMOVTF,r_bitMOVR7,#06HMOVTEM1,#0C0HMOVTA,#01010010BMOVTB,#00111010BMOVTE,#00101110BMOVTG,#00100101BMOVTEM2,#42HLOOP6:MOVP0,TEM1INCTEM1ACALLENABLE;调用写入命令子程序MOVR1,TEM2MOVP0,@R1;输入TINCTEM2ACALLGDPGDJNZR7,LOOP6MOVP0,#0C6H;;写入显示起始地址(第2行第7
本文标题:室内环境控制系统项目报告
链接地址:https://www.777doc.com/doc-2461903 .html