智能电饭煲控制系统课程设计说明书.doc_第1页
智能电饭煲控制系统课程设计说明书.doc_第2页
智能电饭煲控制系统课程设计说明书.doc_第3页
智能电饭煲控制系统课程设计说明书.doc_第4页
智能电饭煲控制系统课程设计说明书.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

广州学院广州学院 课程设计说明书课程设计说明书 智能电饭煲控制系统设计 毕业设计(论文)原创性声明和使用授权说明毕业设计(论文)原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺:所呈交的毕业设计(论文) ,是我个人在指导教 师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别 加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过 的研究成果,也不包含我为获得 及其它教育机构的学位 或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人 或集体,均已在文中作了明确的说明并表示了谢意。 作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论 文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和 电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并 提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其 它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论 文的部分或全部内容。 作者签名: 日 期: 学位论文原创性声明学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行 研究所取得的研究成果。除了文中特别加以标注引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本 文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 本人完全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权 大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期: 年 月 日 导师签名: 日期: 年 月 日 指导教师评阅书指导教师评阅书 指导教师评价:指导教师评价: 一、撰写(设计)过程 1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格 2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格 3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格 4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格 5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建议成绩:建议成绩: 优优 良良 中中 及格及格 不及格不及格 (在所选等级前的内画“”) 指导教师:指导教师: (签名) 单位:单位: (盖章) 年年 月月 日日 评阅教师评阅书评阅教师评阅书 评阅教师评价:评阅教师评价: 一、论文(设计)质量一、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 二、论文(设计)水平二、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建议成绩:建议成绩: 优优 良良 中中 及格及格 不及格不及格 (在所选等级前的内画“”) 评阅教师:评阅教师: (签名) 单位:单位: (盖章) 年年 月月 日日 教研室(或答辩小组)及教学系意见教研室(或答辩小组)及教学系意见 教研室(或答辩小组)评价:教研室(或答辩小组)评价: 一、答辩过程一、答辩过程 1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格 2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格 3、学生答辩过程中的精神状态 优 良 中 及格 不及格 二、论文(设计)质量二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 三、论文(设计)水平三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 评定成绩:评定成绩: 优优 良良 中中 及格及格 不及格不及格 (在所选等级前的内画“”) 教研室主任(或答辩小组组长):教研室主任(或答辩小组组长): (签名) 年年 月月 日日 教学系意见:教学系意见: 系主任:系主任: (签名) 年年 月月 日日 课 程 设 计 任 务 书 兹发给 2009 级机械工程及自动化 班学生 课程设计任务 书,内容如下: 1 设计题目: 智能电饭煲控制系统设计 2 应完成的项目: (1) 智能电饭煲控制系统整体方案设计 (2) 智能电饭煲控制系统硬件电路设计 (3) 智能电饭煲控制系统软件程序设计 (4) 完成电路原理图 1 张、软件程序清单 1 份 3 参考资料以及说明: 1余永权.单片机与家用电器智能化技术M.北京:电子工业出版社,1995. 2李士勇.模糊控制神经控制和智能控制论M.黑龙江:哈尔滨工业大学出版 社,1998 3周鲜成.模糊电饭煲的控制原理J.株洲工学院学报,2000, 14 (6) : 35-37. 4李宇成,卢俊峰.电饭煲的模糊控制器J.北方工业大学学报,1998, 10 (3) : 85-90. 4 本设计任务书于 2012 年 12 月 24 日发出,应于 2013 年 1 月 4 日前完成, 然后进行答辩。 指导教师 签发 2012 年 12 月 24 日 课程设计评语: 课程设计总评成绩: 指导教师签字: 年 月 日 目 录 摘要.2 第一章 绪论.1 1.1 背景及发展 .1 1.2 设计任务 .错误错误! !未定义书签。未定义书签。 第二章 智能电饭煲控制系统整体设计方案.错误错误! !未定义书签。未定义书签。 第三章 智能电饭煲控制系统硬件设计.3 3.1 单片机的选择 .3 3.2 传感器 DS18B20 的简介 .错误错误! !未定义书签。未定义书签。 3.3 显示模块的设计 .5 3.4 键盘模块的设计 .6 3.5 火力控制模块 .7 3.6 电源模块设计 .8 3.7 功率调节.8 第四章 智能电饭煲控制系统软件设计.10 4.1 主程序设计 .10 4.2 子程序设计 .11 4.2.1 定时功能控制流程.11 4.2.2 加热功能控制流程 .13 结束语.14 参考文献.15 附 录.16 附录 1:智能电饭煲控制系统电路原理图 .16 附录 2:智能电饭煲控制系统软件源程序清单 .17 摘要 本次课程设计是以 AT89C52 单片机为核心器件,设计了智能电饭煲控制系统。 在当今科技发达的时代,智能科技成为了我们生活中必不可少的生活帮手,在 家用电器中运用智能科技可以使我们的生活更加方便。智能电饭煲的设计原则就是 “方便人们的生活”。本次的课程设计是先对电饭煲的发展状况进行了阐述,分析 了电饭煲的发展趋势,以及智能电饭煲的发展优势。在此基础上,确定了本课题智 能电饭煲控制系统整体设计方案。其次,从实用性、智能化、节约成本、环保节能 等角度出发,对智能电饭煲控制系统的硬件、软件进行了详细设计。按照实现功能 对硬件、软件进行了功能划分,并对各部分的原理、实现方法进行了详细说明。 关键词:智能控制,电饭煲,单片机,传感器 第一章第一章 绪论绪论 1.11.1 背景背景及发展及发展 电饭煲,又称作电锅、电饭锅。是利用电能转变为内能的炊具,常见的电饭锅分 为保温自动式、定时保温式以及新型的微电脑控制式三类。现在已经成为日常家用 电器,电饭煲的发明缩减了很多家庭花费在煮饭上,在今天,电饭煲已经成了家庭 必备的电器之一。电饭煲最初是机械式控制,这种控制方式具有结构简单、技术门 槛低、价格便宜等优点,但同时也有功能单一、控制方式不灵活等不足之处。近年 来,随着电子技术的发展,元器件的制造成本不断下降,电饭煲也迎来了智能化的 春天。智能电饭煲修改过去功能简单的煮饭模式,将煮食这一事件细分为煮饭、煲 汤、煮粥等多种任务模式,此外还具有预约定时,自动保温及功率选择等功能,提 升了产品的人性化设计,使得煮食过程更加方便、快捷,满足了人们的需求。 1.21.2 设计任务设计任务 试设计电饭煲控制器,要求可以有预约煮饭、定时做饭功能、煮饭、煮粥等功率 选择 具体要求如下。 1.2.11.2.1 控制策略控制策略 控制系统支持对煮饭时间进行提前预约,定时时间到后自动进行煮饭,煮饭结束 后自动转入保温模式。 1.2.21.2.2 定时定时 用户可以是电饭煲在预约时间(倒计时方式)开始工作。 1.2.31.2.3 功率选择功率选择 煮饭、煮粥时可选择不同的功率,相对于煮饭,煮粥的功率可选择较小。 1.2.41.2.4 显示器显示器 本设计中选用 LCD-1602 作为显示器件,用于向用户传递更多的信息,包括定时 时间显示、工作模式显示、故障提示等信息。 第第 2 2 章章 智能电饭煲控制系统整体设计方案智能电饭煲控制系统整体设计方案 智能电饭煲控制系统硬件电路按照功能可划分为七个组成部分,即控制系统单片 机最小系统工作电路、控制系统电源电路、按键输入电路、温度传感器电路、LED 状态指示电路、LCD 显示电路以及电饭锅加热电路。 AT89C51 单片机 按键操作输入电路 顶盖温度传感器 复位电路 时钟电路 220VAC-DC5V电源 LCD显示电路 LED工作状态指示电路 加热电路 图一 智能电饭煲控制系统组成图 第三章第三章 系统硬件设计系统硬件设计 3.13.1 单片机的选择单片机的选择 中央处理模块单片机芯片通过比较,选用了 AT89C521 单片机来作为本系统的核 心,图二所示的是单片机的最小系统电路。 图二 智能电饭煲控制系统单片机最小系统电路 3.23.2 传感器传感器 DS18B20DS18B20 简介简介 DS18B20 数字温度计是 DALLAS 公司生产的 1Wire,即单总线器件,具有线路简 单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线, 可以挂很多这样的数字温度计,十分方便。 DS18B20 是一款功能独特的产品,其特点如下: (1)、只要求一个端口即可实现通信。 (2)、在 DS18B20 中的每个器件上都有独一无二的序列号。 (3)、实际应用中不需要外部任何元器件即可实现测温。 (4)、测量温度范围在55。C 到125。C 之间。 (5)、数字温度计的分辨率用户可以从 9 位到 12 位选择。 (6)、内部有温度上、下限告警设置。 DS18B20 有两种封装形式,即 TO92 封装和 8-pinSOIC 封装。每种封装的样式及 引脚排列见图三,其引脚功能描述见表 3-2。 图三DS18B20 的引脚排列 表 3-2 DS18B20 详细引脚功能描述 序号名称引脚功能描述 1GND地信号 2DQ数据输入/输出引脚。开漏单 总线接口引脚。当被用着在 寄生电源下,也可以向器件 提供电源。 3VDD可选择的 VDD 引脚。当工 作于寄生电源时,此引脚必 须接地。 3.33.3 显示模块设计显示模块设计 液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,本设计 中选用的字符型液晶模块是一种用 5x7 点阵图形来显示字符的液晶显示器,根据显 示的容量可以分为 1 行 16 个字、2 行 16 个字、2 行 20 个字等等,本设计中选用常 用的 2 行 16 个字的 1602 液晶模块。 LCD-1602 共有引脚 16 个,各引脚的功能如下: 第 1 脚:VSS 为地电源 第 2 脚:VDD 接 5V 正电源 第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时 对比度最高。 第 4 脚:RS 为寄存器选择,高电平选择数据寄存器、低电平时选择指令寄存器。 第 5 脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 RW 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 RW 为高电平时可 以读忙信号,当 RS 为高电平 RW 为低电平时可以写入数据。 第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 714 脚:D0D7 为 8 位双向数据线。 第 1516 脚: BLA(BL1):LED 背光正极。需要背光时,BLA 串接一个限流电阻接 VDD,BLK 接地, 实测该模块的背光电流为 50mA 左右,一般接一个几十欧姆的电阻。 BLK(BL2):LED 背光地端。 如图四所示。 图四为显示模块电路 3.43.4 键盘模块设计键盘模块设计 该系统的键盘由 5 个独立键盘构成,包括一个中断键盘单元。来完成智能电饭煲 的手动控制。键盘的一脚接在单片机的 p1.0 至 p1.5 脚上,另外一脚接在电源地上, 当有键盘按下时对应的键盘就会有一低电平送进单片机内部。为消除触点式按键开 关的机械抖动,单片机内部有程序进行消抖处理,然后确定那一个键盘被按下后来 执行程序完成该系统的指定工作。 该控制系统键盘接入电路如图五所示。 图五 控制系统键盘输入电路 3.53.5 火力控制模块设计火力控制模块设计 电饭煲采用加热盘作为加热部件,加热盘需要直接与 220V 交流电压相连接,而 且功率一般在 1500 瓦以上,因此其工作电流也比较大。因此控制系统需要专门设计 驱动加热盘的电路,如图五所示 本设计中采用继电器驱动加热盘与 220V 交流电源接通。 原因有二,一是继电器具有驱动电流大,控制简单,稳定可靠的优点,适合电饭 煲中开关频率不高的应用场合。二是继电器的线圈与输出节点之间有天然的隔离作 用,无需另外添加光耦等隔离器件。 本电路中加热盘驱动电路如图。单片机引脚通过驱动 NPN 三极管间接驱动继电器。 当与之相连的单片机引脚电平为高时,三极管处于导通状态,继电器线圈中有电流 流过,从而触电吸合。电路中将继电器触点通过插接器件引出,方便将加热盘与电 源串接起来。 其中,R8 为限流电阻,阻值定为 3.3K。D1 为二极管,在此电路中起到对继电器 线圈续流作用,避免线圈感生高电压击穿三极管。 图六 控制系统热盘驱动电路 3.63.6 电源模块设计电源模块设计 本设计中,控制系统电源电路设计如图 3-6 所示。 220V 交流电源由 J1 接入电路,后经变压器 T1 将 220V 降压为 8.5V 交流电压,该 低交流电压经 N1 进行全波整流,变为脉动直流,最后,该脉动直流经过低压差稳压 芯片 78L05 稳定为纹波系数较小的 5V 直流电源。 图七 整流流程图 3.73.7 功率调节设计功率调节设计 本电饭煲功率调节电路,可获得四挡火力,用以适应不同火候的要求。 电路工作 原理 电路原理图如图九所示。调节波段开关 SA 的挡位,可以改变电容 C1 的充放电 速率。利用 C1 两端交流电压通过双向触发二极管 VD3 去触发双向晶闸管 VS 导通、 并改变了 VS 的导通角,使负载 RL 两端交流电压随之发生变化。 发光二极管 VD2、VD5 作为信号指示,由于导通角不同,发光亮度各异。SA 置于“1”挡,VD5 显示;SA 置于“4”挡,则 VD2 显示;R5 是限流电阻,用来保护 VS。电阻 R7、电容 C2 为吸收回路,用来吸收 SA 在选挡时所产生的干扰脉冲,否则在 SA 选挡过程中将 对电视机、音响及其他电声器件产生一定的干扰; 元器件选择 电容 C1 选用 0.1uF/160V,C2 选 0.022uF/400V(涤纶电容器)。电阻 R1 为 56k、1/2W,R2 为 39k、1/4W,R3 为 27k、1/4W,R4 为 2k、1/4W,R5 为 47、1/2W,R6 为 100k、1/2W(可变),R7 为 300、1/4W,R8 为 43k、1/2W。二极管 VD1、VD4 用 1N4004。发光二极管 VD2 用 BT104(黄色),VD5 用 BT103(绿色)。触发二极管 VD3 为 DB3 或 VR60。双向晶闸管 V5 用 TLC226B(3A/400V)或 TLC336A(3A/600V)。波段开 关 SA 用 KZX-1-2D-11W。负载 RL 为交流 220V/1500W(加热盘)。 图九 功率调节电路 第第 4 4 章章 智能电饭煲控制系统软件设计智能电饭煲控制系统软件设计 4.14.1 主程序设计主程序设计 系统的软件设计采用结构化和模块化设计的方法,便于程序的编写、调试和排除 错误,同时也便于检验和维护。根据设计的要求和前面描述的控制器系统硬件设计 的具体情况,单片机系统的软件程序主要由以下模块组成:初始化主程序、输入及 显示、温度采集、火力控制。 主程序流程图如图 11 所示。 图 11 主程序结构图 4.24.2 子程序设计子程序设计 4.2.14.2.1 定时功能控制流程定时功能控制流程 软件实现该功能的流程如图 12 所示。 系统运行后,若按下“SET”按键,系统即可进入预设定时时间状态,此时“时” 位数值开始闪烁,表示“时”位数值处于可设定状态。此时按下“ADD”键,预定时 间的小时数将累加 1,若按下“DEC”键,预定时间的小时数减 1。 本控制系统支持最大定时 12 小时,当小时数超出 12 后会溢出为 0。即置“时” 位数值时,若当前示数为 12,且按下“ADD”键,则小时数由 12 变为 0 时 0 分。 小时数设定完成后,按下“OK”键,进入设定“分”状态,同时“分”位数值开 始闪烁。此时按下“ADD”键,预定时间的分钟数加 1,若按下“DEC”键,则预定 时间的分钟数减 1。 若当前的分钟数为 59,且按下“ADD”键,则分钟数溢出为 0,同时小时数加 1; 若当前分钟数为 0,且按下“DEC”键,则分钟数溢出为 59,同时小时数减少 1。 分钟数设定完成后,再次按下“OK”键,系统则保存用户设定的定时时间并退出 定时时间设定状态。 随后系统暂停所处的工作模式,进入倒计时程序。定时时间到,系统自动进入预 定的工作模式,或煮饭或煲汤或保温。 进入预约时间设定状态。可设定 “时”,且“时”位数字闪烁提示 按下 SET/OK 进入设定“分”状态,且“分”数字 闪烁提示 “时”位数值增加1(减少1) 按下ADD键 (DEC键)一次 按下 SET/OK “分”位数值增加1(减少1) 按下ADD键 (DEC键)一次 开始 保存设定数值,并退出设定状态 按下 SET/OK 定时时间到? 进入预设工作模式 倒计时程序 是 否 图 12 定时功能控制流程 4.2.24.2.2 加热功能控制流程加热功能控制流程 智能电饭煲控制系统对电饭煲加热与否需要根据当前锅内温度以及所处的工作 模式做出选择。其软件控制流程如图 13 所示。 控制器先通过置于盖顶的温度传感器获得当前锅内温度,根据所处的工作模式, 得到需要到达的目标温度。若当前锅内温度小于目标温度,则控制器接通加热盘加 热,否则断开加热盘,停止加热。 开始 当前温度=目标温度? 停止加热 结束 是 否 是 否 图 13 加热功能控制流程图 结束语结束语 本次的电饭煲控制系统设计完全实现智能控制,包括预约煮饭、煮粥、定时做饭、 煮粥、做饭功率的选择等功能。预约和定时做饭时间可随意调节,预约结束后自动 进行相应的预约动作。 这次课程设计是对我学习微机原理及单片机课程的检验及实际应用能力一次提高。 在编写程序之前,我们查阅了大量的相关资料,力求做到规范清晰。编程的过程中, 我们遇到了很多问题,但在同学和老师的帮助下都得到了解决。经过两个星期的课 程设计,我得到了充分的锻炼,不仅对单片机的学习有深刻的理解,同时也增强了 我们的毅力和处理突发问题的能力。课程设计是一次很好的实践动手机会,通过这 次设计,我们学会了如何将所知识学以致用。为我们的毕业设计奠定了良好的基础。 参考文献参考文献 1余永权.单片机与家用电器智能化技术M.北京:电子工业出版社,1995. 2李士勇.模糊控制神经控制和智能控制论M.黑龙江:哈尔滨工业大学出版社, 1998 3周鲜成.模糊电饭煲的控制原理J.株洲工学院学报,2000, 14 (6) : 35-37. 4李宇成,卢俊峰.电饭煲的模糊控制器J.北方工业大学学报,1998, 10 (3) : 85-90. 附附 录录 附录附录 1 1:智能电饭煲控制系统电路原理图智能电饭煲控制系统电路原理图 1234 A B C D 4321 D C B A 8 9 1 5 8.5 V 22 0V /3 80 V T1 T-5W AC 1 AC 2 + 3 - 4 N1 DB107 C10 0.1 +V5 C6 0.1 C4 100/16V C5 100/16V Vin 1 GND 2 Vout 3 N2 78L05 1 2 J1 CON2 SET/OK DEC ADD MODEL P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 RST 9 P3.0(RXD) 10 P3.1(TXD) 11 P3.2(INT0) 12 P3.3(INT1) 13 P3.4(T0) 14 P3.5(T1) 15 P3.6(WR) 16 P3.7(RD) 17 XTAL2 18 XTAL1 19 GND 20 P2.0 21 P2.1 22 P2.2 23 P2.3 24 P2.4 25 P2.5 26 P2.6 27 P2.7 28 PSEN 29 ALE/PROG 30 EA/Vpp 31 P0.7 32 P0.6 33 P0.5 34 P0.4 35 P0.3 36 P0.2 37 P0.1 38 P0.0 39 Vcc 40 AT89C51 U2 C2 30P C3 30P Y1 24M VCC RST R1 10K VCC RST C1 10uF VCC K1 K2 K3 K4 K5 K6 ON OFF K1 K2 K3 K4 K5 K6 VCC 3 DQ 2 GND 1 U4 DS18B20 VCC R7 4K7 DQ DQ LED1 LED2 LED3 LED4 LED5 D2 保保 D3 保保 D4 保保 D5 保保 D6 保保 VCC R9 RES2 R10 RES2 R11 RES2 R12 RES2 R13 RES2 LED1 LED2 LED3 LED4 LED5 LCD-1602 1 2 3 4 5 6 7 8 9 10 11 12 13 14 U5 LCD1602 VCC R3 10K R5 10K R6 10K RS RW E D0 D1 D2 D3 D4 D5 D6 D7 RS RW E D0 D1 D2 D3 D4 D5 D6 D7 R8 3.3K Q1 9013 VCC HOT D1 M7 X201.7 X201.8 K1 972-1C 1 2 J2 CON2 HOT 附录附录 2 2:智能电饭煲控制系统软件源程序清单:智能电饭煲控制系统软件源程序清单 CPU:AT89C51 晶振:24M 版本:V1.0 日期:2012.03 /=/ #include #include #include /- #define PORT P2 #define NEGATIVE 10 #define POSITIVE11 #define Y0XFF #define N0 x00 #define LOW0X00 #define HI0 x01 /读端口数据- #define POWERON(P1 sbit workingled =P31; sbit timerled =P32; sbit banwenled=P33; sbit baotangled=P34; sbit zhufanled=P35; sbit RS=P00; sbit RW=P01; sbit EN=P02; sbit DQ=P17; /- unsigned char code shuzidaima= 0 x30,0 x31,0 x32,0 x33,0 x34,0 x35,0 x36,0 x37,0 x38,0 x39,0 x2d,0 x2b; unsigned char temp_lowbyte_unprocess; unsigned char temp_hibyte_unprocess; unsigned char temp_xiao; unsigned char temp_ge; unsigned char temp_shi; unsigned char temp_bai; unsigned char temp_fuhao; /- unsigned char poweron=N; unsigned char model=0; unsigned char dest_temp=0; unsigned char now_temp=255; signed int min_num=0; unsigned char timersetting_state=0; unsigned char timing_state=N; unsigned int loop=0; unsigned char loop1=0; unsigned char loop2=0; unsigned int loop3=0; /*=子程序=*/ /- /函数名:delay() /- void delay() unsigned int i; for(i=0;i0;n-) ; /- /函数名:rest_1820() /- void rest_1820() DQ=0; DQ=1; delay1(77); /- /函数名:write_18b20(unsigned char xiecan) /- void write_18b20(unsigned char xiecan) unsigned char xie_i; for(xie_i=1;xie_i1; /- /函数名:read_18b20() /- unsigned char read_18b20() unsigned char du_i; unsigned char outdata_1820=0 x00; unsigned char tmp_du=0 x00; for(du_i=1;du_i=8;du_i+) DQ=1; DQ=0; _nop_ _nop_(); DQ=1; _nop_(); tmp_du=P1 tmp_du=tmp_du1; return(outdata_1820); /- /函数名: readtemp_conver() /- void readtemp_conver() rest_1820(); write_18b20(0 xcc); write_18b20(0 x44); /- /函数名: readtemp_readdata() /- void readtemp_readdata() rest_1820(); write_18b20(0 xcc); write_18b20(0 xbe); temp_lowbyte_unprocess=read_18b20(); temp_hibyte_unprocess=read_18b20(); /- /函数名:hex_dec() /- unsigned char chazhi(unsigned char h_data) if(h_data4; hex_di=chazhi(hex_di); hex_gao=chazhi(hex_gao); dec_jieguo=hex_gao*16+hex_di; return(dec_jieguo); /- /函数名:key() /- void key() if(POWERON=LOW) poweron=Y; workingled=0; model=0; if(POWEROFF=LOW) poweron=N; workingled=1; model=0; if(poweron=Y) if(model1 if(MODEL=LOW if(model=4) model=1; loop=0; if(ADD=LOW if(min_num720) min_num=0; if(timersetting_state=2) min_num=min_num+1; if(min_num720) min_num=0; loop=0; if(DEC=LOW if(min_num=3) timersetting_state=0; timing_state=Y; loop=0; /- /函数名:model_process() /- void model_process() switch(model) case 1: timerled=1; baowenled=0; baotangled=1; zhufanled=1; dest_temp=65; break; case 2: timerled=1; baowenled=1; baotangled=0; zhufanled=1; dest_temp=9

温馨提示

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

最新文档

评论

0/150

提交评论