温室大棚温湿度调控技术(8)

2019-05-18 14:19

打开外部中断0 启动键盘 延时2S,以便正常 读取温、湿度值 图4-1 系统软件设计整体结构图

#include #include //#include #include \#include \

uint T; //占空比 高电平时间 T={x|0<=x<=20000} /******************************引脚定义******************************/ //P0 = LCD_DATA //已定义

sbit JDQ = P1^1; //继电器输出 sbit LEDR = P1^3; //LED红灯输出 sbit LEDY = P1^4; //黄灯

//sbit lcdrs = P1^5;//read 已定义 //sbit lcdrw = P1^6;//write 已定义 //sbit lcden = P1^7;//enable 已定义 sbit UP = P2^0; // + sbit DOWN = P2^1; // -

sbit SPK = P2^2; //蜂鸣器输出 sbit PWM = P2^3; //PWM信号输出

sbit SET = P3^2; //由中断进入温湿度设定 SET键 //sbit P2_0 = P3^4; //DHT11 DATA端口

/*******************************************************************/

/*******************************************************************/

void timer_init() //定时器初始化 {

TMOD = 0x11; //T0 T1 工作于方式1 T=10000; //设定初始占空比为50%

36

TH0 = (65536-20000)/256; //定时器0装初值:20ms TL0 = (65536-20000)%6;

TH1 = (65536-T)/256; //定时器1装初值:10ms TL1 = (65536-T)%6;

EA = 1; //开启所有中断 TR0 = 0; //关闭定时器0 TR1 = 0; //关闭定时器1

ET0 = 1; //允许定时器0中断 ET1 = 1; //允许定时器1中断 EX0 = 1; //允许外部中断0 PWM = 0; }

void sanfeng() //打开电机散热 ,降低湿度 {

int t;

TR0 = 1; //运行定时器0,1 开始输出PWM信号 TR1 = 1;

if(xianzhi_t>SETT_H)

t= xianzhi_t-SETT_H;//显示值与设定值的差值决定 PWM 占空比=t/20

else if(xianzhi_h20) t= 20; T=1000*t;

// JDQ = 0; //控制继电器 打开电磁阀 }

void out_init()//输出初始化 {

PWM = 0; //关输出PWM信号 LEDR = 1; //灭红灯 LEDY = 1; //灭黄灯 SPK = 1; //关蜂鸣器

JDQ = 1; //关继电器 电磁阀 }

/*******************************************************************/

/*******************************************************************/

void main() //仿真 {

lcd_init(); //lcd初始化 lcd_geshi(); //设定初始显示内容

timer_init(); //定时器0,1外部中断0 初始化 都关

37

out_init(); //初始化各输出信号 RH(); //读取温湿度 Disp(); //显示温湿度 while(1) {

if(xianzhi_t>SETT_H) //温度大于设定上限 {

SPK = 0; //蜂鸣器鸣叫 LEDR = 0; //红色灯亮

JDQ = 0; //打开继电器 电磁阀 sanfeng(); //打开风扇 }

else if(xianzhi_t

SPK = 0;

LEDR = 0; } else {

LEDR = 1; //关闭灯 SPK = 1; //关蜂鸣器 JDQ = 1; //关电磁阀 TR0 = 0; //关电机

TR1 = 0; //定时器0,1关闭 ;无PWM输出 }

if(xianzhi_h>SETH_H)//湿度太高 {

LEDY = 0; //黄色灯亮 SPK = 0; //蜂鸣器鸣叫 sanfeng(); //打开风扇 }

else if(xianzhi_h

LEDY = 0; //黄灯亮

SPK = 0; //蜂鸣器鸣叫

JDQ = 0; //打开继电器 开电磁阀 }

else //if(xianzhi_h<=SET_H) {

LEDY = 1; //关闭灯 SPK = 1; //关蜂鸣器 JDQ = 1; //关电磁阀 TR0 = 0; //关电机

TR1 = 0; //定时器0,1关闭 ;无PWM输出

38

}

} }

Delay(20000);//读取模块数据周期不易小于 2S

EX0 = 1; //打开外部中断0 恢复按键设定功能

39

40


温室大棚温湿度调控技术(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2010年水资源公报

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: