zigbee学习之ADC采集芯片内部的温度

简介:

这个章节没得什么讲得,用的时候记得调用模块,自己配置一些寄存器。

ADC对自身芯片温度的采集:

void InitClock(void)//还是原来的味道
{   
    CLKCONCMD &= ~0x40;              //设置系统时钟源为 32MHZ晶振
    while(CLKCONSTA & 0x40);         //等待晶振稳定 
    CLKCONCMD &= ~0x47;              //设置系统主时钟频率为 32MHZ
}


void InitSensor(void)//温度传感器初始化函数

   IEN0 = IEN1 = IEN2 = 0x00     //关闭所有中断 
   InitClock();                  //设置系统主时钟为 32M 
   TR0=0x01;                     //设置为1来连接温度传感器到SOC_ADC
   ATEST=0x01;                   //使能温度传感
}   


float GetTemperature(void)//获取温度传感器 AD 值 通过计算返回实际的温度值

   uint  value; 
   
   ADCCON3  = (0x3E);            //选择1.25V为参考电压;14位分辨率;对片内温度传感器采样
   ADCCON1 |= 0x30;              //选择ADC的启动模式为手动
   ADCCON1 |= 0x40;              //启动AD转化  
   while(!(ADCCON1 & 0x80));     //等待 AD 转换完成 
   value =  ADCL >> 4;           //ADCL 寄存器低 2 位无效,由于他只有12位有效,ADCL寄存器低4位无效。网络上很多代码这里都是右移两位,那是不对的
   value |= (((uint)ADCH) << 4);
   
   return (value-1367.5)/4.5-5;  //根据 AD 值,计算出实际的温度,芯片手册有错,温度系数应该是4.5 /℃
                                 //进行温度校正,这里减去5℃(不同芯片根据具体情况校正)
}


 sprintf(strTemp,"%.02f", AvgTemp);//将浮点数转成字符串
目录
相关文章
|
数据采集 C语言
单片机开发之ADC0808/9信号采集
本文主要介绍了单片机开发之ADC0808/9信号采集
491 0
单片机开发之ADC0808/9信号采集
|
10月前
|
5G
【Matlab代码实现】电动过滤器:LPF和HPF、模拟调制:调幅和调频、WiFi、蓝牙和蜂窝网络的容量分析.....
【Matlab代码实现】电动过滤器:LPF和HPF、模拟调制:调幅和调频、WiFi、蓝牙和蜂窝网络的容量分析.....
|
12月前
|
传感器 芯片
基于51单片机的智能热水器STC89C52水位检测传感器DS18B20温度探头传感器
基于51单片机的智能热水器 由STC89C52单片机+水位检测传感器+DS18B20温度探头传感器+按键模块+继电器模块+报警及指示模块+LCD1602显示模块+电源构成。 具体功能: 1、LCD1602显示屏第一行显示温度及定时时间,第二行显示温度上限和下限值; 2、按键可以设置温度的上下限值及定时时间;定时时间到开始加热 3、用两个水位检测传感器检测水位:当水位下限传感器检测到有水时,继电器开始控制加水;当水位上限传感器检测到有水时,停止加水; 4、当温度低于设置的下限温度值时,继电器开始控制加热;当温度高于设置的上限温度值时,停止加热。
97 0
|
12月前
基于西门子PLC s7-200 的自动立体车库设计自动化设计(控制器步进电机直流电机)
基于西门子PLC s7-200 的自动立体车库设计自动化设计(控制器步进电机直流电机)
129 0
|
传感器 芯片
可编程 USB 转串口适配器开发板与振弦传感器测量模块
当通过 IIC 接口修改 VM5xx 单个寄存器后,被修改的寄存器立即保存(断电不丢失),但连续寄存器的写入仅当时修改生效,模块重启后会自动恢复。为了能够使寄存器永久保存,可以单独向功能寄存器 03 写入指令码 0x000C 来强制保存所有寄存器。
可编程 USB 转串口适配器开发板与振弦传感器测量模块
基于单片机的电压检测系统(含上位机)设计
基于单片机的电压检测系统(含上位机)设计
基于单片机的电压检测系统(含上位机)设计
|
传感器 芯片
可编程 USB 转串口适配器开发板与振弦采集模块测量模块
VM501/511振弦采集模块 是稳控科技生产的振弦传感器测量模块,具有IIC 接口和 UART 接口。
可编程 USB 转串口适配器开发板与振弦采集模块测量模块
|
传感器 数据采集 物联网
Zigbee温湿度采集控制完整流程|学习笔记
快速学习Zigbee温湿度采集控制完整流程
685 0
Zigbee温湿度采集控制完整流程|学习笔记
|
传感器
基于uFUN开发板的心率计(一)DMA方式获取传感器数据
基于uFUN开发板的心率计(一)DMA方式获取传感器数据
142 0
基于uFUN开发板的心率计(一)DMA方式获取传感器数据
|
传感器
手持VH501TC混合传感器信号采集仪如何使用
在关机状态,长按【电源】 按键,屏幕显示开机画面, 当听到蜂鸣器提示音后即可松开按键,设备自动完成参数加载和系统自检进入工作首页。
手持VH501TC混合传感器信号采集仪如何使用