室内环境控制系统项目报告Word文件下载.docx

上传人:b****7 文档编号:22439052 上传时间:2023-02-04 格式:DOCX 页数:22 大小:695.14KB
下载 相关 举报
室内环境控制系统项目报告Word文件下载.docx_第1页
第1页 / 共22页
室内环境控制系统项目报告Word文件下载.docx_第2页
第2页 / 共22页
室内环境控制系统项目报告Word文件下载.docx_第3页
第3页 / 共22页
室内环境控制系统项目报告Word文件下载.docx_第4页
第4页 / 共22页
室内环境控制系统项目报告Word文件下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

室内环境控制系统项目报告Word文件下载.docx

《室内环境控制系统项目报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《室内环境控制系统项目报告Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。

室内环境控制系统项目报告Word文件下载.docx

+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会自动向下位机发送指令。

具体代码如下:

STACKSEGMENT

DB256DUP(0)

ZSDB256DUP(0)

STACKENDS

DATASEGMENT

SEDDB256DUP(0)

RECDB256DUP(0)

wenDB'

Wendu:

'

'

$'

shiDB'

Shidu:

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

PUSHDS

XORAX,AX

PUSHAX

START:

MOVAX,DATA

MOVDS,AX

MOVDX,3FBH

MOVAL,80H

OUTDX,AL

MOVDX,3F8H

MOVAL,0CH

MOVDX,3F9H

MOVAL,0

MOVAL,03H

MOVDX,3FCH

XORCX,CX

XORBX,BX

main:

PUSHAX

PUSHDX

MOVAH,02H

MOVBH,0

MOVDH,0

MOVDL,0

INT10H

POPAX

POPDX

JMPwendu

main1:

MOVAL,0AH

MOVBL,0

MOVAH,14

MOVDL,0DH

MOVAH,2

INT21H

JMPshidu

main2:

PUSHCX

POPCX

JMPPANDUAN

wendu:

LEADX,wen

MOVAH,9

CALLRECEIVE

LEADI,REC

MOV[DI],AL

MOVDL,AL

MOVAH,02

MOV[DI+1],AL

MOVAH,02

MOVDL,2EH

MOV[DI+2],AL

MOVDL,43H

INT21H

JMPmain1

shidu:

LEADX,shi

MOV[DI+3],AL

MOV[DI+4],AL

MOV[DI+5],AL

MOVDL,25H

JMPmain2

PANDUAN:

MOVAL,[DI]

CMPAL,32H

JAFA

CMPAL,30H

JNEFD

MOVAL,[DI+1]

CMPAL,35H

JBFA

FD:

MOVAL,[DI+3]

CMPAL,38H

JNBFA

CMPAL,34H

JMPmain

FA:

MOVAL,78H

JMPmain

RECEIVEPROCNEAR

IQ:

MOVDX,3FDH

INAL,DX

TESTAL,1EH

JNZIQ

TESTAL,01H

JNZWS

JMPIQ

WS:

RET

RECEIVEENDP

CODEENDS

ENDSTART

(二)、下位机程序

下位机程序主要由main;

lcd1602;

delay;

send函数构成。

Main函数单片机运行的主程序。

Lcd1602是控制液晶显示屏的程序。

Delay定义定时器的初始化及中断子函数。

Send是双机通信的函数。

具体代码如下:

U8comdataEQU31H

U8T_data_HEQU32H

U8T_data_LEQU33H

U8RH_data_HEQU34H

U8RH_data_LEQU35H

U8checkdataEQU36H

U8tempEQU37H

tempEQU38H

TEM0EQU39H

TEM1EQU40H

TEM2EQU41H

TAEQU42H

TBEQU43H

TCEQU44H

TDEQU45H

TEEQU46H

TFEQU47H

TGEQU48H

THEQU49H

a_bitEQU20H;

数码管个位数存放内存位置

b_bitEQU21H;

数码管十位数存放内存位置

c_bitEQU22H

d_bitEQU23H

t_bitEQU24H

r_bitEQU25H

RSEQUP2.6;

确定具体硬件的连接方式

RWEQUP2.5;

EEQUP2.7;

BEEPEQUP1.5

T2CONEQU0C8H

RCAP2LEQU0CAH

RCAP2HEQU0CBH

ORG0000H

AJMPSTART

ORG0030H

MOVP0,#0FFH

MOVRCAP2L,#0D9H

MOVRCAP2H,#0FFH

MOVT2CON,#34H

MOVSCON,#50H

MAIN:

LCALLRH

LCALLLCD

LCALLSEND

LCALLRECEIVE

LJMPMAIN

RH:

CLRP2.0

MOVA,#36

LCALLDelay

SETBP2.0

LCALLDelay_10us

LCALLDelay_10us

JBP2.0,RH_END

LOOP1:

JNBP2.0,LOOP1

LOOP2:

JBP2.0,LOOP2

LOOP2_END:

LCALLRead

MOVU8RH_data_H,A

MOVU8RH_data_L,A

MOVU8T_data_H,A

MOVU8T_data_L,A

MOVU8checkdata,A

RH_END:

Read:

MOVtemp,#8

LOOP3:

JNBP2.0,LOOP3

LOOP3_END:

MOVC,P2.0

RLCA

LOOP4:

JBP2.0,LOOP4

DJNZtemp,LOOP3

Delay:

MOVR4,A

D1:

MOVR5,#0FFH

DJNZR5,$

DJNZR4,D1

RET

Delay_10us:

NOP

LCD:

display:

ACALLDL100MS

ACALLDL100MS

MOVA,U8T_data_H;

温度高位

MOVB,#0AH;

10进制/10=10进制

DIVAB

ADDA,#00110000B

MOVb_bit,A

MOVA,B

MOVa_bit,A

MOVA,U8T_data_L;

温度低位

MOVB,#26

MOVt_bit,A

MOVA,U8RH_data_H;

湿度高位

MOVd_bit,A

MOVc_bit,A

MOVA,U8RH_data_L;

MOVB,#26

DIVAB

ADDA,#00110000B

MOVr_bit,A

FUWEI:

MOVP0,#00000001B;

清屏并光标复位

ACALLENABLE;

调用写入命令子程序

MOVP0,#00111000B;

设置显示模式:

8位2行5x7点阵

ACALLENABLE;

MOVP0,#00001111B;

显示器开、光标开、光标允许闪烁

调用写入命令子程序

MOVP0,#00000110B;

文字不动,光标自动右移

调用写入命令子程序

MOVTC,b_bit

MOVTD,a_bit

MOVTF,t_bit

MOVR7,#08H

MOVTEM1,#80H

MOVTA,#01010100B

MOVTB,#00111010B

MOVTE,#00101110B

MOVTG,#11011111B

MOVTH,#01000011B

MOVTEM2,#42H

LOOP5:

MOVP0,TEM1

INCTEM1

ACALLENABLE;

MOVR1,TEM2

MOVP0,@R1;

输入T

INCTEM2

ACALLGDPG

DJNZR7,LOOP5

MOVTC,d_bit

MOVTD,c_bit

MOVTF,r_bit

MOVR7,#06H

MOVTEM1,#0C0H

MOVTA,#01010010B

MOVTG,#00100101B

LOOP6:

DJNZR7,LOOP6

MOVP0,#0C6H;

写入显示起始地址(第2行第7个位置)

MOVP0,#00100101B;

A个位送出去

SETBRS;

RS=1

CLRRW;

RW=0;

准备写入数据

CLRE;

E=0;

执行显示命令

ACALLDELAYL;

判断液晶模块是否忙?

SETBE;

E=1;

显示完成,程序停车*/

RET

GDPG:

显示完成,程序停车

ENABLE:

CLRRS;

写入控制命令的子程序

CLRRW

CLRE

ACALLDELAYL

SETBE

DELAYL:

MOVP0,#0FFH;

判断液晶显示器是否忙的子程序

CLRRS

SETBRW

NOP

JBP0.7,DELAYL;

如果P1.7为高电平表示忙就循环等待

DL100MS:

MOVR7,#02H

DL1:

MOVR6,#0C8H

DL2:

MOVR5,#0FAH

DJNZR5,$

DJNZR6,DL2

DJNZR7,DL1

Delay_2S:

MOVA,#250

MOVA,#250

SEND:

CLRTI

CLRES

MOVA,b_bit

CALLSEND1

MOVA,a_bit

MOVA,t_bit

MOVA,d_bit

MOVA,c_bit

MOVA,r_bit

MOVSBUF,A

JNBTI,$

SEND1:

CHULI1:

MOVR6,#100

BL2:

CALLDEX1

CPLBEEP

DJNZR6,BL2

MOVR5,#10

CALLDELAYe

DEX1:

MOVR7,#180

DE2:

DJNZR7,DE2

DELAYe:

MOVR6,#50

DL1T:

MOVR7,#100

DJNZR7,$

DJNZR6,DL1T

DJNZR5,DELAYe

RECEIVE:

JNBRI,LLL

CLRRI

CALLCHULI1

LLL:

END

五、项目分工

朱律诚:

编写上位机代码

李纯晨:

周轶轩:

编写下位机代码

肖鑫:

滕飞:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1