基于单片机的水温控制系统_第1页
基于单片机的水温控制系统_第2页
基于单片机的水温控制系统_第3页
基于单片机的水温控制系统_第4页
基于单片机的水温控制系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE24目录第1节 引言 3水温控制系统概述… 3本设计任务和主要内容… 3第2节 系统主要硬件电路设计 4单片机控制系统原理… 4温度采样电路… 4温度传感器的选取… 4温度传感器AD590… 5电路原理及参数计算… 5ADC0804性能描述… 5温度控制电路… 5主机控制部分… 6键盘及数字显示部分… 6第3节 系统软件设计 8主程序流图… 8主程序… 8键盘和数字显示流程图… 14键盘显示程序… 14第4节 结束语 23参考文献 24基于单片机的水温控制系统第1节 引 言在能源日益紧张的今天,电热水器,饮水机,电饭煲之类的家用电器在保温时,LED于操作,可靠性高,将会有更广阔的开发前景。水温控制系统概述本设计任务和主要内容1的温度基本不变。本设计主要内容如下:40~901℃,标定温度≤1℃。环境温度降低时温度控制的静态误差≤1℃。用十进制数码管显示水的实际温度。(40统的调节时间和超调量。温度控制的静态误差≤0.2℃。第2节 系统主要硬件电路设计键盘显示电路图形显示电炉温度传感器键盘显示电路图形显示电炉温度传感器89c52控制系统微机控制系统数值显示功率放大电路开关控制电路A/D采样电路温度采样电路功率放大电路开关控制电路A/D采样电路

图2-1 单片机控制系统原理框图(50(7812A/D转换电路(ADC0804)三部分组成。如图:2-2+15

J17812

R381k

5k-1545

1J41

R9 8 189C527 1189C52VinOUTGND1 3VinOUTGND5K 30K

- 6 4148 6 1230k+155k2 7 1830k+155k2 7 18 22213

VCC

14154 164148 19 17120 18120kR7AD5902 110u+20kR7AD5902 110u5 c1 10k-1R5C2R5150p

ADC0804温度传感器的选取

图2-2信号采集电路目前市场上温度传感器较多,有以下几种:但其成本较高。性特性会影响系统的精度。AnalogDevicesAD590。其测量范围在5—10V1﹪时,误差只有±0.01℃。此器件具有体积小、质量轻、线形度好、性能稳定等优点其各方面特性都满足此系统的设计要求。比较以上三种方案,方案三具有明显的优点,因此选用方案三。AD590测量范围在-50℃--+150℃,满刻度范围误差为±0.35—10V1﹪0.01AD59011uA3595308.2uA368.2uA。电路原理及参数计算温度采样电路的基本原理是采用电流型温度传感器AD590将温度的变化量转换A/DADC0804将其转换成数值量交由单片机处理。ADC080448bitA/D0—5v100us,0.39﹪。满足系统的要求。R581kR430k+157812R581kR430k+157812R25kR130kOP07out-15电炉R330k由于系统控制的水温范围为35℃--95℃,所以当输出AD590的输出电流为308.2uA,因此为了使Ui的电位为零就必须使电流R330kAD59AD590308.2uA,三端稳压7812的输出电压为12v所以取电阻R2=30k,R1=10k的电位器。又由于ADC0804的输入电压范围为0—5v,为了提高精度所以令水温为95℃时ADC0804的输入电压为5v(即

图2-3A/D转换电路9550368.2ukk的电位器。温度控制电路此部分电路主要由光电耦合器MOC3041和双向可控硅BTA12组成。MOC3041光电耦合器的耐压值为400v,它的输出级由过零触发的双向可控硅构成,它控制着主电路双向可控硅的导通和关闭。100Ω电阻与0.01uF电容组成双向可控硅保护电路。控制部分电路图如图2-4部分控制电路。vcc电炉250Ωvcc电炉250Ω100Ω27ΩBTA120.01uF主机控制部分89C5289C52内8KB2562-5主机控制部分

如图2-5主机控制部分在设计键盘/显示电路时,我们使用单片机2051做为电路控制的核心,单片机2051具有一个全双工的串行口采用串口,利用此串行口能够方便的实现系统的控制和显示功能。键盘/显示接口电路如图2-6。3-4-12051P18使数码管能显示设计者所需的各数值、小数点、符号等等。2051P3.3、P3.4、P3.53-874L138,译码器的输出端直接接八I/O,减少硬件的花费。1.32.4153.51413H1211VCCVCCVCCVCCVCCVCCVCCVCC45610VCC9Y67Y7J34J1a a a a a a a aP1.719R16HP1.6 F18R15Gf bfbfbfbfbfbfbfb5P1.5 E17P1.4 D16ggggggggVCC1.32.4153.51413H1211VCCVCCVCCVCCVCCVCCVCCVCC45610VCC9Y67Y7J34J1a a a a a a a aP1.719R16HP1.6 F18R15Gf bfbfbfbfbfbfbfb5P1.5 E17P1.4 D16ggggggggVCC1.2R/P.3 1C156.3/)P.2.2 0B14ecececececececec7.4/)P.3.1 9A138.50P34.012dhdhdhdhdhdhdhd h9.71P351123P3.7(RXD)P3.0VCC20VCC(TXD)P3.1GND10GNDABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFG210 10 10 10 10 10 10 10 0 10 10 10 10 10 10 100 10 10 10 10 10 10 10 1Y7Y6Y5Y4Y3Y2Y1Y089C2051+7A385GND/VCCH6B4C2D1E9F10G7A385GND/VCCH6B4C2D1E9F10G7A385GND/VCCH6B4C2D1E9F10G7A385GND/VCCH6B4C2D1E9F10G7A385GND/VCCH6B4C2D1E9F10G7A385GND/VCCH6B4C2D1E9F10G7A385GND/VCCH6B4C2D1E9F10G7A385GND/VCCH6B4C2D1E9F10G图2-6键盘/显示部分电路2051的端口资4*48*2的形式(如图2-7,键82051P3.2P3.7相连。P3.22-7键盘接线

p3.72-715I/O第3节 系统的软件设计系统主程序设计否否判断是否有中断?是开 机系统初始化显示清零,各记数指针清零开 机系统初始化显示清零,各记数指针清零,设定定时器及中断各类数值转换子程序PC机通信子程序接收及发射串显示数据PWM波产生PID算法调用相应的中断程序主程序主程序如下:ORG0000HAJMP;主程ORG000BHAJMPTIM0 ;T0中断子程序ORG0023HAJMP;ORG0100H50H,#00H ;MOV51H,#00HMOV52H,#00HMOV53H,#00HMOV54H,#0C6HMOVMOVTH0,#0ECH;发送第5个数码管字形码“C”;T0工作在MODE1;晶振12M,50ms中断一次MOVTL0,#78HSETBTR0MOVTMOD,#20H;T1工作在MODE2MOVTH1,#0E6HMOVTL1,#0E6HSETBTR1;设波特率MOVSCON,#50HMOVIE,#92H;允许T0,RI中断MOVR6,#04H;初始要接收的数据个数MOVR1,#50HMOVR4,#00H;初始要接收数据的起始地址REY:MOVA,53HCJNEA,#00H,YESSJMPREYYES: MOVR3,#00HYES1CLRP2.0 ;AD转换CLRP3.6SETBP3.6ACALLJ1: MOVXA,@R0ACALLSJCL ;调用数据处理子程序ACALLDISPDJNZR3,MMACALLFS ;调用串口发送子程序AJMPYESMM: AJMPSJCL:MOVB,#60MULABMOV61H,AMOVA,BADDA,#35ACALLL10MOV60H,R5 ;存十进制高八位 (个位和十位)MOVA,61HMOVB,#9MULABMOV61H,B ;存十进制低八位 (小数点)RETL10:CLRCMOVR5,#00H ;初始化十进制转换的地位寄存MOVR4,#08H ;调整次数NEXT:RLCAMOVR2,AMOVA,R5ADDCA,R5DAAMOVR5,AMOVA,R2DJNZR4,NEXTRETDISP:

MOVA,60HANLA,#0F0H ;D2AMOV70H,AMOVA,60HANLA,#0FH ;D171HMOV71H,AMOV72H,61H ;D072HMOVR0,#70H ;MOVMOVA,@R0MOVCA,@A+DPTRMOV55H,AINCR0MOVMOVCMOV56H,AINCR0MOVMOVCMOV57H,AMOVA,56HADDA,#80H ;D1字形码上加小数点MOV56H,ARETFS:MOVA,R0PUSHACCMOVTMOD,#20HMOVTH1,#0E6HMOVTL1,#0E6HSETBTR1MOVSCON,#50HMOVR0,#54H ;MOVR7,#04HLOOP:MOVSBUF,@R0JNBTI,$CLRTIINCR0DJNZR7,LOOPPOPACCMOVR0,ARET;串口中断接受子程序RT:PUSHACCPUSHPSWCLRET0CLRESSJ:MOV@R1,SBUFINCR1CJNER4,#03H,MOVESJMPMOVE1MOVE:INCR4CLRRIJNBRI,$MOVE1:DJNZR6,SJMOVR4,#00HMOVR1,#50H ;重置接收起始地MOVR6,#04H ;重置接收个数SETBET0SETBESPOPPSWPOPACCRETI;T0中断子程序TIM0:PUSHACCPUSHPSWMOVTH0,#0ECH ;MOVTL0,#78HCLRC;ACALLJSMOVA,51HCJNEA,70H,Q1 ;SJMPQ2Q1: JCOFFSJMPQ2: MOVA,52HCJNEA,71H,Q3Q3:JCOFFON:CLRP1.4CLRP1.2RE:POPPSWPOPACCRETIOFF:SETBP1.4SETBP1.2SJMPREDELAY:MOVR7,#50DJNZR7,$RETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H键盘显示程序开开 机系统初始化显示清零,各记数指针清零判断是否有键按下?是判断是否有键按下?是消除颤抖1设定水温2显示温度3确定4清零51设定水温2显示温度3确定4清零5取消6输出键盘显示程序键盘显示程序如下:FLAGABIT4EHFLAGBBIT4FHORG00HJMPSTARTORG23HJMPUARTISTART: CLRFLAGACLRFLAGBMOV30H,#07H;系统显示MOV31H,#07H;PPPPPPPPMOV32H,#07HMOV33H,#07HMOV34H,#07HMOV35H,#07HMOV36H,#07HMOV37H,#07HMOVR1,#90HMOVR0,#50HPP: CLRP3.3;P3.5P3.4P3.3=000CLRP3.4CLRP3.5MOVA,30HMOVP1,ASETBP3.3;001MOVA,31HMOVP1,ASETBP3.4;010CLRP3.3MOVA,32HMOVP1,ASETBP3.3;011MOVA,33HMOVP1,ASETBP3.5;100CLRP3.4CLRP3.3MOVA,34HMOVP1,ASETBP3.3;101MOVA,35HMOVP1,ASETBP3.4;110CLRP3.3MOVA,36HMOVP1,ASETBP3.3;111MOVA,37HMOVP1,ADJNZR0,PPMOVR0,#0FFHDJNZR0,$DJNZR1,PP;系统显示MOVSCON,#52H;串行口方式2,允许接收,初态TI=1MOV30H,#0FH;0MOV34H,#0FHMOV33H,#93H;CMOV37H,#93HZ1:CLRP3.3;000CLRP3.4CLRP3.5MOVA,30HMOVP1,AJBP3.2,Z11ACALLDELAY;JIANCHULIJNBP3.2,$SETBFLAGAJMPZ2Z11:JBP3.7,Z2ACALLDELAY;JIANCHULIJNBP3.7,$JNBFLAGA,Z2JBFLAGB,Z12MOV31H,#0C0H;MOVR0,#0SETBFLAGBJMPZ2Z12:MOVMOVCLR32H,#0C0HR1,#0FLAGB;Z2:SETBP3.3;001MOVA,31HMOVP1,AJBP3.2,Z21ACALLDELAY;JIANJNBP3.2,$JNBFLAGA,Z3JBFLAGB,Z22MOV31H,#0F9H;MOVR0,#1SETBFLAGBJMPZ3Z22:MOV32H,#0F9H;MOVR1,#1CLRFLAGBJMPZ3Z21:JBP3.7,Z3ACALLDELAY;JIANJNBP3.7,$JNBFLAGA,Z3JBFLAGB,Z23MOVR0,#2MOV31H,#0A4H;SETBFLAGBJMPZ3Z23:MOV32H,#0A4H;MOVR1,#2CLRFLAGBZ3:SETBP3.4;010CLRP3.3MOVA,32HMOVP1,AJBP3.2,Z31ACALLDELAY;JIANJNBP3.2,$JNBFLAGA,Z4JBFLAGB,Z32MOV31H,#0B0H;MOVR0,#3SETBFLAGBJMPZ4Z32:MOV32H,#0B0H;MOVR1,#3CLRFLAGBJMPZ4Z31:JBP3.7,Z4ACALLDELAY;JIANJNBP3.7,$JNBFLAGA,Z4JBFLAGB,Z33MOV31H,#99H;MOVR0,#4SETBFLAGBJMPZ4Z33:MOV32H,#99H;MOVR1,#4CLRFLAGBZ4:SETBP3.3;011MOVA,33HMOVP1,AJBP3.2,Z41ACALLDELAY;JIANJNBP3.2,$JNBFLAGA,Z5JBFLAGB,Z42MOVMOVSETBJMP31H,#92HR0,#5FLAGBZ5;Z42:MOV32H,#92H;MOVR1,#5CLRFLAGBJMPZ5Z41:JBP3.7,Z5ACALLDELAY;JIANJNBP3.7,$JNBFLAGA,Z5JBFLAGB,Z43MOV31H,#82H;MOVR0,#6SETBFLAGBJMPZ5Z43:MOV32H,#82H;0MOVR1,#6CLRFLAGBZ5:CLRP3.3;100CLRP3.4SETBP3.5MOVA,34HMOVP1,AJBP3.2,Z51ACALLDELAY;JIANJNBP3.2,$JNBFLAGA,Z6JBFLAGB,Z52MOV31H,#0F8H;MOVR0,#7SETBFLAGBJMPZ6Z52:MOVMOVCLRJMP32H,#0F8HR1,#7FLAGBZ6;Z51:JBP3.7,Z6ACALLDELAY;JIANJNBP3.7,$JNBFLAGA,Z6JBFLAGB,Z53MOV31H,#80HMOVR0,#8SETBFLAGBJMPZ6Z53:MOV32H,#80HMOVR1,#8CLRFLAGBZ6:SETBP3.3;101MOVA,35HMOVP1,AJBP3.2,Z61ACALLDELAY;JIANJNBP3.2,$JNBFLAGA,Z7JBFLAGB,Z62MOV31H,#98HMOVR0,#9SETBFLAGBJMPZ7Z62:MOV32H,#98HMOVR1,#9CLRFLAGBJMPZ7Z61:JBP3.7,Z7ACALLDELAY;JIANJNBP3.7,$JNBFLAGA,Z7MOVA,R0MOVB,#10MULABMOVB,R1ADDA,BMOVSBUF,ACLRF

温馨提示

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

评论

0/150

提交评论