⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lm75.c

📁 CVAVR的函数库的源代码。开发AVR的编译器CodeVision AVR最新版本2.53的函数库c语言源代码。函数短小精悍
💻 C
字号:
/*
  National Semiconductor LM75 I2C bus
  temperature sensor functions

  CodeVisionAVR C Compiler
  (C) 1998-2004 Pavel Haiduc, HP InfoTech S.R.L.
*/

#include <i2c.h>

union lm75_temp {
                unsigned char b[2];
                int w;
                };

void lm75_set_temp(unsigned char i2c_addr,unsigned char ptr,char data)
{
i2c_start();
i2c_write(i2c_addr);
i2c_write(ptr);
i2c_write(data);
i2c_write(0);
i2c_stop();
}

void lm75_init(unsigned char chip,signed char thyst,signed char tos,
unsigned char pol)
{
unsigned char i2c_addr;
i2c_addr=0x90|(chip<<1);
//set configuration register
i2c_start();
i2c_write(i2c_addr);
i2c_write(1);
i2c_write(pol<<2);
i2c_stop();
//set hysterezis temperature
lm75_set_temp(i2c_addr,2,thyst);
//set O.S. temperature
lm75_set_temp(i2c_addr,3,tos);
}

int lm75_temperature_10(unsigned char chip)
{
union lm75_temp tt;
unsigned char i2c_addr;
i2c_addr=0x90|(chip<<1);
i2c_start();
i2c_write(i2c_addr);
i2c_write(0);
i2c_start();
i2c_write(++i2c_addr);
tt.b[1]=i2c_read(1);
tt.b[0]=i2c_read(0);
i2c_stop();
return (tt.w>>7)*5;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -