大学
毕 业 设 计
题目: 基于C51单片机的微波炉设计
学生姓名:
学生学号:
院系名称:
专业班级:
指导教师:
年月日
毕业设计任务
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
专业 班级 姓名 下发日期
题目
基于C51单片机的微波炉设计
专题
单片机
主要内容及要求
本课题的主要工作是掌握单片机应用技术,显示技术,电子技术等相关知识,设计制作一个微波炉控制器电路,具有三档微波加热功能,分别表示微波加热为烹调、烘烤、解冻,试验中用LED模拟。
具体要求如下:
(1)如何进行时间设置(分、秒)和时钟倒计时功能;
(2)如何设计智能火力控制
(3)如何设计显示模块显示时间;(4)如何设计按键设置;
(5)如何设计音响提示声音;
(6)如何设计微波炉开门停止工作
主要技术参数
仿真系统:伟福6000
开发环境:ISplay软件
进度及完成日期
2012年4月11日~2012年4月18日:(1周)了解单片机的应用及发展情况;
2012年4月18日~2012年5月2日:(2周)学习伟福6000的操作方法;
2012年5月2日~2012年5月9日:(1周)编写ISplay软件的框图及程序;
2012年5月9日~2012年5月16日:(1周)对程序进行模拟仿真及系统调试;
2012年5月17日~2012年6月13日:(3周)撰写毕业论文;
2012年6月13日~2012年6月18日:(1周)修改毕业论文的格式;
系主任签字
日 期
教研室主任签字
日 期
指导教师签字
日 期
指 导 教 师 评 语
指导教师:
年 月 日
青岛理工大学毕业设计评阅意见表
设计题目
基于单片机的数字秒表设计
答 辩 委 员 会 评 语
评
定
成
绩
周 记
说明书
(或论文)
图 纸
答 辩
总 评
答辩委员会主席签字
日 期
(5%)
(65%)
(30%)
百分制
等级制
摘 要
近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
微波炉控制系统设计采以微控制器(MCU)为核心,基于RTX51 编制软件系统,结合7位数码管(LED)显示以及必要的外围电路,完成微波炉的可编程智能控制。系统由计时控制、火力设定、用户界面、音响发生几大模块组成。能够根据键盘输入完成相应的功能,同时使用LED 显示系统状态。
关键词:微控制器(MCU)、微波炉、控制器
ABSTRACT
With the computer in the social sphere in recent years, the penetration and the development of large scale integrated circuits, microcontroller applications are continually deepening, because of its powerful function, small size, low power consumption, cheap, reliable, easy to use, etc. therefore particularly suitable for systems with control of more and more widely used in automatic control, intelligent instruments, meters, data acquisition, military products and home appliances fields, SCM is often used as a core component in according to the specific hardware architecture, and application-specific features of the software objects are combined to make perfect.
Microwave oven control system design was applied to the microcontroller (MCU) core, based on RTX51 preparation software system, combined with seven digital tube (LED) display and peripheral circuits necessary to complete the microwave oven programmable intelligent control. System by the time control, fire setting, the user interface, sound occurred several modules. Completed under the keyboard corresponding to the function, while using the LED display system status.
Key words: microcontroller (MCU), microwave oven, the controller
目 录
摘 要 I
ABSTRACT II
目 录 III
第1章 绪 论 3
1.1 课题背景 3
1.2 课题来源 3
1.3 本文的主要研究工作 4
第2章 系统总体概述 5
2.1 工作原理 5
2.2 电路设计 6
2.3 软件设计 7
2.4 本章小结 8
第3章 方案比较与论证 9
3.1 档位显示部分方案 9
3.2 计时控制部分方案 9
3.3 键盘和显示部分方案 10
3.4 音响发生模块方案 10
3.5 本章小结 11
第4章 系统硬件设计 12
4.1 门电路设计 12
4.2 时钟电路设计 12
4.3 键盘模块电路设计 12
4.4 档位显示电路设计 14
4.5 显示电路设计 14
4.6 音响发生电路设计 15
4.7 火力输出控制设计 17
4.8 电源电路设计 17
4.6 本章小结 17
第5章 系统软件设计 18
5.1 显示程序设计 18
5.2 计时程序设计 18
5.3 系统待机状态设计 20
5.4 用户设定状态设计 20
5.5 微波炉加热状态 22
5.6 加热停止并响铃状态设计 24
5.7 本章小结 24
第6章 系统测试 24
5.1 测试及制作所用仪器 24
5.2 测试结果 25
5.3 本章小结 25
结论 26
致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
参考文献 28
附录一:系统电路图 28
附录二:软件设计程序 29
第一章 绪论
1.1 课题背景
单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。
单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。
本文讨论的单片机多功能数字钟系统设计的核心是目前应用极为广泛的51系列单片机,多功能数字钟配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域。
20世纪80年代中期以后,Intel公司以专利转让的形式把8051内核技术转让给许多半导体芯片生产厂家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。这些厂家生产的芯片是MCS-51系列的兼容产品,准确地说是与MCS-51指令系统兼容的单片机。这些兼容机与8051的系统结构(主要是指令系统)相同,采用CMOS工艺,因而,常用80C51系列来称呼所有具有8051指令系统的单片机,它们对8051单片机一般都作了一些扩充,更有特点。其功能和市场竞争力更强,不该把它们直接称呼为MCS-51系列单片机,因为MCS只是Intel公司专用的单片机系列型号。MCS-51系列及80C51单片机有多种品种。它们的引脚及指令系统相互兼容,主要在内部结构上有些区别。目前使用的MCS-51系列单片机及其兼容产品通常分成以下几类:基本型、增强型、低功耗型、专用型、超8位型、片内闪烁存储器型。
1.2课题来源
在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。
随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。根据这种实际情况,设计了一个单片机多功能定时系统,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和定点打铃。它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间。这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。
1.3本文的主要研究工作
本文的主要工作是掌握单片机应用技术,显示技术,电子技术等相关知识,设计制作一个微波炉控制器电路,具有三档微波加热功能,分别表示微波加热为烹调、烘烤、解冻,试验中用LED模拟。实现工作步骤:复位待机——〉检测显示电路——〉设置输出功能和定时器初值——〉启动定时和工作开始——〉结束烹调、音响提示。在上电或手动按复位键时,控制器输出的微波功率控制信号为0,微波加热处于待机状态,时间显示电路显示为00.00。具有4位时间预置电路,按键启动时间设置,最大预设数为99分59秒。设定初值后,按开启键,一方面按选择的挡位启动相应的微波加热;另一方面使计时电路以秒为单位作倒计时。当计时到时间为0则断开微波加热器,并给出声音提示,即扬声器输出2~3s的双音频提示音。
具体的问题有:
(1)如何进行时间设置(分、秒)和时钟倒计时功能;
(2)如何设计智能火力控制
(3)如何设计显示模块显示时间;
(4)如何设计按键设置;
(5)如何设计音响提示声音;
(6)如何设计微波炉开门停止工作
第2章 系统总体概述
2.1 工作原理
微波炉工作分四个步骤分别为:系统待机—用户设定—微波炉加热—加热完成响音提示。具体流程如下图2.1.1。
任务结束发声
系统开始工作
用户进行设置
系统待机状态
图 2.1.1系统流程图
系统上电自检后,数码管显示零分、零秒,档位通过三个发光二极管显示(分别表示烹调、烘烤、解冻)。键盘分按键K0,K1,K2,K3,REST五个按键。K0键为微波炉的启动与关闭。K1键为档位选择键,选择后相应的发光二极管会发亮。K2,K3键分别为时间的加减设定。REST为复位键。每次按下按键后系统都会启动音响发生模块发出“嘀”的声音。微波炉启动数码管开始倒计时,当倒计时到零分,零秒微波炉会自动关闭,此时会发出提示声音。各功能实现如下图2.1.2。
按K0键或打开微波炉炉门
计时时间为00.00时 响音提示
按K4键
按任意键或打开微波炉炉门
系统待机状态
接通电源
图 2.1.2系统功能图
在火力档位方面,不同的档位在不同时间的火力不同,根据烹调,烘烤, 解冻三个档位制定了不同档位时的加热时序表入下图 2.1.3
功能
时序 时间
烹 调
烘 烤
解 冻
1
50%时间 高 火
75%时间 高火
25%时间
小火
2
25%时间 中 火
25%时间中火
50%时间
中火
3
25%时间
小火
25%时间
小火
图2.1.3 不同功能时的加热时序表
注:高中低三个火力大小用三个发光二极管模拟。
2.2 电路设计
系统以AT89S52单片机为核心,连接各外部电路完成人机交互等各功能的控制。系统的总体框图如下图2.2.1。
单片机
内部定时器
电源电路
音响发生电路
键盘电路
档位显示电路
数码管显示电路
门电路设计
火力输出电路
图2.2.1 系统的总体框图
电路设计部分以单片机控制电路为核心由定时器电路,显示电路,键盘电路,门电路,电源电路,音响发声电路,火力输出电路,档位显示电路共同组成微波炉控制系统电路。
2.3 软件设计
考虑到本系统所编程的数据量不大并且要求系统有较高的准确度故采用汇编语言进行程序的编写,利用伟福6000作为系统的仿真软件。利用ISPlay软件进行单片机程序的写入。软件界面如图2.3.1 和图2.3.2。
图 2.3.1 伟福6000软件界面
图 2.3.2 ISPlay软件界面
2.4 本章小结
经过对整个系统概述的分析,可以得到一个大致的系统设计框架,对整个系统设计有个一个大致方向,并根据系统的框架进行各模块的细分与方案论证。
第三章 各模块方案比较与论证
系统设计包含显示电路,键盘电路,计时控制电路,档位输出电路,音响发生电路等多个部分,每个部分都可以采用不同的方案来实现,但不同的方案有实现的难易的不同,所以通过思考分析,最终做出最好的选择,使之更加科学和合理。下面对各部分设计方案做分析和选择。
3.1档位显示部分方案
方案一:通过单片机的一个I/O端口经A/D转换器,转换成三个输出端口进行档位控制。如图3.1 .1这种方案可以节省单片机接口资源。
方案二:直接利用单片机的三个I/O端口进行档位控制。如图3.1.2 这种方案电路简单。
档位显示
I/O
I/O
档位显示
I/O
A/D转换
单片机
单片机
I/O
图 3.1.2
图 3.1.1
由于在本设计系统中单片机有充足的I/O端口资源,为了保证系统的稳定性和电路的简单化,采用方案二进行档位显示。
3.2 计时控制部分方案
方案一:使用专用时钟芯片。
使用微控制器控制专用时钟芯片实现计时控制,这种方案有着计时精度
高、控制简单的优点,而且更易于实现日期/时间显示、定时烹调等计时扩
展功能。
方案二:采用单片机内部定时器。
51单片机 内部含有3 个定时器,可以利用一个定时器与程序计数器相结
合的方式,在系统晶振的驱动下,产生标准时钟频率。
由于方案二 具有较好的灵活性、较少的电路器件和较高的性价比,而且
通过精确的软件补偿使精度完全可以满足控制需要,所以我们选择该方案完成设计。
3.3 键盘和显示部分方案
(1)、键盘
方案一:采用阵列式键盘。
此类键盘是采用行列扫描方式,优点是当按键较多时可以降低占用单片机的I/O口数目,缺点是电路复杂且会加大编程难度。
方案二:采用独立式按键电路。
每个键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺点是当按键较多时占用单片机的I/O数目较多,优点是电路设计简单,且编程极其容易。
由于该系统采用了常规钟表式的校对方式,用键较少,系统资源足够用,故采用了方案二。
(2)显示
方案一:采用数码管显示。
数码管通过设置可以完成制作任务,经济耐用,但其显示不够直观、提供信息量少、不易理解等缺点。
方案二:采用液晶显示。
液晶特别是具有汉字显示功能的液晶显示器,来实现显示功能,不仅可以实现基本的显示信息,而且可以显示丰富的符号指示信息以及文字指示信息,如AM/PM,闹钟符号等,信息量丰富且直观易懂。而且液晶显示有功耗低,体积小,重量轻,寿命长,不产生电磁辐射污染等优点。
由于此系统只用到4位数字显示,考虑实用问题,故采用方案一。
3.4 音响发生模块方案
方案一:微控制器直接发生。
MCU 直接输出两路不同频率的脉冲信号,叠加成为双音频信号,驱动
后送扬声器。但是由于MCU 产生的方波信号含有高频分量,经测试,音效并不能令人满意
方案二:采用555 振荡器实现双音频输。
采用两片555振荡器分别发生不同频率的音频,由单片机控制输出,在电阻上叠加后经功率放大电路推动扬声器发声。
由于555振荡器的音响发生模块的电路简单且音质较好,故采用方案二。
3.5 本章小结
经过比较和分析,得出了较理想的方案:
(1)计时单元由软件编程来实现。定时采用单片机内部定时器来实现,即通过单片机内部定时器产生中断,再通过软件编程实现进行计数,从而实现分、秒的倒计时。
(2)时间显示采用四位LED数码管显示分和秒。档位显示采用3个发光二极管显示。
(3)键盘采用单片机四个端口输入电平,通过单片机扫描相应四个端口电平来判断按键的抬起与按下。
(4)采用两片555振荡器分别发生不同频率的音频,由单片机控制输出,在电阻上叠加后经功率放大电路推动扬声器发声。
通过方案的比较和论证之后,明确了各个模块的实现方案。然后,对整个系统总体进行设计,形成一个清晰的设计方向,并构思出系统总体设计的工作原理和系统的框图,使整个设计方案具有总体性。
第四章 硬件设计
4.1 门电路设计
在微波炉工作过程中如果突然打开微波炉炉门,微波炉将根据当时的工作状态停止加热并报警。这样可以有效避免非法操作带来的后果。电路图如下图 4.1.1。
图 4.1.1 门电路
开关
当微波炉炉门打开时开关断开当炉门关闭时开关接通。 4.2 时钟电路设计
计时控制模块是系统设计的核心,用来完成基本功能中的加热倒计时,以及时间/日期显示和定时烹调两项扩展功能。时间/日期显示功能被用来在待机状态显示当前的时间与日期。允许手动调教,并且会自动与计算机进行时间同步。定时烹调则会根据用户设定的烹调属性,在预定的时间启动烹调任务。为了实现上述功能,在设计中,我们采用AT89S52 的内部定时器2 与软件计数器相结合的方式获得1Hz的时钟。
定时器2自动装入模式以保证精度。这时定时器周期T可由下式表示:
CLK
T = (28?K)× 12/ CLK … (1)
其中K 为定时器初值、CLK 为系统晶振。考虑到串口通信,我们选定CLK为11.0592MHz, K 为27。从式(1)中不难看出,这时要获取1Hz 的时钟,
计数器的预置数N 应对T/1取整,即:
N=[22118400/12×(256-27)]=8049 … (2)
则系统获取的时钟频率即为:
f = 12/22118400×(28-27)×8049 ≈1.000011Hz
完全可以满足系统的计时要求。
4.3 键盘模块电路设计
在按键设计中K0,K1,K2,K3分别连入单片机I/O接口的P3.4,P3.5,P3.6,P3.7。通过单片机内部判断这4个I/O接口来确定按键是否被按下。三个按键通过一个与门接到P3.3接口,这样可以通过P3.3口来判断有没有按键被按下。P3.3接口为中断1接口,也可用此端口进行中断操作。为了防止电路出现异常而无法控制特设计了一个复位按键。
键盘电路设计如图4.3.1和如图4.3.2所示
图4.3.1 控制按键电路
图4.3.2 复位按键电路
4.4 档位显示电路设计
档位显示模块由三个发光二极管显示,分别代表“烹调”、“烘烤”、“解冻”三个档位,直接将发光二极管接至单片机I/O接口通过单片机发送低电平使发光二极管发光。如下图4.4.1。
图 4.4.1 档位显示模块
4.5 显示电路设计
动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能节省大量的I/O端口,而且功耗更低。由于数码管是供阴极的数码管,所以需要P2口需要输出高电平,但是直接由单片机输出高电平给数码管道输出电流很小不能使数码管正常工作并且在编程中单片机输出低电平比较方便,所以在单片机P2口与数码管之间加上一个非门,数码管可以通过非门提供的电压正常工作。也简化了软件的编程。
用单片机的P0口和P2口连接4位数码管的段端口和位端口。如下图4.5.1
图4.5.1 LED显示电路
4.6 音响发生电路设计
本系统扬声器能够给出声音提示, 输出2—3 秒的双音频提示音。采用555 振荡器实现双音频输出。电路如图4.6.1 所示。
图4.6.1 音响发生电路图
该电路的元件选取及参数选择如下:
(1)由于使双音频控制,一个高音一个低音,一个频率约为另一个的50%,所以选取统一电容值即可,我们选用C1=0.1UF,产生不同的频率依据选配不同的电阻来实现,其中高音频时,选取 R1=2K,R2=6.8K 则
fH=1/(R1+2R2)C1Ln2 KHZ = 925HZ
低音频时,选取 R1 = 3.3K,R2 = 10K,故
fl=1/(R1+2R2)C1Ln2KHZ = 622HZ
占空比D:
D = (R1+R2)/(R1+2R2) ,应当接近50%
虽然可以用带有二极管的电路使D 可以很接近50%,但结构复杂,而且二极管的动态电阻影响频率计算,调节起来很麻烦,为此,选用R1较小,而R2较大的参数。
对FH D =(2+6.8)/(2+2x0.8)=55.7%
对fL D =(3.3+10)/(3.3+2x10)=57.1%
D也较接近50%,音质较好。
(2)C2的选取:只要C2对NE555 输出中的基频有足够小的阻抗即可,选取
C2=47uf,喇叭的阻抗为8,
对低音FL
ZCL =1/ 2πfLC2=1/2π622x47=5.44Ω
对高音FH
ZCH=1/2πfhC2=3.65Ω,由于喇叭是感性负载,而ZCL ,ZCH与感抗部分抵消,对电流起限制作用的主要阻抗是喇叭的电阻和两个5Ω电阻,喇叭中的电流能够满足要求。
(3)C3用来稳定555的比较基准,按有关书籍中的要求设置。
4.7 火力输出控制设计
通过单片机的三个I/O端口输出信号控制火力大小,接收端用发光二极管模拟。电路图如图4.7.1。
只有一个发光二极管亮时火力为“小火”,两个发光二极管亮时火力为“中火”,三个发光二极管都亮时火力为“大火”。
4.8 电源电路设计
生为了更好的产一个5V左右的电压,在此特用了一个改进的电源,通过一个充电器而改装成的一个电源给电路提供电源。如下图4.8.1所示。
图4.8.1 电源电路设计
4.9 本章小结
各模块电路分析完成之后对整个电路已经有了一个很清晰的电路设计思路,将各模块电路整合成整体电路图,并经行检查修改,检查无误后进行电路板的焊接。具体电路图见附件一:系统电路图。
第5章 系统软件设计
系统程序总体可以分成主程序,和其它模块程序。主程序跟据系统的
工作流程
财务工作流程表财务工作流程怎么写财务工作流程图财务工作流程及制度公司财务工作流程
,系统共分为四个状态,分别是:系统待机状态,用户设置状态,微波炉加热状态和加热完成响音提示状态。其他模块程序包括显示程序,计时程序等。下面分别对这这些程序进行详细设计。
5.1 显示程序设计
显示程序通过分时轮流控制各个数码管的COM端,使各个数码管轮流受控显示,流程图如下图5.1.1
图5.1.1 显示程序
5.2 计时程序设计
通过单片机内部定时器2进行时间控制,单片机外接11.0592M晶振,在主程序中设置定时器初值来获得1Hz的中断。流程图如下5.2.1:
图 5.2.1 计时程序流程图
5.3 系统待机状态设计
接通电源后系统进入待机状态,此时显示器显示待机画面,当打后系统将进入用户设置状态。如图如下5.3.1。
开微波炉炉门或按下任何按键
用户设置状态
系统待机状态
调用显示程序
图 5.3.1 系统待机状态图
系统通过判断单片机P3.2接口的输入电压来判断微波炉炉门是否开启,
通过判断单片机P3.3接口的输入电压来判断按键是否按下,具体流程图如下图5.3.2。
显示程序
用户设定状态
否
是
是
P3.2 =1?
否
P3.3=1?
图 5.3.2 系统待机状态流程图
5.4 用户设定状态设计
在用户设定状态用户通过按键进行档位和时间的设定,再微波炉炉门关闭的状态按下K0建则进入加热状态,按K1键用户可以在三个档位上进行切换,按K2和K3键进行时间加减设定。如下图5.4.1
调整时间
按K1键
档位选择
工作状态
用户设置状态
按K0键
按K3键
按K2键
图 5.4.1 用户设定状态图
系统根据按键对应的单片机I/O接口的电平变化判断用户所进行的设置。具体流程图如下图 5.4.2所示。
设置显示初值显示时间为00.00
否
否
否
是
炉门是否闭?
K3键按下?
K2键按下?
K1键按下?
K0键按下?
是
是
微波炉加热状态
时间减子程序
时间加子程序
档位切换子程序
否
是
是
否
图 5.4.2 用户设定程序流程图
5.5 微波炉加热状态
微波炉加热状态有三种,分别为烹调、烘烤、解冻。跟据用户之前设置的档位系统会进入相应的加热状态。系统进入加热状态之后会根据每个档位对大火,中火,小火的时间比的不同进行加热。具体状态图如下图5.5.1所示。
加热完成进入响音提示状态
进入相应的加热状态
判断用户设定的档位
时间倒计时到00.00
按下K0键或打开微波炉炉门
图 5.5.1 微波炉加热状态图
上文已经提到三个档位的加热状态不同,具体加热方法如下图5.5.2所示。
功能
时序 时间
烹 调
烘 烤
解 冻
1
50%时间 高 火
75%时间 高火
25%时间
小火
2
25%时间 中 火
25%时间中火
50%时间
中火
3
25%时间
小火
25%时间
小火
图5.5.2 不同功能时的加热时序表
由上图可以看出根据用户设置的时间可以进行各阶段火力大小的输出。系统将根据用户设置的时间计算出要更换火力的时间点,然后判断当前时间是否为要更换火力的时间点,若是则进入下一个火力阶段,若否将继续判断下个时间,除了判断时间还要判断微波炉门是否开启,K0键是否被按下,计时器是否倒计时到00.00。这三个条件有一个满足系统将进入停止加热并响铃状态。
具体流程图如下图5.5.1。(以烹调档位流程图为例)
将用户设置的时间标记为 “SJ”。
否
计时为1/2 SJ?
是
图 5.5.1 微波炉加热状态流程图
5.6 加热停止并响铃状态设计
加热停止后系统将关闭火力输出并进行响铃提示,响铃提示完毕后系统自动进入待机状态,具体状态图如下图5.6.1所示。
发出响铃提示音
关闭火力输出
进入系统待机状态
图 5.6.1 加热停止并响铃状态图
进入加热停止状态后系统首先关闭火力输出,系统向火力输出系统发送关闭信号,并向音响发生模块发送发音信号。发生结束后系统自动进入系统待机状态。
5.7 本章小结
对各模块和各状态的软件分析之后可以利用伟福6000进行各模块和各状态的软件编程并整合成整体系统,并进行软件仿真对编程过程中产生的错误进行修改,仿真测试无误之后讲源程序进行编译并通过ISPlay将编译好的程序写入单片机中。进行整体调试。具体程序见附件二:软件设计程序。
第6章 系统测试
软件系统在本设计中尤其重要,基本功能大部分是由软件完成的,发挥功能的关键控制部分同样需要软件的密切配合才能顺利实现。鉴于软件设计的精确性和高效性,我们采用汇编语言编写程序。 整个软件系统采用模块化的程序设计方法,共分为初始化,显示程序,准备程序,运行程序,定时器程序,声音发声程序等。软件系统的主要特点是整个过程完全在键盘的控制之下,实现了完全的友好的人机交互功能。主程序通过判断键盘的输入情况调用不同的子程序。子程序的功能实现也是在键盘的配合之下完成的。
6.1测试及制作所用仪器
GDS-820C数字示波器
VC8045II数字万用表
YB1631函数发生器
SK1731SL2A直流稳压电源
伟福6000软件
微机
温度计、烙铁等
6.2测试结果
(1)基本要求
1 上电复位后,显示器显示0分0秒,档位显示为“烹调”;、烘烤、解冻
2 按“K1”键,可进行档位的切换,用户可以在“烹调”、“烘烤”、“解冻”这三个档位之间任意切换。
按下“K2”键,显示器时间增加1分钟,长按“K2”键显示器将增加10分钟,当增加的时间大于99分59秒时时间变为0分0秒;按下“K3”键,显示器时间减少1分钟,长按“K2”键显示器将减少10分钟,当减少的时间小于0分0秒时显示的时间将保持在0分0秒。
按“K0”键,微波炉变为运行状态,显示器开始倒计时,此时再按下“K0”键微波炉返回准备状态,显示器清0,若没有按“K0”显示器倒计时到0分0秒或微波炉炉门被打开微波炉也会返回准备状态。
(2)误差分析
从功能分析,该系统的误差主要是加热倒计时器的计时误差与日期/时钟系统的走时误差。而由于加热倒计时器与日期/时钟系统都是由MCU 定时器产生的1Hz 时钟脉冲驱动,所以该时钟是误差的最主要来源。如(式1,2)所示,由于选用的晶振数值为11.0592Mhz,定时器周期和1Hz的标准时钟不成整数倍比关系,计数器预制数的近似选择,势必引入计算误差。根据所选择的参数不难算出系统产生时钟与标准1Hz 时钟之间存在的误差Δ为:
Δ = 12/22118400×(28 ? 27)× 8049 – 1 ≈ 0.000011Hz…… (式4)
对于加热倒计时器,以99 分59 秒计算,累计误差为:
(99×60 + 59)× 0.000011 = 0.039589 秒
尽管上述误差的影响不可避免,但是通过适当选择计算参数,以及对日期/
时间系统采用时钟同步措施,是完全可以满足设计要求的。
6.3 本章小结
通过系统的测试,查出每个模块的错误,并且尽量简化硬件电路设计和软件程序设计,使得测试结果达到论文设计的目的和要求。
结论
经过一段时间以来的学习,不断的从设计中
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
和修改,并按着预期的要求反复的论证和测试。本着学习的态度,以完善设计的可靠性和稳定性,将整个设计分模块化的进行,并将每个模块加以分析和论证,成功后再联系再一起,最终达到总体效果。
主要完成了以下几个方面的内容:
1.制定一个在不同功能时火力的控制时序表。具有三档微波加热功能,分别表示微波炉工作状态为烹调、烘烤、解冻,试验使用LED模拟。
2.实现工作步骤:复位待机——〉检测显示电路——〉设置输出功能和定时器初值——〉启动定时和工作开始——〉结束烹调、音响提示。
3.在上电或手动按复位键时,控制器输出的微波功率控制信号为0,微波加热处于待机状态,时间显示电路显示为00.00。
4.具有4位时间预置电路,按键启动时间设置,最大预设数为99分59秒。
5.设定初值后,按开启键,一方面按选择的挡位启动相应的微波加热;另一方面使计时电路以秒为单位作倒计时。当计时到时间为0则断开微波加热器,并给出声音提示,即扬声器输出2~3s的双音频提示音。
致谢
首先感谢杨莉国老师的悉心指导和教诲,杨老师渊博的学识、严谨的治学态度以及为人师表的言行举止,都给我留下了深刻的印象。这也是为什么我会选择杨老师作为我本科毕业论文导师的原因所在。在接下来将近三个月的毕业设计过程中,杨老师在论文的选题、框架的调整、内容的删增、乃至具体格式的规范等方面,都投入了大量的精力,提出了大量很有价值的建议意见,给了我很大的启发和帮助,让我领会到了一个真正学者所应该具有的风采以及为人处事的道理,深受感动。
同时,机电系的其他老师在我的学习和成长过程中也都付出了大量的精力,在此一并衷心感谢。并祝愿各位老师身体健康、工作顺利、万事如意!
最后,我要感谢的是我最亲爱的家人。在我二十多年的成长过程中,你们无时不刻无私地关怀和付出,是我独在异乡求学的最大精神支柱,也是我可以依偎的最温馨港湾。你们是我永远的牵挂和眷念!
参考文献
[1] 谢自美. 电子线路设计*实验*测试.武汉:华中科技大学出版社.1998
[2] 楼然苗,李光飞.单片机课程设计指导.北京:电子工业出版社,2007
[3] 吴经国.单片机应用技术.北京:中国电力出版社,2000
[4] 李群芳.单片机微型计算机与接口技术.北京:电子工业出版社,1997
[5] 阉石.数字电子技术基础.北京:高等教育出版社,1998
[6] 雷思孝,李伯成,雷向莉.单片机原理及实用技术.西安:西安电子科技大学出版社,2004
[7] 张毅刚,彭喜元,孟升卫,刘兆庆.MCS-51单片机实用子程序设计.哈尔滨:哈尔滨工业大学出版社,2003
[8] 全国大学生电子设计竞赛——1994年获奖作品选编
[9] 肖忠祥.数据采集原理.西安:西北工业大学出版社,2001
[10] 赵亮,侯国锐.单片机C语言编程与实例.北京:人民邮电出版社,2003
[11] 张齐,杜群贵.单片机应用系统设计技术—基于C语言编程.北京:电子工业出版社,2004
[12] 杨西明,朱骐.单片机编程与应用入门.北京:机械工业出版社,2004
[13] AT89C51 DATA SHEEP Philips Semiconductors 1999.dec
[14] Keil Software Company. Cx51 Compiler User’s Guide. 2001
[15] Intel. MCS-51 Family of Single Chip Microcomputers User’s Manual.1990
附录一:系统电路图
附录二:软件设计程序
ORG 0000H
LJMP DJ
ORG 002BH
LJMP DST2
ORG 0100H
;初始化***********************************************************************
MAIN: MOV TH2,#0DCH
MOV TL2,#00H
MOV RCAP2H,#0DCH
MOV RCAP2L,#00H
SETB ET2
SETB EA
CLR P1.6
CLR P1.7
MOV 20H,#0 ;位控制标志 位为零关闭
;00H 微波炉加热开启标志
;01H 微波炉加热开启后档位闪烁标志
;02H 微波炉声音开启标志
;03H
;04H
;05H
;?
MOV 21H,#00H ;存储档位选择
MOV 22H,#30H ;存储火力信息
MOV 23H,#0FFH ;按键长按设置时间
MOV 24H,#8FH ;微波炉加热开始后 档位灯闪耀时间
MOV 25H,#8FH ;微波炉响音时间
MOV 26H,#8FH ;微波炉响音间隔时间
MOV 27H,#03H ;微波炉响音次数
MOV 28H,#08FH ;待机状态显示字母的速度
MOV 29H,#2CH ;显示切换
MOV 2AH,#0 ;百分之一秒位
MOV 2BH,#0 ;十分之一秒位
MOV 2CH,#0 ;秒 位
MOV 2DH,#0 ;十秒位
MOV 2EH,#0 ;分 位
MOV 2FH,#0 ;十分位
MOV 30H,#0 ;暂存十分位1
MOV 31H,#0 ;暂存分 位1
MOV 32H,#0 ;暂存十秒位1
MOV 33H,#0 ;暂存秒 位1
MOV 34H,#0 ;暂存十分位2
MOV 35H,#0 ;暂存分 位2
MOV 36H,#0 ;暂存十秒位2
MOV 37H,#0 ;暂存秒 位2
MOV 38H,#0 ;暂存十分位3
MOV 39H,#0 ;暂存分 位3
MOV 3AH,#0 ;暂存十秒位3
MOV 3BH,#0 ;暂存秒 位3
MOV 3CH,#0 ;暂存十分位4
MOV 3DH,#0 ;暂存分 位4
MOV 3EH,#0 ;暂存十秒位4
MOV 3FH,#0 ;暂存秒 位4
;用户设置程序***********************************************************************
ZB: LCALL XSZ
LCALL ZBDW ;档位输出
JNB P3.3,ZB
ZB1: LCALL XSZ
JB P3.3,ZB1
LCALL XSZ
JNB P3.4,ZBKS ;准备开始
JNB P3.5,ZBXZ ;准备切换档位
JNB P3.6,ZBXSX ;时间加
JNB P3.7,ZBXSS ;时间减
LJMP ZB
ZBKS: LCALL SY
ZBKS0: LCALL XSZ ;确认所有按键以抬起
JNB P3.3,ZBKS0
JNB P3.2,ZB ;确认微波炉炉门以关闭
MOV R2,2FH
MOV R3,2EH
LCALL ZBJS ;数据计算
SETB TR2
SETB 00H
MOV A,#0H
CJNE A,21H,ZBKS1
LJMP JR1 ;跳转到档位1加热状态
ZBKS1: MOV A,#01H
CJNE A,21H,ZBKS2
LJMP JR2 ;跳转到档位2加热状态
ZBKS2: MOV A,#02H
CJNE A,21H,ZBKS3
LJMP JR3 ;跳转到档位3加热状态
ZBKS3: LJMP ZB
;三个档位切换程序
ZBXZ: LCALL SY
INC 21H
MOV A,21H
CJNE A,#03H,ZBXZ1
MOV 21H,#0H
ZBXZ1: LJMP ZB
;用户设置时间加
ZBXSX: LCALL SY
ZBXSX0: LCALL XSZ
JNB P3.6,ZBXSX1
INC 2EH
MOV A,2EH
CJNE A,#0AH,ZBXRET
MOV 2EH,#0H
MOV 23H,#01H
ZBXSX1: DJNZ 23H,ZBXSX0
INC 2FH
MOV A,2FH
CJNE A,#0AH,ZBXRET
MOV 2FH,#0H
ZBXRET: MOV 23H,#0FFH
LJMP ZB
;用户设置时间减
ZBXSS: LCALL SY
ZBXSS0: LCALL XSZ
JNB P3.6,ZBXSS1
DEC 2EH
MOV A,2EH
CJNE A,#0FFH,ZBXRET
MOV 2EH,#09H
MOV 23H,#01H
ZBXSS1: DJNZ 23H,ZBXSS0
DEC 2FH
MOV A,2FH
CJNE A,#0FFH,ZBXRET
MOV 2EH,#0H
MOV 2FH,#0H
AJMP ZBXRET
;档位判断
ZBDW: JNB 00H,ZBDW1
JNB 01H,ZBDW1
SETB P1.0
SETB P1.1
SETB P1.2
AJMP ZBDWRET
ZBDW1: MOV A,21H
CJNE A,#0H,ZBDW2
CLR P1.0
SETB P1.1
SETB P1.2
AJMP ZBDWRET
ZBDW2: CJNE A,#01H,ZBDW3
CLR P1.1
SETB P1.0
SETB P1.2
AJMP ZBDWRET
ZBDW3: CJNE A,#02H,ZBDWRET
CLR P1.2
SETB P1.0
SETB P1.1
ZBDWRET:RET
;数据计算
ZBJS: MOV A,R2
MOV B,#2H
DIV AB
MOV 34H,A
MOV A,#0AH
MUL AB
ADD A,R3
MOV B,#2H
DIV AB
MOV 35H,A
MOV A,#03H
MUL AB
MOV 36H,A
MOV A,34H
MOV B,#2H
DIV AB
MOV 38H,A
MOV A,#0AH
MUL AB
ADD A,R2
MOV B,#2H
DIV AB
MOV 39H,A
MOV A,#06H
MUL AB
ADD A,36H
MOV B,#2H
DIV AB
MOV 3AH,A
MOV A,#05H
MUL AB
MOV 3BH,A
MOV 33H,#05H
MOV A,#05H
SUBB A,3AH
MOV 32H,A
MOV A,R3
DEC A
SUBB A,39H
JNB CY ,ZBJS1
DEC R2
SUBB A,#0AH
ZBJS1: MOV 31H,A
MOV A,R2
SUBB A,38H
MOV 30H,A
RET
;微波炉加热程序***********************************************************************
;档位1 加热状态
JR1: LCALL JRX
JNB 00H,JR1RET
CLR P1.3
CLR P1.4
CLR P1.5
MOV A,34H
CJNE A,2FH,JR1
MOV A,35H
CJNE A,2EH,JR1
MOV A,36H
CJNE A,2DH,JR1
MOV A,37H
CJNE A,2CH,JR1
JR11: LCALL JRX
JNB 00H,JR1RET
SETB P1.3
CLR P1.4
CLR P1.5
MOV A,38H
CJNE A,2FH,JR11
MOV A,39H
CJNE A,2EH,JR11
MOV A,3AH
CJNE A,2DH,JR11
MOV A,3BH
CJNE A,2CH,JR11
JR12: LCALL JRX
JNB 00H,JR1RET
SETB P1.3
SETB P1.4
CLR P1.5
AJMP JR12
JR1RET: LJMP TZ
;档位2 加热状态
JR2: LCALL JRX
JNB 00H,JR2RET
CLR P1.3
CLR P1.4
CLR P1.5
MOV A,38H
CJNE A,2FH,JR2
MOV A,39H
CJNE A,2EH,JR2
MOV A,3AH
CJNE A,2DH,JR2
MOV A,3BH
CJNE A,2CH,JR2
JR21: LCALL JRX
JNB 00H,JR2RET
SETB P1.3
CLR P1.4
CLR P1.5
AJMP JR21
JR2RET: LJMP TZ
;档位3 加热状态
JR3: LCALL JRX
JNB 0H,JR3RET
SETB P1.3
SETB P1.4
CLR P1.5
MOV A,30H
CJNE A,2FH,JR3
MOV A,31H
CJNE A,2EH,JR3
MOV A,32H
CJNE A,2DH,JR3
MOV A,33H
CJNE A,2CH,JR3
JR31: LCALL JRX
JNB 00H,JR3RET
SETB P1.3
CLR P1.4
CLR P1.5
MOV A,38H
CJNE A,2FH,JR31
MOV A,39H
CJNE A,2EH,JR31
MOV A,3AH
CJNE A,2DH,JR31
MOV A,3BH
CJNE A,2CH,JR31
JR32: LCALL JRX
JNB 00H,JR3RET
SETB P1.3
SETB P1.4
CLR P1.5
AJMP JR32
JR3RET: LJMP TZ
JRX: LCALL XSZ
LCALL ZBDW
JNB P3.3,JRXRET
JNB P3.2,JRXRET
RET
JRXRET: CLR 00H
RET
;加热停止程序状态***********************************************************************
TZ: CLR TR2
SETB P1.3
SETB P1.4
SETB P1.5
LCALL SY
TZ1: LCALL XSZ
LCALL ZBDW
JB 02H,TZ1
LCALL SY
DJNZ 27H,TZ1
LJMP MAIN
;声音模块***********************************************************************
SY: SETB 02H
SETB P1.6
SETB P1.7
MOV 25H,#8FH
MOV 26H,#8FH
RET
;定时器中断程序***********************************************************************
DST2: PUSH PSW
PUSH ACC
DEC 2AH ;毫秒
MOV A,2AH
CJNE A,#0FFH,DSTRET
MOV 2AH,#09H
DEC 2BH ;十毫秒
MOV A,2BH
CJNE A,#0FFH,DSTRET
MOV 2BH,#09H
DEC 2CH ;秒
MOV A,2CH
CJNE A,#0FFH,DSTRET
MOV 2CH,#09H
DEC 2DH ;十秒
MOV A,2DH
CJNE A,#0FFH,DSTRET
MOV 2DH,#05H
DEC 2EH ;分
MOV A,2EH
CJNE A,#0FFH,DSTRET
MOV 2EH,#09H
DEC 2FH ;十分
MOV A,2FH
CJNE A,#0FFH,DSTRET
MOV 2AH,#0
MOV 2BH,#0
MOV 2CH,#0
MOV 2DH,#0
MOV 2EH,#0
MOV 2FH,#0
CLR 00H
DSTRET: DJNZ 24H,DSTRET1
MOV 24H,#8FH
CPL 01H
DSTRET1: CLR TF2
POP ACC
POP PSW
RETI
;显示程序***********************************************************************
XSZ: MOV R4,#11101111B
MOV R5,#04H
MOV DPTR,#TAB
MOV R0,29H
XSZ1: MOV A,@R0
MOVC A,@A+DPTR
MOV P0,A
MOV P2,R4
LCALL DISPLAY
INC R0
MOV A,R4
RL A
MOV R4,A
DJNZ R5,XSZ1
JNB 02H,XSZRET
DJNZ 25H,XSZRET
MOV 25H,#01H
CLR P1.6
CLR P1.7
DJNZ 26H,XSZRET
CLR 02H
XSZRET: RET
;延迟子程序
DISPLAY:MOV R6,#2
DIS1: MOV R7,#220
DJNZ R7,$
DJNZ R6,DIS1
RET
;数码显示编码
;A C E F . -
TAB: DB 040H,79H,024H,030H,019H,012H,002H,078H,000H,010H,008H,046H,006H,007H,07FH,077H
DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H,088H,0C6H,086H,087H,0FFH,0F7H
;*0H *1H *2H *3H *4H *5H *6H *7H *8H *9H *AH *BH *CH *DH *EH *FH
;待机状态设计***********************************************************************
DJ:
MOV 29H,#4CH
MOV 40H,#1EH
MOV 41H,#1EH
MOV 42H,#1EH
MOV 43H,#1EH
MOV 44H,#13H
MOV 45H,#10H
MOV 46H,#1EH
MOV 47H,#12H
MOV 48H,#11H
MOV 49H,#16H
MOV 4AH,#10H
MOV 4BH,#1AH
MOV 4CH,#1EH
MOV 4DH,#1EH
MOV 4EH,#1EH
MOV 4FH,#1EH
DJ1: LCALL XSZ
JNB P3.3,DJRET
JNB P3.2,DJRET
DJNZ 28H,DJ1
MOV 25H,#08FH
MOV 29H,#4BH
DJ2: LCALL XSZ
JNB P3.3,DJRET
JNB P3.2,DJRET
DJNZ 28H,DJ2
MOV 25H,#08FH
MOV 29H,#4AH
DJ3: LCALL XSZ
JNB P3.3,DJRET
JNB P3.2,DJRET
DJNZ 28H,DJ3
MOV 25H,#08FH
MOV 29H,#49H
DJ4: LCALL XSZ
JNB P3.3,DJRET
JNB P3.2,DJRET
DJNZ 28H,DJ4
MOV 25H,#08FH
MOV 29H,#48H
DJ5: LCALL XSZ
JNB P3.3,DJRET
JNB P3.2,DJRET
DJNZ 28H,DJ5
MOV 25H,#08FH
MOV 29H,#47H
DJ6: LCALL XSZ
JNB P3.3,DJRET
JNB P3.2,DJRET
DJNZ 28H,DJ6
MOV 25H,#08FH
MOV 29H,#46H
AJMP DJ7
DJRET: LJMP MAIN
DJ7: LCALL XSZ
JNB P3.3,DJRET
JNB P3.2,DJRET
DJNZ 28H,DJ7
MOV 25H,#08FH
MOV 29H,#45H
DJ8: LCALL XSZ
JNB P3.3,DJRET
JNB P3.2,DJRET
DJNZ 28H,DJ8
MOV 25H,#08FH
MOV 29H,#44H
DJ9: LCALL XSZ
JNB P3.3,DJRET
JNB P3.2,DJRET
DJNZ 28H,DJ9
MOV 25H,#08FH
MOV 29H,#43H
DJ10: LCALL XSZ
JNB P3.3,DJRET
JNB P3.2,DJRET
DJNZ 28H,DJ10
MOV 25H,#08FH
MOV 29H,#42H
DJ11: LCALL XSZ
JNB P3.3,DJRET
JNB P3.2,DJRET
DJNZ 28H,DJ11
MOV 25H,#08FH
MOV 29H,#41H
DJ12: LCALL XSZ
JNB P3.3,DJRET
JNB P3.2,DJRET
DJNZ 28H,DJ12
MOV 25H,#08FH
MOV 29H,#40H
LJMP DJ