I电子信息工程专业课程设计任务书题目:电热水器控制系统设计设计内容设计一个由8051MCU组成的电热水器控制系统。能够测量当前水温并显示;可以设置烧水温度,当无水时要有报警功能。通过这个过程熟悉温度传感器、键盘控制和七段数码管的使用,掌握51系列单片机控制和测试方法。;用LED显示测量得到的水温值。完成基本要求,可以适当发挥进行扩展设计。1)数码管显示:年月日时分秒;2)键盘输入修改时间、日期设置;设计步骤一、总体方案设计以51系列MCU构成核心模块,合理分配存储器资源和I/O资源。温度采集模块建议采用DS18B20,或采用Pt100再经模数转换;显示模块用2位LED可满足需要;报警模块可采用声光等形式;输入模块可选用矩阵式键盘或键盘驱动芯片;可选用8255进行I/O扩展。二、硬件选型工作对于每一个芯片要有具体型号,对每个分立元件要给出其参数三、硬件的设计和实现1.选择计算机机型(采用51内核的单片机);2.设计支持计算机工作的外围电路(EPROM、RAM、I/O端口、键盘、显示接口电路等);3.接口电路;4.其它相关电路的设计或方案(电源、通信等)四、软件设计1.分配系统资源,编写系统初始化和主程序模块;2.编写相关子程序;3.其它程序模块(显示与键盘等处理程序)。五、编写课程设计说明书,绘制完整的系统电路图(A3幅面)。II目录一、设计要求……………………………………………1二、设计目的……………………………………………1三、设计的具体实现…………………………………11.硬件设计………………………………………21.1.单片机的选择…………………………21.2.水位检测电路…………………………61.3.温度检测电路…………………………71.4.A/D转换器……………………………91.5.报警电路………………………………102.软件设计……………………………………112.1.温度测量子程序……………………122.2.判断子程序…………………………132.3重要代码………………………………四、结论与展望………………………………………14五、心得体会及建议………………………………14六、附录………………………………………………14七、参考文献…………………………………………141电热水器控制系统设计报告一、设计要求设计一个由8051MCU组成的电热水器控制系统。能够测量当前水温并显示;可以设置烧水温度,当无水时要有报警功能。通过这个过程熟悉温度传感器、键盘控制和七段数码管的使用,掌握51系列单片机控制和测试方法。设计以AT89C51单片机为核心,用LED显示测量得到的水温值。完成基本要求,可以适当发挥进行扩展设计。1)数码管显示:年月日时分秒;2)键盘输入修改时间、日期设置;以51系列MCU构成核心模块,合理分配存储器资源和I/O资源。温度采集模块建议采用DS18B20,或采用Pt100再经模数转换;显示模块用2位LED可满足需要;报警模块可采用声光等形式;输入模块可选用矩阵式键盘或键盘驱动芯片;可选用8255进行I/O扩展。二、设计目的运用我们所学的专业知识,采用单片机为主控芯片设计电热水器控制系统并辅以外围电路设计,既能加深我们对专业知识的理解,又能培养专业知识与实践相结合的实践技能,提高我们分析、解决问题的能力。三、设计具体实现电热水器控制系统的整体设计方案包括硬件设计方案和软件设计方案。硬件是指以微控制器作为核心,由外接温度测量电路、键盘、复位、热水器加热开关、LED显示电路、报警电路组成。根据功能需求说明,本着节约开发成本、增加系统可靠性、减小体积等原则进行电热水器控制系统的硬件设计。本系统采用51系列单片机AT89C52作为整个系统的核心,利用AT89C52现有的接口组织外围硬件模块。由于环境的特殊性,温度测量主要是由Pt00铂电阻温度传感器、温度传感器的信号调理电路和基于ADC0801的A/D转换电路组成;键盘由三个按键组成:分别为开关和“+”、“-”;水位检测电路检测是否有水,避免干烧;LED显示电路主要用于显示温度;报警装置为单片机I/O口驱动蜂鸣2器,达到报警的效果。图1系统硬件图1硬件设计1.1单片机的选择图2AT89C52芯片引脚图AT89C52主要性能:1、与MCS-51单片机产品兼容2、8K字节在系统可编程Flash存储器键盘显示电路加热开关控制水位检测温度检测蜂鸣报警A/DAT89C5233、1000次擦写周期4、全静态操作:0Hz~33Hz5、三级加密程序存储器6、32个可编程I/O口线7、三个16位定时器/计数器8、八个中断源9、全双工UART串行通道10、低功耗空闲和掉电模式l1、掉电后中断可唤醒l2、看门狗定时器13、双数据指针l4、掉电标识符功能特性描述:AT89C52提供以下表中功能:8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作指导下一个硬件复位。VCC:电源电压GND:地P0口:P0口是一个8位漏极开路的双向I/O口,也即地址/数据总线复用口。作为输出口,每位能吸收电流的方式驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.1分别作定时器/计数器2的外部计数输(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。4表1P1.0和P1.1口的第二功能P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89C52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。表2P3口的第二功能RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。5ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。Flash编程―并行模式:AT89C52带有用作编程的片上Flash存储器阵列。编程接口需要一个高电压(12V)编程使能信号,并且兼容常规的第三方Flash或EPROM编程器。编程方法:对AT89C52编程之前,需设置好地址、数据及控制信号,可采用下列步骤对AT89C52编程:1.在地址线上输入编程单元地址信号2.在数据线上输入正确的数据3.激活相应的控制信号4.把EA/Vpp升至12V5.每给Flash写入一个字节或程序加密位时,都要给ALE/PROG一次脉冲。每个字节写入周期是自身定时的,通常均为1.5ms。重复1—5步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。61.2.水位检测电路在这里我采用排阻式水位传感器的方法,排阻式水位传感器的工作原理大致是分别用两个根铜针分别置于水箱内的底部位置。若是无水,铜针不接触水面,其输出为高电平;若铜针与其对应水面接触时则输出为低电平,输出接至电子开关,接到AT89S52的P3.3引脚。单片机对引脚进行判断后,判断是否有水,避免干烧。水位传感器采用电压跟随器与电压比较电路相结合实现。P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0/RxD10P3.1/TxD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119VSS20P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528PSEN29ALE30EA/VPP31P0.7/AD732P0.6/AD633P0.5/AD534P0.4/AD435P0.3/AD336P0.2/AD237P0.1/AD138P0.0/AD039VCC40U4AT89C52VCC23418U7ALM393AD48657U7BLM393ADGNDVCC1KR91KR12Res2GNDVCC1K水位传感器100pFC2CapGND1KR11Res2图3水位检测电路1.3.温度检测电路在温度检测电路采用WZP型Pt100温度传感器进行设计,温度的测量范围为0~+400℃之间,分辨率为2℃,温度显示设置为小数点后1位数据。Pt100是模拟量输出的温度传感器,随温度变化的是电阻,所以需要通过模拟电路将电阻转变为电压,然后经放大电路处理后再送入A/D转换器。Pt100热电阻是利用金属导体再温度变化时自身的电阻值也随着发生变化的特性来测量温度的。热电阻的7受热部分是用细金属丝均匀地双绕在绝缘材料制成的骨架上。当被检测介质中有温度梯度存在时,所测得的温度是感温元件所在范围内介质层中的平均温度。Pt100温度传感器为正温度系数热敏电阻传感器,主要技术参数如下:1.测温范围:-200℃~+850℃;2.允许偏差值:A级±(0.15+0.02|t|),B级±(0.30+0.05|t|);3.最小置入深度:热电阻的最小置入深度≥200mm;4.允许通过的通电流≤5mA;5.另外,Pt100温度传感器还具有抗震动、