欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年DSB温度传感器电路设计 .pdf

    • 资源ID:34882883       资源大小:259.79KB        全文页数:11页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年DSB温度传感器电路设计 .pdf

    关键词 :单片机 AT89C51;温度传感器 DS18B20;数码显示实现功能:可以测得的温度范围0125度并显示一位小数有报警功能当 15 度T30 度时红灯亮T15 度时绿灯亮有调整上下限温度功能按下相应按钮可以调整报警温度范围元件清单AT89C51 单片机芯片1 块DS18B20 温度传感器1 个4 位共阳极数码管1 块红色发光二极管1 个绿色发光二极管1 个八分之一 W 1K 电阻10 个1W 4.7K 电阻1 个弹性开关3 个名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 11 页 - - - - - - - - - 本方案设计的系统由单片机系统、数字温度传感器、LED 显示模块、按键控制模块、温度报警模块组成,其总体架构如下图1. 图 1 系统总体方框图DS18B20性能1 独特的单线接口仅需一个端口引脚进行通信单片机测温电路按键输入电路时钟、复位电路驱动电路显示电路报警电路名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 11 页 - - - - - - - - - 2 简单的多点分布应用3 无需外部器件4 可通过数据线供电5 零待机功耗6 测温范围 -55+125,以 0.5 递增7可编程的分辨率为 912位, 对应的可分辨温度分别为0.5 、0.25 、0.125和 0.06258 温度数字量转换时间200ms ,12 位分辨率时最多在750ms内把温度转换为数字9 应用包括温度控制、工业系统、消费品、温度计和任何热感测系统10 负压特性:电源极性接反时,传感器不会因发热而烧毁,但不能正常工作。DS18B20外形及引脚说明图 3 DS18B20外形及引脚GND :地名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 11 页 - - - - - - - - - DQ :单线运用的数据输入 / 输出引脚VD :可选的电源引脚存储在 18B20 的两个 8 比特的 RAM 中,二进制中的前面5 位是符号位,如果测得的温度大于0, 这 5 位为 0,只要将测到的数值乘于 0.0625 即可得到实际温度;如果温度小于0,这 5 位为 1,测到的数值需要取反加1 再乘于 0.0625 即可得到实际温度。 例如+125的数字输出为07D0H ,实际温度 =07D0H*0.0625=2000*0.0625=125。例如 -55的数字输出为FC90H,则应先将11 位数据位取反加1得 370H(符号位不变,也不作运算),实际温度 =370H*0.0625=880*0.0625=55。可见其中低四位为小数位。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 11 页 - - - - - - - - - DS18B20温度数据表AT89C51 AT89C51 单片机 Atmel 公司的生产的AT89C51 单片机是一种低功耗/低电压、高性能的8 位单片机,内部除CPU 外,还包括 128 字节 RAM ,4 个 8 位并行 I/O 口,5 个中断优先级, 2 层中断嵌套中断,2 个 16 位可编程定时计数器,片内集成4K 字节可改变程序Flash存储器,具有低功耗,速度快,程序擦写方便等优点,完全满足本系统设计需要。单片机P22 口作为 ADC0809 转换数据的输入端。 P0 的输出信号作为数码管的显示, P2.4P2.7则作为个数码管的位选信号控制, P20,P21,作为报警装置的输出。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 11 页 - - - - - - - - - XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51R91kR101kR111kR121kR131kR141kR151kR161k25.0DQ2VCC3GND1U2DS18B20D1LED-REDR14.7kR21KD2LED-GREENR31k仿真图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 11 页 - - - - - - - - - 源程序#include #define uint unsigned int #define uchar unsigned char /宏定义sbit p2_4=P24; sbit p2_5=P25; sbit p2_6=P26; sbit dp=P07; sbit p2_7=P27; sbit DQ=P22; /定义 DS18B20 总线 I/O sbit SET=P31; /定义选择调整报警温度上限和下限(1 为上限,0 为上限)/*P3.2 和 P3.3为调整温度报警增加键和减少键*/ sbit HONGDENG=P20; sbit LVDENG=P21; /定义亮灯signed char m; /温度值全局变量bit sign=0; /外部中断状态标志signed char shangxian=30; /上限报警温度,默认值为30 signed char xiaxian=15; /下限报警温度,默认值为15 uchar code LEDData=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xff,0 xbf; /* 延时子程序 */ void Delay(uint i) while( i- ); /* 初始化 DS18B20*/ void Init_DS18B20(void) unsigned char x=0; DQ=1; Delay(8); /稍作延时DQ=0; /单片机将 DQ 拉低Delay(80); /精确延时,大于480us DQ=1; /拉高总线Delay(14); x=DQ; /稍作延时后如果 X=0 则初始化成功, X=1 则初始化失败Delay(20); /* 读一个字节 */ unsigned char ReadOneChar(void) unsigned char i=0; unsigned char dat=0; for (i=8;i0;i-) DQ=0; /给脉冲信号dat=1; DQ=1; /给脉冲信号名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 11 页 - - - - - - - - - if(DQ) dat|=0 x80; Delay(4); return(dat); /* 写一个字节 */ void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ=0; DQ=dat&0 x01; Delay(5); DQ=1; dat=1; void Tmpchange(void) /发送温度转换命令 Init_DS18B20(); WriteOneChar(0 xCC); /跳过读序号列号的操作WriteOneChar(0 x44); /启动温度转换 /* 读取温度 */ unsigned int ReadTemperature(void) unsigned char a=0; unsigned char b=0; unsigned int t=0; float tt=0; Tmpchange(); Init_DS18B20(); WriteOneChar(0 xCC); /跳过读序号列号的操作WriteOneChar(0 xBE); /读取温度寄存器a=ReadOneChar(); /读低 8 位b=ReadOneChar(); /读高 8 位t=b; tshangxian ) HONGDENG=1; / 温度高于范围红灯亮else HONGDENG=0; if(mxiaxian) LVDENG=1; /温度低于范围绿灯亮else LVDENG=0; p2_4=0;p2_5=0;p2_6=0;p2_7=0; P0 =LEDDatad; /显示小数点后一位p2_4=1;p2_5=0;p2_6=0;p2_7=0; Delay(300); p2_4=0;p2_5=0;p2_6=0;p2_7=0; /显示个位P0 =LEDDatac; dp=0; /显示小数点p2_4=0;p2_5=1;p2_6=0;p2_7=0; Delay(300); p2_4=0;p2_5=0;p2_6=0;p2_7=0; P0 =LEDDatab; /显示十位p2_4=0;p2_5=0;p2_6=1;p2_7=0; Delay(300); p2_4=0;p2_5=0;p2_6=0;p2_7=0; P0 =LEDDataa; /显示百位p2_4=0;p2_5=0;p2_6=0;p2_7=1; Delay(300); p2_4=0;p2_5=0;p2_6=0;p2_7=0; /关闭显示disptiaozheng() uchar f,g,j,k; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 11 页 - - - - - - - - - f=shangxian/10; g=shangxian%10; j=xiaxian/10; k=xiaxian%10; p2_4=0;p2_5=0;p2_6=0;p2_7=0; P0 =0 xc0; /显示 0 p2_4=1;p2_5=0;p2_6=0;p2_7=0; Delay(200); p2_4=0;p2_5=0;p2_6=0;p2_7=0; P0 =0 xc0; /显示 0 p2_4=0;p2_5=1;p2_6=0;p2_7=0; Delay(200); p2_4=0;p2_5=0;p2_6=0;p2_7=0; if(SET=1) P0 =LEDDatag; dp=0; /显示上限温度个位 else P0 =LEDDatak; dp=0; p2_4=0;p2_5=0;p2_6=1;p2_7=0; Delay(200); p2_4=0;p2_5=0;p2_6=0;p2_7=0; if(SET=1) P0 =LEDDataf; /显示上限温度十位else if(f=0) P0=0 x00; /不显示下限温度十位else P0 =LEDDataj; /显示下限温度十位 p2_4=0;p2_5=0;p2_6=0;p2_7=1; Delay(200); p2_4=0;p2_5=0;p2_6=0;p2_7=0; / 关闭显示Delay(20); /* 外部中断 0 服务程序 */ void int0(void) interrupt 0 EX0=0; /关外部中断 0 sign=1; if(SET=1) shangxian+; else xiaxian+; Delay(500); EX0=1; /* 外部中断 1 服务程序 */ void int1(void) interrupt 2 EX1=0; / 关外部中断 1 sign=1; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 11 页 - - - - - - - - - if(SET=1) shangxian-; else xiaxian-; Delay(500); EX1=1; /* 主函数 */ void main(void) uint z; IT0=1; IT1=1; EX0=1; EX1=1; EA=1; ReadTemperature(); HONGDENG=0; LVDENG=0 ; for(z=0;z100;z+) Disp_init(); while(1) Disp_Temperature(); if(sign=1) for(z=0;z300;z+) disptiaozheng(); sign=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 11 页 - - - - - - - - -

    注意事项

    本文(2022年DSB温度传感器电路设计 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开