智能温室控制系统设计.docx
- 文档编号:9620778
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:16
- 大小:361.50KB
智能温室控制系统设计.docx
《智能温室控制系统设计.docx》由会员分享,可在线阅读,更多相关《智能温室控制系统设计.docx(16页珍藏版)》请在冰点文库上搜索。
智能温室控制系统设计
单片机开发与设计工程师考试文档
学校:
湖南人文科技学院
题目:
智能温室控制系统设计
姓名:
杨情红孙静
学号:
0740920207409224
日期:
2010年6月27日
摘要
智能温室控制技术是现代农业技术研究的重要内容,通过对温室内外监测数据的分析,结合作物生长发育的规律,控制有关设备,实现对温室要素的调控,达到作物优质、高产、高效的栽培目的。
本文通过对温室控制技术的研究,设计一种温室智能控制系统。
该应用系统采用分布式的系统结构方式,以PC机为上位机,完成数据处理、参数设置等辅助功能;采用MCS-51单片机为下位机,完成全部控制功能,下位机可脱离上位机独立工作;可以设置温度值或湿度值的范围,可以自动、制冷、加热、光照、加湿。
关键词:
单片机;温室控制;LED数码管;8255A芯片;STC89C52;矩阵键盘;复位电路
目录
设计要求1
1设计方案1
2总体方案设计原理2
3模块设计4
3.1STC89C524
3.28255A芯片5
3.3矩阵键盘6
3.4LED数码管电路6
3.5复位电路7
4编程调试下载7
5系统功能测试与整体指标9
6元器件及仪器设备明细表9
参考文献10
附录一:
系统电路图11
附录二:
程序11
智能温室控制系统设计
设计要求
利用单片机作为控制核心,完成一个智能空调控制系统。
具体要求如下:
(1)设置自动、制冷、加热、光照、加湿五种模式,通过一个模式按键进行模式切换
(2)设置2个按键,分别用来增加或减少温度值的设置
(3)能实现温度设定,最高温度限制为40℃,最低温度限制为16℃,温度调整范围为1℃
(4)可通过电脑进行远程设置
(5)可通过电脑对空调进行远程控制开关机
1设计方案
STC89C52单片机系统为核心来对温度、湿度进行实时控制和巡检。
各检测单元能独立完成各自功能,并根据主控机的指令对温度进行实时设置。
测量结果不仅能在本地储存和显示,而且可通过RS-485总线及通信协议将采集的数据传送到主控机。
以便进行进一步的分析、存档、处理。
主控机负责控制指令的发送,主控机与各从机之间能够相互联系、相互协调,从而达到系统整体统一和谐的控制效果。
采用STC89C52控制8255A芯片,通过单片机键盘和PC机设置的温度值或湿度值,通过数码管来显示出来。
四种模式用一个模式按键来切换;用3位LED数码管以串口传送数据实现温度或湿度和模式显示。
原理框图如图1所示:
图1系统方框图
2总体方案设计原理
本次课题采用STC89C52控制8255A芯片,通过单片机矩阵键盘和PC机设置的温度值或湿度值,通过数码管来显示出来。
四种模式用一个模式按键来切换。
用3位LED数码管以串口传送数据实现温度和模式显示。
系统软件工作流程图如下:
图2系统软件工作流程图
键盘扫描函数的流程图如下:
图3键盘扫描函数工作流程图
3模块设计
本课题所用的模块有STC89C52、8255A芯片、矩阵键盘、LED数码管电路、复位电路。
3.1STC89C52
STC89C52作为主控芯片,通过可编程并行口8255A芯片和单片机上的矩阵键盘的输入来设置温度或湿度的值并通过LED数码管来显示出来。
如图4所示:
图4STC89C52图
3.28255A芯片
8255A芯片通过其引脚PA0~PA3,PB0~PB3,PC0~PC3来锁定键盘的按键和数码管的选择和显示。
原理图如图5所示:
图58255A芯片图
3.3矩阵键盘
通过键盘来设置,再另外设置2个按键,分别用来增加或减少温度或湿度值的设置。
在这里S1键是调节模式键,S5和S9键分别是增加和减少温度值或湿度值的。
电路如图6示:
图6矩阵键盘电路图
3.4LED数码管电路
LED数码管来显示温度或湿度的设置值和所在的模式。
电路如图7示:
图7LED数码管电路图
3.5复位电路
系统复位。
电路如图8示:
图8复位电路图
4编程调试下载
本次课题采用C语言编程,使用keil编译器,调试程序分以下几个步骤进行:
1、先进行人工检查,即静态检查。
在写好程序以后,对纸面上的程序进行人工检查。
为了更有效地进行人工检查,所编的程序应注意力求做到以下几点:
应当采用结构化程序方法编程,以增加可读性;2尽可能多加注释,以帮助理解每段程序的作用;3在编写复杂的程序时不要将全部语句都写在main函数中,而要多利用函数,用一个函数来实现一个单独的功能。
这样既易于阅读也便于调试,各函数之间除用参数传递数据这一渠道以外,数据间尽量少出现耦合关系,便于分别检查和处理。
2、在人工检查无误后,进行上机调试。
在编译时给出语法错误的信息,可以根据提示的信息具体找出程序中出错之处并改正之。
应当注意的是有时提示的出错并不是真正出错的行,如果在提示出错的行上找不到错误的话应当到上一行再找。
有时提示出错的类型并非绝对准确,由于出错的情况繁多各种错误互有关联,因此要善于分析,找出真正的错误,而不要只从字面意义上找出错信息,钻牛角尖。
如果系统提示的出错信息多,应当从上到下一一改正。
有时显示出一大片出错信息往往使人感到问题严重,无从下手。
其实可能只有一二个错误。
在改正语法错误后,程序经过连接就得到可执行的目标程序。
3、下载:
本次设计所使用的是STC-ISPV35单片机在线下载软件,设置完该软件的想关参数后,将keil成功编译后得到的.hex文件通过该软件烧写入单片机中,下载时,应注意先关掉单片机电源,在STC-ISPV35提示“正在尝试与MCU/单片机握手连接..”时打开电源,则可将.hex文件成功烧入单片机中,继而看到实验的初始值。
4、按下S1键,可以进行模式的切换,模式1-5分别对应自动、制冷、加热、光照、加湿五种模式,按下S5和S9分别可以增加和减少温度值或湿度值,其范围是16到40。
5、通过PC机远程设置和开、关机。
打开串口调试程序,初始化设置端口号为COM3,波特率为2400,数据位为8位,停止位为1位,检验位为None;打开串口,输入要设置的数值,采用按十六进制显示或发送,按下发送,就可以看到LED数码管上的变化了。
5系统功能测试与整体指标
表格1系统测试结果
测量序号
理论值
测量值
mode=1,tem=20
mode=1,tem=20
mode=1,tem=20
mode=2,tem=20
mode=2,tem=20
mode=2,tem=20
mode=3,tem=20
mode=3,tem=20
mode=3,tem=20
mode=4,tem=20
mode=4,tem=20
mode=4,tem=20
mode=5,tem=20
mode=5,tem=20
mode=5,tem=20
Temp=1
mode=1
mode=1
Temp=2
mode=2
mode=2
Temp=1
mode=3
mode=3
Temp=23
Tem=23
Tem=23
Temp=24
Tem=24
Tem=24
Temp=0
关机
关机
6元器件及仪器设备明细表
表格2仪器清单
仪器名称
数量
STC89C52
1
可编程并行口8255A芯片
1
矩阵键盘
1
LED数码管
3
参考文献
[1]朱定华,戴汝平.单片微机原理与应用.(M)北京:
清华大学出版社,2003
[2]张小梅,陆俊,彭冰沁,刘宏.嵌入式智能家居控制系统的设计与实现[J].微计算机信息,2007,1-2:
pp.55-56.
[3]李朝青.单片机原理及接口技术(简明修订版).杭州:
北京航空航天大学出版社,1998
[4] 李广弟.单片机基础[M].北京:
北京航空航天大学出版社,1994
[5] 阎石.数字电子技术基础(第三版).北京:
高等教育出版社,1989
附录一:
系统电路图
附录二:
程序
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
#definePAXBYTE[0xD1FF]/*PA口地址*/
#definePBXBYTE[0xD2FF]/*PB口地址*/
#definePCXBYTE[0xD5FF]/*PC口地址*/
#defineCONXBYTE[0xD7FF]/*控制字地址*/
voiddisplay(ucharm,ucharn);
uchartem,mode,flag,temp;
ucharconstcodetable[10]={
0xA0,/*0*/
0xBB,/*1*/
0x62,/*2*/
0x2A,/*3*/
0x39,/*4*/
0x2C,/*5*/
0x24,/*6*/
0xBA,/*7*/
0x20,/*8*/
0x28,/*9*/
};
voiddelay(ucharz)//延时约Zms
{
ucharx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voidscan_keyboard()
{
ucharkdata;
PA=0x01;
kdata=PC;
if(kdata==0x01)
{
delay(5);
kdata=PC;
if(kdata==0x01)
{
while(PC)
display(tem,mode);
mode++;
if(mode>5)
mode=1;
}
}
if(kdata==0x02)
{
delay(5);
kdata=PC;
if(kdata==0x02)
{
while(PC)
display(tem,mode);
if(tem<41)
tem++;
}
}
if(kdata==0x04)
{
delay(5);
kdata=PC;
if(kdata==0x04)
{
while(PC)
display(tem,mode);
if(tem>15)
tem--;
}
}
}
voiddisplay(ucharm,ucharn)
{
CON=0x89;
PA=0xFF;
PB=0xFF;
PA=0xFE;
PB=table[m/10];
delay(5);
PB=0xFF;
PA=0xFD;
PB=table[m%10];
delay(5);
PB=0xFF;
PA=0xEF;
PB=table[n];
delay(5);
PB=0xFF;
}
voidinit()
{
TMOD=0x20;
TR1=1;
//ET1=1;
TH1=0xF3;
TL1=0xF3;
REN=1;
SM0=0;
SM1=1;
ES=1;
EA=1;
RI=0;
TI=0;
}
voidmain(void)
{
mode=1;
tem=20;
init();
while
(1)
{
if(flag==1)
{
flag=0;
if((temp<=40)&&(temp>=16))//调整温度
tem=temp;
if((temp>=1)&&(temp<=5))//调整模式
mode=temp;
if(temp==0)//关机
break;
}
display(tem,mode);
scan_keyboard();
}
}
voidISR_uart()interrupt4
{
if(RI==1)
RI=0;
temp=SBUF;
flag=1;
SBUF=temp;//回发给上位机
while(!
TI);
TI=0;
}
主控制器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 温室 控制系统 设计