单片机程序设计课程设计资料.pdf

上传人:白大夫 文档编号:5432193 上传时间:2020-05-09 格式:PDF 页数:18 大小:187.01KB
返回 下载 相关 举报
单片机程序设计课程设计资料.pdf_第1页
第1页 / 共18页
单片机程序设计课程设计资料.pdf_第2页
第2页 / 共18页
单片机程序设计课程设计资料.pdf_第3页
第3页 / 共18页
单片机程序设计课程设计资料.pdf_第4页
第4页 / 共18页
单片机程序设计课程设计资料.pdf_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《单片机程序设计课程设计资料.pdf》由会员分享,可在线阅读,更多相关《单片机程序设计课程设计资料.pdf(18页珍藏版)》请在三一文库上搜索。

1、课程设计名称:单片机程序设计基础 题目:智能浇花装置程序设计 学期:2013-2014 学年第二学期 专业:测控技术与仪器 班级:测控 11-1 姓名: 学号: 指导教师: 完成日期: 2014 年 5 月 30 日 智能浇花装置程序设计 1 辽宁工程技术大学 课 程 设 计 成 绩 评 定 表 学期 2013-2014( 二) 姓名 专业测控技术与仪器班级测控 11-1 课程名称单片机程序设计基础 论文题目智能浇花装置程序设计 评 定 指 标 评定指标分值得分 知识创新性20 理论正确性20 内容难易性15 结合实际性10 知识掌握程度15 书写规范性10 工作量10 总成绩100 评语:

2、任课教师时间 2014 年 6 月 8 日 备注 智能浇花装置程序设计 2 课 程 设 计 任 务 书 一、设计题目 智能浇花装置系统程序设计 二、设计任务 设计在单片机为核心的前提下,完成对花盆的浇水, 对水箱的补水以及低温报警功能。 通过使用继电器,温度传感器,湿度传感器等元件,编写合适的驱动程序进行控制,完成 装置的全部功能。 三、设计计划 本设计共 1 周。 第 1 天:针对选题查资料,确定设计方案; 第 2 天:方案分析比较,确定程序的逻辑顺序,执行步骤; 通过网上搜索,学习并理解部分芯片的程序操作。 第 3 天:编写主程序流程图和软件程序; 第 4 天:对编写程序进行语法和逻辑纠错

3、,并下载运行; 第 5 天:编写整理设计报告。 四、设计要求 1、绘制软件流程图并利用C 语言编写软件程序; 2、形成设计报告。 指 导 教师: 教研室主任: 2014 年 5 月 26 日 智能浇花装置程序设计 3 目录 1、系统程序功能及设计思路. 4 1.1 系统主要功能 . 4 1.2 程序设计思路 . 4 2、主程序及其他程序的设计. 6 2.1 主程序流程设计 . 6 2.2 系统状态检测程序 . 7 2.3 系统操控程序 . 9 2.4 数据显示程序 . 11 3、调试 . 14 3.1 程序逻辑检查及语法校正. 14 3.2 程序编译及装载 . 14 4、总结 . 15 5、设

4、计体会 . 16 参考文献 . 17 智能浇花装置程序设计 4 1、系统程序功能及设计思路 1.1 系统主要功能 智能浇花装置主要功能如下: 1、检测土壤湿度并自动浇水,通过电磁阀控制花盆内水量 2、通过继电器控制水泵进行自动补水功能。 3、低温报警。室温低影响花卉生长,此时需要声音提醒。 4、人机交互显示。使用LCD5110 液晶进行显示。 上述各个功能均有不同电路模块进行控制,核心芯片为STC12C5A60S2,程序代码兼 容 8051 系列单片机。 1.2 程序设计思路 花盆土壤水箱 室温,湿度 检测 水箱水位 检测 土壤湿度 检测 单片机 LCD5110 显 示 继电器 水泵 电磁阀

5、图 1 智能浇花装置硬件工作原理 智能浇花系统程序语言以C 语言为主,根据设计所实现的不同功能,将系统程序分为 主程序和驱动程序两部分。其中,主程序的作用包含控制逻辑的实现、驱动程序的调用及 配合、功能区分以及系统初始化。驱动程序主要为部分传感器及芯片的通信协议、数据采 集和处理程序、液晶显示所用字库以及单片机操作程序,由于驱动程序涉及硬件电路中的 各个模块,因此,驱动程序比较繁多,主要有LCD5110 驱动、DS18b20通信协议、 DHT11 通信协议、继电器控制程序、 水位检测控制程序以及单片机中断和AD 转换功能设定程序。 主程序中包含4 个子程序块分别为系统初始化程序、系统全状态检测

6、程序、系统操控 程序和数据显示程序。主要功能如下: 1、系统初始化程序完成系统上电时,对部分芯片的初始设定、单片机定时器中断功能 的设定、液晶初始显示内容以及相关标志位的赋值。 智能浇花装置程序设计 5 2、全状态检测程序主要用于对空气温湿度、土壤湿度、水箱水位的检测,当系统初次 通电、复位以及其他可能用于检测时,都会使用该程序或者首先执行该检测程序,保证整 个装置在正常情况下工作以便完成相应的功能。 3、系统操控程序主要是在采集到系统状态参数后,针对不同情况执行不同的功能,命 令部分硬件机构处理相应问题如土壤湿度低,会命令继电器吸合使电磁阀开始浇水等。 4、数据显示程序利用LCD5110 液

7、晶为使用者提供有关系统的检测参数如土壤湿度, 空气温湿度等,同时,在执行某些功能时,显示提示信息,实时监控系统各参数的变化。 驱动程序以 .H 文件形式存在于主函数之外, 通过全局变量或者临时标志位, 互通信息, 执行主函数的控制指令。驱动程序因芯片而不同,通信时序千差万别,部分驱动程序以芯 片数据手册提供的C 语言程序为主,无需自己编写即可使用,但是,由于STC12C5A60S2 单片机指令执行速度快于8051 系列,因此,驱动程序中的通信时序要经过调试、验证后 才能真正在本系统程序中使用。 智能浇花装置程序设计 6 2、主程序及其他程序的设计 2.1 主程序流程设计 系统初始化 Init

8、系统全状态检测 Stateful inspection 系统操控 System control 系统数据全显示 Status display 开始 图 2 系统主程序流程图 系统主程序流程设计如图2 所示,程序详细内容如下: /*/ /* 系统主程序*/ /*/ void main() Init(); /系统初始化 while(N) Stateful_Inspection(); / 系统状态监测 System_Control(); /系统操控 Status_Display(); /系统数据显示与提醒 上述程序中, N 的赋值操作在初始化程序内对DS18B20的忙信号检测程序段中,当温 智能浇花

9、装置程序设计 7 度传感器未有信号应答时,N=0,将不执行while 循环,而是在液晶上提示传感器未接入 系统,如果传感器正常工作,N=1,执行 while 循环。 2.2 系统状态检测程序 开始 结束 WaterLe_key1=1; WaterLe_key2=1; 调用 DS18B20 、 DHT11、 AD转换 函数,分别读出采样值 温度报警 标志位=1 花盆浇水 标志位=1 水箱上水 标志位=1 温度低于警戒值? 水箱水位是否最低? 土壤湿度是否最低? 否 否 否 是 是 是 图 3 状态检测程序流程图 上图展示了系统对自身状态检测的运行过程,其中,WaterLe_key1、 Water

10、Le_key2分 别为高低水位检测传感器的使能标志位,当程序执行对水箱水位检测的功能时,必须对二 者赋值为 1,若为 0,则关闭传感器无法获取信号。 检测程序获取到状态信息后,不用直接去调用某些功能驱动程序,只需要将相应的标 志位赋值即可,这样,可使程序整体执行效率提高,编写时容易发现错误。 程序中所有条件判断语句均使用ifelse,程序详细内容如下: /* * 系统全状态检测* */ void Stateful_Inspection() 智能浇花装置程序设计 8 if(SI) WaterLe_key1=1; WaterLe_key2=1; calculate_T(); /计算温度 T_Val

11、ue=TN; / 读出温度整数部分,为“温度报警”做准备 RH(); /计算湿度 RH S_Value=1000-2*ADC_Result(0); /AD 转换输出的是十进制整形数据,该公式用于直 /接计算湿度的百分比,计算所得数据需要除以10 if(T_ValueT_Alert) KW_view=0;/ 温度达到后停止报警与显示提醒,并重新进行系统状态监测 SI=1; if(Draw_water)/ 上水 Draw_water=0; DW_view=1; SI=0; t1=0; TR1=1;/开启定时器 1 ET1=1;/开启定时器 1 中断 WaterLe_key1=1; WaterLe_

12、key2=1; if(Water_on) /浇水 Water_on=0; WO_view=1; 智能浇花装置程序设计 11 WaterLe_key2=1; SI=0; t0=0; TR0=1;/开启定时器 0 ET0=1;/开启定时器 0 中断 2.4 数据显示程序 开始 结束 报警显示标志位、上水显示标志位、浇 水显示标志位是否 全为0? 报警提示标志位 =1? 浇水提示标志位 =1? 上水提示标志位 =1? 显示实时温 度、湿度、土 壤湿度值 提示上水 显示低温 报警、声 音报警 提示浇水 显示土壤 湿度 是 否 否 否 是 是 是 否 图 5 数据显示程序流程图 在经过检测程序对相关标志

13、位赋值后,数据显示程序执行时通过判断标志位是否为1, 来进一步执行相应的子程序。当所有标志位为0 时,液晶正常显示即没有任何有关警告或 提示的内容显示出来。 程序详细内容如下: /* * 系统检测数据全显示* 智能浇花装置程序设计 12 */ void Status_Display() if(KW_view=0) Display_Scan(); Display_T(); /此处显示温度 Display_RH(); /此处显示空气湿度 Display_soilRH(1000-2*ADC_Result(0);/ 此处显示土壤湿度 if(KW_view) Keep_Warm();/低温提示:请注意保

14、温 beep(); /声音提示 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) 智能浇花装置程序设计 13 Clear5110(); Display5

15、110(4,2,chinese3,14,2,25); /正 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);/ 浇水过程继续显示土壤湿度,实时监测湿 度变化 智能浇花装置程序设计 14 3、调试 3.1 程序逻辑检查及语法校正 根据系统不同功能和实际的操作过程,分析各程序块中的语句的前后搭配和逻辑判断 条件是否合理,由于实际环境以及硬件执

16、行机构的限制,需要人为地将部分程序分出优先 级,分步分时执行相应的功能,避免程序执行过程中,逻辑混乱,操作失误,便于以后对 部分程序的修改。 除此而外,还需要对C 语言的语法进行检查,在本程序设计中,主要有ifelse,while 循环,中断服务程序和指针等相关语句,编写时尤为注意。 3.2 程序编译及装载 当程序逻辑顺序和语法检查无误后,开始对程序进行编译与装载。在调试过程中,需 要结合硬件的执行情况对程序中不妥之处进行更正,也可以注释掉部分程序,仅执行未注 释的程序,逐个观察并修改相应功能的子程序语句。 当所有程序执行的功能均符合设计需要时,程序设计工作基本完成。 智能浇花装置程序设计 1

17、5 4、总结 经过对程序整体思路的把握,合理安排各功能程序逻辑关系和顺序,编写正确的语句 进行控制,通过软件编译纠错和硬件调试修改,基本完成了设计要求的有关功能,修改、 更正了错误的程序逻辑和语法错误。 通过实际的调试和观察,本次智能浇花装置系统程序圆满完成。 智能浇花装置程序设计 16 5、设计体会 通过设计智能浇花装置的程序, 我学会了运用 KEIL C 软件编辑单片机程序工程以及利 用软件进行程序调试。另外,巩固了曾经学过的C 语言知识,并且在实际应用中总结了不 少经验和教训,使我对 C 语言的编译有了更新的认识, 提高了我对 C 语言程序的应用能力, 同时,也掌握了不少有关数据处理方面

18、的程序算法如平均值滤波法。 编写设计程序时,不仅需要创新的思路和灵感,还需要细心认真的态度,在本次设计 过程中,出现了很多因一时疏忽导致的语法或者逻辑错误,致使硬件调试时系统工作不正 常甚至损坏部分机构。因此,程序的编辑不仅要求我们掌握熟练的C 语言应用技能,还要 戒骄戒躁, 仔细排除编写过程中的细小错误,这样,在后续的调试过程中, 提高工作效率, 避免不必要的危险发生。 对程序进行设计应当特别注意使用者的习惯操作,以及实际可能发生的错误操作,提 高程序功能的执行人性化,合理化。程序编辑的合情合理有时可以保护硬件机构或电路板 免受冲击和破坏,这使得系统整体的安全性能增强,实用性大幅提高。 智能

19、浇花装置程序设计 17 参考文献 1 谭浩强 . C 语言程序设计基础 M. 清华大学出版社 , 2004. 2 王选民 . 智能仪器原理及设计 M. 清华大学出版社 , 2008. 3 张毅刚 . 单片机原理及应用 M. 高等教育出版社 , 2002. 4 何利民 . 单片机应用技术选编 M. 北京航空航天大学出版社, 1993. 5 林志琦 . 基于 Proteus的单片机可视化软硬件仿真M. 北京航空航天大学出版社, 2006. 6 王幸之 . AT89 系列单片机原理与接口技术M. 北京航空航天大学出版社, 2004. 7 周航慈 . 单片机程序设计基础 M. 北京航空航天大学出版社, 2004. 8 STC. STC12C5A60S2数据手册 CP/OL. 2014-5-29. . 9 奥松电子 . DHT11数字温湿度传感器说明书 CP/OL. 2014-5-29. . 10 PHILIPS. LCD5110数据表 CP/OL. 2014-5-29. .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1