基于51单片机的温度控制系统da ji文档格式.docx
- 文档编号:16110332
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:47
- 大小:445.82KB
基于51单片机的温度控制系统da ji文档格式.docx
《基于51单片机的温度控制系统da ji文档格式.docx》由会员分享,可在线阅读,更多相关《基于51单片机的温度控制系统da ji文档格式.docx(47页珍藏版)》请在冰豆网上搜索。
数据采集电路如图2所示,由温度传感器DS18B20采集被控对象的实时温度,提供给AT89C2051的P3.2口作为数据输入。
在本次设计中我们所控的对象为所处室温。
当然作为改进我们可以把传感器与电路板分离,由数据线相连进行通讯,便于测量多种对象。
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;
温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,支持3V~5.5V的电压范围,使系统设计更灵活、方便;
其工作电源既可在远端引入,也可采用寄生电源方式产生;
多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
以上特点使DS18B20非常适用于远距离多点温度检测系统。
分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20使电压、特性有更多的选择,让我们可以构建适合自己的经济的测温系统。
如图2所示DS18B20的2脚DQ为数字信号输入/输出端;
1脚GND为电源地;
3脚VDD为外接供电电源输入端。
AT89C2051(以下简称2051)是一枚8051兼容的单片机微控器,与Intel的MCS-51完全兼容,内藏2K的可程序化Flash存储体,内部有128B字节的数据存储器空间,可直接推动LED,与8051完全相同,有15个可程序化的I/O点,分别是P1端口与P3端口(少了P3.6)。
1.2接口电路
图2单片机2051与温度传感器DS18B20的连接图
接口电路由ATMEL公司的2051单片机、ULN2003达林顿芯片、4511BCD译码器、串行EEPROM24C16(保存系统参数)、MAX232、数码管及外围电路构成,单片机以并行通信方式从P1.0~P1.7口输出控制信号,通过4511BCD译码器译码,用2个共阴极LED静态显示温度的十位、个位。
串行EEPROM24C16是标准I2C规格且只要两根引脚就能读写。
由于单片机2051的P1是一个双向的I/O端口,所以在我们在设计中将P1端口当成输出端口用。
由图2可知,P1.7作为串性的时钟输出信号与24C16的第6脚相接,P1.6则作为串行数据输出接到24C16的第5脚。
P1.4和P1.5则作为两个数码管的位选信号控制,在P1.4=1时,选中第一个数码管(个位);
P1.5=1时,选中第二个数码管(十位)。
P1.0~P1.3的输出信号接到译码器4511上作为数码管的显示。
此外,由于单片机2051的P3端口有特殊的功能,P3.0(RXD)串行输入端口,P3.1(TXD)串行输出端口,P3.2(INTO)外部中断0,P3.3(INT1)外部中断1P3.4,(T0)外部定时/计数输入点,P3.5(T1)外部定时/计数输入点。
由图2可知,P3.0和P3.1作为与MAX232串行通信的接口;
P3.2和P3.3作为中断信号接口;
P3.4和P3.5作为外部定时/记数输入点。
P3.7作为一个脉冲输出,控制发光二极管的亮灭。
由于在电路中采用的共阴极的LED数码管,所以在设计电路时加了一个达林顿电路ULN2003对信号进行放大,产生足够大的电流驱动数码管显示。
由于4511只能进行BCD十进制译码,只能译到0至9,所以在这里我们利用4511译码输出我们所需要的温度。
1.3报警电路简介
图3温度在七段数码管上显示连接图
本文中所设计的报警电路较为简单,由一个自我震荡型的蜂鸣器(只要在蜂鸣器两端加上超过3V的电压,蜂鸣器就会叫个不停)和一个发光二极管组成(如图3所示)。
在这次设计中蜂鸣器是通过ULN2003电流放大IC来控制。
在我们所要求的温度达到一定的上界或者下界时(在文中我们设置的上界温度是45℃,下界温度是5℃),报警电路开始工作,主要程序设计如下:
main()//主函数
{unsignedchari=0;
unsignedintm,n;
while
(1)
{i=ReadTemperature();
//读温度}
if(i>
0&
&
i<
=10)//如果温度在0到10度之间直接给七段数码管赋值
{P1=designP1[i];
}
else//如果温度大于10度
{m=i_;
//先给第一个七段数码管赋值
D1=1;
D2=0;
P1=designP1[m];
n=i/10;
//再给第二个七段数码管赋值
D1=0;
D2=1;
P1=designP1[n];
if(n>
=4&
m>
=5)%%(m<
=5)//判断温度的取值范围,如果大于45或小于5度,则蜂鸣器叫,发光二极管闪烁
{inta,b;
Q1=1;
//蜂鸣器叫
for(a=0;
a<
1000;
a)//发光二极管闪烁
for(b=0;
b<
b)
Q2=1;
a)
Q2=0;
}}}
二.系统软件设计
图4系统程序流程图
2.1系统程序流程图
系统程序流程图如图4所示。
2.2温度部分软件设计
DS18B20的一线工作协议流程是:
初始化→ROM操作指令→存储器操作指令→数据传输。
其工作时序包括初始化时序、写时序和读时序。
故主机控制DS18B20完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
程序主要函数部分如下:
(1)初始化函数
//读一个字节函数
ReadOneChar(void)
unsignedchardat=0;
for(i=8;
i>
0;
i--)
{DQ=0;
//给脉冲信号
dat>
>
=1;
DQ=1;
if(DQ)
dat|=0x80;
delay(4);
return(dat);
//写一个字节函数
WriteOneChar(unsignedchardat)
i>
i--)
{DQ=0;
DQ=dat&
0x01;
delay(5);
}}
(2)读取温度并计算函数
ReadTemperature(void)
{unsignedchara=0;
unsignedcharb=0;
unsignedintt=0;
floattt=0;
Init_DS18B20();
WriteOneChar(0xCC);
//跳过读序号列号的操作
WriteOneChar(0x44);
//启动温度转换
//跳过读序号列号的操作
WriteOneChar(0xBE);
//读取温度寄存器等(共可读9个寄存器)前两个就是温度
a=ReadOneChar();
b=ReadOneChar();
t=b;
t<
<
=8;
t=t|a;
tt=t*0.0625;
t=tt*100.5;
//放大10倍输出并四舍五入---此行没用
(3)主程序部分见前
return(t);
三.结束语
AT89C2051单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好。
即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量来开发所希望的单片机应用系统。
本文的温度控制系统只是单片机广泛应用于各行各业中的一例,相信读者会依靠自己的聪明才智使单片机的应用更加广泛化。
另外对本例子可以作一些扩展,单片机的应用越来越广泛,由于单片机的运算功能较差,往往需要借助计算机系统,因此单片机和PC机进行远程通信更具有实际意义。
目前此设计已成功应用于钻井模拟器实验室室温控制。
本文作者创新观点:
采用的单片机AT89C2051性价比高,而且温度传感器DS18B20转化温度的方法非常简洁且精度高、测试范围较广。
参考文献
[1]林伸茂.8051单片机彻底研究基础篇北京:
人民邮电出版社2004
[2]范风强等.单片机语言C51应用实战集锦北京:
电子工业出版社2005
[3]谭浩强.C语言程序设计(第二版)北京:
清华大学出版社1999
[4]夏路易等.电路原理图与电路板设计教程北京:
北京希望电子出版社2002
[5]赵晶.Protel99高级应用北京:
人民邮电出版社2000
[6]聂毅.单片机定时器中断时间误差的分析及补偿[J]微计算机信息2002,18(4):
37~38
引言
随着“信息时代”的到来,作为获取信息的手段——传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。
传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。
因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。
由于传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们可以利用计算机实现自动测量、信息处理和自动控制,但是它们都不同程度地存在温漂和非线性等影响因素。
传感器主要用于测量和控制系统,它的性能好坏直接影响系统的性能。
因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求,而且只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器和信息通信和信息处理结合起来,适应传感器的生产、研制、开发和应用。
另一方面,传感器的被测信号来自于各个应用领域,每个领域都为了改革生产力、提高工效和时效,各自都在开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。
温度传感器是其中重要的一类传感器。
其发展速度之快,以及其应用之广,并且还有很大潜力。
为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。
本文利用单片机结合传感器技术而开发设计了这一温度监控系统。
文中传感器理论单片机实际应用有机结合,详细地讲述了利用热敏电阻作为热敏传感器探测环境温度的过程,以及实现热电转换的原理过程。
本设计应用性比较强,设计系统可以作为生物培养液温度监控系统,如果稍微改装可以做热水器温度调节系统、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于51单片机的温度控制系统da ji 基于 51 单片机 温度 控制系统 da