基于单片机的家电热水器控制系统设计毕业设计(6)

2019-01-12 12:19

南京工程学院康尼学院本科毕业设计(论文)

作状态不同,可分为线性和开关开关稳压电路。本案例中采用的电路电路设计如图2.13所示:

图2.13 电源电路

20

南京工程学院康尼学院本科毕业设计(论文)

第三章 系统软件设计

软件设计由主程序,键扫描子程序及若干功能模块子程序组成。其中主控制器子程序包括A/D转换子程序(水位、水温),键盘处理及显示子程序,加热控制子程序(使用输出比较功能),漏电保护子程序等组成。主程序要先初始化系统的工作参数,主要是单片机的定时器,COP模块、A/D转换、端口、键中断等的工作模式参数设定,之后系统主程序循环调用各个功能模块子程序,对相关事件的处理依靠标志位和判断标志位实现。

在本次设计中运用到了PROTEUS的ISIS电路分析实物仿真系统和KEIL单片机编程软件,通过对它们联调可以仿真出本次设计的要求。下面对这个两个软件做简单的介绍。

3.1 PROTEUS(ISIS)和KEIL简介

一、PROTEUS(ISIS)简介

Proteus是英国Labcenter公司开发的电路分析与仿真软件。该软件的特点是:①集原理图设计、仿真和PCB设计于一体,真正实现从概念到产品的完整电子设计工具,②具有模拟电路、数字电路、单片机应用系统、嵌入式系统(不高于ARM7)设计与仿真功能,③具有全速、单步、设置断点等多种形式的调试功能,④具有各种信号源和电路分析所需的虚拟仪表,⑤支持Keil C51 uVision2、MPLAB等第三方的软件编译和调试环境,⑥具有强大的原理图到PCB板设计功能,可以输出多种格式的电路设计报表。拥有PROTEUS电子设计工具,就相当于拥有了一个电子设计和分析平台。 二、KEIL简介

KEIL C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,它提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

3.2程序设计

本次设计程序的编写采用C语言,它具有如下一些优点: 1、简洁紧凑、灵活方便

C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。

21

南京工程学院康尼学院本科毕业设计(论文)

把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。 2、运算符丰富

C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。 3、数据类型丰富

C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。

4、表达方式灵活实用

C语言提供多种运算符和表达式值的方法,对问题的表达可通过多种途径获得,其程序设计更主动、灵活。它语法限制不太严格,程序设计自由度大,如对整型量与字符型数据及逻辑型数据可以通用等。 5、允许直接访问物理地址,对硬件进行操作

由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位(bit)、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。 6、生成目标代码质量高,程序执行效率高

C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编程序生成的目标代码效率低10%~20%。 7、可移植性好

C语言在不同机器上的C编译程序,86%的代码是公共的,所以C语言的编译程序便于移植。在一个环境上用C语言编写的程序,不改动或稍加改动,就可移植到另一个完全不同的环境中运行。 8、表达力强

C语言有丰富的数据结构和运算符。包含了各种数据结构,如整型、数组类型、指针类型和联合类型等,用来实现各种数据结构的运算。C语言的运算符有34种,范围很宽,灵活使用各种运算符可以实现难度极大的运算。C语言能直接访问硬件的物理地址,能进行位(bit)操作。兼有高级语言和低级语言的许多优点。它既可用来编写系统软件,又可用来开发应用软件,已成为一种通用程序设计语言。另外C语

22

南京工程学院康尼学院本科毕业设计(论文)

言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。

根据设计要求和各个芯片的工作原理,以及编程的要求需要先画出它的程序流程图,本次设计是主要进行温度的采集和显示以及对电加热切换的继电器控制。下面是程序的流程图: 3.2.1主程序的流程图

图3.1主程序流程框图

显示当前温度 启动加热 结束 判别当前温度是否达到设定温度? N Y N 开始 初始化运行 显示温度 温度设置键按下? Y 设定温度 第一步,系统初始化运行,给一个初始设定值,数码管显示当前温度和设定温度,第二步就是设置温度,如果温度设置键按下,利用加键和减键来设定温度,接下来就是进行第三步,而如果温度键没有按下,则直接进行第三步,判别当前温度是否达到设定温度,如果没有达到设定温度,则启动继电器加热,数码管显示当前温度,单片

23

南京工程学院康尼学院本科毕业设计(论文)

机向DS18B20读取当前温度,再进行第二步。但如果当前温度值达到了设定温度值,则不用加热。

3.2.2读温度子程序的流程图

开始 DS18B20的复位 N 判断DS18B20是否存在? Y 跳过ROM匹配 温度转换 延时 DS18B20的复位 跳过ROM匹配 读取温度 温度保存 返回

图3.2读温度子程序的流程框图

单片机在控制DS18B20进行温度转换之前,需要总线上所有的DS18B20的64位

24


基于单片机的家电热水器控制系统设计毕业设计(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:怎样在Word2003中如何去掉Word页眉横线

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: