收藏 分销(赏)

本科毕业设计---基于电子温控方式的电冰箱控制电路的设计.doc

上传人:人****来 文档编号:4802362 上传时间:2024-10-13 格式:DOC 页数:52 大小:3.30MB 下载积分:14 金币
下载 相关 举报
本科毕业设计---基于电子温控方式的电冰箱控制电路的设计.doc_第1页
第1页 / 共52页
本科毕业设计---基于电子温控方式的电冰箱控制电路的设计.doc_第2页
第2页 / 共52页


点击查看更多>>
资源描述
重庆航天职业技术学院 CHONGQING AEROSPACE PLOYTECHNIC PLOYTECHNIC 毕业论文(设计) 设计题目:基于电子温控方式的电冰箱控制电路的设计 系 部: 班 级: 学 号: 姓 名: 指导教师: 成 绩: 二0 年 月 重庆航天职业技术学院毕业论文 毕业设计指导须知 一、毕业设计是高职教学过程中一个十分重要的环节。是锻炼学生运用所学知识正确分析和解决实际问题的一个重要方面,也是高职培养应用型专门人才的要求。 二、指导教师应为具有讲师以上或相应职称的有关专业人员,且专业对口(指所指导专业应同所聘教师专业职称相一致)。经系、教务处审查同意后,才能指导学生的毕业设计。 三、学生应以严肃认真,实事求是的态度完成设计。要独立思考,自己动手,不得抄袭或找人代笔。 四、毕业设计选题要符合专业培养目标的要求。论文(任务书)写作要做到论点明确、论据充分,论理透彻,语言准确恰当,书面整洁、字迹工整,图纸应清晰、工整,符合设计要求,符合国家有关标准和部颁标准。字数、图纸数量符合有关要求。并在规定的时间内完成。 五、答辩过程中学生要严认真,文明礼貌,谦虚谨慎,认真回答答辩主持人,委员等提出的问题。 六、填报有关表格时,应按项目要求逐项填实、填全、填清。 学 号 姓 名 学 制 专 业 年 级 班 级 指导教师 复审教师 设 计 题 目 基于电子温控方式的电冰箱控制电路的设计 指导教师评语: 成绩: 指导教师签名: 年 月 日 系复审意见: 成绩: 复审人签名: 年 月 日 系部终审意见: 公章 年 月 日 答 辩 情 况 记 录 答 辩 题 目 答 辩 情 况 正确 基本 正确 经提示 回 答 不正确 未回答 此表由主持答辩的同志填写。 答辩委员会(或小组)评语: 成绩: 主持答辩人签名: 职称: 月 日 毕业设计任务书 一、 设计题目:基于电子温控方式的电冰箱控制电路的设计 二、 原始依据(选题背景) 电冰箱作为现代家庭的必备电器,其发展尽可能朝多功能化,人性化发展,满足人们的各种需求。因此请设计一种基于电子温控方式的电冰箱控制电路。 三、 毕业设计(论文)的内容和要求(包括技术要求、图表要求以及工作要求等): 1. 设计内容: 设计一种基于电子温控方式的电冰箱控制电路。 2. 设计要求: 1)用Protel 99 SE等电子CAD软件设计出原理图,并设计出相应的PCB印制板图。 2)用仿真软件仿真出效果,要有仿真图证明其仿真过程。 3. 设计参数: 1)该电路至少具有温度指示、双温双控、瞬间断电压缩机延时保护、敞门报警、速冻等多种功能。 2)一定要具有电源部分的电路图。 四、 毕业设计论文撰写内容、格式、字数的要求;‘ 毕业设计(论文)的内容为:封面、首页、中文摘要和关键词、目录、引言、正文、结论、致谢、参考文献、附录等。字数不少于10000字。 五、 参考资料: 单片机c语言实践教程、单片机系统设计与调试 六、 毕业(课程)设计时间期限: 2014年10月20日至2014年12月30日 指导教师: 201 年10月20日 二、毕业设计应完成的图纸: 图3-1LCD12864显示电路图,见12页 图3-2矩阵键盘电路图,见13页 图3-4基本稳压电源电路,见14页 图3-5测温电路,见15页 图3-6报警电路,见15页 图3-7过欠压检测电路,见16页 图3-8系统原理图,见17页 图3-9系统PCB图 ,见18页 图4- 1软件程序设计总体流程图,见19页 附录1 系统仿真图,见30页 三、其他要求: 四、毕业设计的期限: 自 2014 年 10 月 20 日至 2014 年 12 月 30 日 五、毕业设计(论文)进度计划: 起 至 日 期 工 作 内 容 备 注 2014-10-20至11-10 2014-11-11至11-30 2014-12-01至12-15 2014-12-16至12-30 整体构思,查找资料 仿真图绘制、程序的设计、原理图绘制和PCB图绘制 报告的撰写 报告的修改 摘要 单片机是实时检测和自动控制系统中心一个核心器件。本文设计的基于单片机的电子温控方式的电冰箱控制系统是利用温度传感器DS18B20采集电冰箱冷藏室的温度,通过INTEL公司的高效微控制器STC89C52单片机进行信号控制,从而达到智能控制的目的。本系统可实现温度指示、双温双控、瞬间断电压缩机延时保护、敞门报警、速冻等多种功能 。通过对直冷式电冰箱制冷系统的改进,实现了电冰箱的智能控制,使电冰箱能根据使用条件的变化迅速合理地调节制冷,且节能效果良好。 关键词:单片机;电冰箱;温控 目 录 1. 引言 1 1.1课题背景及意义 1 1.2国内外研究背景 1 1.3课题要求 2 1.4课题设计的目的 2 2.方案研究与主要器件选择 3 2.1系统方案的设计 3 2.2各个模块的设计方案 3 2.2.1主控芯片的选择 3 2.2.2显示器件的选择 4 2.2.3温度传感器的选择 4 2.2.4按键电路的选择 5 2.3主要器件的介绍 5 2.3.1 STC89C52简介 5 2.3.2稳压芯片简介 8 2.3.3 DS18B20简介 9 2.3.4 LCD1602简介 11 3.硬件电路详细设计 12 3.1显示电路设计 12 3.2矩阵键盘电路设计 13 3.3整流电路设计 13 3.4基本稳压电源电路设计 14 3.5测温电路设计 15 3.6报警电路设计 15 3.7过欠压检测电路 16 3.8总电路图 17 4.软件设计 19 4.1显示子程序 20 4.2 DS18B20程序 21 4.3 预置温度调节程序 22 4.4判断控制程序 23 4.5开启延时程序 24 5.仿真调试 25 5.1 PROTEUS介绍 25 5.2电路仿真图 25 结论 27 参考文献 28 致 谢 29 附录 30 43 1. 引言 1.1课题背景及意义 冰箱是深刻改变了人类生活的现代奇迹之一。在人们发明冰箱之前,保存肉类的唯一方法是腌制,而在夏季喝到冰镇饮料更是一种奢望。 随着国民经济的日益发展,人民的生活水平有了很大的提高,冷冻器具在家庭,医院,旅馆,餐厅和科研单位得到了广泛的应用。 电冰箱作为应用较为普及的家用电器,近年来,随着微电子技术、传感器技术以及控制理论的发展,其呈现迅猛发展,电冰箱向大容量、多功能、无氟、节能、智能化、人性化方向发展,因此传统的机械式、简单的电子控制难以满足现代冰箱的发展要求。电冰箱一般设有冷冻室和冷藏室。冷冻室的温度为:- 16~ - 24 ℃。冷藏室的温度为:2~8 ℃。电冰箱控制的主要任务就是保持箱内食品最佳温度,达到食品保鲜的目的。而此次设计的目的则是熟悉温控器的原理,并通过开发板模拟实现电冰箱温控器。 1.2国内外研究背景 长期以来,在电子行业,温控器正快速发展。温控器是控制末端装置,实现分室温度控制和节能运行的关键。 普通电冰箱温控器基本上是一个独立的闭环温度调节系统,主要由温度传感器、控制器、温度设定机构等装置组成。其控制原理是电冰箱温控器根据温度传感器测得的室温与设定值的比较结果发生控制信号,控制电冰箱压缩机电源的开关,即用切断和打开压缩机电源的方式,调节电冰箱内温度。  第一代空调温控器主要是电气式产品,空调温控器的温度传感器采用双金属片或气动温包,通过“给定温度盘”调整预紧力来设定温度,风机三速开关和季节转换开关为泼档式机械开关。这类温控器产品普遍存在“温度设定分度值过粗”、“时间常数太大”、“机械开关易损坏”等问题。  第二代空调温控器为电子式产品,温度传感器采用热敏电阻或热电阻,部分产品的温度设定和风速开关通过触摸键和液晶显示屏实现人机交互界面,冷热切换自动完成,运算放大电路和开关电路实现双位调节。这类智能空调温控器产品改善了人机交互界面,解决了“温度设定分度值过粗”等问题,但仍存在“控制精度不高”、“时间常数大”、“操作较复杂”等问题。      目前国内外生产厂家正在研究开发第三代智能型温控器,如DS18B20。个别厂家积极响应国家的政策,应用新型控制模型和数控芯片实现智能控制。现在已有国内厂家生产出了智能型温控器,并已应用于实际工程。这一生产带动电子行业的发展。  1.3课题要求 在本次课题研究中我将参考从各个方面收集到的文献,博取其精华。研究方法则是采用C51单片机开发板模拟电冰箱工作环境,并模拟设定电冰箱各项参数,以研究电冰箱温控器的工作原理及设计。  研究的内容主要包括以下方面: 1.设计内容: 设计一种基于电子温控方式的电冰箱控制电路。 2.设计要求: 1)用Protel 99 SE等电子CAD软件设计出原理图,并设计出相应的PCB印制板图 2)用仿真软件仿真出效果,要有仿真图证明其仿真过程。。 3.设计参数: 1)该电路至少具有温度指示、双温双控、瞬间断电压缩机延时保护、敞门报警、速冻等多种功能。 2)一定要具有电源部分的电路图。 1.4课题设计的目的 1、熟悉掌握单片机程序的编写,并养成好的程序编写习惯; 2、学习传感器的工作原理及其应用、学习温度控制的基本原理; 3、熟练应用相应的绘图软件并制板,提高自己的动手能力; 4、熟练掌握系统的调试方法,提高自己分析问题的能力以及解决问题的能力; 2.方案研究与主要器件选择 2.1系统方案的设计 本系统要求设计一个基于电子温控方式的电冰箱控制系统,该系统是通过液晶显示所设定的温度,温度能随意调节,能自动控制电冰箱工作,使其通过制冷达到所设定的温度。系统原理图如图2-1所示。 图2-1 系统原理图 2.2各个模块的设计方案 2.2.1主控芯片的选择 方案一:采用STM32F103ZET6作为本系统的主控芯片。ARM Cortex-M3内核的32位处理器,72M主频,LQFP144脚封装,片内Flash容量为512K,片内SRAM容量为64KB。拥有2个I2C接口,5个USART接口,3个SPI接口,一个CAN接口,功能特别强大,如果这款芯片用在本系统中就真的是大材小用了,而且成本高。 方案二:采用STC89C52作为本系统的主控芯片。STC89C52是片内含有8K Flash容量的程序存储器,拥有32个I/O口,软件编程的自由度大,能够通过编程实现各种各样的算术算法和逻辑控制。体积足够小,硬件电路设计简单,调试方便,而且价格便宜,非常适合本系统。 综上所诉,采用STC89C52作为本系统的主控芯片,性价比最高。 2.2.2显示器件的选择 方案一 :使用数码管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。由于本电路要求。要4位一体的数码管才行,但其硬件电路复杂,且只能显示单纯的数字,不能显示电机运转状态。 方案二 :使用液晶LCD1602.1602是能显示2行,每行16个字符,字符包括英文字符及阿拉伯数字,但其不能显示汉字,价格便宜。 方案三 :使用液晶12864. 带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。 兼于方案三显示性能优良、价格适中、使用范围广、使用简单,因此本设计采用方案三。 2.2.3温度传感器的选择 方案一:采用传统的测温元件,即热电耦和热电阻。温控器的第一选择就可以选择热电耦和热电阻,他们测出的一般都是电压,再转换成对应的温度,但是需要比较多的外部硬件支持。因此这种选择就有如下主要缺点: ● 硬件电路复杂; ● 软件调试复杂; ● 制作成本高; 方案二:采用美国DALLAS半导体公司生产的高性能数字智能温度传感器DS18B20。DS18B20作为检测元件,测温范围为-55~125℃,最高分辨率可达0.0625℃。DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。 综上所诉,采用DS18B20为本设计的温度传感器器最合适不过。 2.2.4按键电路的选择 方案一:采用独立按键作为键盘电路。硬件电路设计方法非常简单,一端接地,另一端与单片机的I/O口相连。程序一旦检测到I/O变为低电平时,则说明按键被按下,然后单片会执行相应的指令[1]。当某单片机系统需要较多按键时,如果继续使用独立按键的话,便会占用过多的I/O口资源。 方案二:采用矩阵键盘作为键盘电路。4×4矩阵键盘采用的是行扫描和列扫描的方式来实现对键盘的识别的。它有效的减少了对单片机I/O口资源的暂用,大大的降低了硬件电路设计的负担。同时在程序的编写上,有了更大的可操作性。 综上所述,采用矩阵键盘作为键盘电路对于本系统来说是最好的选择。 2.3主要器件的介绍 2.3.1 STC89C52简介 MCS-51单片机STC89C52其内部基本组成为:一个8位的中央处理器(CPU),256byte片内RAM单元,4Kbyte掩膜式ROM,2个16位的定时器/计数器,四个8位的并行I/O口(P0,P1,P2,P3),一个全双工串行口5个中断源,一个片内振荡器和时钟发生电路,可编程串行通道,有低功耗的闲置和掉电模式。这种结构特点决定了单片机具有体积小、成本低、可靠性高、应用灵活、开发效率高、易于被产品化等优点,使其具有很强的面向控制的能力,在工业自动化控制、家用电器、智能化仪表、机器人、军事装置等领域获得了广泛的应用。STC89C52的主要功能如表2-1所示、图2-2为STC89C52的引脚图。 图2-2单片机引脚分布图 表2-1 STC89C52主要功能 主要功能特性 兼容MCS51指令系统 8K可反复擦写Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为8051的一些特殊功能口,如下所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)   P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 2.3.2稳压芯片简介 本系统中以+5电压供电为主,系统所需的+5V电压是由LM2940提供的。LM2940是输出电压固定的低压差三端稳压器,外围电路简单,只需要外加两个滤波电容就行,便可达到稳定的+5V电压输出,其典型电路如图2-3所示,LM2940引脚分布图如图2-4所示。 1、LM2940的主要性能有以下几点: (1)输出电压5V; (2)输出电流1A; (3)输出电流 1A时,最小输入输出电压小于0.8V; (4)最大输入电压26V; (5)工作温度-40~+125℃; (6)内含静态电流降低电路、电流限制、过热保护、电池反接和反插入保护电路; 图2-3 LM2940的典型稳压电路 图2-4 LM2940引脚分布图 2.3.3 DS18B20简介 温度传感器是本系统不可或缺的元件,其性能的好坏直接影响系统的性能,因此温度传感器采用DALLAS公司生产的高性能数字温度传感器DS18B20。 DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。 DS18B20内部结构如图3-3所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。如图2-5所示。 图2-5 DS18B20的外部封装图 DQ: 为数字信号输入/输出端; GND:为电源地; VDD:为外接供电电源输入端 ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 图 2- 6 DS18B20的内部结构 DS18B20 用12 位存贮温度值,最高位为符号位。以下图表为DS18B20的温度存储方式,负温度S = 1,正温度S = 0,如:0550H为+ 85℃,0191H为25.0625 ℃,FC90H为- 55℃。 23 22 21 20 21 22 23 24 温度值低字节 LSB S S S S S 26 25 24 温度值高字节 MSB 高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。其中配置寄存器的格式如下: 0 R1 R0 1 1 1 1 1  R1、R0决定温度转换的精度位数:R1R0=00,9位精度,最大转换时间为93.75ms,R1R0=01,10位精度,最大转换时间为187.5ms,R1R0=10,11位精度,最大转换时间为375ms,R1R0=11,12位精度,最大转换时间为750ms;未编程时默认为12位精度。 高速暂存器是一个9字节的存储器。开始两个字节包含被测温度的数字量信息;第3、4、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;第6、7、8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。 DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。 2.3.4 LCD1602简介 LCD12864是一款特别经典的点阵式LCD,由于其强大的功能以及高性价比因而被广泛运用于日常生活中各种各样的人机交互场合,LCD12864的实物图见图3-9所示。LCD12864是带中文字库的液晶显示器,满屏时可以显示4行8列共32个汉字,也能显示英文字母的大小写、专用的符号,多样的图案和曲线等,而且每个字符都对应相应的ASCII码。如果我们想显示中文字符,只需要设定显示字符位置,即设定显示地址,再写入中文字符编码即可。显示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只需设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空的ASCII字符位置。 图2-7 LCD12864实物图 3.硬件电路详细设计 本设计是关于电子温控方式的电冰箱控制设计与实现,硬件电路主要包括:单片机最小系统电路设计、整流电路设计、稳压电路设计、测温电路、过欠电压检测电路等,以下则是硬件电路的详细介绍。 3.1显示电路设计 在本设计中采用LCD12864作为人机交互界面[2],用来显示设定转速值以及实际转速值,以下是对该显示电路的简单介绍。 在原理图设计时将LCD12864的A0-A7接到单片机的P0口,因为P0口内部并没有自带的上拉电阻,因此需要外加1KΩ的排阻,LCD12864的第三管脚是液晶显示器清晰度的调整端,接正电源时清晰度最低,接地时清晰度最高。清晰度过高时会产生“鬼影”,这里通过一个10KΩ的电位器来调整液晶显示器的清晰度,因为不管是接地还是接电源都会使得LCD12864的清晰度比较方便系统的调试,电路图如图4-3所示。LCD12864的EN、RW、RS、RET、PSB管脚分别连接到单片机的P1.0-P1.4,通过对P1.0-P1.4管脚的操作就能对LCD12864进行显示控制。 图3-1 LCD12864显示电路图 3.2矩阵键盘电路设计 矩阵键盘的电路图如图3-2所示,采用的是4*4的非编码键盘。图中列线通过串接上拉电阻接入单片机的高四位I/O口[3]作为输入端,而行线接单片机第四位I/O口作为输出端。那么,如果按键没有被按下的话,行线跟列线之间是不会倒通的。如果第N行第M列的按键被按下的话,那么第N行与第M列之间就会导通。通常我们都是在行线上逐行追加一个扫描信号(一般选用低电平)用来判断按键的具体位置。 图3-2矩阵键盘电路图 3.3整流电路设计 把交流电变成直流电的过程,称为整流。通常的整流电路有单相全波整流、单相半波整流、单相桥式整流、倍压整流及多相整流等几种[4]。虽然单相桥式整流电路所需的二极管个数是全波整流电路的双倍,但是由于电路中两只二极管一起分担反向电压,所以每只二极管只需承受一半的电压,而且其流过的电流也比较小,因此在实际的电路设计中被广泛使用。 本系统采用的是单相桥式整流电路,如图3-3所示。变压器将220V的交流电降压成12V的交流电,再通过单相桥式整流电路,整成直流电。 图3-3整流电路 由于图中变压器的额定功率是5W,工作频率是50HZ,且次级电压为+12V,因此整流二极管只需要用普通的二极管就行。这里使用的是IN4007,整流出来的直流电压是+16V,滤波电路用一个2200uF的电解电容和一个瓷片104电容。 3.4基本稳压电源电路设计 基本稳压电路如图3-4所示,由于电路对电压的稳定性要求较高,所以稳压电路中使用的是LM2940系列的稳压芯片,其内含静态电流降低电路、电流限制、过热保护、电池反接和反插入保护电路。LM2940的1脚为输入端,2脚接地,3脚为输出端。 图3-4基本稳压电源电路 3.5测温电路设计 DS18B20硬件电路图如图3-5所示。 图3-5测温电路 3.6报警电路设计 报警电路如图3-6所示,主要是利用S8550三极管(PNP型)[5]来驱动蜂鸣器,从而实现高低电平控制发声。S8550三极管属于PNP管,发射极串接蜂鸣器线圈接至+5V,集电极直接接地,基集通过一个1K的限流电阻接至单片机的P1.7口。JP是跳线,可接跳线冒,作为测试点,主要是方便调试使用。当S8550三极管的基集接收到低电平时,三极管导通,蜂鸣器得电工作;当S8550三极管接收到高电平时,三极管截止,蜂鸣器失电停止工作。本系统中,当实测误差值超过设定误差范围时,蜂鸣器报警。 图3-6报警电路 3.7过欠压检测电路 如图3-7所示即为过欠压检测电路,也称为电压窗口比较器。在图3-7中,A1,A2是专用电压比较器LM119。LM119的内部采用射级接地、集电极开路的三极管集电极输出方式。在使用时,必须外接上拉电阻[6]。过欠压检测电路只有检测出电压是否稳定便可,而这种电路允许输出端并接在一起。 此电路的工作原理是: 当输入电压Ui<UR2时,比较器A1的输出管截止,而比较器A2的输出管导通,此时窗口比较器的输出电平将由比较器A2输出电平确定为低电平。 当输入电压Ui>UR1时,比较器A1的输出管导通,而比较器A2的输出管截止,此窗口比较器的输出电平将由比较器A1输出电平确定为低电平。 只有当输入电压处于窗口电压之内,即UR2<Ui<UR1时,比较器A1和A2输出管均截止,窗口比较器输出电平是由上拉负载电阻拉向高电平。 图3-7过欠压检测电路 3.8总电路图 图3-8系统原理图 图3-9系统PCB图 4.软件设计 基于单片机的电冰箱温控器软件设计主要由显示子程序[7]、读出并处理DS18B20的测量温度值程序、预置温度调节程序、温度判断控制程序、电冰箱开启延时程序、还有软件复位程序等组成。软件程序设计总体流程图如图4-1所示。 由于51系列的单片机没有停机的指令,所以可以利用主程序设置死循环反复运行各个任务。于是就把有实时要求的部分放在最内层的循环中。 图 4- 1 软件程序设计总体流程图 4.1显示子程序 在本次设计中,显示子程序包括三部分:往LCD液晶显示屏发送一个字节的数据或指令子程序,LCD液晶屏初始化子程序,显示数据处理程序。 1) 往LCD液晶显示屏发送一个字节的数据或指令子程序 其调用的函数是void TransferData(char data1,bit DI),在程序中首先将并行口选择为写的状态,然后选择将要传送的是指令还是数据,再将数据送到P1口,打开并行口的使能端,等待数据输出完毕后关闭并行口使能。其流程图如图4-2所示。 图 4- 2 传送数据流程图 图 4- 3 LCD液晶初始化程序流程图 2) LCD液晶屏初始化子程序 其使用的函数是void initinal(void),仅在开机时调用一次,主要负责设置LCD液晶屏的一些状态,包括设置液晶总线模式,芯片复位,功能设定,关闭芯片显示,设置芯片动态显示,清屏,设置起始行0行0列;液晶初始化结束返回。LCD液晶屏初始化完成后就可以显示各种字符了,即进入正常工作状态。具体流程图4-3所示。 3) 显示数据处理程序 调用方式:void lcd_mesg(uchar code *adder1) 函数说明:显示全屏的内容 调用方式:void lcd_mesg2(uchar add,uchar code *adder2) 函数说明:显示某一行的内容 调用方式:void LCD_w_wd(uchar add2,int wwd,uchar fs) 函数说明:温度显示处理并送入LCD的指定区域 这些函数的使用可以使得显示内容时,非常合适的处理好了页切换和列切换,只要通过查表送至12864液晶显示屏RAM中便可显示自如。 4.2 DS18B20程序 整个DS18B20程序调用方式是uint ReadTemperature(void),该函数主要包括了对DS18B20的初始复位,读温度,温度转换,计算温度等子程序,并将转换后的数据扩大10倍返回主函数,提供给下一个函数使用。读DS18B20程序流程图如图4-4。 图 4- 4读DS18B20程序流程图 1) 对 DS18B20 操作时,首先要将它复位将DQ线拉低480至960s,再将数据线拉高15至60s,然后DS18B20发出60至此240s的低电平作为应答信号,这时主机才能对它进行其它操作[11]。 2) 读温度子程序的主要功能是读出DS18B20的RAM中的9个字节[8]。前两个就是温度,将高低字节分别放入b和a中。在读出时须进行CRC校验,校验有错时不进行温度数据的改写。读操作:主机将数据线从高电平拉至低电平1s以上,再使数据线升为高电平,从而产生读起始信号从主机将数据线从高电平拉至低电平起15s至60s,主机读取数据每个读周期最短的持续期为60s周期之间必须有1s以上的高电平恢复期[11]。 3) 温度转换命令子程序主要是发送温度转换开始命令。当采用12位分辨率时,转换的时间约为750ms。在本程序中,采用2s显示程序延时法等待转换完成。发送温度转换命令的写操作:将数据线从高电平拉至低电平,产生写起始信号从DQ 线的下降沿起计时,在 15s到60s这段时间内对数据线进行检测,如数据线为高电平则写1;若为低电平,则写0,完成了一个写周期在开始另一个写周期前,必须有1s以上的高电平恢复期每个写周期必须要有60 s以上的持续期[11]。 4) 计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。因为从DS18B20中读出的二进制值必须先转换成十进制值,才能用于字符的显示。DS18B20的转换精度为9~12位可选,为了提高精度采用12位。在采用12位转换精度时,温度寄存器里的值是以0.0625为步进的,即温度值为温度寄存器里的二进制值乘以0.0625,就是实际的十进制温度值。扩大十倍,四舍五入后便可将精度精确到0.1℃。 4.3 预置温度调节程序 在本次设计中,可预置的温度范围可以从-20~20℃。在编写程序过程中,如果直接对代表温度值的变量yskey的值在-20~20操作对数据的转换将很复杂和麻烦。于是我将其yskey值的范围移至1-40间,进而就不需要去处理yskey复杂的数据类型转换的问题了。程序的详细设计流程图如下图4-5: 图 4- 5预置温度调节程序流程图 yskey返回给主函数中的ys后,要得到真实的温度值,只需要判断ys是大于等于20,还是小于20的。若其值大于则减去20即为要预设的实际正数温度值;若是其值小于则20减去其值,再加上一个负数符号便是要预设的负温度值。将其值送入指定的温度显示区域,我们便能够适时的看到调节的预置温度了。 4.4判断控制程序 判断控制程序是根据用户设定的温度值和DS18B20实时测得温度值[9]相比较,从而决定是否需要制冷,并在液晶屏上显示其工作状态。而对压缩机的控制则是通过控制继电器的通断决定是否给压缩机通电工作来实现的。当ysj=1,也就是P1.1脚为高电平的时候,继电器闭合,压缩机通电工作;当ysj=0时,继电器断开,压缩机停止工作。 若当压缩机的工作电压不正常时,压缩机将有被烧坏的危险,程序自动进入故障处理部分,在液晶显示屏上显示故障原因,压缩机停止工作。直到故障解除,然后重行启动电冰箱程序。图4-6所示的就是该程序的流程图。 为了避免冷气泄露,节约电能需要进行电冰箱门关好与否的检查,因此在程序中又设置一判断门是否关好的语句能够及时地提醒用户门没关好。这一部分将不再图4-6中画出。 图 4- 6判断
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服