基于PIC单片机和DS18B20的温度测量系统设计

基于PIC单片机和DS18B20的温度测量系统设计

ID:36776337

大小:406.84 KB

页数:4页

时间:2019-05-15

基于PIC单片机和DS18B20的温度测量系统设计_第1页
基于PIC单片机和DS18B20的温度测量系统设计_第2页
基于PIC单片机和DS18B20的温度测量系统设计_第3页
基于PIC单片机和DS18B20的温度测量系统设计_第4页
资源描述:

《基于PIC单片机和DS18B20的温度测量系统设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、2010年4月电子测试Apr.2010第4期ELECTRONICTESTNo.4基于PIC单片机和DS18B20的温度测量系统设计张明,刘岑俐(贵州大学电气工程学院,贵州贵阳550003)摘要:本文以PIC单片机为核心,采用美国DALLAS公司的数字式温度传感器DS18B20,设计了一种最简的温度测量系统,文中介绍了PIC单片机和温度传感器DS18B20,以及温度传感器DS18B20的工作时序,并且提出了最简温度测量系统的硬件电路和软件程序设计的方案,给出了PIC单片机和DS18B20的初始化程序,以及对DS18B20读、写等相关程序,实现了对测量环境温度的采集和显示,并且该系统结

2、构简单、抗干扰能力强、适用范围广,且易于扩展。关键词:PIC单片机;DS18B20;温度传感器中图分类号:TP273.1文献标识码:AMin-temperatureMeasurementSystemBasedonPICandDS18B20ZhangMing,LiuCenli(CollegeofElectricalEngineeringGuiZhouUniversity,Guiyang550003,China)Abstract:ThispaperintroducestheMin-temperatureMeasurementSystembasedonPICandDS18B20.TheS

3、ingleBusDigitalTemperatureSensorDS18B20ofUSSemiconductorCompanyDALLASandthePICof18Fareusedinthissystemaskernelandcontrollerrespectively.Thepaperdesignsthehardwareandsoftwareofthesystem,theprogramofcommunicationbetweenPICandDS18B20,andrealizestocollectanddisplaythetemperature.Thissystemhasthech

4、aracterofmoresimplestructure,strongeranti-jammingabilityandwiderapplication.Keywords:PIC;DS18B20;Temperaturesensor.0引言PIC单片机18F452为核心,采用数字温度传感设计一种最简温度测量系统。DS18B20是美国DALLAS公司生产的一线式线数字温度传感器。它具有微型化、低功耗、高性能、1测温系统硬软件设计抗干扰能力强、易配处理器等优点,可直接将温度转换成串行数字信号(提供9位二进制数)给单片机处理,系统采用美国微芯公司的PIC单片机18F452[1]且在同一总线上

5、可以挂接多个传感器芯片。本文以为控制芯片,微芯公司还专门为PIC18FX系列54微处理器与可编程器件应用2010.4单片机设计了一套小巧廉价的在线调试工具套件DS18B20采用单总线工作方式,由于所有信号[2]MPLAB2ICD。借助于这套在线调试工具,不需要(控制和数据)都通过单总线传输,因此总线的时序购买其它昂贵的仿真器和烧写器,就能使用户实现逻辑必须非常严格。单片机和DS18B20的通讯是由[3]实时仿真和程序烧写。传感器采用一线式数字温一个单片机的复位脉冲和一个DS18B20的应答脉冲度传感器DS18B20,温度测量范围为-55~+125℃,开始的。单片机先发一个复位脉冲,

6、保持低电平至测温分辨率可达0.0625℃,CPU只需一根端口线就少480μs,最多不能超过960μs。之后单片机释放能与多个DS18B20通信,占用微处理器的端口少,总线,等待DS18B20应答。DS18B20接受到复位可节省大量的引线和逻辑电路。脉冲后等待15~60μs发出应答脉冲。应答脉冲能本设计软件分为初始化、数据处理、温度读取保持60~240μs。单片机从发送完复位脉冲到再[4]和温度显示等。通过MPLAB2ICD在线调试成功,次控制总线至少要等待480μs。部分主要程序如下,流程图如图1。/*******ds18b20初始化函数************/voidInit_

7、DS18B20(void){unsignedcharpresence=1;while(presence){DQ_LOW();//主机拉至低电平delay_18B20(500);delay_18B20(78);DQ_HIGH();//释放总线等电阻拉高总线,并保持15~60usdelay_18B20(38);//稍做延时if(DQ==1)presence=1;//没有接收到应答信号,继续复位elsepresence=0;//接收到应答信号delay_18B20(500)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。