主机控制DS18B20温度转换程序设计.pdfVIP

  • 0
  • 0
  • 约7.25千字
  • 约 10页
  • 2026-02-10 发布于北京
  • 举报

主机控制DS18B20完成温度转换必须经过三个步骤:初始化、ROM操作指令、

器操作指令。必须先启动DS18B20开始转换,再读出温度转换值。本程序仅挂接一个芯

片,使用默认的12位转换精度,外接供电电源,的温度值字节送WDMSB单元,

低位字节送WDLSB单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即

可得到实际温度值。

18b20C程序

//将DQ与Vcc之间接入4.7K上拉电阻#includereg52.

h#includeINTRINS.H#include1602.c#define

ucharunsignedchar#defineuintunsignedint//#

defineCLEARSCREENLCD_en_command(0x01)1602

清屏sbitDQP1^0;/*操作命令代码跳过ROM0xCC发送

温度转换0xBE写EEPROM0x4E*/

/////////////低层驱动子程序///////////voidInit18B20(void);//初始化

voidWrite18B20(ucharch);//写数据unsignedchar

Read18B20(void);//读数据voidDelay15(ucharn);void

Delay10ms(uintdelay_num);voidDisy(void);/////////////////////////////////////

codeuchardecimalH[]

{00,06,12,18,25,31,37,43,50,56,62,68,75,81,87,93};codeuchar

decimalL[]{00,25,50,75,00,25,50,75,00,25,50,75,00,25,50,75};

主机控制DS18B20完成温度转换必须经过三个步骤:初始化、ROM操作指令、器

操作指令。必须先启动DS18B20开始转换,再读出温度转换值。本程序仅挂接一个,

使用默认的12位转换精度,外接供电电源,的温度值字节送WDMSB单元,低位

字节送WDLSB单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到

实际温度值。

18b20C程序

//将DQ与Vcc之间接入4.7K上拉电阻

#includereg52.h

#includeINTRINS.H

#include1602.c

#defineucharunsignedchar

#defineuintunsignedint

//#defineCLEARSCREENLCD_en_command(0x01)1602清屏

sbitDQ=P1^0;

/*操作命令代码

跳过ROM0xCC

发送温度转换0xBE

写EEPROM0x4E

*/

/////////////低层驱动子程序///////////

voidInit18B20(void);//初始化

voidWrite18B20(ucharch);//写数据

unsignedcharRead18B20(void);//读数据

voidDelay15(ucharn);

voidDelay10ms(uintdelay_num);

voidDisy(void);

/////////////////////////////////////

codeuchardecimalH[]={00,06,12,18,25,31,37,43,50,56,62,68,75,81,87,93};

codeuchardecimalL[]={00,25,50,75,00,25,50,75,00,25,50,75,00,25,50,75};

uintResultTemperatureH,ResultTemperatureLH,ResultTemperatureLL;//整数,

小数,小数低位uintResultSignal;//符号位

main()

{uintTemH,TemL,delay,k=0;

for(;;)

{

Init18B20();

Write18B20(0xCC);//跳过

ROM_nop_();//

Write18B20(0x4E);//写EEPROM//

Write18B20(0x00);//Th//

Write

文档评论(0)

1亿VIP精品文档

相关文档