基于单片机的智能家居设计毕业论文 下载本文

烟台大学毕业论文(设计)

第四章 软件系统设计

前文中详细阐述了硬件电路的模块化设计及最终电路总图的整合,这些而能够控制这个家居系统“躯干”的“大脑思维”就是我们接下来会介绍的家居系统另一个重要环节的设计,智能家居软件系统的设计。软件系统是系统控制的灵魂,有极大的灵活性,可以根据系统的要求和功能而变化,在硬件结构一定的情况下,智能性几乎完全靠软件来实现。对于设计者而言,软件系统的设计重在把设计者预设的严密的工作思路,转换成电路及芯片之间能够流通和交流的信号和“语言”。而且,在此次设计中,软件结构仿效硬件电路的设计理念,采用模块化设计,各个功能程序分别编写并调试,在各模块调试成功后,再将所有模块连接整合,构成总系统的软件。这样,不仅有利于程序代码的优化,而且便于编程、调试、维护和协作。

4.1 C语言简介

在本系统的设计中,主要采用单片机的C语言编程,使用Keil uVision2作为单片机软件的开发环境,实现对程序的编辑、编译和调试。C语言是一种通用的计算机程序设计语言,它提供高效的代码,结构化的编程,和丰富的操作符。虽然它不是一种大语言,不是为任何特殊应用领域而设计的,但它的限制比较少,这也就从一定程度上方便了完成不同的软件任务,并进行有效的编程。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有着无与伦比的优越性,而且易学易用,非常适合系统的软件编程。

C语言与其它语言相比,有很多无法比拟的优点:

1)、语言简洁、紧凑,使用方便灵活。C语言一共有32个关键字、9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。C语言程序比其他许多高级语言简练,源程序短,因此输入程序时工作量明显减轻。

2)、运算符丰富。C语言的运算符包含的范围非常广,运算符种类达到34种。数据类型特别广泛,现代语言中的各种数据结构几乎全部包含在内。

3)、具有结构化的控制语句。用函数作为程序的模块单位,便于实现程序的模块化。C语言是完全模块化和结构化的语言。

4)、语法限制不太严格,程序设计自由度较大。为了使程序更加灵活,C语言在语法的检查上放宽了限制,使程序员更加自由的运用C语言。 5)、C语言可以对物理地址直接的进行访问,能进行位操作。

6)、生成目标代码质量高,程序执行效率高。与汇编程序生成的目标代码相比,C语言生成效率只低了20%左右。

34

烟台大学毕业论文(设计)

7)、用C语言编写的程序可移植性特别高。在不做修改的前提下几乎能移植到各种操作系统及不同型号的主控部件。由于C语言多功能的特点,使C语言的应用面非常广。

4.2主控系统部分的软件设计

按键开关电路模块利用定时器T0定时器中断实现,LCD液晶显示模块利用T1定时器中断对接收到的温度值以及时钟电路时钟值进行实时显示,其余的功能在主程序中是实现。

4.2.1按键开关输入模块电路的软件设计

按键开关电路使用定时器T0中断,整个过程中,如果LCD显示的时间值不准确,通过MEU1按钮进入按键开关电路执行模块,ADE1键为加键,DEC1键为减键,通过两个按键开关对时间进行调整,调时完成后退出该模块,流程图如下:

T0 中断入口 N 时间慢?

关总中断 Y 按DEC1键调

整到准确值 按ADE1键调

整到准确值

读键盘功能

N 暂时存储 时间值

正确?

Y LCD正确显示

退出键盘功能

开总中断

中断返回

图4-1 时钟模块在LCD实时显示控制流程图

35

烟台大学毕业论文(设计)

4.2.2 LCD液晶显示模块程序设计

子程序入口 选通LCD 功能设定 延时 开启显示状态开关

延时 设定光标移动方向 光标归位 取消选定 子程序返回

图4-2 液晶显示模块初始化流程图

T1中断入口 将温度值写入液晶寄存器并显示 关总中断 设置定时器T1 初始值 设置时间显示位置 开总中断 将时间值写入液晶寄存器并显示 中断返回 设置温度显示位置 图4-3 液晶显示设置流程图

36

烟台大学毕业论文(设计)

第五章 总结

众所周知,大学生毕业设计的开始也就意味着大学生活即将结束,毕业设计是我们在大学生活的最后一站,它不仅是对我们大学所学知识整合及熟练运用的一次考验,同样是对我们即将走向社会参加实际工作及自学能力的一次锻炼。在毕业设计开题到最终基本完成整个毕业设计的过程中,我得到了我的导师陈老师的大力帮助,也得到了很多同学的热情帮忙。在本次持续一学期的毕业设计中,我受益匪浅。所学到的不仅是对专业知识的掌握及运用,更重要的是学会独立思考、筛选有价值信息和团结互助的团队精神。

通过本次毕业设计,使我对基于单片机的智能控制有了更多的了解和掌握,在科技飞速发展的今天,科技意味着第一生产力,机器智能正在越来越多的方面取代人工操作,作为智能控制在工业应用的代表性成果,它结合了程序调控,提供了定时控制、计数控制、步进控制以及数据处理等多种功能,具有人工作业无法比拟的优越性和精确性。随着科技的发展,基于单片机的智能控制空能也会不断扩大,各项性能也将不断提高。

因为之前在大学理论课上对单片机的相关知识了解甚浅,而且没有系统的概念和思路,所以在设计中约到了很多阻碍,也走了不少弯路。我花了一部分时间和精力去学习单片机的相关知识,不懂的地方去请教陈老师和班里基础好的同学,在他们的耐心讲解下,使我对单片机有了进一步的了解,这对我下一步的设计展开帮助很大。在硬件电路设计和关键芯片元器件的选择上,涉及到了电力电子技术、低压步进电机工作原理,模拟电子技术等多方面的知识,不仅巩固了我大学所学专业的知识,更让我对智能控制有了较为系统的概念和体会。

在刚接到设计课题时感觉无从下手,多亏了陈老师布置了详细的任务及工作流程,让我们提前准备,以防止前松后紧的情况出现。在这期间,陈老师多次在百忙之中抽出时间指导我的毕业设计,并不断提出新的要求和改进方案,帮我克服了很多重要难题。毕竟,毕业设计不是一朝一夕就能完成的简单项目,有时候会急于求成,错过了很多重要环节,是陈老师严把质量关,逐渐锻炼了我戒骄戒躁、独立学习思考的能力,为以后走向工作岗位积累了很多课本之外的经验知识。通过这个毕业设计,自己也基本掌握了电路绘图软件Altium Designer的各种功能,能自行的完成很多电路图的绘制,也为自己增加了一个技能。当然,在设计过程中,也暴露了自己的很多问题,诸如对课堂上学过的理论知识掌握不牢,缺乏综合知识及灵活运用的能力,这也是我以后努力的方向。

毕业设计预示着我大学生活的结束,但是却意味着我走向工作岗位的全新开始!加油!

37