版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计名称:单片机程序设计基础题目:智能浇花装置程序设计学期: 2013-2014 学年第二学期专业:测控技术与仪器班级:测控 11-1姓名:学号:指导教师:日 30 月 5 年 2014 完成日期:智能浇花装置程序设计辽宁工程技术大学课 程学期专业课程名称论文题目评定指标设计成绩评定表) 二 2013-2014( 开姓名始开始测控技术与仪器班级测控 11-1系统初始化InitWaterLe_key1=1;单片机程序设计基础WaterLe_key2=1;智能浇花装置程序设计系统全状态检测Statefulinspection调用 DS18B20、DHT11、AD转换函数,分别读出采样值评定指标
2、 系统操控分值温度报得分System control警是知识创新性 温度低于警戒20 标志位=1值?理论正确性系统数据全显20示 Status display否内容难易性 水箱水位是否最15 是水箱上水标=1低?志位结合实际性否10知识掌握程度15 是花盆浇水书写规范性 土壤湿度是否最10 标志位=1低?工作量 否10总成绩100评语:任课教时2014年 6月 8 日间师备注1智能浇花装置程序设计课程设计任务书一、设计题目智能浇花装置系统程序设计二、设计任务设计在单片机为核心的前提下,完成对花盆的浇水,对水箱的补水以及低温报警功能。通过使用继电器,温度传感器,湿度传感器等元件,编写合适的驱动程
3、序进行控制,完成装置的全部功能。三、设计计划 本设计共 1 周。第 1 天:针对选题查资料,确定设计方案;第 2 天:方案分析比较,确定程序的逻辑顺序,执行步骤;通过网上搜索,学习并理解部分芯片的程序操作。第 3 天:编写主程序流程图和软件程序;第 4 天:对编写程序进行语法和逻辑纠错,并下载运行;第 5 天:编写整理设计报告。四、设计要求1、绘制软件流程图并利用C 语言编写软件程序;2、形成设计报告。指导教师:教研室主任:2014年 5月 26 日2智能浇花装置程序设计目录1、系统程序功能及设计思路 .41.1 系统主要功能 .4程序设计思路 .1.242、主程序及其他程序的设.6计2.1
4、主程序流程设计 .62.2 .系统状态检测程7序2.3 .系统操控程9序2.4 数据显示程序 .113、调试 . 143.1 程序逻辑检查及语法校正 .143.2程序编译及装载.144、总结 . 155、设计体会 .16参考文献 . 173智能浇花装置程序设计1、系统程序功能及设计思路1.1 系统主要功能智能浇花装置主要功能如下:1、检测土壤湿度并自动浇水,通过电磁阀控制花盆内水量2、通过继电器控制水泵进行自动补水功能。3、低温报警。室温低影响花卉生长,此时需要声音提醒。4、人机交互显示。使用LCD5110 液晶进行显示。上述各个功能均有不同电路模块进行控制,核心芯片为 STC12C5A60S
5、2,程序代码兼容 8051 系列单片机。1.2 程序设计思路LCD5110显示室温,湿度水箱水位土壤湿度单片机检测检测检测继电器花盆土壤水箱电磁阀水泵图 1 智能浇花装置硬件工作原理智能浇花系统程序语言以 C 语言为主,根据设计所实现的不同功能,将系统程序分为主程序和驱动程序两部分。 其中,主程序的作用包含控制逻辑的实现、 驱动程序的调用及配合、 功能区分以及系统初始化。 驱动程序主要为部分传感器及芯片的通信协议、数据采集和处理程序、 液晶显示所用字库以及单片机操作程序, 由于驱动程序涉及硬件电路中的各个模块, 因此,驱动程序比较繁多,主要有 LCD5110驱动、 DS18b20 通信协议、
6、DHT11 通信协议、继电器控制程序、水位检测控制程序以及单片机中断和 AD 转换功能设定程序。主程序中包含 4 个子程序块分别为系统初始化程序、系统全状态检测程序、系统操控程序和数据显示程序。主要功能如下:1、系统初始化程序完成系统上电时, 对部分芯片的初始设定、 单片机定时器中断功能的设定、液晶初始显示内容以及相关标志位的赋值。4智能浇花装置程序设计2、全状态检测程序主要用于对空气温湿度、土壤湿度、水箱水位的检测,当系统初次通电、复位以及其他可能用于检测时, 都会使用该程序或者首先执行该检测程序,保证整个装置在正常情况下工作以便完成相应的功能。3、系统操控程序主要是在采集到系统状态参数后,
7、针对不同情况执行不同的功能,命令部分硬件机构处理相应问题如土壤湿度低, 会命令继电器吸合使电磁阀开始浇水等。4、数据显示程序利用 LCD5110 液晶为使用者提供有关系统的检测参数如土壤湿度,空气温湿度等,同时,在执行某些功能时,显示提示信息,实时监控系统各参数的变化。驱动程序以 .H 文件形式存在于主函数之外,通过全局变量或者临时标志位,互通信息,执行主函数的控制指令。驱动程序因芯片而不同,通信时序千差万别,部分驱动程序以芯片数据手册提供的 C 语言程序为主,无需自己编写即可使用,但是,由于 STC12C5A60S2 单片机指令执行速度快于 8051 系列,因此,驱动程序中的通信时序要经过调
8、试、验证后才能真正在本系统程序中使用。5智能浇花装置程序设计2、主程序及其他程序的设计2.1 主程序流程设计图 2 系统主程序流程图系统主程序流程设计如图2 所示,程序详细内容如下:/*/*系统主程序*/*/void main()Init();/ 系统初始化while(N)Stateful_Inspection(); / 系统状态监测System_Control();/ 系统操控Status_Display(); /系统数据显示与提醒的忙信号检测程序段中,当温的赋值操作在初始化程序内对N 上述程序中,DS18B20 6智能浇花装置程序设计度传感器未有信号应答时, N=0,将不执行 while
9、循环,而是在液晶上提示传感器未接入系统,如果传感器正常工作, N=1,执行 while 循环。2.2 系统状态检测程序结束图 3 状态检测程序流程图上图展示了系统对自身状态检测的运行过程,其中, WaterLe_key1、WaterLe_key2分别为高低水位检测传感器的使能标志位,当程序执行对水箱水位检测的功能时,必须对二者赋值为 1,若为 0,则关闭传感器无法获取信号。检测程序获取到状态信息后,不用直接去调用某些功能驱动程序,只需要将相应的标志位赋值即可,这样,可使程序整体执行效率提高, 编写时容易发现错误。程序中所有条件判断语句均使用if else,程序详细内容如下:/*系统全状态检测*
10、/void Stateful_Inspection()7智能浇花装置程序设计if(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; /报警开启else if(Water_level2=1)/检查低水位传感器信号,等于1 ,说明水箱无
11、水,则上水Draw_water=1;else if(S_Value<=S_AlertL)/在温度适宜,水箱有足够水的情况下,检测土壤干湿度Water_on=1;/小于最低湿度则执行浇水操作,此处置标志位为1 即开启 上述程序中:1、SI 标志位用于实现程序不同情况下都可对系统的检查, 使该程序利用率提高,当遇到需要检测的状况时, 直接调用并对标志位赋值, 不用在重复编写某些检测程序。2、函数名为 calculate_T、RH、ADC_Result 的程序分别用于对空气温度、湿度和土壤湿度的数据采集与处理。3、标志位 KW_view 用于执行温度报警, 标志位 Draw_water 用于水
12、箱上水, 标志位 Water_on 用于花盆浇水。三者均置 1,表示功能可执行。8智能浇花装置程序设计2.3 系统操控程序开实时读低温报警标志 =温度停止声音警和显示温度是否高于警戒开启定时上水标志=及其中定时检测位,达到停止上定时检测土开启定时湿度,达到浇水标志=及其中停止浇结图 4 系统操控程序流程图系统操控程序依赖单片机的定时器中断功能而执行。使用定时器主要为了量化浇水或者上水动作的执行时间,使其间隔一定时间执行一次。与前述程序相同,程序中使用标志位来调用相应的子函数。程序详细内容如下:/*系统操控*/void System_Control()if(KW_view)SI=0;WaterL
13、e_key1=0;9智能浇花装置程序设计WaterLe_key2=0;ET0=0;ET1=0;TR0=0;TR1=0;Draw_water=0;Water_on=0;/计算温度calculate_T();读出温度整数部分,为“温度报警”做准备T_Value=TN;/if(T_Value>T_Alert)KW_view=0;/ 温度达到后停止报警与显示提醒,并重新进行系统状态监测 SI=1;if(Draw_water)/ 上水Draw_water=0;DW_view=1;SI=0;t1=0;TR1=1;/ 开启定时器 11ET1=1;/ 开启定时器中断WaterLe_key1=1;Wate
14、rLe_key2=1;浇水 if(Water_on) / Water_on=0;WO_view=1;10智能浇花装置程序设计WaterLe_key2=1;SI=0;t0=0;TR0=1;/开启定时器 0ET0=1;/开启定时器0 中断2.4 数据显示程序开显示实时报警显示标志位、上水显示标志位、度、湿度、是全水显示标志壤湿度显示低=报警提示标志报警、音报 否是提示上水?上水提示标志位=1 否 提示浇水 是 显示土壤?浇水提示标志位=1 湿度 否 结束图 5 数据显示程序流程图在经过检测程序对相关标志位赋值后,数据显示程序执行时通过判断标志位是否为 1,来进一步执行相应的子程序。当所有标志位为
15、0 时,液晶正常显示即没有任何有关警告或提示的内容显示出来。程序详细内容如下:/*系统检测数据全显示*11智能浇花装置程序设计*/void Status_Display()if(KW_view=0)&&(DW_view=0)&&(WO_view=0)Draw_water=0;Display_Scan();Display_T();/此处显示温度Display_RH(); / 此处显示空气湿度Display_soilRH(1000- 2*ADC_Result(0);/ 此处显示土壤湿度if(KW_view)Keep_Warm();/低温提示:请注意保温beep();
16、/声音提示delay1ms(100);beep();delay1ms(100);if(DW_view)Clear5110();Display5110(5,2,chinese3,14,2,25);/ 正Display5110(19,2,chinese3,14,2,26); / 在Display5110(33,2,chinese3,14,2,29); / 上Display5110(47,2,chinese3,14,2,28); / 水delay1ms(100);if(WO_view)12智能浇花装置程序设计Clear5110();Display5110(4,2,chinese3,14,2,25);
17、/ 正Display5110(18,2,chinese3,14,2,26); / 在Display5110(32,2,chinese3,14,2,27); / 浇Display5110(46,2,chinese3,14,2,28); / 水Display_soilRH(1000 -2*ADC_Result(0);/ 浇水过程继续显示土壤湿度,实时监测湿度变化13智能浇花装置程序设计3、调试3.1 程序逻辑检查及语法校正根据系统不同功能和实际的操作过程, 分析各程序块中的语句的前后搭配和逻辑判断条件是否合理, 由于实际环境以及硬件执行机构的限制, 需要人为地将部分程序分出优先级,分步分时执行相应
18、的功能,避免程序执行过程中,逻辑混乱,操作失误,便于以后对部分程序的修改。除此而外,还需要对 C 语言的语法进行检查, 在本程序设计中,主要有 if.else, while 循环,中断服务程序和指针等相关语句,编写时尤为注意。3.2 程序编译及装载当程序逻辑顺序和语法检查无误后, 开始对程序进行编译与装载。 在调试过程中,需要结合硬件的执行情况对程序中不妥之处进行更正, 也可以注释掉部分程序, 仅执行未注释的程序,逐个观察并修改相应功能的子程序语句。当所有程序执行的功能均符合设计需要时,程序设计工作基本完成。14智能浇花装置程序设计4、总结经过对程序整体思路的把握, 合理安排各功能程序逻辑关系
19、和顺序, 编写正确的语句进行控制,通过软件编译纠错和硬件调试修改, 基本完成了设计要求的有关功能,修改、更正了错误的程序逻辑和语法错误。通过实际的调试和观察,本次智能浇花装置系统程序圆满完成。15智能浇花装置程序设计5、设计体会KEIL C 软件编辑单片机程序工程通过设计智能浇花装置的程序,我学会了运用以及利用软件进行程序调试。另外,巩固了曾经学过的C 语言知识,并且在实际应用中总结了不少经验和教训, 使我对 C 语言的编译有了更新的认识, 提高了我对 C 语言程序的应用能力, 同时,也掌握了不少有关数据处理方面的程序算法如平均值滤波法。编写设计程序时,不仅需要创新的思路和灵感,还需要细心认真的态度,在本次设计过程中, 出现了很多因一时疏忽导致的语法或者逻辑错误, 致使硬件调试时系统工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度拆墙工程结算协议
- 教育设施租赁合同自行使用守则
- 电梯救援服务合同范例
- 平台建设协议合同模板
- 珠宝员工合同范例
- 甲方制定设计合同模板
- 摩托车过户协议范本
- 物业管理咨询服务合同
- 04版房地产项目工程监理合同
- 果苗场合伙合同范例
- 太阳能热水系统节能效果测试方案
- 1000字作文稿纸模板(完美版)
- 小产权拆迁安置回迁房买卖合同
- IPC4552中文.doc
- 《偷影子的人》PPT课件
- 电力系统三维可视化技术及应用
- 阳光照耀着塔什库尔干(二胡+钢琴伴奏) 钢琴伴奏谱 五线谱 伴奏谱 钢琴谱 谱 正谱
- 中粮班组建设通用管理标准细则
- 第二章制冷压缩机的选型及热力计算
- 中国美术史 第四章 三国两晋南北朝美术
- 医院施工现场应急预案救援预设方案
评论
0/150
提交评论