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

    电子温度计DS18B20程序电路图.doc

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

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

    电子温度计DS18B20程序电路图.doc

    【精品文档】如有侵权,请联系网站删除,仅供学习与交流电子温度计DS18B20程序电路图.精品文档.它的功能是:1.读出当前温度值。2.可通过按键调整报警温度上下限。按第一个键,进入温度上线调节模式,第二个键温度加,第三个键温度减,再按一下第一个键,进入温度下线调节模式,第二个键温度加,第三个键温度键,再按一下第一个键,正常显示当前温度。3.当进入报警温度上下限调节时,红灯亮,当显示当前温度是,绿灯亮。4.当当前温度超过上限温度时,或者低于下限温度时,蜂鸣器报警且黄灯闪烁。需要说明的是,一般情况下,DQ引脚应该有一个上拉电阻来拉高电平,但是我通过观察发现,初始状态下,89C52单片机的引脚都为高电平,故我将上拉电阻去除,1820与单片机正常通信,加上上拉电阻,反而不能正常通信。#include <reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit DQ=P30;sbit Speak=P17;sbit Out=P32;sbit Button1=P14;sbit Button2=P15;sbit Button3=P16;sbit Ledblue=P10;sbit Ledred=P11;bit Point;uint T;int Up=980,Down=300,Tplace=0;code uchar Ledcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x8f; /*数码管显示的数字0123456789*/code uchar Ledcode_s=0xbf,0x86,0xdb,0xcf, /*带小数点数码管显示0123456789-*/ 0xe6,0xed,0xfd,0x87,0xff,0xef,0x40;code uchar Ledplace=0,0x1e,0x1d,0x1b,0x17,0x0f; /*数码管的位置1 2 3 4 5 位*/void Delay_2us(uchar num_us) /*可调度为2us,最大误差为6us,最大延时510us*/while(-num_us)void Delay_8us(uint num_us) /*延时8微妙 最大误差263us*/while(-num_us);void Delay_ms(uint num_ms) /*延时 1毫秒*/uint i;while(num_ms-)for(i=0;i<123;i+)void Speaker() /*蜂鸣器 响*/uint i=50;while(-i) Speak=Speak;Delay_8us(500);void Nospeaker() /*蜂鸣器 不响*/Speak=0;bit Reset() /*复位*/bit flag;DQ=1;_nop_();DQ=0;Delay_8us(70);DQ=1;Delay_2us(20);flag=DQ;Delay_2us(70);DQ=1;Delay_2us(70);return flag;void Writedata(uchar dat) /*写数据*/uchar i;bit flag;for(i=0;i<8;i+)flag=dat&0x01;DQ=1;_nop_();DQ=0;Delay_2us(5);DQ=flag;Delay_2us(40);dat=dat>>1;DQ=1;Delay_2us(2);Readdata() / *读数据*/uchar i=0,dat=0;bit flag=0;for(i=0;i<8;i+)DQ=1;_nop_();DQ=0;Delay_2us(5);DQ=1;flag=DQ;Delay_2us(30); DQ=1;Delay_2us(5);dat=dat>>1;if(flag)dat|=0x80;Delay_2us(3);Out=0;return dat;uint ReadTem() /*温度转换*/uint High,Low;Reset();Writedata(0xcc);Writedata(0x44);Delay_8us(85);Reset();Writedata(0xcc);Writedata(0xbe);Delay_8us(85);Low=Readdata();High=Readdata();Point=High&0xf8;if(Point)T=(High<<8)|Low)+1)*0.625;elseT=(High<<8)|Low)*0.625;return T;Display(uint T) /*显示*/if(Point)P2=Ledplace1;P0=Ledcode_s10;Delay_ms(5);P0=0;elseP2=Ledplace1;P0=0;Delay_ms(5);P0=0;P2=Ledplace2;P0=LedcodeT/100;Delay_ms(5);P0=0;P2=Ledplace3;P0=Ledcode_sT%100/10;Delay_ms(5);P0=0;P2=Ledplace4;P0=LedcodeT%10;Delay_ms(5);P0=0;P2=Ledplace5;P0=Ledcode10;Delay_ms(5);P0=0;void Outinter() interrupt 0 /*外部中断*/if(T>Up&&Point=0)|(T>Down&&Point=1)Speaker();elseNospeaker();Out=1;main(void) /*主程序*/EA=1;EX0=1;IT0=0;while(1)switch(Tplace) case 0: Ledblue=1;Ledred=0;Display(ReadTem();break;case 1: Ledred=1;Ledblue=0;Point=0;Display(Up);break;case 2: Ledred=1;Ledblue=0;Point=1;Display(Down);break;if(!Button1)Delay_ms(300);Tplace+;if(Tplace=3)Tplace=0;if(!Button2&&Tplace=1)Delay_ms(300);Up=Up+10;if(Up>990)Up=0;if(!Button3&&Tplace=1)Delay_ms(300);Up=Up-10;if(Up<0)Up=990;if(!Button2&&Tplace=2)Delay_ms(300);Down=Down-10;if(Down<0)Down=550;if(!Button3&&Tplace=2)Delay_ms(300);Down=Down+10;if(Down>550)Down=0;用ISIS模拟,显示正常,但是将模拟的电路焊出来,反而出现了几个问题:1. 必须去掉第五位数码管选择位管脚的三极管,数码管方能正常显示。2. 数码管显示的亮度不够亮。焊好的电路图如下:

    注意事项

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

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




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

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

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

    收起
    展开