《基于单片机的智能电饭煲的控制.doc》由会员分享,可在线阅读,更多相关《基于单片机的智能电饭煲的控制.doc(55页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、分类号 编 号 华北水利水电学院North China Institute of Water Conservancy and Hydroelectric Power毕 业 设 计题目: 基于单片机的电饭煲智能控制系统的设计 院 系 信息工程学院 专 业 电子信息工程 姓 名 李 玉 平 学 号 指导教师 郑 辉 2011 年 05 月 24日 华 北 水 利 水 电 学 院毕 业 设 计 任 务 书题目:基于单片机的电饭煲智能控制系统的设计专 业: 电子信息工程 班级学号: 姓 名: 李 玉 平 指导教师: 郑 辉 设计期限:2011 年2 月 21日开始 2011年 5 月27日结束 院、系
2、: 信息工程学院 2011年 2月 21 日一、毕业设计的目的 通过本次设计掌握产品设计的流程,能熟练的使用AT89C51单片机,并根据设计要求选择合适的元器件,充分理解相关软件,对整个产品设计时的调试等必要的环节有更深刻的体会。 本设计通过选认元件、连线焊接、调试检测等过程,培养了搜集资料和调查研究的能力,方案论证选择的能力,理论分析与设计运算的能力,巩固了计算机软硬件和应用系统设计方面的能力。二、主要设计内容及基本要求 1本设计包含以下部分:按键电路、上电复位电路、晶振电路、电源电路、显示电路、MCU系统部分、机械控制电路等部分。2 基本要求:(1)要求定时工作时间和实时时间对比达到长时间
3、精确地定时功能。(2)要求定时时间和实时时间相同时通过51单片机控制光耦驱动电路来控制电饭煲的工作。三、重点研究问题1单片机的内部结构,显示电路的调试。2部分功能电路的软件设计:键盘显示电路、报警电路、工作指示电路。四、主要技术指标或主要设计参数 根据模块电路,设计出完整的电路原理图,焊接出实物,并对产品进行调试。电源部分为单片机系统提供的电压为5V,为光耦提供的电压为12V。五、设计成果 拟做出一个基于AT89C51单片机对电饭煲的智能控制系统的设计,设计出整体原理图,并做出实物,同时做出一份符合要求的毕业论文。华北水利水电学院本科生毕业设计开题报告 2011年3月10日学生姓名李玉平学号专
4、业电子信息工程题目名称基于单片机的电饭煲智能控制系统的设计课题来源自 选主要内容 早在20世纪早期,电子智能控制技术就已经发展起来了,并最先被应用于工业生产中,其后随着控制理论、微电子技术和传感技术的发展,在操作复杂度、可控对象、稳定性、经济性等方面均得到了完善,目前电子智能控制技术在家用电器、汽车电子、智能电源保护、电力自动化和电动工具等领域得到很广泛的应用,以促进产品智能化和信息化程度的提高。例如,在空调、电磁炉、微波炉、洗衣机、电冰箱、电视机等生活家电上,电控板的身影无处不在,而一台高档汽车采用的电子智能控制装置更高达20多处。而如今随着社会的发展和现在人们生活节奏的加快,越来越多的工薪
5、层的人们更是忙碌,除了工作,剩余的时间也越来越少,谁都想越来越多的智能家电在我们身边应用。比如:清晨6:10,全家还在熟睡中,智能系统已让电饭煲把饭煮好. 本课题就是在这样的背景下设计的。此系统支持24小时预约煮饭,可灵活方便地安排煮饭时间,从而进一步实现智能家庭的梦想。 通过本次设计掌握产品设计的流程,能熟练的使用AT89C51单片机,并根据设计要求选择合适的元器件,通过模块框图到总体电路图再到调试,充分理解了相关软件。 本次设计的意义在于通过选认元件、连线焊接、调试检测等过程,锻炼自己的动手能力,从而综合性地巩固所学知识。通过这次设计我学会了综合的运用所学专业知识去分析、解决实际问题,较熟
6、练地掌握了通过文献检索、资料查询从而获取新知识的方法,巩固了计算机软件、硬件和应用系统设计的基本能力。系统的主要功能和要求(1) 实现电饭煲24小时的定时预约煮饭的功能。(2)实现定时时间和实时时间相同时通过51单片机控制光耦驱动电路来控制电饭煲的工作。(3)要求在实时时钟工作下,当到达定时时间时该控制电路会完成电饭煲的自动给电功能和机械动作功能,从而在按照使用者预先设定的时间来完成规定的任务,从而达到智能实时控制的目的。 系统的功能电路 该设计主要的功能电路有:按键电路、上电复位电路、晶振电路、电源电路、显示电路、机械控制电路等。总体设计结构图显示电路AT89C51按键电路上电复位电路晶振电
7、路电源电路220V控制电路机械控制电路光耦光耦采取的主要技术路线或方法总体设计采用的方法:1硬件设计 (1)画流程框图 (2)选择元器件 (3)画出原理图2软件设计 (1) 画流程图,确定程序的执行方案。 (2) 程序的编写采用模块化的设计方法,使它具有易读、易改的特性。3设计工具 (1)Keil uVision2:编写、调试程序。 (2)Protues:设计电路原理图并调试。4焊接、调试预期的成果及形式 通过设计能更深刻地了解硬件设计的基本流程,熟练地运用主要的设计工具完成从模块电路到整体电路等各个步骤的设计。根据原理图焊接出实物电路板,从而使该电路板能够实现预期的功能。形式有:实物电路板、
8、设计论文、protues仿真电路原理图。时间安排第1、2周:熟悉毕业设计题目,搜集相关资料。第3、4周:明确毕业设计任务,提交开题报告。第5、6周:做有关电饭煲智能控制的前期工作,对该系统进行总体框架设计。第7、8周:对模块电路进行详细分析验证,从而形成系统的可行性整体方案。第9、10周:进行protues仿真,焊接电路板,并进行实物调试。第11、12周:外文翻译、撰写论文。第13周: 提交论文、准备答辩,组织预答辩。第14周: 答辩。指导教师意见签 名:年 月 日备注摘要 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制技术的日益更新。如今随着社会的发展和现在人们生活节奏
9、的加快,越来越多的工薪层的人们更是忙碌,除了工作,剩余的时间也越来越少,谁都想越来越多的智能家电在我们身边应用。用单片机技术设计一种电饭煲的定时控制,要求用键盘输入定时时间和实时时间对比达到长时间精确的定时功能。 本设计主要包括硬件电路的设计和系统程序的设计,硬件电路主要包括主控制器、显示电路等,主控制器主要采用单片机AT89C51、显示电路采用4位共阴极的LED。系统程序主要包括主程序、显示程序和定时程序等。本设计采用AT89C51单片机,要求定时时间和实时时间相同时通过光耦驱动电路控制电饭煲的工作。 关键词:单片机; 智能 ; 程序;光耦 ;驱动 AbstractWith the rapi
10、d development of science and technology in recent years, the application of SCM is continuously strengthening,and driving the innovation of traditional control technology . Now with the development of society and the accelerating rhythm of peoples life, its becoming a common phenomenon that more and
11、 more blue-and-white collar workers are more busy,the rest of their time is less and less after completing their regular work ,which makes everybody have a dream of using more and more smart appliances as possible as they can in their daily life.The timing control of a rice cooker designed by SCM te
12、chnology,which requires timing of time and real-time time input with keyboard in order to achieve long-time timing function accurately by comparison.This design mainly included the design of the hardware electric circuit and the design of system program .The hardware electric circuit of the design m
13、ainly included the master controller , display circuit and so on .The master controller mainly used AT89C51 SCM ,the display circuit used 4 altogether cathodes LED numerical code tube . The design adopts AT89C51 MCU,which demands Opto-coupler driver circuit to control the work of electric cooker whe
14、n the timing time is equal to the real-time time .Keyword : scm; intelligent ;procedures;opto coupler; drivers 目录 摘要IABSTRACTII第1章 概述1 1.1 研究背景11.2 主要内容11.2.1 研究目的和意义11.2.2 研究内容1第2章 设计分析32.1 设计要求32.2 总体设计32.3 系统方案选择42.4 软件开发环境4第3章 电路主要器件性能63.1 AT89C51内部结构及管脚说明63.1.1 AT89C51内部结构63.1.2 AT89C51部分管脚说明73
15、.2单片机芯片内并行I/O口73.3 74LS245芯片83.4 MOC3020芯片9第4章 电路硬件设计104.1 电源电路104.1.1 电源电路的工作原理104.1.2 电源电路硬件构成104.2 显示电路114.2.1 数码管显示电路工作原理11 4.2.2 数码管显示电路134.3 功率控制电路144.3.1 单片机控制大功率电路工作原理144.3.2 单片机控制大功率电路144.4 附属电路154.4.1 键盘电路工作原理及构成154.4.2 讯响电路工作原理及构成174.4.3 工作指示电路工作原理及构成17第5章 软件设计18 5.1 程序设计流程图18 5.2 系统的调试19
16、5.2.1 单片机系统的调试195.2.2 软件调试19结论22致谢23参考文献24附录一:硬件电路原理图25附录二:源程序代码26附录三:外文资料及翻译35 第1章 概述1.1 研究背景 早在20世纪早期,电子智能控制技术就已经发展起来了,并最先被应用于工业生产中,其后随着控制理论、微电子技术和传感技术的发展,在操作复杂度、可控对象、稳定性、经济性等方面均得到了完善,目前电子智能控制技术在家用电器、汽车电子、智能电源保护、电力自动化和电动工具等领域得到很广泛应用,以促进产品智能化和信息化程度的提高。例如,在空调、电磁炉、微波炉、洗衣机、电冰箱、电视机等生活家电上,电控板的身影无处不在,而一台
17、高档汽车采用的电子智能控制装置更高达20多处。而如今随着社会的发展和现在人们生活节奏的加快,越来越多的工薪层的人们更是忙碌,除了工作,剩余的时间也越来越少,谁都想越来越多的智能家电在我们身边应用。比如:上午你去上班,下午下班回来的时候洗衣机已经把衣服洗好了;清晨6:10,全家还在熟睡中,智能系统已让电饭煲把饭煮好本课题就是在这样的背景下设计的。此系统支持24小时预约煮饭,可灵活方便地安排煮饭时间,从而进一步实现智能家庭的梦想。1.2 主要内容1.2.1 研究目的和意义 通过本次设计掌握产品设计的流程,能熟练的使用AT89C51单片机,并根据设计要求选择合适的元器件,通过模块框图到总体电路图再到
18、调试,充分理解相关软件的使用。 本次设计的目的在于通过设计电路图、编写程序、选认元件、连线焊接、调试检测等过程,锻炼自己的实际动手操作能力,从而综合性地巩固所学的理论知识。 通过这次设计我学会了综合的运用所学专业知识去分析、解决实际问题,较熟练地掌握了通过文献检索、资料查询从而获取新知识的方法,更重要的是提高了我的动手操作能力。1.2.2 研究内容 本设计主要采用AT89C51、74LS245和光耦一起制作电饭煲的智能控制系统,主要分为:系统的硬件设计与调试和控制软件的设计与调试。(1) 硬件部分 硬件电路主要包括主控制器、驱动电路、键盘电路、光耦电路、显示电路等,主控制器主要采用单片机AT8
19、9C51、驱动电路采用74LS245、显示电路采用4位共阴极的LED以动态扫描法只读显示。键盘电路、驱动电路、显示电路和主控制器一起实现电饭煲24小时的定时预约煮饭的功能。(2) 软件部分 软件主要有四大部分组成:设置当前时间程序、设置定时时间程序、中断控制程序和扫描显示程序。第2章 设计分析2.1 设计要求 该设计是在单片机的自动化控制理论原理和实时定时电路工作原理为基础上完成。要求用键盘输入定时时间和实时时间的对比达到长时间精确的定时功能;在实时时钟工作下,当到达定时时间时该控制电路会完成电饭煲的自动给电功能和机械动作功能,并且按照使用者预先设定的时间来完成规定的任务,从而达到智能实时控制
20、的目的。2.2 总体设计 本设计为电饭煲智能控制,其工作原理为以AT89C51为控制核心,带有定时功能的实时时钟为基础,和光耦进行电气隔离来完成单片机对大功率高电压进行控制。其工作原理图如图2-1所示: 显示电路AT89C51按键电路上电复位电路晶振电路电源电路220V控制电路机械控制电路光耦光耦图2-1系统工作原理图2.3 系统方案选择(1)键盘选择 独立式键盘:电路简单,易于编程,但需要的I/o口线较多,当需要多个按键时可能造成I/o线资源短缺。 行列式键盘:I/o口分为行线和列线,按键跨接在行线和列线上,列线通过上拉电阻接电源,特点是:占用的I/o口线少,但软件较为复杂。 在本设计中键盘
21、的作用就是提供模式的选择和时间的设定,只需要五个键就可以胜任,综合考虑后选择独立式键盘。(2) MCU的选择 第一种:8031单片机内没有ROM/EPROM/FLASH存储器,使用时需外加存储器,也就是说,程序需要烧写到另外的一个存储芯片上,这两个芯片必须同时出现才能使用。 第二种:AT89C51单片机片内有4K的ROM存储器,8051单片机比8031多了一个内部的4K ROM,他可以用编程器烧写程序,但写完之后也不能删除。 综合单片机的各部分资源及成本问题,本设计选用了后者,因为使用后者少写程序更方便。(3) 信号显示的选择 本设计有两种数据需要显示,一种是时间信号,另一种是信号灯状态显示信
22、号。对于前者可以选用数码管显示,也可以用液晶显示,但是液晶显示比数码管的成本高了很多,因此选用液晶并不经济。信号灯状态显示可以选用LED,LED不仅亮度高、寿命长,而且成本比较低。2.4 软件开发环境 汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要有优点是占用资源少、执行率高,但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构不能通用,因此不能直接在不同处理器体系结构之间移植。 C语言是一种结构化的高级语言。其优点是可读性好、移植容易、代码量小、开发周期短,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。
23、 对于目前的普遍使用8bitMCU来说,其内部ROM、RAM等资源都是有限的,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器,而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便,所以本设计采用汇编语言编写源程序。第3章 电路主要器件性能3.1 AT89C51内部结构及管脚说明3.1.1 AT89C51内部结构 图3-1 AT89C51内部结构AT89C51是标准的40引脚双列直插式集成电路芯片,引脚排列如图3-2所示:AT89
24、C51图 3-2 AT89C51管脚图3.1.2 AT89C51部分管脚说明Pin9:RST/VPD 复位信号复用脚,当AT89C51通电时,时钟电路开始工作,在RST 引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC 指向0000H,P0-P3 输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RST 由高电平下降为低电平后,系统即从0000H地址开始执行程序。AT89C51的复位方式可以是自动复位,也可以是手动复位,此外,RST/VPD 还是一复用脚,Vcc 掉电其间,此脚可接上备用电源,以保证单片机内部RAM 的数据不丢失。Pin30:ALE
25、/ PROG 当访问外部程序存储器时,ALE(地址锁存器)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE 端将有一个1/6 时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。Pin29: PSEN 当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16 位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp 程序存储器的内外部选通线,89C51内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。若EA
26、为低电平,则不管地址大小,一律读取外部程序存储器指令。 3.2单片机芯片内并行I/O口 AT89C51共有4个8位的并行I/O口,分别记作P0、P1、P2、P3,每个口都包含一个数据锁存器、一个输出驱动电路和两个输入缓冲器。 在访问片外扩展存储器时,低8位地址和数据由P0口传送,高8位地址由P2口传送。在无片外扩展存储器的系统中,这4个口的每一位均可作为双向的I/O端口使用。P1口的内部结构如图3-3所示:图3-3 P1口内部结构3.3 74LS245芯片 74LS245是一种三态输出的8总线收发器,74LS245 通常用于数据的双向传送、缓冲和驱动。其逻辑电路图和引脚图如图3-4所示:图3-
27、4 74LS245 内部结构图 从3-4图可见,该收发器有16个双向传送的数据端,即A1A8,B1B8,另有两个控制端使能端口,方向控制端DIR,该芯片的功能如表3-5:表3-5 74LS245的真值表3.4 MOC3020芯片 光电耦合器是以光为媒介传输电信号的一种电一光一电转换器件。它由发光源和受光器两部分组成,把发光源和受光器组装在同一密闭的壳体内,此间用透明绝缘体隔离。发光源的引脚为输入端,受光器的引脚为输出端常见的发光源为发光二极管,受光器为光敏二极管、光敏三极管等。光电耦合器的种类较多,常见有光电二极管型、光电三极管型、光敏电阻型、光晶闸管型等。在光电耦合器输入端加电信号使发光源发
28、光,光的强度取决激励电流的大小,此光照射到封装在一起的受光器上后,因光电效应而产了光电流,由受光器输出端引出,这样就实现了电一光一电的转换。MOC3020为光电耦合器,通过对其引脚控制可以实现对大电压和大功率功率管进行触发控制。MOC3020为dip6脚封装。1、2为单片机控制端,当有电流时内部发光管导通发光而受控管导通来触发外部双向可控硅进行工作。其内部结构图如图3-6所示:图 3-6 Moc3020内部结构图第4章 电路硬件设计4.1 电源电路4.1.1 电源电路的工作原理 电子设备对电源电路的要求就是能够提供持续稳定、满足负载要求的电能,所以一般需要单独设计电源电路,单片机要求电源中应尽
29、量减少纹波,电压要恒定,且单片机复位电路要稳定、可靠,因此需要设计一个直流稳压电源给单片机和光耦供电,其工作原理是先将市电电网电压经变压器转为交流电,再通过桥堆对输入的交流电进行整流,然后通过电容滤波,稳压器进行稳压,使后续电路的电压稳定为+5V,电路板能通电,说明该模块能正常工作。 这里采用了线性稳压电源芯片LM7805和LM7812作为电源的核心器件。LM7805和LM7812是LM78系列三端稳压IC中的两种,用它来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。如图4-1 为7805和7905工作电路图:图4-1 三端稳压电路
30、的应用电路VV+_+_ioCC12.IN(TAB)2OUT3LM7812VV+_+_ioCC12.1IN1OUT3LM78052 4.1.2 电源电路硬件构成 该设计电源电路由变压器JP、桥式整流器D1、滤波电容、集成稳压块7805和7812两个稳压管组成,其工作原理为220v交流电经过变压器降压后由次级线圈输出的电压为24v的交流电,然后经过桥式整流后成为波动的直流电压,再经过滤波电路,输入集成电压稳压器,最后输出+5V和+12V直流电压,提供给整个电路。+5V为单片机、光耦器和74LS245等提供工作电压,+12V为隔离电路提供工作电压,其电源电路如图4-2所示:图4-2 系统工作电源电路
31、4.2 显示电路4.2.1 数码管显示电路工作原理1. 7段LED数码显示器俗称“数码管”,其工作原理是将要显示的十进制数码分成7段,每段为一个发光二极管,利用不同发光段组合来显示不同的数字。图4-3(a)所示为数码管的外形结构。图4-3 7段显示器LED的外形图及二极管的连接方式数码管中的7个发光二极管有共阴极和共阳极两种接法,分别如图4-3(a)、(b)所示,图中的发光二极管ag用于显示十进制码的10个数字09,h用于显示小数点。从图中可以看出,对于共阴极的显示器,某一段接高电平时发光;对于共阳极的显示器,某一段接低电平时发光,使用时每个二极管要串联一个约100的限流电阻。 7段数码管是利
32、用不同发光段组合来显示不同的数字。以共阴极显示器为例,若a、b、c、d、g各段接高电平,则对应的各段发光,显示出十进制数字3;若b、c、f、g各段接高电平,则显示十进制数字4。ag组合成为7位代码,要显示的数字一般首先转换成为7段码,然后驱动7段数码管显示。LED显示器的特点是:清晰悦目、工作电压低(1.53V),BS202每段最大驱动电流约为10mA,体积小、寿命长(大于100KH)、响应速度快(1100ns)、颜色丰富(有红、绿、黄等色)、工作可靠。2. LED数码显示器的接口方法与电路(1)LED数码显示的接口方法 单片机与LED数码显示器有以硬件为主和以软件为主的两种接口方法,以硬件为
33、主的接口方法,这种接口方法的电路如图4-4所示:单片机51驱动电路图 4-4 LED数码管常用驱动电路 (2)LED数码显示器的接口电路 实际使用的LED数码显示器位数较多。为降低成本,大部分以软件为主的接口方法。对于多位LED数码管显示器,通常采用动态扫描显示方法,即逐个循环点亮各位显示器,这样虽然在任一时期只有一位显示器被点亮,但是由于人眼有视觉残留效应,看起来与全部显示持续点亮的效果基本一样(在亮度上要有差别)。(3)驱动器 LED显示是单片机控制产品中常见的应用。使用LED模块,这种模块中带有LED显示管和LED驱动电路,用起来比较方便。 一般用户直接采用单片机LED驱动器和LED显示
34、管的方式, 现在本设计使用的LED驱动74LS245,它作为共阴极数码管的驱动器,用单片机端口直接进行片选,它是集成电路组件。4.2.2 数码管显示电路 该系统显示电路由四个共阴数码管和驱动芯片74LS245构成,所要显示的数据由P0口送出,经74LS245提高驱动能力之后直接接在数码管的a到dp端口线上,四个数码管的片选有P2口低电平进行片选,从而完成显示电路的工作,使系统更具有可视化操作。其电路如图4-5所示:图4-5 数码管显示电路4.3功率控制电路4.3.1单片机控制大功率电路工作原理 单片机控制输出电压和电流都很小,不能驱动高电压和大功率用电器,机械性开关不便于集成和自动化智能控制。
35、为了避免机械接触开关的缺点,本系统选用可控硅为主体的完全光电隔离的中间驱动电路。可控硅是大功率开关型半导体器件,能在高电压、大电流条件下工作,具有无器械接触、体积小、便于安装等优点,广泛应用于电力电子设备中。光电隔离保证了系统的安全性和外界电压波动对系统的影响。系统工作电路如图4-6所示:单片机光耦驱动器高电压大功率负载 图4-6功率控制电路4.3.2 单片机控制大功率电路 单片机的P2.0和P2.1各控制一个光耦器,当单片机内部完成预定的时间时此两个端口会产生两个低电压使MOC1和MOC2两个光耦工作,MOC1控制220V电压的导通,当光耦1工作时4、6脚成低阻状态时,内部的过零检测电路使光
36、耦输出一个高电压来触发双向可控硅使其导通,在一直保持高电平的同时双向可控硅一直工作来完成对电饭煲的电源打开。Rk3和ck为滤波电路,减少高压对双向可控硅影响。另一个光耦控制机械部分的工作,使电饭煲的工作开关打开,从而来控制电饭煲的实时控制。功率控制部分由如图4-7所示:图4-7功率控制电路4.4附属电路4.4.1 键盘电路工作原理及构成1.键盘分类 按照结构原理按键可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。2.按键结构与特点 微机键盘通常使用机械触点式
37、按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。 机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图4-8所示,抖动时间的长短与开关的机械特性有关,一般为510ms。 图4-8 抖动过程 在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施。这一点可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键
38、数较多时,采用软件去抖。由于本设计所用的按键数较少,所以采用硬件去抖。 单片机工作时有外接键盘输入信号,当检测到有哪一个键被按下时,单片机内部执行相应的工作程序。该系统的键盘由5个独立键盘构成,包括一个中断键盘单元,来完成智能电饭煲的手动控制。键盘的一脚接在单片机的P1.1至P1.4脚上,另外一脚接在电源地上,当有键盘按下时对应的键盘就会有一低电平送进单片机内部,由单片机内部程序进行消抖处理然后确定哪一个键盘被按下后来执行程序完成该系统的指定工作。该系统键盘接口电路如图4-9所示:图4-9 系统按键开关电路4.4.2 讯响电路工作原理及构成 正常情况下单片机P1.7脚是低电平,蜂鸣器不工作,当
39、单片机开始工作时会由于P1.7脚为高电平而发声,而输出端P1.7处于低电平时,无电流通过蜂鸣器,蜂鸣器则不发声;当预定时间到达需要蜂鸣器响时,P1.7端口电压由低电平变为高电平,蜂鸣器通电,从而发出报警声,R1为限流电阻。 其工作电路为如图4-10所示:图4-10 系统讯响电路4.4.3 工作指示电路工作原理及构成 电路正常工作时,单片机内部程序会执行,所以本设计采用内部程序执行与否来判断电路是否工作,弥补了在电源处加指示灯亮而程序不工作的错误弊端。 该电路指示为每当程序执行一秒时灯就会闪动一下,来指示电源电路和程序执行工作。每当P1.0的高低电平变化一次,指示灯就会闪动一下,其电路图为图4-
40、11所示:图4-11工作指示电路第5章 软件设计5.1 程序设计流程图 整个系统输入包括5个按键;输出包括4位七段数码管、3个发光二极管、光耦控制器等。根据系统控制功能,程序主流程图见图5-1所示: 程序开始相关变量初始化是否有中断 中断服务程序检查闹铃时间闹铃执行程序显示程序K1是否按下K1键处理程序K2是否按下K2键处理程序K3是否按下K4是否按下K4键处理程序图5-1 主程序流程图5.2 系统的调试5.2.1单片机系统的调试 单片机系统是指单片机能正常工作所必需的外围元件,主要分为时钟电路和复位电路。本设计采用的是AT89C51芯片,它内部自带4KB的FLASH程序存储器,一般情况下,这
41、4KB的存储空间足够我们使用,所以本设计将AT89C51芯片的第31脚固定接高电平,所以我们只用芯片内部的4KB程序存储器。单片机的时钟电路有一个12MHz的晶振和两个30pF的小电容组成,它决定了单片机的工作时间精度为1微妙。复位电路有22uF的电容和1k的的电阻(实际经验),其好处是在满足单片机可靠复位的前提下降低了复位引脚对地的阻抗,可以显著增强单片机复位电路的抗干扰能力。 判断单片机芯片及时钟系统是否正常工作:用万用表测量单片机晶振引脚(18、19)的对地电压。以正常工作的单片机用数字万用表测量为例:18脚对地约2.24V,19脚对地约2.09V。对于怀疑是复位电路故障而不能正常工作的
42、单片机也可以用模拟复位的方法来判断,单片机正常工作时第9脚对地电压为零,可以用导线短时间和+5V连一下,模拟一下上电复位,如果单片机正常工作了,说明复位有问题。5.2.2 软件调试 第一步,原程序代码在Keil uVision2进行编译,编译成功以后生成.hex文件。 第二步,把.hex文件加载在AT89C51芯片里,最后在protues里调试。当电路上电后,定时标志清零,蜂鸣器响之后指示灯闪烁。当按下Key1键时设置当前时间,设置完按下Key4键,然后蜂鸣器响之后指示灯闪烁。当按下Key2键时设置定时时间,设置完按下Key4键,然后指示灯闪烁,最后再按下Key4键后蜂鸣器响时,表明现在已经开
43、通定时功能,当定时时间和当前时间相等时,蜂鸣器响,电饭煲的指示灯亮,这时该控制电路会完成电饭煲的自动给电功能和机械动作功能,从而在按照使用者预先设定的时间来完成规定的任务。其仿真结果如5-1,2,3图所示: 图5-2 设置当前时间 图5-3 设置定时时间 图 5-4 定时到达时的状态结论 这次毕业设计经历了将近半年的时间,其中遇到了许多的麻烦和困难,但是几乎都解决了,通过发现问题、分析问题、解决问题,我又学到了许多新的知识,并在一定程度上加强了理论学习和工程实践相融合、巩固基础知识与培养创新意识相结合等方面的能力。在这次毕业设计遇到最大的问题是在仿真的时候,蜂鸣器不响,最后在马斌老师的帮助下,问题解决了。从设计前期的系统开发方案制定,到中间具体单元电路的制作,再到后期软硬件的联合调试,都需要我们亲自参与。对于设计中所遇到的难点和不明白的地方,需要自己主动地去解决,不再是像以前一样老师将大部分的工作做好,然后由学生完成剩下的任务。 本设计以AT89C51单片机为基础,主要包括了按键电路、上电复位电路、晶振电路、LED显示电路、机械控制电路等,先在Keil uVision2软件中进行编程,然后在Proteus中进行软硬件仿真。相比较市场上的
限制150内