基于单片机的两点温度检测与控制.docx
- 文档编号:7043078
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:19
- 大小:1.31MB
基于单片机的两点温度检测与控制.docx
《基于单片机的两点温度检测与控制.docx》由会员分享,可在线阅读,更多相关《基于单片机的两点温度检测与控制.docx(19页珍藏版)》请在冰豆网上搜索。
基于单片机的两点温度检测与控制
淮北师范大学
实验室开放项目结题报告
基于单片机的两点温度控制与检测
学院、专业物理与电子信息学院
电子信息科学与技术
参加人员唐惠广、王继磊、李单、陈令彪、韩松
指导教师姓名陈德宝
指导教师职称教授
2009年12月10日
基于单片机的两点温度的控制与检测
淮北煤炭师范学院物理与电子信息学院235000
摘要:
随着国民经济的发展,人们需要对各中加热炉、热处理炉、反应炉和锅炉中温度进行监测和控制。
采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提
高产品的质量和数量。
关键词温度控制;单片机;ADC0809;1602液晶
ABSTRACT:
Alongwithnationaleconomydevelopment,thepeopleneedtoeachheatingfurnace、theheat-treatmentfurnace、inthereactorandtheboilerthetemperaturecarryonthemonitorandthecontrol.Notonlyusesthemonolithicintegratedcircuittocometothemtocontrolhasthecontroltobeconvenient,simpleandflexibilitybigandsoonmerits,moreovermayenhancelargescaleisaccusedthetemperaturetechnicalspecification,thuscanbigenhancetheproductthequalityandquantity.
Keywords:
tempturecontral;microcomputer;AD0809;1602LCD
目次
一、设计要求与方案论证………………………………………………………………………3
1.1设计要求……………………………………………………………………………………3
1.2系统基本方案选择和论证………………………………………………。
………………3
1.2.1单片机芯片的选择方案和论证…………………………………………………………3
1.2.2显示模块选择方案和论证………………………………………………………………3
1.2.3AD转换器的选择方案和论证……………………………………………………………3
1.2.4温度传感器的配置方案…………………………………………………………4
1.2.5光电制器器的选择论证……………………………………………………………………4
1.2.5光电制器器的选择论证……………………………………………………………………4
1.3电路方案最终决定……………………………………………………………………4
二.系统的硬件设计与实现………………………………………………………………………4
2.1电路设计框图………………………………………………………………………………4
2.2系统硬件概述………………………………………………………………………………4
2.3主要单元电路的设计………………………………………………………………………6
2.3.1单片机主控制模块的设计………………………………………………………………6
2.3.2AD转换模块的设计……………………………………………………………………6
三、系统的软件子程设计………………………………………………………………………7
1液晶显示器1602的初始化及显示子程序……………………………………………………7
2键盘设置并显示两点温度子程序………………………………………………………………7
3ADC0809中断子程序…………………………………………………………………………7
3数据处理及控制电热器通断子程序………………………………………………7
四.指标测试……………………………………………………………………………………10
4.1硬件测试……………………………………………………………………………………10
4.2软件测试……………………………………………………………………………………10
4.3测试结果分析与结论………………………………………………………………………11
4.3.1测试结果分析……………………………………………………………………………11
4.4.2时钟误差及分析…………………………………………………………………………11
4.3.3测试结论…………………………………………………………………………………11
五、作品总结……………………………………………………………………………………12
参考文献…………………………………………………………………………………………12
附录一:
系统电路图……………………………………………………………………………13
附录二:
系统PCB图……………………………………………………………………………13
附录三:
制作成品实物图…………………………………………………………………………15
致谢………………………………………………………………………………………………17
一、设计要求与方案论证
1.1 设计要求:
具有数据显示功能:
可以显示要控制的温度的最高点与最低点。
可以显示采集到温度的值
具有设置功能:
可以设置要控制的最高点与最低点温度。
具有自动控制功能:
当采集温度大于最高设置温度或小于最低设置温度时,温度采集模块自动停止工作。
1.2系统基本方案选择和论证
1.2.1单片机芯片的选择方案和论证:
方案一:
采用89C51芯片作为硬件核心,采用FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:
采用AT89S52,片内ROM全都采用FlashROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KBROM存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
所以选择采用AT89S52作为主控制系统.
1.2.2显示模块选择方案和论证:
方案一:
采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见.而且体积较小,使用方便,更容易满足工程上对于电路更加简洁的要求,让我们学习到更多的关于液晶显示器的知识,所以选择了液晶显示器。
方案二:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.
方案三:
采用LED数码管动态扫描,LED数码管价格适中,但是电路太复杂,在焊接电路的时候更容易发生焊接方面的错误,如脱焊虚焊等现象,而且做出来的产品较庞大笨重也不美观,所以也不选择数码管。
1.2.3AD转换的选择方案和论证:
方案一:
使用ADC0804,ADC0804兼顾了转换精度与转换精度,在精度,速度,价格上都适中。
方案二:
使用ADC0809具有ADC0804的功能但分辨率比ADC804高,所以用ADC0809
1.2.4温度传感器的选择方案:
方案一:
DS18B20:
测温精确,可测范围大,不需要A/D转换器,但本实验以学习为目的,尽量多涉及到知识点。
方案二:
使用热敏电阻PT100作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。
1.2.5电流控制器选择则方案:
方案一:
继电器:
技术成熟可靠,触点容量相对较大,成本低,几乎零功耗,发热量小。
但是开断时会产生涌流,由于反应稍慢,无法用于很精细开断控制电路中,如移向调压等。
方案二:
可控硅在电路中能够实现交流电的无触点控制,以小电流控制大电流,并且不象继电器那样控制时有火花产生,而且动作快、寿命长、可靠性好。
在调速、调光、调压、调温以及其他各种控制电路中都有它的身影。
选择可控硅BT136与MOC3021的组合来控制强电的通与断。
1.3电路设计最终方案决定
综上各方案所述,对此次作品的方案选定:
采用AT89S52作为主控制系统;ADC0809作为模数转换器;热敏电阻PT100作为传感器;1602LCD液晶显示器作为显示设备。
BT136与MOC3021组合来作为光电控制器。
二.系统的硬件设计与实现
2.1电路设计框图
温度显示模块
键盘设置模块
AT89S52
主控制模块
温度产生与采集模块
ADC0809模数转换模块
2.2系统硬件概述
通过三个键盘来设置两点温度(最高温度与最低温度)并显示在1602液晶模块的第一行即:
“L:
CH:
C”,用PT100来采集温度使电阻改变,通过ADC0809把模拟量转化为数字量,并通过特定函数转化为温度值显示在1602液晶模块的第二行即:
“X:
C”,当显示温度值大于设置的H值或小于设置的L值时,光电控制器控制电热器停止工作。
2.3主要单元电路的设计
2.3.1单片机主控制模块的设计
AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。
单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端.如图-1所示
图-1主控制系统
2.3.2A/D转换模块的设计
图-2AD转换电路图
ADC0809的IN0和变送器输出端相连,故IN0上输入的0V-+5V范围的模拟电压经A/D转换后可由AT89S52通过程序输入到它的内部RAM单元。
首先输入地址选择信号,在ALE信号作用下,地址信号被锁存,产生译码信号,选中一路模拟量输入。
然后输入启动转换控制信号START启动转换。
转换结束,数据送三态缓冲锁存器,同时发出EOC信号。
在允许输入信号OE的控制下,再将转换结果输入到外部数据总线。
三、系统的软件子程序的设计
1液晶显示器1602初始化及显示子程序:
Voidinit
{
write_com(0x38);//显示模式设置
write_com(0x08);//显示关闭
write_com(0x01);//显示清平
write_com(0x06);//显示光标移动设置
write_com(0x0c);//显示开与光标设置
write_com(0x80);
for(num=0;num<12;num++)
{
write_data(table[num]);
delay(5);
}//第一行显示范围
write_com(0x80+0x40);
for(num=0;num<9;num++)
{
write_data(table1[num]);
delay(5);
}
}//第二行显示范围
voidxian(ucharx,uchary)
{
s=y/10;
g=y%10;
write_com(0x80+x);//加几就从几的下一位开始
write_data(0x30+g);//0x30+几就显示几
write_com(0x80+x-1);
write_data(0x30+s);
}
voidxian1(ucharn,ucharm)
{
bai=m/100;
shi=(m/10)%10;
ge=m%10;
write_com(0x80+0x40+n);
write_data(0x30+ge);
write_com(0x80+0x40+n-1);
write_data(0x30+shi);
}
键盘设置并显示两点温度子程序:
voidkeyscan()
{
if(s1==0)
{
delay(5);
if(s1==0)
{
s1num++;
while(!
s1);
if(s1num==1)
{
TR0=0;
write_com(0x80+10);
write_com(0x0f);
delay(500);
write_com(0x0c);
}
if(s1num==2)
{
write_com(0x80+3);
write_com(0x0f);
delay(500);
write_com(0x0c);
}
if(s1num==3)
{
s1num=0;
write_com(0x0c);
TR0=1;
}
}
}
if(s1num!
=0)
{
if(s2==0)
{delay(5);
if(s2==0)
{
while(!
s2);
if(s1num==1)
{
H++;//
xian(10,H);
write_com(0x80+10);
}
if(s1num==2)
{
L++;
xian(3,L);
write_com(0x80+3);
}
}
}
if(s3==0)
{
delay(5);
if(s3==0)
{
while(!
s3);
if(s1num==1)
{
H--;
xian(10,H);
write_com(0x80+10);
}
if(s1num==2)
{
L--;
xian(3,L);
write_com(0x80+3);
}
}
}
}
ADC0809中断子程序:
voidad0809(void)interrupt0
{
EA=0;
EX0=0;
addd=P0;
EA=1;
EX0=1;
}
数据处理及控制电热器通断子程序:
write_com(0x80+0x40);
write_data(table1[i]);
if(addd>=0&&addd<=255)
{
add=(addd-132)*5;
}
xian1(7,add);
if(add>H)
u=0;
else
u=1;
四.指标测试
4.1硬件测试
温度检测控制系统的电路系统较大,对于焊接方面更是不可轻视,庞大的电路系统中只要出于一处的错误,则会对检测造成很大的不便,而且电路的跳线较多,对于引脚的节点要注意,以防焊接脱落。
在本温度检测控制系统的设计调试中遇到了很多的问题。
回想这些问题只要认真多思考都是可以避免的,以下为主要的问题:
1.对液晶显示器显示温度时,液晶显示器亮了太暗的解决方案?
解决:
根据仪器的测试,可以在液晶显示器上接一个滑动变阻器来调节液晶的亮度以满足要求。
2.板子焊好后,液晶显示器没有现象,分析原因?
解决:
经过细心的测试,采用每个模块逐个解决的办法,最后发现是因为在点乱板焊接处有断路的现象,解决的方法是:
因为测试时从底座拔下并安装单片机的过程中把板子按在了桌子上使电路板上的焊锡脱落,重新焊实问题解决。
4.2软件测试
温度检测控制系统显示和控制数值较多。
所以它的程序也较为复杂,所以在编写程序和调试时出现了相对较多的问题。
最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。
在软件的调试过程中主要遇到的问题如下:
1.最高点温度和最低点温度显示在了显示器两行上。
解决:
温度设置和温度的采集用两个显示函数就行了,例如本试验中,温度的设置用xian(ucharx,uchary),而温度的采集并显示用xian1(ucharn,ucharm),这样就可以显示正确而不窜行。
2.只能让电路在大于程序开始定义的初始值H,或小于开始定义的初始值L时电热器才能通断,而不能与键盘随意设置的H和L比较来控制电热器通断。
解决:
由于键盘设置的温度H和L在keyscan()函数里面,属于局部变量,作用域有限,应该把温度采集显示的值也放在keyscan()函数里。
4.3测试结果分析与结论
4.3.1测试结果分析
(1).在测试中遇到LCD液晶显示器不显示时,首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏.
(2)LCD液晶显示器显示不正常,还有亮度不够,首先调节滑动变阻器,然后使用试测仪对电路进行测试,观察电路是否存在短路现象。
查看烧写的程序是否正确无误,对程序进行认真修改。
4.3.2显示误差
误差均在本系统允许的范围之内。
4.3.3测试结论
经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力.同时在软件的编程方面得到更到的提高,对编程能力得到加强.同时对所学的知识得到很大的提高与巩固.
总结
在整个设计过程中,发挥团队精神,分工合作,充分发挥人的主观能动性。
本设计使用的各种元器件均为较合适器材,优点比较明显。
在本系统中我们学会了对电路板制作的实际操作,增强了动手能力;通过软件来编写使键盘设置,模数转换,单片机控制电路通断以及以上与液晶显示模器1602的配合使用,增强了编程的思想。
调试时的各种问题是我们的分析问题的能力大大的提高。
在以后的设计实验中我们会学以致用,取得更好的成绩。
参考文献
[1]闫石.数字电子技术基础(第5版).北京:
高等教育出版社,2006
[2]胡健.单片机原理及接口技术.北京:
机械工业出版社,2005
[3]王法能.单片机原理及应用.北京:
科学出版社,2004
[4]郑学坚,周斌.微型计算机原理及应用(第三版).北京:
清华大学出版社,2001
[5]谢自美.电子线路设计·实验·测试(第二版).武汉:
华中科技大学出版社,2006
[6]蔡美琴,张为民,等.MCS-51系列单片机系统及其应用设计[M].北京:
高等教育出版社,2002
附录1系统总的电路图
附录2系统总的PCB图
附录3制成成品实物图
致谢
在做项目的日子里得到了指导教师的悉心指导,在此向我们的指导教师致以诚挚的谢意。
感谢提供相关技术帮助的老师和同学,你们的支持和鼓励使我们对这次的作品完成有了信心和动力,也给了我们很多无私的帮助和支持,我们在此深表谢意。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 两点 温度 检测 控制
![提示](https://static.bdocx.com/images/bang_tan.gif)