版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子信息工程专业课程设计任务书题目:电热水器控制系统设计设计容设计一种由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.其它有关电路的设计或方案(电源、通信等)四、软件设计分派系统资源,编写系统初始化和主程序模块;编写有关子程序;3.其它程序模块(显示与键盘等解决程序)。五、编写课程设计阐明书,绘制完整的系统电路图(A3幅面)。目录一、设计规定……………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七、参考文献…………14电热水器控制系统设计报告一、设计规定设计一种由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口驱动蜂鸣器,达成报警的效果。键盘键盘显示电路加热开关控制水位检测温度检测蜂鸣报警A/DAT89C52图1系统硬件图1硬件设计1.1单片机的选择图2AT89C52芯片引脚图AT89C521、与MCS-51单片机产品兼容2、8K字节在系统可编程Flash存储器3、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向量两级中断构造,一种全双工串行通信口,片振荡器及时钟电路。同时,AT89CVCC:电源电压GND:地P0口:P0口是一种8位漏极开路的双向I/O口,也即地址/数据总线复用口。作为输出口,每位能吸取电流的方式驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0含有部上拉电阻。在flash编程时,P0P1口: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表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口也接受高8P3口:P3口是一种含有部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,部上拉电阻把端口拉高,此时能够作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的因素,将输出电流(IIL)。P3口亦作为AT89C52特殊功效(第二功效)使用,以下表所示。在flash编程和校验时,表2P3口的第二功效RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。ALE/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环节,变化编程单元的地址和写入的数据,直到全部文献编程结束。1.2.水位检测电路在这里我采用排阻式水位传感器的办法,排阻式水位传感器的工作原理大致是分别用两个根铜针分别置于水箱的底部位置。若是无水,铜针不接触水面,其输出为高电平;若铜针与其对应水面接触时则输出为低电平,输出接至电子开关,接到AT89S52的P3.3引脚。单片机对引脚进行判断后,判断与否有水,避免干烧。水位传感器采用电压跟随器与电压比较电路相结合实现。图3水位检测电路1.3.温度检测电路在温度检测电路采用WZP型Pt100温度传感器进行设计,温度的测量围为0~+400℃之间,分辨率为2℃,温度显示设立为小数点后1位数据。Pt100是模拟量输出的温度传感器,随温度变化的是电阻,因此需要通过模拟电路将电阻转变为电压,然后经放大电路解决后再送入A/D转换器。Pt100热电阻是运用金属导体再温度变化时本身的电阻值也随着发生变化的特性来测量温度的。热电阻的受热部分是用细金属丝均匀地双绕在绝缘材料制成的骨架上。当被检测介质中有温度梯度存在时,所测得的温度是感温元件所在围介质层中的平均温度。Pt100温度传感器为正温度系数热敏电阻传感器,重要技术参数以下:测温围:-200℃~+850℃;允许偏差值:A级±(0.15+0.02|t|),B级±(0.30+0.05|t|);最小置入深度:热电阻的最小置入深度≥200mm;允许通过的通电流≤5mA;另外,Pt100温度传感器还含有抗震动、稳定性好、精确度高、耐高压等优点。Pt100的线性好,在0~100℃之间变化时,最大非线性偏差不大于0.5℃。即使Pt100的线性度比较好,但是能够从数据之间发现Pt100的电阻与测量的温度之间并不是完全的线性关系。因此在实际使用Pt100时,往往需要通过查表法或线性插值算法来计算出测量的温度。查表法是指在单片机的ROM存储区间中建立一种电阻和温度之间的分度表。当测量温度时,通过软件先计算出Pt100的阻值,然后再去查询分度表获得该阻值所对应的温度值。显而易见,在检测值的围对标定的点数设立的越多表格越大,占用的的ROM存储容量也就越大,但是对Pt100的描述也就越精确。另一种计算温度的办法就是采用线性插值算法。这种办法就是通过已知的Pt100分度表中的数据,将温度的变化曲线分为对应的几段。然后,找一种最佳的函数关系式来表达各段曲线上Pt100的阻值与被测温度之间的函数关系式。由于每个区间段都是用了一种函数解析式来进行描述,因此这种办法在程序设计时十分方便。因此在此我们采用线性插值算法。根据系统的温度测量围先将曲线分为四段,每100℃分为一段。每一段的温度与阻值之间的关系以下:当0℃≤t≤100℃时,t=2.558*Rpt100-256.02当100℃<t≤200℃时,t=2.637*Rpt100-267.01当200℃<t≤300℃时,t=2.721*Rpt100-281.9当300℃<t≤400℃时,t=2.81*Rpt100-300.94图4温度测量电路图放大电路采用LM358集成运算放大器,为了避免单级放大倍数过高带来的非线性误差,放大电路采用两级放大,如图3.4所示,前一级约为10倍,后一级约为3倍。温度在0~100度变化,当温度上升时,Pt100阻值变大,输入放大电路的差分信号变大,放大电路的输出电压Av对应升高。1.4.A/D转换器
ADC0801是一种8位、单通道、低价格A/D转换器,重要特点是:摸数转换时间大概100us;方便的TTL或CMOS原则接口;能够满足差分电压输入;含有参考电压输入端;含时钟发生器;单电源工作时(0V~5V)输入信号电压围是0V~5V;不需要调零等等。
CS:片选信号。低电平有效,高电平时芯片不工作。
RD:外部读数据控制信号。此信号低电平时ADC0804把转换完毕的数据加载到DB口。
WR:外部写数据控制信号。此信号的上升沿能够启动ADC0804的A/D转换过程。
CLK
IN:时钟输入引脚。ADC0804使用RC振荡器作为A/D时钟,CLK
IN是振动
的输入端。
INTR:转换结束输出信号。ADC0804完毕一次A/D转换后,此引脚输出一种低脉冲。对单片机能够称为中断触发信号。
Vin(+):输入信号电压的正极。
Vin(-):输入信号电压的负极。能够连接到电源地。
AGND:模拟电源的地线。
Vref/2:参考电源输入端。参考电源取输入信号电压(最大值)的二分之一。例如输入信号电压是0V~5V时,参考电源取2.;输入信号电压是0V~4V时,参考电源取2.
0V。
DGND:数字电源的地线。
DB8~DB0:数字信号输出口,连接单片机的数据总线。
CLK
R:时钟输入端。
VCC:5V电源引脚。
补充阐明:CLKI和CLKR:ADC0801~0805
片有时钟电路,只要在外部“CLKI”和“CLKR”两端外接一对电阻电容即可产生A/D
转换所规定的时钟,其振荡频率为fCLK≈1/1.1RC。其典型应用参数为:R=10KΩ,C=150PF,fCLK≈640KHz,转换速度为100μs。若采用外部时钟,则外部fCLK
可从CLKI
端送入,此时不接R、C。允许的时钟频率围为100KHz~1460KHz。
图5A/D转换器电路图1.5.报警电路蜂鸣器是采用直流电压供电的一种一体化构造的电子讯响器,现在广泛应用于我们的生活中,例如说在电脑、多个报警器、汽车电子设备、机、定时器等常见的电子产品中作为发声器。本设计采用的蜂鸣器为电磁式蜂鸣器。电磁式蜂鸣器由振荡器、磁铁、电磁线圈、振动膜片以及外壳构成,电磁式蜂鸣器基本原理是在电源接通后,在电磁线圈和磁铁的互相作用下,振荡膜片周期性地振动发声。由于蜂鸣器普通工作电流比较大,但是单片机I/O口输出的电流很小驱动不了蜂鸣器,因此还得选用的NPN型三极管9013来驱动蜂鸣器。报警电路设计原理:当水箱的水位降到一定值时,输出的低电平信号,或者烧水温度达成预置温度时,单片机通过指令将P1.5置成高电平,三极管Q5导通,扬声器工作,发出吱吱的声音。同理当水箱的水过高时,P1.5为高电平,报警电路开始工作。蜂鸣器报警电路如图3.6所示。图6电磁式蜂鸣器报警电路图2软件设计软件设计由主程序,键扫描子程序及若干功效模块子程序构成。其中主控制器子程序涉及A/D转换子程序(水位、水温),键盘解决及显示子程序,加热控制子程序(使用输出比较功效)等构成。主程序要先初始化系统的工作参数,重要是单片机的定时器,COP模块、A/D转换、端口、键中断等的工作模式参数设定,之后系统主程序循环调用各个功效模块子程序,对有关事件的解决依靠标志位和判断标志位实现。在本次设计中运用到了PROTEUS的ISIS电路分析实物仿真系统和KEIL单片机编程软件,通过对它们联调能够仿真出本次设计的规定。主程序设计思路:软件设计采用各个模块功效分开独立设施的设计方式,将各个功效分成独立模块,有系统和监控程序一起管理执行。本设计的软件涉及主程序,键盘扫描子程序,显示子程序,水位测量子程序以及有关的Pt100的程序。我重要阐明了两个最重要的子程序:温度测量、水位测量的流程和液晶显示流程。主程序完毕功效:系统对传感器PT100、显示屏进行初始化,并且读取顾客通过键盘设立的最高烧水温度信息,随之系统自动读取现在水位,系统执行对应功效,完毕后等待下一次的启动命令。当检测到无水时,系统会启动报警电路工作,当检测到超出设定的烧水温度时,启动报警电路并关闭加热电路。本设计的系统整体流程图如图8所示。开始开始初始化初始化测量现在温度测量现在温度显示现在温度显示现在温度判断与否有按键否判断与否有按键是更改设定温度更改设定温度开电磁阀开电磁阀判断现在与否有水判断现在与否有水温度与否低于预定值是温度与否低于预定值否图7系统总体程序流程图2.1温度测量子程序温度测量由Pt100温度传感器来完毕,温度测量子程序流程如图3.8所示。根据系统的温度测量围温度与阻值之间的关系编写程序,使阻值变换为温度,进行温度的测量,送入AT89C51单片机,之后送入显示电路进行显示温度。图8Pt100测温程序流程图2.2判断子程序判断整个程序的运行,当水温超出预定设立温度值时,关闭加热电路,如果低于预定设立温度值时,开通加热电路,进行加热。当无水的时候,自己断电避免干烧,并蜂鸣报警。断电断电水温高于设定值吗?水温低于设定值吗?通电加热报警断电无水吗?NYNYNY开始图9判断程序流程图2.3重要代码主函数:voidmain(){ TMOD=0x01; TH0=(65536-46000)/256; TL0=(65536-46000)%256; EA=1; ET0=1; TR0=1; zd=0; num=21;aaa=0;bbb=0; num1=21;num2=21;num3=21; while(1) { uinta; ucharb; changetemp(); a=gettemp(); b=scanff(); numy=gettemp(); display(a,b); }}显示函数的分析:voiddisplay(uinta,ucharb){ uchari,temp,srtemp,dis[4]; uintdda; dda=abs(a); numx=dda/1000; num4=dda%1000/100; num5=dda%100/10; num6=dda%10; dis[0]=numx; dis[1]=num4; dis[2]=num5; dis[3]=num6; dis[2]+=10; if((dis[0]==0)&&(dis[1]==0)) dis[1]=20; if(a<0) dis[3]+=10; else {if(dis[0]!=0) dis[1]=dis[1]+10; } temp=0xfb; for(i=1;i<4;i++) { P0=0xff; wei=1; temp=_crol_(temp,1); P0=temp; wei=0; P0=0; duan=1; P0=table[dis[i]]; duan=0; delay(3); } duan=1; P0=0x00; duan=0; if(aaa==1&&ccc!=21) bbb++; switch(bbb) { case0: dis[1]=b; num1=b; dis[2]=num2; dis[3]=num3; if(dis[2]==21) dis[2]++; else dis[2]+=10; srtemp=0xfe; for(i=1;i<4;i++) { P0=0xff; wei=1; P0=srtemp; wei=0; srtemp=_crol_(srtemp,1); P0=0x00; duan=1; P0=table[dis[i]]; duan=0; delay(1); duan=1; P0=0x00; duan=0; } break; case1: dis[1]=num1; dis[2]=b; num2=b; dis[3]=num3; if(dis[2]==21) dis[2]++; else dis[2]+=10; srtemp=0xfe; for(i=1;i<4;i++) { P0=0xff; wei=1; P0=srtemp; wei=0; srtemp=_crol_(srtemp,1); P0=0x00; duan=1; P0=table[dis[i]]; duan=0; delay(1); duan=1; P0=0x00; duan=0; }中断加热子函数的分析:voidtimer0()interrupt1{ inta; TH0=(65536-46000)/256; TL0=(65536-46000)%256; zd++; if(zd==6) { zd=0; a=num1*100+num2*10+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44774-2024汽车信息安全应急响应管理规范
- 2024年度桥梁拆除工程承包合同
- 2024年度知识产权许可合同许可项目与许可费用
- 2024年度电商平台物流配送合同
- 2024年度智能家居产品买卖及安装合同2篇
- 《铁路知识学习材料》课件
- 2024年度技术开发合作合同:科技公司与研发团队共同开展新技术研究的协议
- 2024年度手机销售合同市场推广及售后服务
- 工业网络控制技术 课件 项目3 简单CPU通信应用
- 2024年度环保科技公司污染治理合同3篇
- 奢沟小学2024年春季学期法治副校长进校园开展安全、法制知识讲座实施方案
- 道法珍惜师生情谊教学课件 2024-2025学年统编版道德与法治七年级上册
- 《唱:隆里格隆 》教学设计苏少版四年级音乐下册(五线谱)第七单元 奇妙人声
- 学术英语智慧树知到答案2024年南开大学
- 奇妙的透镜说课课件-2024-2025学年沪粤版物理八年级上学期
- 农民工欠薪调解协议书模板
- 2024至2030年中国消防行业市场发展规模及投资机会分析报告
- 商铺出售回购协议书范本
- 港口液体危化品装卸管理人员理论考试题库-上(单选题)
- 电玩城消防应急疏散预案
- 人工智能技术应用专业调研报告
评论
0/150
提交评论