#include "LM75AD.h"
#include "IIC.h"
 
//	 
/*
0x00  Temperature Register      
0x01  Configuration register  器件模式 写00普通模式(100ms更新一次温度值) 写01为ShutDown模式
0x02  Hysteresis register
0x03  Over_temperature shutdown register
Temp Register 
MSByte                LSByte
7   6  5  4  3  2  1  0  7  6  5  4 3 2 1 0
D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 X X X X X
D10=0    ℃=+(Temp Data×0.125) 	
D10=1    ℃=-(Temp Data×0.125)
Address Table
MSB          LSB
1 0 0 1 A2 A1 A0
1 0 0 1 0  0  1 0/1       =0x92
*/
/
 
 
//LM75AD IO初始化
void LM75AD_Init(void)
{
    I2C_WriteByte(0x01,0x00,LM75AD_ADDR);
}
 
float LM75_Temp(void)
{
    float tempture;
    int temp;
    temp=I2C_ReadByte(0x00,LM75AD_ADDR,2);
    tempture=temp>>5;
    return tempture*0.125;	
}


 

头文件
#ifndef __LM75AD_H
#define __LM75AD_H     
#include "sys.h"
 
#define LM75AD_ADDR 0x92   //默认地址0x90 这里我将A0接至了VCC
 
void LM75AD_Init(void);
float LM75_Temp(void);
                             
#endif


实际效果(IIC驱动见前文)


————————————————
版权声明:本文为CSDN博主「return_oops」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/return_oops/article/details/80965686

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐