电信0901--智能灌溉监控系统设计

沐浅 分享 2025-7-9 下载文档

总结与体会

17

附录A 总程序

#include #include #include \#include \#include \

#define uchar unsigned char #define W_cmd 0xa0 //24c02写指令

#define R_cmd 0xa1 //24c02读指令

uint temp,humi;

value humi_val,temp_val; //定义两个共同体,一个用于湿度,一个用于温度

uchar error; //用于检验是否出现错误

uchar set_humi[4]; //保存设定的湿度

uchar idata temp_humi_cache[8]; //温湿度设置缓存 uint

//温度上限变量 uint

//温度下限变量 uint

//湿度上限变量 uint

//湿度下限变量 uchar

//按键次数变量 uchar //用于蜂鸣器

temp_high;

temp_low;

humi_high;

humi_low;

presskeynum;

nn;

uchar checksum; //CRC uchar code word1[]={%uchar TEMP_data[7]; //用于记录实测的温度

uchar HUMI_data[6]; //用于记录实测的湿度

uchar set_temp[5]; //保存设定的温度

18

of %uchar

code

word2[]={\

ELECTRONS%uchar

code

word3[]={\

Welcome........\sbit

k1=P3^2;

//按键 sbit //按键 sbit //按键 sbit {

k2=P3^3; delay(10);

if (k1==0)

k3=P3^4; {

presskeynum++;

k4=P3^5; if(presskeynum==5)

//按键

sbit beep=P1^4; sbit led1=P1^3; sbit led2=P1^5; sbit led3=P1^6; sbit led4=P1^7; sbit led5=P3^6; //延时函数 void

delay(uint

//z为毫秒数 {

int a,b;

for(a=z;a>0;a--) for(b=120;b>0;b--); }

void key() {

uchar m; if

//调整按键检测

{

presskeynum=0;

}

while(k1==0);

LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏 }

z) }

if(presskeynum==1)//温度上限设置{

if(k2==0)// 加 {

delay(300); temp_high++; if (temp_high>99) temp_high=0;

(k1==0) if (temp_high<0)

temp_high=99;

19

// while(k2==0); //加上此句必须松按键才处理 }

if(k3==0)//减 {

delay(300); temp_high--; if (temp_high>99) temp_high=0; if (temp_high<0) temp_high=99;

// while(k3==0); //加上此句必须松按键才处理 } }

if(presskeynum==2)//温度下限设置 {

if(k2==0)// 加 {

delay(300); temp_low++; if (temp_low>99) temp_low=0; if (temp_low<0) temp_low=99;

20

// while(k2==0); }

if(k3==0) {

delay(300); temp_low--; if (temp_low>99) temp_low=0; if (temp_low<0) temp_low=99; // while(k3==0); } }

if(presskeynum==3)//湿度上限设置 {

if(k2==0)// 加 {

delay(300); humi_high++; if (humi_high>99) humi_high=0; if (humi_high<0) humi_high=99; // while(k2==0);


电信0901--智能灌溉监控系统设计.doc 将本文的Word文档下载到电脑
搜索更多关于: 电信0901--智能灌溉监控系统设计 的文档
相关推荐
相关阅读