云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于单片机AT89C51芯片DS18B20传感器的智能温度计设计

基于单片机AT89C51芯片DS18B20传感器的智能温度计设计

  • 62 次阅读
  • 3 次下载
  • 2025/6/7 19:08:04

华南理工大学广州学院电气工程学院专业课程设计报告

图3-3 复位电路

3.2 测温电路

测温电路方面,我选择的温度传感器是DS18B20.这是美国DALLAS半导体公司最新推出的一种改进型只能温度传感器,不同于传统的热敏电阻,DS18B20能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字读书方式。

DS18B20 可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20 的1 脚接地,2 脚作为信号线,3 脚接电源。另一种是寄生电源供电方式,如图4 所示单片机端口接单线总线,为保证在有效的DS18B20 时钟周期内提供足够的电流,可用一个MOSFET 管来完成对总线的上拉。

当DS18B20 处于写存储器操作和温度A/D 转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD 端接地。由于单线制只有一根线,因此发送接口必须是三态的。

这里我们把温度传感器的DQ端与P2.7相接,以P2.7作为温度输入口。温度传感器VCC端接电源,GND端接地端。如下图所示

图3-4 温度传感器与单片机连接

3.3 显示电路

显示电路采用4 位共阴极LED 数码管,P0 口由上拉电阻提高驱动能力,作为段码输出并作为数码管的驱动。P2 口的低四位作为数码管的位选端。采用动态扫描的方式显示。

图3-5 数码管显示电路

3.4 仿真分析

进入Protues以后,打开我们画好的电路,并且把我们编写好的程序下载进去。然后

设置DS18B20的分辨率为0.1,设置模拟温度为29.6℃。

图3-6 DS18B20参数设置图

然后启动仿真电路,执行仿真,电路正常工作。从图中可以看出,四位共阴极LED数码管上面显示出来的温度与我们预先设置传感器的模拟温度一致,电路能实现正常温度采集并正确显示在数码管上面,达到我们所需要的要求。并且通过改变传感器模拟温度,显示温度能够实现实时更新,误差小于0.1℃,延时小于0.1s。

图3-7 温度计仿真电路图

2

华南理工大学广州学院电气工程学院专业课程设计报告

四、 本设计改进建议

本次设计用AT89C51芯片控制控制温度传感器DS18B20做成的数字温度计,电路较为简单,精度也较高。虽然DS18B20的精度只有0.5℃,但是可以通过补偿的方法提高精度,最大精度能达到0.06℃。但是该电路的测温范围有一定限制,只能测量-55℃~+125℃,不能在一些特定的场合来使用。但是如果采用热电阻PT100,再加入A/D转换电路,经单片机对采集的数据处理以后,测温范围能扩大到-200~850℃。同时,改数字温度计只是单纯的温度检测,并没有设置相关的报警功能,可以结合单片机,加入报警功能,在达到设定温度以后触发电铃或者电灯,达到报警作用。

五、 总结

这次设计,首次动手自己设计电路。把以往所学的理论知识投入到实际应用当中,加强了对课本上面知识的了解。在设计过程中,针对测温电路这方面,研究了很长一段时间。一开始的选择是采用传统的热电阻,然后采集对应温度下的电流和电压,通过A/D电路进单片机处理来得出温度。这种方案的精度虽然高很多,测温范围也广,但是电路的设计复杂了很多,在编程方面也复杂了很多。后来参考相关资料,最终选定了以DS18B20作为温度传感器来设计测温电路,通过补偿提高精度。

在设计过程中,遇到了最大的问题就是对单片机芯片不熟。各端口的作用搞不清,在设计过程中需要不断翻书查看。通过这样,加固了对以前所学知识的了解。经过两个星期的设计,通过不断翻查资料,不断学习,终于完成了这次的设计,并成功仿真。不仅提高了我们的学习兴趣,也让我真正懂得,要理论联系实际,对于以前学习的东西,如果不真正自己动手做一回,是很难真正弄懂的,只有自己认认真真动手做一回,学以致用,才能算是真正搞懂。

六、主要参考文献

[1]毕淑娥. 路分析基础. 机械工业出版社,2010

[2]喻萍 郭文川. 单片机原理与接口技术. 化学工业出版社,2006 [3]谭浩强. C++程序设计. 清华大学出版社,2009

附录

//温度计读写程序源代码// #include \#include \

#define dm P0 //以P0口作为LED段码输出口

3

华南理工大学广州学院电气工程学院专业课程设计报告

#define uchar unsigned char #define uint unsigned int

sbit DQ=P2^7; //以P2.7口作为温度传感器输入口 sbit w0=P2^0; //数码管4 sbit w1=P2^1; //数码管3 sbit w2=P2^2; //数码管2 sbit w3=P2^3; //数码管1

int temp1=0; //显示当前温度和设置温度的标志位为0 时显示当前温度 uint h; uint temp; uchar r;

uchar high=35,low=20; uchar sign; uchar q=0; uchar tt=0; uchar scale;

uchar code ditab[16]=

{0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}; uchar code table_dm[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40}; uchar table_dm1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; uchar data temp_data[2]={0x00,0x00};

uchar data display[5]={0x00,0x00,0x00,0x00,0x00}; //延时电路程序// void delay(uint t) {

for (;t>0;t--); }

void scan() { int j;

for(j=0;j<4;j++) {

switch (j) {

case 0: dm=table_dm[display[0]];w0=0;delay(50);w0=1;//xiaoshu case 1: dm=table_dm1[display[1]];w1=0;delay(50);w1=1;//gewei case 2: dm=table_dm[display[2]];w2=0;delay(50);w2=1;//shiwei case 3: dm=table_dm[display[3]];w3=0;delay(50);w3=1;//baiwei // else{dm=table_dm[b3];w3=0;delay(50);w3=1;} } } }

//复位电路程序/ ow_reset(void)

4

华南理工大学广州学院电气工程学院专业课程设计报告

{

char presence=1; while(presence) {

while(presence) {

DQ=1;_nop_();_nop_(); DQ=0;---== delay(50); DQ=1; delay(6);

presence=DQ; //presence=0 }

delay(45); presence=~DQ; }

DQ=1; }

//DS18B20 写命令函数// void write_byte(uchar val) {

uchar i;

for(i=8;i>0;i--) {

DQ=1;_nop_();_nop_();

DQ=0;_nop_();_nop_();_nop_();_nop_(); //5 us DQ=val&0x01; delay(6); val=val/2; }

DQ=1; delay(1); }

//DS18B20 读1 字节函数// uchar read_byte(void) {

uchar i;

uchar value=0; for(i=8;i>0;i--) {

DQ=1;_nop_();_nop_(); value>>=1;

DQ=0;_nop_();_nop_();_nop_();_nop_(); //4 us DQ=1;_nop_();_nop_();_nop_();_nop_(); //4 us

5

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

华南理工大学广州学院电气工程学院专业课程设计报告 图3-3 复位电路 3.2 测温电路 测温电路方面,我选择的温度传感器是DS18B20.这是美国DALLAS半导体公司最新推出的一种改进型只能温度传感器,不同于传统的热敏电阻,DS18B20能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字读书方式。 DS18B20 可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20 的1 脚接地,2 脚作为信号线,3 脚接电源。另一种是寄生电源供电方式,如图4 所示单片机端口接单线总线,为保证在有效的DS18B20 时钟周期内提供足够的电流,可用一个MOSFET 管来完成对总线的上拉。 当DS18B20 处于写存储器操作和温度A/D 转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com