单片机温度测控系统.docx
- 文档编号:4719619
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:12
- 大小:59.63KB
单片机温度测控系统.docx
《单片机温度测控系统.docx》由会员分享,可在线阅读,更多相关《单片机温度测控系统.docx(12页珍藏版)》请在冰豆网上搜索。
单片机温度测控系统
单片机课程设计报告
题目:
单片机温度测控系统
设计要求
系统要求实现温度的测量控制
转换精度:
8位
转换范围:
0℃——+128℃
转换误差:
≤1摄氏度
设计目的
通过采用单片机实现系统功能的设计实习,要达到理论上巩固既学知识,实践上丰富设计经验,并通过设计过程中暴露出来的一些问题,达到优化知识结构、丰富动手思维能力。
同时,通过对设计中遇到的各种未知知识及设计技巧的学习和解决,更好的培养学生的自学能力。
通过以分组的形式,来培养学生的团结互助,相互学习补充。
这样,不仅在学习上达到的学生间、知识间的融合,更增进了学生的融洽,为即将步入社会的大四学生打下良好的基础。
设计思想
框图:
说明:
该测量系统由单片机实现烧水锅炉各功能的控制。
锅炉具有自动加水,沸水控制,加热控制等功能。
初始化单片机时系统进入锅炉加水功能,当水位达到上限水位时,锅炉产生一个中断脉冲中断单片机,跳出加水,进入单片机控制锅炉加热功能,当锅炉中水的温度达到80度时,降低加热电压,并允许使用锅炉中的水。
当锅炉中的水用至低于下限水位时,锅炉同样会产生一个中断脉冲中断单片机,回复前面过程,再次进行加水控制,如此达到单片机控制热水锅炉的温度测控功能。
其中,系统还设置有温度的三级加热控制。
当温度高于80度时,控制由全电压加热转到半电压加热;当温度高于100度时,又会控制停止加热,即割断加热线路;当温度由高温再次降到90度以下时,系统又会重新启动半电压加热,如此反复控制。
各电路的设计
锅炉示意电路:
如上图,通过七个控制线端与中央系统相连,达到控制和信息索取。
而温敏传感器则另加。
其中的进出水口是系统控制的电动阀门,通过系统的高低电平表示阀门的开合,以达到自动装水、自动饮水的目的,起到了对锅炉和人的双方保护的作用,防止了因水的匮乏及溢出对锅炉的伤害,也不会因人喝了未煮沸的水而产生的不良后果。
高低警戒水位则起到对水位的监控作用,防止水位过低烧毁锅炉,也防止水位过高溢出产生其他后果,由于单片机的中断触发方式设置的是下降沿触发,这也是出于锅炉水位变化的缓慢性,为防止误触发而设置的,而我们又假定水淹没水位传感器时表高电平,水未淹没水位传感器时取低电平,这样当高水位有效时传感器产生的是上升沿,为了产生下降沿,在它的输出端接入了一个反相器。
三级加热则是会产生三个级别的加热,分别是全压加热、半压加热和不加热,如图,D1和D2是控制加热电源的双向晶闸管,它们的功能如下:
D1/P1.3
D2/P1.2
功能
X
0
不加热
1
0
半压加热
1
1
全压加热
D1,D2的触发端则分别与单片机的P1.3,P1.2口相连,达到控制的目的。
测温电路:
Vi
上面只讲了锅炉的控制模型,现在讲测温电路。
我采用分度号Cu100的温敏电阻,如图电阻Rx。
环境温度为0℃时,Rx=100Ω;测温上限128℃时,Rx=155Ω。
通过与R1对电源电压(5V)分压,在测量范围内输出2.5~1.96V的电压信号Vi。
集成运放A1及其外围电阻实现对Vi进行放大,以输出符合ADC输入的0~2.5V的电压。
理论计算如下:
Vo=(R3/R4)*VCC—(R3/R2)*Vi
R3=1500Ω,R2=330Ω,R4=660Ω,VCC=5V,这样,Vo=(R3/R2)(2.5—Vi),当Vi在2.5~1.96V内变化时,Vo将在0~2.5V内变化,同时0度对应0V,128度对应2.5V,符合了数据处理的要求。
水可饮用指示电路:
如图所示,通过将一个发光二极管与单片机的P1.5脚相连,当P1.5输出高电平时,发光二极管发光,表示锅炉内水可饮用;而P1.5脚输出低电平时发光二极管不发光,则锅炉内水不可饮用。
电阻则是限流用。
模/数转换电路:
如图所示,该电路由三部分组成,单片机89C51、ADC0809和D触发器。
ADC0809有八个模拟信号输入端,由于该系统只需一路模拟信号的转换,所以将除IN-0以外的输入端都接地,而ADC0809的模拟输入端选择地址信号全接地,这样,系统就默认了IN-0输入。
ADC0809的启动端接入89C51的P1.7口,转换结束中断信号则接入89C51的P1.6口,数字信号输出口使能输入信号接入89C51的P1.4口,这几个口的信号共同达到控制ADC0809的目的。
ADC0809的转换时钟信号由89C51的ALE端信号经D触发器分频后接入。
温度显示电路:
图中电路实现温度的三位显示,因为系统测量温度的上限是128度。
首先,电路通过74LS373锁存P0来的分时复用字型码信息,通过各限流电阻传到各LED进行显示。
而LED的显示也是通过89C51的控制分时显示的。
由于选用的是共阴级LED,所以,当89C51的控制信号为低电平时,表示选择该LED,此时送出的字型码也是该LED的显示数据,LED点亮。
上电复位电路:
单片机在启动上电时都应该复位内部,以达到正常工作的目的。
电路中,RST接到89C51的RST端,电容在上电的瞬间短路,RST端接入高电平,单片机复位;达到稳态后,电容相当于断路,RST接为低电平,失去复位功能。
时钟电路:
任何时序电路都需要参考时钟,由于89C51有内置的时钟电路,所以只须外接晶振便可。
该电路采用12MHz晶振,补偿电容C1、C2选用典型值。
电源电路
电路采用220伏市电供电,经电桥整流后再经7805三端稳压成5伏电路的供电电压。
C3、C4起到的是平缓纹波的作用,以期给电路提供更稳定的电压,减少因电源波动带来的系统误动作。
整体电路如下图:
软件设计
程序主流程如下:
系统上电复位开始执行程序。
通过对各个端口初始化,然后进入进水程序,等高警戒水位发出中断后,说明水已经加满,这时跳出加水程序;再对水进行加热到80度,此时水遍可饮用,转换加热等级,等待INT0中断,若中断则水已用至低警戒水位,再转入加水程序,如此循环。
判温程序流程如下:
将温度值先与80度值比较,若大于,则转为半压加热,并打开出水阀,接着执行下面的操作,若小于,则跳出返回;再与90度值比较,若大于,则继续进行下面的比较,若小于,则跳出返回;最后与100度值比较,若大于则关闭加热系统并返回,若小于,同样返回。
通过这个判温电路,以形成闭环测控温功能。
程序代码:
ORG0000H
AJMPmain;
ORG0003H
AJMPwater_in;
ORG0013H
AJMPINT_1;
ORG0030H
main:
AJMPwater_in;
AJMPheat_water;
initial:
SETBP1.4;停止ADC
MOVDPH,#0C0H;LED输出‘短横’初始
MOVDPL,#0FFH;
MOVA,#08H;
MOVX@DPTR,A;
AJMPdelay;
CLRP1.0;关闭进水口
CLRP1.1;关闭出水口
SETBIT0;边沿触发方式中断
SETBIT1;边沿触发方式中断
SETBEA;开中断
SETBEX0;
SETBEX1;
RET;
;
;
water_in:
AJMPinitial;
JNBIE0,N_int;判断是否是中断启动该子程序
SETBACC.0;
CLREX0;
CLRIE0;
N_int:
CLRP1.1;
SETBP1.0;打开进水口
wait:
JNBCY,wait;等待进水满
NOP
JBACC.0,int_0;
RET;
int_0:
SETBEX0;
RETI;
;
;
INT_1:
CLREX1;
CLRIE0;
CLRP1.0;
SETBCY;
SETBEX1;
RETI;
;
;
heat_water:
CLRP1.2;
SETBP1.3;
RETURN:
CLRP1.7;启动ADC
SETBP1.7;
AJMPdelay;
CLRP1.7;
wait_ADC:
JNBP1.6,wait_ADC;等待转换结果
MOVDPH,#0FFH;读ADC
MOVDPH,#0FFH;
MOVXA,@DPTR;
MOVR3,A;
;
ANLA,#7FH;数据处理
MOVB,#64H;
DIVAB;
MOVR0,A;
MOVA,B;
MOVB,#10;
DIVAB;
MOVR1,A;
MOVR2,A;
;
MOVDPTR,#tab;百位显示
MOVA,R0;
MOVCA,@A+DPTR;
MOVDPTR,#7FH;
MOVX@DPTR,A;
AJMPdelay;
;
MOVDPTR,#tab;十位显示
MOVA,R1;
MOVCA,@A+DPTR;
MOVDPTR,#0BFH;
MOVX@DPTR,A;
AJMPdelay;
;
MOVDPTR,#tab;个位显示
MOVA,R2;
MOVCA,@A+DPTR;
MOVDPTR,#0DFH;
MOVX@DPTR,A;
AJMPdelay;
;
MOVA,R3;判断是否大于80度
MOVR0,#50H;
CLRCY;
SUBBA,R0;
JBCY,RETURN;
SETBP1.5;
SETBP1.2;
SETBP1.1;
;
MOVA,R3;判断是否大于90度
MOVR0,#5AH;
CLRCY;
SUBBA,R0;
JBCY,RETURN;
;
MOVA,R3;判断是否大于100度
MOVR0,#64H;
CLRCY;
SUBBA,R3;
JBCY,RETURN;
CLRP1.3;
SJMPRETURN;
;
tab:
DB3FH,03H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
;字型码数据
;
;
delay:
MOVR7,#0FFH;延迟子程序
LOOP:
DJNZR7,LOOP;
RET;
END;
设计总结
通过这次的课程设计,极大地丰富了我的单片机方面的理论知识,同时复习了模电、数电方面的知识,并较以前有了更深、更新的理解,对即将面临的工作增添了信心。
通过系统地构思、设计,加强了我的各方面的能力,包括逻辑思维能力,整体协调能力,以及自我学习的能力。
但同时,在设计的过程中也碰到不少棘手的问题,通过对它们的解决,不仅锻炼了我解决问题的能力,丰富了我看待问题方式的经验,更重要的是它坚定了我的意志,增加了我面对各种未知问题的勇气。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 温度 测控 系统