电脑电饭煲控制器设计_第1页
电脑电饭煲控制器设计_第2页
电脑电饭煲控制器设计_第3页
电脑电饭煲控制器设计_第4页
电脑电饭煲控制器设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I 辽辽 宁宁 工工 业业 大大 学学 单片机原理及接口技术单片机原理及接口技术 课程设计(论文)课程设计(论文) 题目:题目: 电脑电饭煲控制器设计电脑电饭煲控制器设计 院(系):院(系): 电气工程学院电气工程学院 专业班级:专业班级: 电气电气 学学 号:号: 学生姓名:学生姓名: 指导教师:指导教师: (签字) 起止时间:起止时间:2012013 3.06.24-201.06.24-2013 3.07.07.1212 本科生课程设计(论文) II 课程设计(论文)任务及评语课程设计(论文)任务及评语 院(系):电气工程学院 教研室:电气教研室 注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算 学 号学生姓名专业班级 课程设计 (论文) 题目 电脑电饭煲控制器设计 课程设计(论文)任务 电脑电饭煲控制器可实现温度控制和定时时间设置,显示定时时间和工作状态。采用 电阻丝加热盘。温度测量范围 0125 度。 设计任务:设计任务: 1. CPU 最小系统设计(包括 CPU 选择,晶振电路,复位电路) 2. 温度传感器选择及接口电路设计 3. 加热驱动设计 4. 程序流程图设计及程序清单编 技术参数:技术参数: 1温度测量范围 0-125 度 2控制器工作电源为 220V 设计要求设计要求: 1、分析系统功能,尽可能降低成本,选择合适的单片机、AD 转换器、输出电路等; 2、应用专业绘图软件绘制硬件电路图和软件流程图; 3、按规定格式,撰写、打印设计说明书一份,其中程序开发要有详细的软件设计说明, 详细阐述系统的工作过程,字数应在 4000 字以上。 进度计划 第 1 天 查阅收集资料 第 2 天 总体设计方案的确定 第 3-4 天 CPU 最小系统设计 第 5 天温度传感器选择及接口电路设计 第 6 天加热驱动电路设计 第 7 天 程序流程图设计 第 8 天 软件编写与调试 第 9 天 设计说明书完成 第 10 天 答辩 指导教师评语及成绩 平时: 论文质量: 答辩: 总成绩: 指导教师签字: 年 月 日 本科生课程设计(论文) III 摘 要 本课程设计对电脑电饭煲控制器进行设计,在硬件部分,本文在详细说明了 单片机控制的温控表电路和定时电路的设计原理及其构造的基础上,对其各个部 分进行了设计。即分别对电源电路、CPU 最小系统、温度传感器、温度测量通道、 复位电路、时钟电路、定时显示电路、加热驱动电路进行了设计。CPU 最小系统 由单片机、片外 RAM、键盘/显示接口、复位电路构成。其中 CPU 选用的是美国 ATMEL 公司生产的 AT89C51 单片机。温度测量通道主要由 K 型热电偶、AD595 芯片、A/D 转换器 ICL7135 芯片构成。 在软件部分采用了模块化的设计方法。本系统的程序设计主要包括主程序流 程图和汇编程序。 关键词:CPU;传感器;驱动电路; 本科生课程设计(论文) IV 目 录 第 1 章 绪论 .1 1.1 电脑电饭煲概况 .1 1.2 本文研究内容 .1 第 2 章 CPU 最小系统设计.2 2.1 电脑电饭煲总体设计方案 .2 2.2 时钟电路 .2 2.3 复位电路 .3 2.4 CPU 最小系统图 .4 2.5 CPU 的选择 .4 2.6 显示电路 .6 2.7 电源电路 .6 2.8 加热驱动电路的设计 .7 2.9 温度采集部分电路 .8 第 3 章 系统软件设计 .10 3.1 主程序流程 .10 3.2 子程序介绍 .11 3.2.1 诊断子程序.11 3.2.2 键盘扫描子程序.11 3.2.3 温度采集子程序.11 3.3 程序清单 .11 第 4 章 课程设计总结 .15 参考文献 .16 本科生课程设计(论文) 1 第 1 章 绪论 1.1 电脑电饭煲概况 目前,市场上的电饭煲大部分采用机械式或者是采用固定功率的方式加热, 能源利用率低,功能单一,难以满足人们日益增长的生活需求。因此,开发功能 齐全,安全可靠的微电脑电饭煲是非常用必要的。电饭煲从机械式原理到现在的 智能电饭煲,期间经历了许多的阶段。电饭煲发挥高新技术优势,以美味炊煮为 主导,使产品更加丰富与时尚化,现已形成微电脑、电脑与机械三大类型、十大 不同款式。机械电饭煲虽然价格方面体现它的优势之外,其他方面就很难满足人 们对现代生活高品质的需求。微电脑或电脑控制的智能电饭煲符合现代人的要求, 人性化的界面设计,使得人们一眼看出当前工作状态,让您更安心,各种烹调过 程全部由电脑自动控制,并且大多的智能电饭煲采用太空“黑晶”内胆,超硬耐 磨,恒久美观,所有的这些特点符合现代人的省时、省力、耐用的观念。 1.2 本文研究内容 本文主要介绍利用 89C51 芯片来对电饭煲的过程进行控制,工作频率为 12MHz,工作电压 5V,有 64KB 的 RAM 和 64K 字节的 ROM,有 32 个可编程 I/O 口,8 通道 10 位 A/D 转换器,2 个 16 位定时/计数器,有低电压、上电、看 门狗、外部信号、错误地址复位,并且有一个蜂鸣器输出口。 本科生课程设计(论文) 2 第 2 章 CPU 最小系统设计 2.1 电脑电饭煲总体设计方案 利用 89C51 设计的智能电饭煲控制系统原理框图如图 2.1 所示,通过按键来 选择功能模式、显示电路完成显示当前状态和定时时间;通过温度传感器来对温 度进行采样;通过 MCU 的控制最终实现对继电器的控制,从而来控制对加热盘的 加热与否,电源部分完成对单片机系统和外围电路提供 5V 电源,并且对加热盘 进行加热 重量传感器 磁文传感器 湿度传感器 门检测 可控硅 A/D 转换器 89C51 数码显示管 控制板 报警电路 旋转电机 风扇 图 2.1 控制系统构成框图 2.2 时钟电路 计算机工作时,是在统一的时钟脉冲控制下一拍一拍地进行的,这个脉冲是 由单片机控制器中的时序电路发出的。时钟电路用于产生单片机所需的时钟信号, 本科生课程设计(论文) 3 时钟信号可以由两种方式产生:内部时钟方式和外部时钟方式。如图 2.2 所示 图 2.2 时钟电路 2.3 复位电路 复位电路的设计在整个原理的设计中非常重要,并且要结合本项目的功能要 求进行复位电路的设计。复位操作可以使单片机初始化,也可以使死机状态下的 单片机重新启动,因此非常重要。单片机的复位都是靠外部复位电路来实现的, 在时钟电路工作后,只要在单片机的 RESET 引脚上出现 24 个时钟振荡脉冲(两 个机器周期)以上的高电平,单片机就能实现复位。 复位电路如图 2.3 所示 图 2.3 复位电路 R 1k + C 22u VCC89C51 VCC RESET VSS R 200 C1 CAP C2 CAP Y1 CRYSTAL XTAL 2 XTAL 1 . . . 本科生课程设计(论文) 4 2.4 CPU 最小系统图 图 2.4 CPU 最小系统图 2.5 CPU 的选择 本系统采用 89C51 单片机,此芯片是一种带 4KB Flash ROM 程序存储器的低 电压、高性能的 8 位微处理器。 (1)基本特性 与 MCS51 系列单片机兼容; 片内有 4KB 可重新编程的 Flash 程序存储器,可擦/写 1000 次以上; 全静态逻辑,工作频率范围:024Hz; 三级程序存储器加密; 128B 字节片内 RAM ; 32 个可编程 I/O 口; 提供待机和掉电两种省电工作方式; 两个 16 位定时/计数器; 有 5 个中断矢量,允许 6 个中断源; P0.0 39 P0.1 38 P0.2 37 P0.3 36 P0.4 35 P0.5 34 P0.6 33 P0.7 32 P2.0 21 P2.1 22 P2.2 23 P2.3 24 P2.4 25 P2.5 26 P2.6 27 P2.7 28 P3.0 10 P3.1 11 P3.2 12 P3.3 13 P3.4 14 P3.5 15 P3.6 16 P3.7 17 XTAL 1 19 XTAL 2 18 RESET 9 RSE N 29 ALE /PROG 30 EA 31 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 VCC 40 U1 AT89C51 C1 CAP C2 CAP Y1 CRYSTAL . . . . . . C4 22uf R4 200 R5 1K SW10 位位 . . . . . . . 本科生课程设计(论文) 5 一个全双工串行口;具有与工业标准 80C51 一致的指令集和引脚布置。 AT89C51 是低功耗高性能 COMS8 位单片机。它除了具有与 MCS51 完全 兼容的若干特性外,最为突出的优点就是片内集成了 4K 字节 Flash PEROM(Programable Erasable Read Only Memory),可存放应用程序,这个 Flash 程序存储器允许用一般的编程器离线编程外,还允许在应用系统中实现在线 编程,并且还提供了对程序进行三级加密保护的功能。AT89C51 的另一个特点是 工作速度更高,晶振频率可高达 24MHz,一个周期仅 500s,比 MSC51 快了 一倍。 (2)AT89C51 增加的功能 AT89C51 引脚布置和定义与 MCS51 完全兼容,电脑由于它具有片内 Fla 程序存储器,一些引脚在编程时能提供专门的用途。 P0 口在编程时接受程序代码,校验时输出程序代码。校验时要求将 P0 口由 外部电路上拉(尽管所有的 I/O 端口都具有内置上拉电路); P1 口在编程期间有内部多路开关切换到地址总线,接受编程器送来的低 8 位 地址信息; P2 口在编程期间接受编程器送来的高 4 位地址信息,同时 P2 口的另外两个 引脚(P2.6,P2.7)还接受编程与校验的有关控制信息; P3 口除了具有与 MCS51 相同的双功能外,在编程期间,P3.6,P3.7 两端 口线还接受有关的控制信息; ALE/PROG 端除了输出地址锁存允许(ALE)脉冲外,在编程期间还作为编 程脉冲输入端,参与控制对 Flash 存储器的读、写、加密、擦除等工作。一般情 况下,ALE 端输出频率为 fose/6 的脉冲,可作为一个要求并不很严格的时钟源去 控制其它芯片和设备。该(ALE)脉冲串仅在每次外部数据存储器存取周期仅有 一个 ALE 周期被跳过。如果需要,AT89C51 的 ALE 脉冲输出可以禁止,只要对 特殊寄存器区域 8EH 单元的 bit0 写入 1 就禁止了 ALE,这时仅当单片机处于 MOVX 或 MOVC 指令周期时 ALE 才生效,否则该引脚呈现弱上拉逻辑状态。如 果 AT89C51 构成的系统使用外部存储器,即处于外部程序执行模式,对 8EH 的 bit 置 1 将是无效的,不会对系统的正常工作产生影响; /EA/Vpp 端在寻址片内 4KB Flash 程序存储器(000HFFFH)时,必须连 到 Vcc,如果将此端连到 GND 端,将迫使单片机寻址外部 000HFFFH 范围 的程序存储器。如果加密位被编程了,AT89C51 的 CPU 将对/EA 的状态不得与 实际使用的内部或外部程序存储器的状态发生矛盾。对那些需要 12V 编程电压的 器件。这个端子还接受 12V 编程使用电压(Vpp)。 本科生课程设计(论文) 6 2.6 显示电路 显示电路由共阳极数码管和 10 个 LED 组成,通过单片机位选和所送的数据 来点亮相应的 LED 和数码管的显示状态。其电路原理图如图 2.5 所示: 图 2.5 显示电路原理图 2.7 电源电路 电源部分为单片机提供+5V 的直流稳压源,并且通过降压、整流、滤波之后 的+14V 电压对继电器进行供电,通过控制三极管射极的导通与否来控制继电器的 工作状态。电源电路原理图如图 2.6 所示 V in 1 GND 2 V out 3 L ? 1 J? C O N 1 1 J? C O N 1 1 C O N 1 C ? C ?C ? C A P C ? C A P Q ? v0 0 en d N etL abe l8 a bf c g d e DPY LEDgn 1 2 3 4 5 6 7 a b c d e f g a bf c g d e DPY LEDgn a b c d e f g 8 9 D S1 D PY_7-SEG Q 1 N PN Q 3 N PN Q 4 N PNQ 2 N PN R11 RES2 R10 RES2 R9 RES2 R8 RES2 V CCV CC D 1 D IO DE D 2 D IO DE D 3 D IO DE D 4 D IO DE D 5 D IO DE D 6 D IO DE D 7 D IO DE D 8 D IO DE D 9 D IO DE D 10 D IO DE R12 RES2 R13 RES2 R14 RES2 R15 RES2 R16 RES2 R1 RES2 R2 RES2 R3 RES2 R4 RES2 R5 RES2 R6 RES2 R7 RES2 PC1 PC2 PC3 PC4 PC5 PC6 PC7 本科生课程设计(论文) 7 图 2.6 电源电路 2.8 加热驱动电路的设计 为保证驱动电路可靠工作,其驱动电路应满足如下要求: 1)动态驱动能力强,能提供驱动脉冲,使加热电路迅速导通。 2)能提供适当的正向偏压和足够的反向偏压,使加热电路可靠的开通和关 断,一般取正偏电压为+15V,反偏电压为-10V 为宜。 3)有足够的输入输出电气隔离能力,使信号电路与栅极驱动电路隔离,且具 有灵敏的短路、过流保护功能。 其中 HP3101 是高速光耦,用于实现输入输出信号的电气隔离,Q1,Q2 组成功率放大电路,采用+15V 和-10V 双电源供电,保证正负偏压满足要求。 OUT1、OUT3 来自控制电路。 该驱动电路能安全接受输入信号,在接到正确的控制信号后对加热电路进行 驱动,加热电路开始工作,对外部进行加热,最大功率可达到 2000W。从而实 现电饭煲的加热过程。 驱动电路工作原理电路如图 2.7 所示 OPT OISO1 Q1 Q2 R1 R2 R4 R5 R6 R3 +5V OUT G1 E -10V GND +15V 本科生课程设计(论文) 8 图 2.7 驱动电路工作原理电路 2.9 温度采集部分电路 J2 和 J3 是温度传感器的两个接口,其中 J2 和 J3 分别是顶盖和底盘温度传 感器的接口,单片机检测的信号实际上是与温度传感器分压的电阻的电压值,因 为温度传感器的电阻值会随温度的上升而减小,所以分压电阻的电压值间接反映 了某一时刻的温度,电路原理图如图 2.8 所示: 图 2.8 温度传感器 热电阻传感器主要用于测量温度及与温度有关的参数,在工业生产中被广泛 用于测量-200 到+500范围内的温度,按照热电阻的热度不同,热电阻可以分为 金属热电阻和半导体热电阻两类,前者称为热电阻,后者称为热敏电阻。以热电 阻或热敏电阻为主要器件制成的传感器称为热电阻传感器或热敏电阻传感器。 根据本设计中所需要测量的温度范围、敏感度、精确度以及考虑其经济性, 热敏电阻传感器为最合适的测温元件。 由金属氧化物的粉末按照一定比例混合烧结而成的热敏电阻是今年来出现的 一种新型半导体测温元件。热敏电阻的工作原理简单,即在温度的作用下,热敏 1 2 J2 CON2 1 2 J3 CON2 1 2 3 4 5 J1 CON5 VDD PA6 VDD PA7 GND VDD PA5 PA6 PA7 R1 RES2 R2 RES2 本科生课程设计(论文) 9 电阻的有关参数将发生变化,从而变换成电量输出。以具有负温度系数的热敏电 阻为例,这类热敏电阻随着温度的上升而阻值下降,并在下降过程中把温度量的 变化转换成电量的变化。 本系统的对温度控制的要求是 0150,所以选用热电偶作测温元件,热电 偶具有结构简单、热容量小、材料的互换性好,滞后效应小,信号能够远距离传 送和多点测量,便于检测和控制等优点。在这里根据本系统的测温范围选用国际 标准化热电偶的 K 标志热电偶,K 型热电偶属于廉金属热电偶,故价格便宜。鉴 于以上情况,在设计温度测量系统的前向通道中,从简化电路及程序设计保证采 集精度出发,在以 K 型热电偶作为温度传感器时选择集成温度放大器 AD595 使热 电偶的冷端温度得到补偿,并使之输出信号放大、线性化选择 ICL7135 作为 A/D 转换器,利用它的“BUSY(引脚 21)输出特性辅以单片机 89C51 的定时器直接计 数,通过一个简单算法就可以得到最终的温度值. 本科生课程设计(论文) 10 Y N Y N 第 3 章 系统软件设计 3.1 主程序流程 从样机分析中大致设计整个系统,整个系统输入包括2个温度传感器,5个按键; 输出包括2位七段数码管、10个发光二极管、继电器控制信号等。根据控制功能, 将程序设计为几个主要的模块,程序主流程见图3.1所示: 图 3.1 控制器软件流程图 系统时钟 CLOCK 时间复位 时间复位 显示子程 序 温度测量 调用诊断 程序 采样值有 效吗? 关掉传感 器 开始 定时 定时到? 功能选择 ID 开始工作 定时工作时间: XX 分钟 定时工作时间: XX 小时 XX 分钟 程序初始化 Y N 开始 定时时间到 本科生课程设计(论文) 11 3.2 子程序介绍 3.2.1 诊断子程序 诊断程序主要进行温度采集并判断传感器是否良好,主要对2个温度传感器 连续检测20次,若测到的数据不在范围内(温度范围:0150) ,则表明传感 器短路或断路错误,数码显示“E” ,并禁止按键操作。 3.2.2 键盘扫描子程序 程序每循环一次扫描一次键盘,如果扫描到有键按下,则暂存键值,如果连 续5次扫描到的键值都一样,则认为是稳定的键值。 3.2.3 温度采集子程序 热敏电阻灵敏度高,为了防止干扰及其它原因导致测出的温度值变化太快, 引起控制部件频繁动作,温度采集采用滑动平均值滤波方法。即在同一个通道上 连续采集三个数据,取其中的中间值。 3.3 程序清单 系统共有 2 位七段数码管显示及 10 个发光二极管显示。数码管主要有 6 种 状态需要显示:待机状态、出错显示、焖饭、保温、煮饭中及定时时间显示。发 光二极管显示所选择的功能、开始及保温状态。功能显示需采用轮循方式,在按 下开始键之前,开始灯闪烁。进入保温状态后,保温指示灯亮。LED 显示程序由 位码扫描子程序及数码显示状态选定子程序组成。 计时子程序 .iram .public _end_120 .var _end_120=0 .code .public _Time_Count _Time_Count: .proc 本科生课程设计(论文) 12 r1=_STATUS cmp r1,0 je Count_end r1=T1_1 /取第一个数据/ r1+=T1_2 /第一个数据和第二个数据相加/ r1+=T1_3 /前三个数据相加/ r1+=T1_4 /前四个数据相加/ cmp r1,0 /和与 0 相比较/ je Time2_Count /等于 0 转到定时 2 的计数/ r1=_end_120 cmp r1,120 /是否到了 120 次/ jne ADD_1 /不到转向 ADD_1 继续相加/ r1=0 x00 _end_120=r1 /到了清 0 为下次中断作准备/ call _Time_count_down1 /调用预置减子程序/ jmp Time_Count_Over ADD_1: r1=r1+1 _end_120=r1 Time_Count_Over: r1=P_IOA_Buffer /一次中断计时后秒点反相/ r2=0 x8000 r1=r2 P_IOA_Data=r1 jmp Count_end Time2_Count:r1=T2_1 /取第一个数据/ r1+=T2_2 /第一个数据和第二个数据相加/ r1+=T2_3 /前三个数据相加/ r1+=T2_4 /前四个数据相加/ cmp r1,0 je Count_end r1=_end_120 cmp r1,120 jne ADD_2 r1=0 x00 本科生课程设计(论文) 13 _end_120=r1 call _Time_count_down2 jmp Count_end ADD_2: r1+=1 _end_120=r1 Count_end: retf .endp 中断子程序 IRQ3 .text .public _IRQ3 _IRQ3: push r1,r5 to sp r1=0 x0080 r1 /去抖延时循环次数/ .ram .var Key_Buff; /本次键值存储单元/ .var Key_Debounce; /计数单元/ .code .public _KeyScan; _KeyScan:.proc r2=P_IOA_Data r2&=0 x001F /读键口/ jnz F_SomeKeyIsPressed /有键按下跳转进行按键比较/ r1=0 x0000 Key_Buff=r1 retf F_SomeKeyIsPressed: /按键比较/ r1=Key_Buff /读上次键值/ Key_Buff=r2 /存本次键值/ cmp r1,r2 je L_KS_StableTWOSample /若按键相同跳转进行去抖延时/ r1=C_DebounceCnt /初始化计数单元/ Key_Debounce=r1 r1=0 x0010 retf L_KS_StableTWOSample: /去抖延时/ r1=Key_Debounce jz L_KS_StableOverDebounce /计数结束跳转形成键码/ r1-=1 Key_Debounce=r1 r1=0 x0010 retf L_KS_StableOverDebounce: /形成键码/ r1=Key_Buff retf .endp 本科生课程设计(论文) 15 第 4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论