您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 单片机程序设计课程设计资料
课程设计名称:单片机程序设计基础题目:智能浇花装置程序设计学期:2013-2014学年第二学期专业:测控技术与仪器班级:测控11-1姓名:学号:指导教师:完成日期:2014年5月30日智能浇花装置程序设计1辽宁工程技术大学课程设计成绩评定表学期2013-2014(二)姓名专业测控技术与仪器班级测控11-1课程名称单片机程序设计基础论文题目智能浇花装置程序设计评定指标评定指标分值得分知识创新性20理论正确性20内容难易性15结合实际性10知识掌握程度15书写规范性10工作量10总成绩100评语:任课教师时间2014年6月8日备注智能浇花装置程序设计2课程设计任务书一、设计题目智能浇花装置系统程序设计二、设计任务设计在单片机为核心的前提下,完成对花盆的浇水,对水箱的补水以及低温报警功能。通过使用继电器,温度传感器,湿度传感器等元件,编写合适的驱动程序进行控制,完成装置的全部功能。三、设计计划本设计共1周。第1天:针对选题查资料,确定设计方案;第2天:方案分析比较,确定程序的逻辑顺序,执行步骤;通过网上搜索,学习并理解部分芯片的程序操作。第3天:编写主程序流程图和软件程序;第4天:对编写程序进行语法和逻辑纠错,并下载运行;第5天:编写整理设计报告。四、设计要求1、绘制软件流程图并利用C语言编写软件程序;2、形成设计报告。指导教师:教研室主任:2014年5月26日智能浇花装置程序设计3目录1、系统程序功能及设计思路.......................................................................................................41.1系统主要功能...............................................................................................................41.2程序设计思路...............................................................................................................42、主程序及其他程序的设计.......................................................................................................62.1主程序流程设计...............................................................................................................62.2系统状态检测程序...........................................................................................................72.3系统操控程序...................................................................................................................92.4数据显示程序.................................................................................................................113、调试.........................................................................................................................................143.1程序逻辑检查及语法校正.............................................................................................143.2程序编译及装载.........................................................................................................144、总结.........................................................................................................................................155、设计体会.................................................................................................................................16参考文献.......................................................................................................................................17智能浇花装置程序设计41、系统程序功能及设计思路1.1系统主要功能智能浇花装置主要功能如下:1、检测土壤湿度并自动浇水,通过电磁阀控制花盆内水量2、通过继电器控制水泵进行自动补水功能。3、低温报警。室温低影响花卉生长,此时需要声音提醒。4、人机交互显示。使用LCD5110液晶进行显示。上述各个功能均有不同电路模块进行控制,核心芯片为STC12C5A60S2,程序代码兼容8051系列单片机。1.2程序设计思路花盆土壤水箱室温,湿度检测水箱水位检测土壤湿度检测单片机LCD5110显示继电器水泵电磁阀图1智能浇花装置硬件工作原理智能浇花系统程序语言以C语言为主,根据设计所实现的不同功能,将系统程序分为主程序和驱动程序两部分。其中,主程序的作用包含控制逻辑的实现、驱动程序的调用及配合、功能区分以及系统初始化。驱动程序主要为部分传感器及芯片的通信协议、数据采集和处理程序、液晶显示所用字库以及单片机操作程序,由于驱动程序涉及硬件电路中的各个模块,因此,驱动程序比较繁多,主要有LCD5110驱动、DS18b20通信协议、DHT11通信协议、继电器控制程序、水位检测控制程序以及单片机中断和AD转换功能设定程序。主程序中包含4个子程序块分别为系统初始化程序、系统全状态检测程序、系统操控程序和数据显示程序。主要功能如下:1、系统初始化程序完成系统上电时,对部分芯片的初始设定、单片机定时器中断功能的设定、液晶初始显示内容以及相关标志位的赋值。智能浇花装置程序设计52、全状态检测程序主要用于对空气温湿度、土壤湿度、水箱水位的检测,当系统初次通电、复位以及其他可能用于检测时,都会使用该程序或者首先执行该检测程序,保证整个装置在正常情况下工作以便完成相应的功能。3、系统操控程序主要是在采集到系统状态参数后,针对不同情况执行不同的功能,命令部分硬件机构处理相应问题如土壤湿度低,会命令继电器吸合使电磁阀开始浇水等。4、数据显示程序利用LCD5110液晶为使用者提供有关系统的检测参数如土壤湿度,空气温湿度等,同时,在执行某些功能时,显示提示信息,实时监控系统各参数的变化。驱动程序以.H文件形式存在于主函数之外,通过全局变量或者临时标志位,互通信息,执行主函数的控制指令。驱动程序因芯片而不同,通信时序千差万别,部分驱动程序以芯片数据手册提供的C语言程序为主,无需自己编写即可使用,但是,由于STC12C5A60S2单片机指令执行速度快于8051系列,因此,驱动程序中的通信时序要经过调试、验证后才能真正在本系统程序中使用。智能浇花装置程序设计62、主程序及其他程序的设计2.1主程序流程设计系统初始化Init系统全状态检测Statefulinspection系统操控Systemcontrol系统数据全显示Statusdisplay开始图2系统主程序流程图系统主程序流程设计如图2所示,程序详细内容如下:/************************************************//*********系统主程序***************//************************************************/voidmain(){Init();//系统初始化while(N){Stateful_Inspection();//系统状态监测System_Control();//系统操控Status_Display();//系统数据显示与提醒}}上述程序中,N的赋值操作在初始化程序内对DS18B20的忙信号检测程序段中,当温智能浇花装置程序设计7度传感器未有信号应答时,N=0,将不执行while循环,而是在液晶上提示传感器未接入系统,如果传感器正常工作,N=1,执行while循环。2.2系统状态检测程序开始结束WaterLe_key1=1;WaterLe_key2=1;调用DS18B20、DHT11、AD转换函数,分别读出采样值温度报警标志位=1花盆浇水标志位=1水箱上水标志位=1温度低于警戒值?水箱水位是否最低?土壤湿度是否最低?否否否是是是图3状态检测程序流程图上图展示了系统对自身状态检测的运行过程,其中,WaterLe_key1、WaterLe_key2分别为高低水位检测传感器的使能标志位,当程序执行对水箱水位检测的功能时,必须对二者赋值为1,若为0,则关闭传感器无法获取信号。检测程序获取到状态信息后,不用直接去调用某些功能驱动程序,只需要将相应的标志位赋值即可,这样,可使程序整体执行效率提高,编写时容易发现错误。程序中所有条件判断语句均使用if…else,程序详细内容如下:/*************************************************系统全状态检测*****************************************************/voidStateful_Inspection(){智能浇花装置程序设计8if(SI){WaterLe_key1=1;WaterLe_key2=1;calculate_T();//计算温度T_Value=TN;//读出温度整数部分,为“温度报警”做准备RH();//计算湿度RHS_Value=1000-2*ADC_Result(0);//AD转换输出的是十进制整形数据,该公式用于直//接计算湿度的百分比,计算所得数据需要除以10if(T_Value=T_Alert){KW_view=1;//报警开启}elseif(Water_level2==1)//检查低水位传感器信号,等于1,说明水箱无水,则上水{Draw_water=1;}elseif(S_Value=S_AlertL)//在温度适宜,水箱有足够水的情况下,检测土壤干湿度{Water_on=1;//小于最低湿度则执行浇水操作,此处置标志位为1即开启}}}上述程序中:1、SI标志位用于实现程序不同情况下都可对系统的检查,使该程序利用率提高,当遇到需要检测的状况时,直接调用并对标志位赋值,不用在重复编写某些检测程序。2、函数名为calculate_T、RH、ADC_Result的程序分别用于对空气温度、湿度和土壤湿度的数据采集与处理。3、标志位KW_view用于执行温度报警,标志位Draw_water用于水箱上水,标志位Water_on用于
本文标题:单片机程序设计课程设计资料
链接地址:https://www.777doc.com/doc-3505377 .html