基于单片机智能电水壶控制系统毕业设计.doc_第1页
基于单片机智能电水壶控制系统毕业设计.doc_第2页
基于单片机智能电水壶控制系统毕业设计.doc_第3页
基于单片机智能电水壶控制系统毕业设计.doc_第4页
基于单片机智能电水壶控制系统毕业设计.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机智能电水壶控制系统毕业设计目 录1、引言12、热水壶控制系统相关技术总体概述32.1单片机简述32.1.1单片机的组成32.1.2单片机的特点32.1.3单片机的应用42.2 keil软件语言简介52.3 方案选择与相关技术62.3.1系统方案的选择方案与论证62.3.2单片机芯片选择方案与论证62.3.3显示模块的选择方案与论证72.3.4报警部分选择72.3.5电源电路选择方案与论证72.4系统总体设计框图83、电热水壶控制系统的硬件设计93.1电源转换电路93.2单片机最小系统93.2.1单片机时钟电路93.2.2单片机的复位电路103.2.3单片机的最小系统113.3温度采集模块123.4继电器介绍123.5键盘及显示电路133.5.1键盘输入特点133.5.2LCD1602显示器说明143.6 加热电路和报警装置153.6.1加热电路153.6.2报警装置163.7整体电路设计184、单片机的软件设计184.1总的程序设计框图184.2读出温度子程序194.3计算温度子程序214.4温度保持在某一设定值子程序225、系统联合调试245.1硬件调试245.2软件调试245.3整机调试246、结论25参考文献26附录27谢 辞28341、引言经过几十年的发展,中国电热壶市场已经进入成熟期。前些日,在网上了解到,电热水壶产量的复合增长率为26.36%,产值的复合增长率为35.00%,产量、出口量和内销量同步迅速增加。行业内人士预测,2012年国内电热水壶预计销售量在1400万台左右,市场规模将达到20亿元。市场迅猛的增长使电热水壶这个本无太多看点的小家电产品开始变的很引人注目2。国内智能热水壶市场中大概有比较智能化热水壶和比较不智能化热水壶两种。比较智能化热水壶一类,通过温度传感器测温,将温度信号传送到单片机中进行处理,单片机根据温度传感器送来的温度信号,做出相应命令,控制热水壶的开关、功率等,并具备智能化的声光报警系统等功能;而比较不智能化的智能热水壶一类,通过利用水沸腾时会产生蒸汽这一现象,用蒸汽压力控制开关的闭合来实现智能热水壶的控制,智能化程度较低1。对于常规的电热水壶,只要接通电源,就开始加热,直到水沸腾后通过蒸汽来产生声音报警。这种设计有下面几个方面的不足: (1)如水壶中没水,电源误接通时也会一直加热,容易引起事故。(2)当只需要加热到沸点以下某一温度时,不能及时给出声音报警信号。 (3)当水加热沸腾后不能自动停止工作。 针对以上不足,在本设计方案中,用MC-51单片机作为控制芯片,管理整个电热水壶的工作情况,构成了一个闭环控制系统,而且增加了三个按键和LCD1602显示。它的工作情况和常规的热水壶相比,有下面几个方面的特点: (1)有三个按键,可用来设置希望加热到的温度即报警的温度。上电复位后,设置温度初值为30度,每按一下K2按键,温度设置值就会增加5度,每按一下K3按键,温度设置值就会减少1度。 (2)K1这个按键还具有启动电热水壶开始工作的作用。当每次电源接通后,只有按键按下过之后,电热水壶才开始加热,这样,可以防止电源误接通时电热水壶一直加热,引发事故。 (3)当加热到设置温度时,单片机会控制停止加热,并通过蜂鸣器给出声音提示。 (4)LCD1602在设置温度操作时显示当前设置的温度13。目前,单片机在工业控制、智能仪表、自动化设置、通信系统、信号处理等领域以及家用电器、高级玩具、办公自动化设备等方面均得到广泛的应用。本文设计了一种以MCS-51系列单片机为控制芯片,对电热水壶工作进行控制的方法。 单片机具有体积小,成本低,应用灵活的特点,能方便地组成各种智能化的设备和仪器。以MCS-51系列单片机为控制芯片制作的智能电热水壶可靠性高,抗干扰性强,适用温度范围广,在各种恶劣的环境下都能可靠的工作。实时控制功能强:能对电热水壶温度传感器采样来的数据快速做出响应及处理,将实时水温送到LED上显示并控制加热电路和报警。2、热水壶控制系统相关技术总体概述2.1单片机简述单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/O)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。这种微型计算机因其制作在一块芯片上而被称为单片机。单片机是大规模集成电路技术发展的产物。单片机具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。单片机的设计目标主要是增强“控制”能力,满足实时控制(就是快速反应)方面的需要。因此,它在硬件结构、指令系统、I/O端口、功率消耗及可靠性等方面均有其独特之处,其最显著的特点之一就是具有非常有效的控制功能。因此,单片机又常常被人称为微控制器。2.1.1单片机的组成单片机是微型机的一个主要分支,在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。单片机是通过内部总线把计算机的各主要部件结为一体,其内部总线地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口。数据总线的作用是在CPU与存储器I/O接口之间,或存储器与外围设备之间交换数据,控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。2.1.2单片机的特点由于单片机的这种结构形式及它所采取的半导体工艺,使其具有很多显著的特点,因而在各个领域都得到了迅猛的发展。单片机主要有如下特点:(1)有优异的性能价格比。(2)集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。(3)控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口得逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度高于同一档次的微机。(4)低功耗、低电压,便于生产便携式产品。(5)外部总线增加了IC(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构。(6)单片机的系统扩展和系统配置交典型规范,容易构成各种规模的应用系统。2.1.3单片机的应用由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在一下几个方面:(1)单片机在智能仪表中的应用单片机广泛地用于各种仪器仪表,是仪器仪表智能化,并可以提高测量的自动化程度,简化仪器仪表的硬件结构,提高其性能价格比。(2)单片机在机电一体化中的应用机电一体化是机械工业发展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术一体化,具有智能化特征的机电产品,例如微机控制机床等。单片机作为产品中的控制器,能充分发挥它们的体积小、可靠性高、功能强等优点,可大大提高机械的自动化、智能化程度。(3)单片机在实时控制中的应用单片机广泛地应用于各种实时控制系统中。例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。单片机的实时数据处理能力和控制能力,可使系统保持在最佳工作状态,提高系统的工作效率和产品的质量。(4)单片机在分布式多机系统中的应用在比较复杂的系统中,常采用分布式多机系统。多机系统一般有若干台功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。单片机在这种系统中往往作为终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。单片机的高可靠性和强干扰能力,使它可以置于恶劣环境的前段工作。(5)单片机在人类生活中的应用自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,备受人们喜爱。单片机使人类生活更加方便、舒适、丰富多彩。由ATMEL公司生产的AT89C51是一种低功耗、高性能CMOS8位微控制器,具有4K 在系统可编程Flash 存储器。AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。其芯片引脚图如图1所示。图1 AT89C51引脚图2.2 keil软件语言简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。2.3 方案选择与相关技术2.3.1系统方案的选择方案与论证方案一 集成电路构成方案:特点是对整机逻辑结构了解的全面透彻,但电路结构比较复杂,元器件比较多,装配用时长且成本高,调试难,故障率高。方案二 可编程FPGA/CPLD方案:目前的发展方向有广阔的应用前景。它的功能强大,功能部件集成在芯片内部,自动产生时钟等相关功能。这种方案硬件成本相对较高,但软件编程简单,通常用在对时间精度要求较高的场合。方案三 单片机编程:用单片机设计电路,由于使用软硬结合的方式,所以电路结构简单,调试C也比较方便。系统的功能一般与软件设计相关,采用软件编程实现电子秤称量。通常用在对时间精度要求不高的场合。综上所述,我选择第三种方案进行设计。因为单片机从根本上改变了传统的控制系统设计思想和设计方法。单片机代替了模拟电路或数字电路实现的大部分功能,现在已能通过软件方法来实现,使用软硬结合的方式,更好的实现数字中的设计。2.3.2单片机芯片选择方案与论证本设计使用单片机作为系统的主控制器,而且以单片机为主控制器的设计,可以容易地将计算机技术和测量控制技术结合在一起,组成新型的只需要改变软件程序就可以更新换代的“智能化测量控制系统。这种新型的智能仪表在测量过程自动化、测量结果的数据处理以及功能的多样化方面,都取得了巨大的进展。再则由于系统没有其它高标准的要求,又考虑到本设计中程序部分比较大,根据总体方案设计的分析,设计这样一个简单的的系统,可以选用带EPROM的单片机,由于应用程序不大,应用程序直接存储在片内,不用在外部扩展存储器,这样电路也可简化,在这里选用ATMENL生产的AT89CXX系列单片机。AT89CXX系列与MCS-51相比有两大优势:第一,片内存储器采用闪速存储器,使程序写入更加方便;第二,提供了更小尺寸的芯片,使整个硬件电路体积更小。此外价格低廉、性能比较稳定的MCPU,具有4K8ROM、2568RAM、2个16位定时计数器、4个8位I/O接口。这些配置能够很好地实现本仪器的测量和控制要求。最后选择了AT89C51这个比较常用的单片机来实现系统的功能要求。AT89C51内部带有4KB的程序存储器,基本上已经能够满足需要。2.3.3显示模块的选择方案与论证数据显示是电水壶的一项重要功能,是人机交换的主要组成部分,它可以将测量电路测得的数据经过微处理器处理后直观的显示出来。数据显示部分可以有以下两种方案供选择的组成有以下两种方案可供选择:方案一 LED数码管显示。方案二 LCD液晶显示。LCD液晶显示器是一种极低功耗显示器,从电子表到计算器,从袖珍时仪表到便携式微型计算机以及一些文字处理机都广泛利用了液晶显示器,因此最终选用了LCD液晶显示7。2.3.4报警部分选择智能电水壶一般都具有报警和通讯功能,报警主要用于系统运行出错、当实时温度达到预设定值为提醒用户而设置。在本系统中,设置报警的目的就是在实时温度达到预设定值时,发出声报警信号,提示用户,防止损坏器具。报警电路是由单片机的I/O口来控制的,当测量的温度超过系统设计所设定的数值时,通过程序使单片机的I/O值,从而三极管导通,使蜂鸣器SPEAKER发出报警声。2.3.5电源电路选择方案与论证(1)电源分析电源是提供电压的装置。把其他形式的能转换成电能的装置叫做电源。电源是向电子设备提供功率的装置,也称电源供应器,它提供计算机中所有部件所需要的电能。电源功率的大小,电流和电压是否稳定,将直接影响电子系统的工作性能和使用寿命。有条件的可以使用电源模块来为系统供电。一般电路的设计电源分为两种:系统自带电源电路,能够从市电中提取电源供设备使用。另一种是通过外部电路提供电源,该电路适用于不太常使用或需要与其他电路配合使用的电路中。(2)电源电路选择:方案一:采用线性电源电路。该电路设计简单,工作稳定,制作成本低,制作方便但功耗大,体积笨重,有一定的发热量,并切效率较低一般低于60%。方案二:采用开关电源电路。此类电路工作在高频状态,无需体积笨重的工频变压器。但该电路制作成本高,需要使用专用的高频变压器。此类变压器需要专门制作,才能完成需要的功能,电源工作效率高,转换率可以达到80%以上。此类电源一般工作在需要大功率的工作场合。 根据本电路的设计目的,需要的供电功率并不大但稳定的电源,而本设计的主要目的是制作智能电水壶系统,没有必要在这里花费太多的精力。因此电路采用线性电源进行供电5。2.4系统总体设计框图单片机控制热水壶的硬件构成包括8051芯片、地址锁存器等组成的单片机控制电路、温度检测电路、键盘及显示电路和温度加热电路。整个系统的关键电路是单片机控制电路,是整个控制的核心,完成信号的输入和输出的转换,即可将温度检测电路采样的输入的信号输出到显示器进行显示,并可以通过键盘对温度进行控制,与此同时当水加热超过指定的温度以后,蜂鸣器工作报警4。硬件设计的总电路连接框图如图2:单片机AT89C51报警电路键盘和显示电路加热电路温度检测电路图2件设计的总电路连接框图3、电热水壶控制系统的硬件设计通过2.4节对电热水壶控制系统框图的总体设计分析,可以把硬件电路分成六个子模块,即给芯片供电的+5V的电源转换电路、单片机最小系统、温度检测电路、继电器、键盘显示电路以及加热和报警电路。3.1电源转换电路图3源转换电路T1为电为源变压器,它将交流电网电压220V变成整流电路要求的交流电压,电压经过四个二极管两两导通整流滤波后,再经过三端稳压芯片7805就可以将原来交流220V的电压转换成直流电压为+5V,即可以得到报警电路和温度检测电路所需要的电压值14。3.2单片机最小系统3.2.1单片机时钟电路单片机内部有一个用于构成振荡器的高增益反相放大器,引脚X1和X2分别是此放大器的输入和输出端。在X1和X2两端跨接晶体就构成了稳定的自激振荡器,其发出的脉冲直接送入内部的时钟电路。X1和X2两端将晶振、电容C1和C2与内部的反相放大器连接起来组成并联谐振电路,图中C1、C2为22PF,对频率有微调作用,振荡频率范围在212MHZ。此设计单片机时钟电路如图4示:图4单片机的时钟电路3.2.2单片机的复位电路系统开始运行和重新启动靠复位电路来实现,复位使CPU和其它部件处于一个确定的初始状态,从这个状态开始工作。此设计单片机的复位电路如图5示:图5单片机的复位电路在单片机运行期间,利用按键也可以完成复位操作。单片机复位操作使单片机进入初始化状态。复位后,程序计数器PC=0000H,因此,程序从0000H地址单元开始执行。运行中的复位操作不会改变片内RAM的内容。复位是靠外部电路实现的。3.2.3单片机的最小系统所谓最小系统,是指一个真正可用的单片机最小配置系统,其作用主要是为了保证单片机系统能正常工作。对于单片机内部资源已能满足系统需要的,可直接采用最小系统。51型片内有4K的ROM/EPROM,因此,只需要外接晶体振荡器和复位电路就可构成最小系统。本设计的单片机最小系统如图6示。 图6单片机最小系统在外部振荡电路中,单片机的X1和X2管脚分别接至由11.0596MHZ晶振和两个22PF电容构成的振荡电路两侧,为电路提供正常的时钟脉冲。在复位电路中,单片机RESET管脚一方面经10uF的电容接至电源正极,实现上电自动复位,另一方面经开关S接电源。其主要功能是把PC初始化为0000H,是单片机从0000H单元开始执行程序,除了进入系统的初始化之外,当由于程序出错或者操作错误使系统处于死锁状态时,为了摆脱困境,也需要按复位键重新启动,因此,复位电路是单片机系统中不可缺少的一部分10。3.3温度采集模块温度由 DALLAS 公司生产的数字温度传感器 DS18B20 采集。DS18B20 测温范围为-55+125,测温分辨率可达 0.0625,被测温度用符号扩展的16位补码形式串行输出。CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。 DS18B20内部有一个9字节的高速存储器用于存储温度值。其中前两个字节是测得的温度数据第1字节的内容是温度的低八位,第2字节是温度的高八位;第3和第4字节是温度上限TH与温度下限TL的易失性拷贝,第5字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新;第 6、7、8这三个字节用于内部计算;第9个字节是冗余检验字节,可用来保证通信的正确性。当温度转换命令发出后,经转换所得的温度值以二字节补码形式存放在此存储器的第1和第2个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,其中高5位是符号位,中间7位是整数位,最低4位是小数位。 DS18B20最大的特点是单总线数据传输方式,因此对读写的数据位有着严格的时序要求。时序包括:初始化时序、读时序、写时序。每一次命令和数据的传输都是从单片机启动写时序开始,如果要求DS18B20回送数据,在进行写命令后,单片机需启动读时序完成数据接收。数据和命令的传输都是低位在先11。3.4继电器介绍本设计是用单片机控制继电器达到以弱控强的电路,下面再来介绍一下单片机和强电之间的桥梁-电磁继电器。电磁继电器是有触点电继电器是有触点电继电器的一种。它是利用电磁效应实现电路开、关控制作用的原件,广泛应用在电子设备、仪器仪表及自动化设备中。在各种自动设备中,都要求用一个低电压电路提控制一个高电压的电器电路。这样不仅可以为电子线路和电器电路提供良好的电隔离,还可以保护电子电路和人员安全。首先看看继电器的驱动,如图7所示:图7继电器的驱动这是典型的继电器驱动电路图,这样的电路图在网络上随处可以搜到,并且标准教科书上一般也是这样的电路图。单片机是一个弱电器件,一般情况下他们大都工作在5V甚至更低。驱动电流在A级以下。而要把它用于一些大功率场合,比如控制电动机,显然是不行的。所以,就要有一个环节来衔接,这个环节就是所谓的“功率驱动”。继电器驱动就是一个典型的、的功率驱动环节。在这里,继电器驱动含有两个意思:一是对继电器进行驱动,因为继电器本身对于单片机来说就是一个功率器件:还有就是继电器去驱动其他负载,比如继电器可以驱动中间继电器,可以直接驱动接触器,所以,继电器驱动就是单片机与其他大功率负载接口。3.5键盘及显示电路3.5.1键盘输入特点(1)由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下断开。因而,在闭合和断开的瞬间均伴随着一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为510ms,为了确保按键的状态,必须消除按键抖动的影响,这也是按键抗干扰的主要的一个方面。(2)消除按键抖动影响通常有硬件、软件两种方法。本论文采用软件消抖方法。软件消抖方法即检测出键闭合后执行一个延时程序,5ms10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms10ms的延时,待后沿抖动消失后才能转入该键的处理程序。3.5.2LCD1602显示器说明现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。1602型LCD可以显示2行16个字符,有8位数据总线D0 D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能6。1602型LCD的接口信号说明如表1示。表1型LCD的接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3V0液晶显示偏压信号11D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极1602型LCD的主要技术参数如表2示。表2型LCD的主要技术参数显示容量16X2个字符芯片工作电压4.55.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符尺寸2.95X4.35(WXH)mm用直接访问方式即微处理器把液晶显示模块当做存储器或I/O设备直接挂在总线上,模块8位数据总线与微处理器的数据总线相连,用读操作或写操作信号与地址信号共同产生控制信号3。读状态:输入:RS=L,RW=L, E=H 输出:D0D7=状态字读数据:输入:RS=H,RW=H, E=H 输出:无写指令:输入:RS=L,RW=L, D0D7=指令码,E=高脉冲 输出:D0D7=数据写数据:输入:RS=H,RW=L, D0D7=数据, E=高脉冲 输出:无其具体电路如图8所示:图8电路原理图3.6 加热电路和报警装置3.6.1加热电路电热器件由双向可控硅KS控制,KS由光电耦合器 4N25和晶体管9013触发。单片机8051的P2.0端输出的触发信号,经7407后,送到光电耦合器4N25。P2.0端输出高电平时,4N25没有电流输入,晶体管T截止,双向晶闸管KS关断,电热器不加热。当P2.0端输出低电平时,7407输出低电平,4N25的输入电流约为18m,输出端的电流大3.6m,经晶体管9013放大后,双向可控硅门极的电流可达200 m,双向可控硅导通,电热器加热。电阻的作用是限制触发电流,当双向可控硅KS的功率较小时,的值可由30改为1008。图9加热电路图过零检测电路由变压器B的其中一个绕组和电容器组成。产生2.5V的交流电压,通过交连到INT0和INT1端。INT0是过零检测端,它可对过零的上升信号检测而产生中断;INT1也是过零检测端,它可对过零的下降信号检测而产生中断。把INTO和INT1产生的中断综合处理,即可得到电源电压过零的时刻。选用不同的电热器件,启动的过程也不一样。对于电阻率不随温度变化的电热器件,可以直接启动,即在电压过零时触发双向可控硅KS。对于电阻率随温度变化的电热器件,通常使用降压启动方式,即开始通电时,电压逐渐上升,使电热器的工作电流在KS允许的范围以内。过一定的时间后,电热器件的工作电压才达到额定电压。3.6.2报警装置首先通过按键对要达到的温度进行设定,通过加热装置对水进行加热,当加热温度达到或超过设定值时,将加热信号送到8051中,通过微处理器处理后,输出到P1口报警,并通过三极管驱动扬声器或蜂鸣器报警。如图10所示:图10报警装置的硬件电路图3.7整体电路设计整体电路包含电源电路、显示电路、传感器电路、键盘电路、单片机控制电路组成。其整体电路原理图如图11所示:图11整体设计原理图4、单片机的软件设计4.1总的程序设计框图本系统的软件实现没有高难度的技巧和算法,但作为一个实用系统,对其可靠性有较高的要求。单片机的I/O口方向是可编程的,在程序中应正确设置其方向,保证单片机的正常工作。关于详细程序清单在此省略,图12给出了主程序流程图,显示部分控制是通过定时器中断来实现的9。开始初始化获取温度报警与温度上限比较转换并显示Y 图12 主程序流程图#include#include#define uint unsigned int#define uchar unsigned char/1602液晶控制接口/sbit rs=P26;sbit en=P27;/sbit jian_ce=P33;/缺水检测端口/按键/sbit key1=P34;sbit key2=P35;sbit key3=P36;/sbit beep=P20; /蜂鸣器接口/sbit DQ=P22;/温度传感器接口/sbit jdq=P12;/继电器接口uint wen_du; uint shang,xia;uchar num;bit auto_flag;/自动状态bit auto_ok;/自动加热okbit mode_flag;/手动模式bit mode_ok;/手动加热ok4.2读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图13示:发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校对duduidui dui验移入温度暂存器结束CR校验正确?9字节YNNY图13读温度流程图/*读取ds18b20当前温度*/void deal_with()uint temp1,temp2;uchar a=0;uchar b=0;uchar t=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换delay_18B20(100); / this message is wery importantWriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度delay_18B20(100);a=ReadOneChar(); /读取温度值低位b=ReadOneChar(); /读取温度值高位 wen_du=(b*256+a)4)*10; /当前采集温度值除16得实际温度值4.3计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换计算,并进行温度值正负的判定,其程序流程图如图14所示。开始温度值取补码至“”标志计算小数位温度“BCD”值至“+”标志计算整数度“BCD”值结束温度零下?N图14计算温度流程图void write_1602_she(uchar add,uint date)/设定温度显示数据uchar shi,ge;shi=date/100;ge=date%100/10;yj1602_write_com(0x80+add);yj1602_write_date(0x30+shi); /0x30码制转换yj1602_write_date(0x30+ge);yj1602_write_date(0Xdf);yj1602_write_date(C);4.4温度保持在某一设定值子程序温度保持在某一设定值子程序主要是对温度低于预定值时进行重新启动系统进行加热操作,程序流程图如图15所示。YY开始报警并停止加热是否达到预定?低于预定值?结束N图15温度保持在某一设定值子流程图void bi_jiao()if(auto_flag=1)if(auto_ok=0)if(wen_du=1000)yj1602_init();jdq=1;/自动加热时温度 达到100度,关闭继电器auto_ok=1;/自动加热完成beep=0;if(wen_du=shang-100)if(mode_ok=1)yj1602_init();jdq=0;/手动调温加热时温度 低于设定温度10度,开启继电器mode_ok=0;/开始加热5、系统联合调试5.1硬件调试用直观法检查电路焊接是否正确,元器件极性是否正确;用数字万用表测量各引脚之间是否连接正常,避免短接、断接。5.2软件调试使用keil uVision3编写程序,编写各个程序模块并联合调试,直至不再出现错误,设置晶振频率并生成Hex文件。通过ISP下载器将程序下载到单片机AT89C51芯片内,观看单片机是否能工作。5.3整机调试1.连接好各硬件电路。2.将程序下载到单片机内,找电路主要点测量电路中电压,看是否能正确显示,观察各外设是否能正常工作。3.将电路连接正常,进行功能测试。 6、结论本设计完成了单片机对电热水壶的控制。整个系统的关键电路是单片机控制电路,该电路是整个控制的核心,完成信号的输入和输出的转换。另一个重要电路是温度检测和加热控制电路,该电路完成了温度信号的采样和温度的控制,并将信号送到单片机的控制电路中。还要通过程序的设计实现各功能,设计安全、可靠,完全能够满足实际需要。在本次设计中,学生掌握了一定的单片机硬件结构知识,设计出硬件电路,并通过编程使部分硬件功能得到了实现,使书本上的知识得到了应用。参考文献1朱冬梅.电水壶技术外观双突破J.现代家电,2010,23:58-592郭公兵.电水壶产能及设计趋势J. 现代家电,2011,19:48-503赵亮.液晶显示模块LCD1602应用J .电子制作,20074施波林. 电水壶管理系统P.CN, G05B19/042, 2012-08-015扈罗全. 电水壶加热盘及其构成的电水壶P.CN, A47J27/21, 2012-08-016康华光电子技术基础模拟部分(第五版)M高等教育出版社,19957刘时进.数字电子技术基础M.湖北科学技术出版社8陈大钦电子技术基础实验M高等教育出版社,20009谭浩强C程序设计教程M清华大学出版社,201010王福瑞.单片机测控系统设计大全.北京航空航天大学出版社,2002年11刘春恰.数字温度传感器DS18B20测温的应用J.电器时代,2010,10,16-11712李泉溪单片机原理与应用实例仿真M北京航天航空大学出版社,200913林思轩. 电热水壶结构的一种创新设计J. 家电科技,2009,Z1:55-5814陈金平.电子系统设计M.北京.国防工业出版社,2007,18-3015Wang Min. The research of measurement and control system of temperature and humidity, carbon dioxide in GreenhouseJ . March 2007附录整体电路设计:硬件实物图:PCB图:程序清单:#include#include#define uint unsigned int#define uchar unsigned char/1602液晶控制接口/sbit rs=P26;sbit en=P27;/sbit jian_ce=P33;/缺水检测端口/按键/sbit key1=P34;sbit key2=P35;sbit key3=P36;/sbit beep=P20; /蜂鸣器接口/sbit DQ=P22;/温度传感器接口/sbit jdq=P12;/继电器接口uint wen_du; uint shang,xia;uchar num;bit auto_flag;/自动状态void Init_DS18B20() uchar x=0; DQ=1; /DQ复位 delay_18B20(8); /稍做延时 DQ=0; /单片机将DQ拉低 delay_18B20(80); /精确延时 大于 480us DQ=1; /拉高总线 delay_18B20(14); x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay_18B20(20);/*ds18b20读一个字节*/ uchar ReadOneChar()uchar i=0;uchar dat = 0;for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay_18B20(4); return(dat);/*ds18b20写一个字节*/ void WriteOneChar(uchar dat) uchar i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay_18B20(5); DQ = 1; dat=1; /*读取ds18b20当前温度en=0;delay(1);void yj1602_init() /液晶初始化yj1602_write_com(0x38);yj1602_write_com(0x0c);yj1602_write_com(0x06);yj1602_write_com(0x01);void write_1602_tem(uchar add,uint date)/环境温度显示数据uchar bai,shi,ge,dian;bai=date/1000;shi=date%1000/100;ge=date%100/10;dian=date%10;yj1602_write_com(0x80+add);yj1602_write_date(0x30+bai);yj1602_write_date(0x30+shi); /0x30码制转换yj1602_write_date(0x30+ge);yj1602_write_date(.);yj1602_write_date(0x30+dian);yj1602_write_date(0Xdf);yj1602_write_date(C);void write_1602_she(uchar add,uint date)/设定温度显示数据uchar shi,ge;shi=date/100;ge=date%100/10;yj1602_write_com(0x80+add);yj1602_write_date(0x30+shi); /0x30码制转换yj1602_write_date(0x30+ge);yj1602_write_date(0Xdf);yj1602_write_date(C);void display()yj1602_write_com(0x80);yj1602_write_date(T);yj1602_write_com(0x80+0X46);yj1602_write_date(a);yj1602_write_date(u);yj1602_write_date(t);yj1602_write_date(o);if(mode_ok=1)yj1602_write_com(0x80+0X40);yj1602_write_date(M);yj1602_write_date(o);yj1602_write_date(d);yj1602_write_date(e);yj1602_write_com(0x80+0X45);yj1602_write_date(s);yj1602_write_date(t);yj1602_write_date(o);yj1602_write_date(p);yj1602_write_com(0x80+0X4a);yj1602_write_date(w);yj1602_writ

温馨提示

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

最新文档

评论

0/150

提交评论