温湿度控制器液晶屏输出设计报告Word格式.docx

上传人:b****2 文档编号:969998 上传时间:2023-04-29 格式:DOCX 页数:18 大小:1.28MB
下载 相关 举报
温湿度控制器液晶屏输出设计报告Word格式.docx_第1页
第1页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第2页
第2页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第3页
第3页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第4页
第4页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第5页
第5页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第6页
第6页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第7页
第7页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第8页
第8页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第9页
第9页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第10页
第10页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第11页
第11页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第12页
第12页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第13页
第13页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第14页
第14页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第15页
第15页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第16页
第16页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第17页
第17页 / 共18页
温湿度控制器液晶屏输出设计报告Word格式.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

温湿度控制器液晶屏输出设计报告Word格式.docx

《温湿度控制器液晶屏输出设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《温湿度控制器液晶屏输出设计报告Word格式.docx(18页珍藏版)》请在冰点文库上搜索。

温湿度控制器液晶屏输出设计报告Word格式.docx

其数据包由5Byte(40Bit)组成。

一次通讯时间最大3ms,数据分小数部分和整数部分。

一次完整的数据传输为40bit,高位先出。

数据格式如表一:

表1DHT11数据格式

3、单片机电路

本设计选用宏晶公司高性能单片机STC89C52,其管脚如图4所示。

图4STC89C52单片机管脚图

该芯片为52内核8位单片机,兼容Intel等52内核单片机,支持ISP下载,适用于常用检测控制电路。

由STC89C52组成的单片机系统原理图如图5所示。

图中DATA引脚为温湿度传感器单总线引脚,K1、K2、K3、K4为四只调节按键,用以调整温湿度上限值。

L3、L4、L5为三只报警灯,其中L3为超温报警,L4为超湿报警,L5保留给用户定义。

图5单片机系统原理图

4、显示电路

显示部分采用SMC1602液晶屏进行数据显示,其主要技术参数为:

表2液晶屏技术指标

接口信号说明如表3所示。

表3液晶屏接口信号说明

和单片机接口电路如图6所示。

图6LCD和单片机接口电路

5、温湿度上限存储

温湿度阈值存储在EEPROM芯片AT24C04中,并可以通过K1—K4按键调节并保存,其中K1为温度上限增加,K2为温度上限减小,K3为湿度上限增加,K4为湿度上限减小。

AT24C04是IIC芯片,其电路如图7所示。

图7EEPROM存储电路

6、供电及程序下载电路

本设计采用USB接口供电,电源电压5V。

同时,USB接口通过内含PL2303芯片的转换电路对单片机进行程序编写。

其电路原理如图8所示。

图8供电及程序下载电路

三、软件编程

1、软件流程图

本设计软件主程序流程图如图9所示。

图9主程序流程图

2、主程序

下面介绍main.c主程序编写,其他程序略。

(1)头文件和一些宏定义

#include<

reg52.h>

#include"

1602.h"

dht.h"

2402.h"

(2)管脚定义

sbitLed_qushi=P1^6;

//去湿灯

sbitLed_jiangwen=P1^5;

//降温灯

sbitLed_shengwen=P1^4;

//升温灯

sbitKey_TH1=P3^2;

sbitKey_TH2=P3^3;

sbitKey_HH1=P3^4;

sbitKey_HH2=P3^5;

(3)常量、变量定义

//定义标识

volatilebitFlagStartRH=0;

//开始温湿度转换标志

volatilebitFlagKeyPress=0;

//有键按下

//定义温湿度传感器用外部变量

externU8U8FLAG,k;

externU8U8count,U8temp;

externU8U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;

externU8U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp;

externU8U8checkdata_temp;

externU8U8comdata;

externU8count,count_r;

U16temp;

S16temperature,humidity;

S16idataTH,HH;

//温度上限和湿度上限

char*pSave;

U8keyvalue,keyTH1,keyTH2,keyHH1,keyHH2;

U16RHCounter;

(4)各子程序

//数据初始化

voidData_Init()

{

RHCounter=0;

Led_qushi=1;

Led_jiangwen=1;

Led_shengwen=1;

TH=40;

HH=85;

keyvalue=0;

keyTH1=1;

keyTH2=1;

keyHH1=1;

keyHH2=1;

}

//定时器0初始化

voidTimer0_Init()

ET0=1;

//允许定时器0中断

TMOD=1;

//定时器工作方式选择

TL0=0x06;

TH0=0xf8;

//定时器赋予初值

TR0=1;

//启动定时器

//定时器0中断

voidTimer0_ISR(void)interrupt1using0

//每2秒钟启动一次温湿度转换

RHCounter++;

if(RHCounter>

=1000)

{

FlagStartRH=1;

}

//存入设定值、

voidSave_Setting()

pSave=(char*)&

TH;

//地址低位对应低8位,高位对应高8位

wrteeprom(0,*pSave);

//存温度上限值TH低8位

DELAY(500);

pSave++;

wrteeprom(1,*pSave);

//存温度上限值TH高8位

HH;

wrteeprom(2,*pSave);

//存湿度上限值RH低8位

wrteeprom(3,*pSave);

//存湿度上限值RH高8位

//载入设定值、

voidLoad_Setting()

*pSave++=rdeeprom(0);

*pSave=rdeeprom

(1);

*pSave++=rdeeprom

(2);

*pSave=rdeeprom(3);

if((TH>

99)||(TH<

0))TH=40;

if((HH>

99)||(HH<

0))HH=85;

voidKeyProcess(uintnum)

switch(num)

case1:

if(TH<

99)TH++;

L1602_char(1,15,TH/10+48);

L1602_char(1,16,TH%10+48);

break;

case2:

if(TH>

1)TH--;

case3:

if(HH<

99)HH++;

L1602_char(2,15,HH/10+48);

L1602_char(2,16,HH%10+48);

case4:

if(HH>

1)HH--;

default:

Save_Setting();

(5)main()函数

voidmain()

U16i,j,testnum;

EA=0;

Timer0_Init();

//定时器0初始化

Data_Init();

EA=1;

L1602_init();

L1602_string(1,1,"

WelcometoT&

H"

);

L1602_string(2,1,"

ControlSystem!

"

//延时

for(i=0;

i<

1000;

i++)

for(j=0;

j<

j++)

{;

//清屏

Tem:

CTH:

"

Hum:

%HH:

//载入温度上限和湿度上限设定值

Load_Setting();

while

(1)

//温湿度转换标志检查

if(FlagStartRH==1)

{

TR0=0;

testnum=RH();

FlagStartRH=0;

TR0=1;

//读出温湿度,只取整数部分

humidity=U8RH_data_H;

temperature=U8T_data_H;

//显示温湿度

L1602_int(1,5,temperature);

L1602_int(2,5,humidity);

}

//温湿度控制

if(temperature>

TH)Led_jiangwen=0;

elseLed_jiangwen=1;

//降温

if(humidity>

HH)Led_qushi=0;

elseLed_qushi=1;

//去湿

//键盘查询,在弹起时响应

if((Key_TH1)&

&

(keyTH1==0)){FlagKeyPress=1;

keyvalue=1;

elseif((Key_TH2)&

(keyTH2==0)){FlagKeyPress=1;

keyvalue=2;

elseif((Key_HH1)&

(keyHH1==0)){FlagKeyPress=1;

keyvalue=3;

elseif((Key_HH2)&

(keyHH2==0)){FlagKeyPress=1;

keyvalue=4;

if(FlagKeyPress==1)

KeyProcess(keyvalue);

FlagKeyPress=0;

if(!

Key_TH1)keyTH1=0;

elsekeyTH1=1;

Key_TH2)keyTH2=0;

elsekeyTH2=1;

Key_HH1)keyHH1=0;

elsekeyHH1=1;

Key_HH2)keyHH2=0;

elsekeyHH2=1;

}

四、下载和调试

提供例程在uVision4环境下编译,如果是其他版本uVision,只需将所有.c和.h 

文件拷贝至新建项目,重新编译即可。

当编译生成.hex文件后,就可以下载并进行调试了。

1、USB转串口驱动安装

打开USB驱动文件夹下的PL2303_Prolific_DriverInstaller_v130.exe安装文件,按提示安装USB转串口驱动程序。

安装完成后,插入USB下载线后,在[开始]-[控制面板]-[打印机和其他硬件]-[设备管理器],在“端口”分支下有(ProlificUSB-to-SerialCommPort(COMX)。

X表示串口号,如果没有说明USB转串口驱动没有安装,须重新安装。

记住括号里的COM口号。

图10成功安装USB转串口驱动示意图

2、下载程序

打开STC单片机下载软件文件夹,点击运行STC_ISP_V481.exe程序,出现如下界面。

图11下载软件

正确选择MCU类型,COM口(和刚才安装的COM号一致),最高波特率和最低波特率都选2400bps或者1200bps(下载线内PL2303芯片所限,没办法!

),并打开正确的.hex数据文件。

点击“Download/下载”按纽,窗口出现提示:

Chinese:

正在尝试和MCU/单片机握手连接...

Connectionisfailure.Youcantry:

1.GiveyourMCUPowerOnReset.

2.Stopoperation,thenre-selectCOMPort.

3.BecausePLCC-DIP/PQFP-DIPSockettracetoolong.

4.UpdatetheSTCISP.exeversion.

5.Ifstillerror,yourMCUFirmwareiserror

ornull.

连接失败,请尝试以下操作:

1.在单片机停电状态下,点下载按钮,再给单片机上电

2.停止下载,重新选择RS-232串口,接好电缆

3.可能需要先将P1.0/P1.1短接到地

4.可能外部时钟未接

5.因PLCC、PQFP转换座引线过长而引起时钟不振荡,请

调整参数

6.可能要升级电脑端的STCISP.exe软件

7.若仍然不成功,可能MCU/单片机内无ISP系统引导码,

或需退回升级,或MCU已损坏

8.若使用USB转RS-232串口线下载,可能会遇到不兼容

的问题,可以让我们帮助购买兼容的USB转RS-232

串口线

仍在连接中,请给MCU上电...

按下电路板上的电源按纽,保证其有个失电至上电的过程,则窗口显示开始烧录芯片。

3、运行

下载完成后程序自动运行,或重上电后程序正常运行,如图12所示。

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2