打印

关于8051F410片内温度传感器的疑问

[复制链接]
1464|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
black0jack|  楼主 | 2013-5-9 11:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
麻烦高手帮忙指正一下,片内温度传感器的使用上哪个环节出了问题,谢谢啦!
附上程序:
#include "C8051F410.h"
#define   uchar unsigned char
#define   uint unsigned int
#define   Vref 1.5
void Port_IO_Init()         //开交叉开关。
{
    XBR1      = 0x40;
}
void ADC_Init()        //ADC0使能,选内部温度传感器,预追踪,写“1”进AD0BUSY启动转换,累加4次。
{
    ADC0MX    = 0x18;
    ADC0CF    = 0xFA;
    ADC0CN    = 0xC0;
    ADC0TK    = 0xF9;
}

void Voltage_Reference_Init()//VDD作为参考电压,输出电压1.5V,温度传感器使能。
{
    REF0CN    = 0x0C;
}

// Initialization function for device,
// Call Init_Device() from your main program
void Init_Device(void)
{
    Port_IO_Init();
        ADC_Init();
    Voltage_Reference_Init();
}
void main()
{
         uint temp;
         float Temperature;
         PCA0MD &= ~0x40;
         Init_Device();
         while(1)
         {
                 ADC0CN|=0x10;
                while((bit)ADC0CN&0x10);
                temp<<=8;
                temp|=ADC0H;
                temp<<=8;
                temp|=ADC0L;
                temp/=4;
                Temperature=(Vref*(float)temp/4096-0.603)/0.0025;//公式:Vtemp = 2.5 mV/C * Temp + 0.603 V
         }
}
室温环境下,在线监控得:
temp=0x061B
Temperature=-12.24492
      
         

相关帖子

沙发
ayb_ice| | 2013-5-9 11:54 | 只看该作者
本帖最后由 ayb_ice 于 2013-5-9 11:58 编辑

         while(1)
         {
                 ADC0CN|=0x10;
                while((bit)ADC0CN&0x10);

                                temp = 256 * ADC0H + ADC0L;
                                temp /= 4;

                Temperature=(Vref*(float)temp/4096-0.603)/0.0025;//公式:Vtemp = 2.5 mV/C * Temp + 0.603 V
         }

温度计算公式是否正确不知

使用特权

评论回复
板凳
black0jack|  楼主 | 2013-5-9 12:01 | 只看该作者
本帖最后由 black0jack 于 2013-5-9 12:04 编辑

谢谢回复。
F410手册上只说“VTEMP = TBD(TEMP C) + TBD mV”,就没别的啦,我用的那个“Vtemp = 2.5 mV/C * Temp + 0.603 V”来自于新华龙提供的应用笔记。

使用特权

评论回复
地板
duan281110040| | 2013-6-18 14:35 | 只看该作者
您好,我想请教一下怎么使用C8051F120片内温度传感器.片内温度传感器采样,为什么ADC0H和ADC0L始终等于0XFF和0X0F?具体程序见https://bbs.21ic.com/forum.php?mod=viewthread&tid=568757,不知道有什么高见,谢谢了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝