////ADC12, Sample A10 Temperature and Convert to C and F
//MSP430基础实验开发组件 - ADC12内部模块演示程序之内部温度传感器
//时钟设置:
////ACLK = n/a, MCLK = SMCLK = default DCO ~ 800kHz, ADC12CLK = ADC12OSC
//当前演示程序功能描述:
////利用MSP430F14X内部的温度传感器,通过ADC12的通道10进行AD转换
////计算取得摄氏温度和华氏温度,通过断点在View->Watch中观察温度值
////由于定标问题, 可能会存在温度的误差
#include
unsigned int long temp;
unsigned int long TemperF; //华氏温度
unsigned int long TemperC; //摄氏温度
void main(void) {
WDTCTL = WDTPW + WDTHOLD; //关闭系统看门狗
ADC12CTL0 = SHT0_8 + REFON + ADC12ON; //内部1.5V参考电压,打开ADC12模块,设置采样保持定时器
ADC12CTL1 = SHP; //采使用采样定时器
ADC12MCTL0 = SREF_1 + INCH_10; //参考电压和通道选择
ADC12IE = BIT0; //ADC12MEM0
ADC12CTL0 |= ENC; //允许转换
_BIS_SR(GIE); //开启系统中断
while(1) {
ADC12CTL0 |= ADC12SC; //开始采样并AD转换
//oF = ((x/4096)*1500mV)-923mV)*1/1.97mV = x*761/4096 - 468
//IntDegF = (ADC12MEM0 - 2519)* 761/4096
TemperF = (temp - 2519) * 761;
TemperF = TemperF / 4096; //简化的华氏温度转换公式
//oC = ((x/4096)*1500mV)-986mV)*1/3.55mV = x*423/4096 - 278
//IntDegC = (ADC12MEM0 - 2692)* 423/4096
TemperC = (temp - 2692) * 423;
TemperC = TemperC / 4096; //简化的摄氏温度转换公式
_NOP(); //加入断点可用来观察IntDegF和IntDegC结果
}
}
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR(void) {
temp = ADC12MEM0; //保存转换结果
}
关键字:MSP430 温度传感器 测试程序
引用地址:
MSP430内部温度传感器测试程序
推荐阅读最新更新时间:2024-03-16 14:45
以MSP430低功耗单片机为CPU的太阳能警报器系统设计
引言 我国是世界上受自然灾害影响最为严重的国家之一,近年来由于滥砍滥伐严重,自然资源过度开采,造成地质灾害和自然灾害发生的频率增多,破坏程度也越来越严重,2008年的四川汶川大地震、2010年的贵州玉树地震都造成了严重的人员死亡和经济损失,还有各地频发的各种泥石流、山体滑坡和水灾等都造成了不同程度的破坏,随时威胁着人民的生命财产安全。每年国家在防灾、抗灾和救灾方面都要花费大量的人力物力。如果能在灾害监测和预警方面下大力气,做到准确预测灾害的来临,灾前做好充分的准备工作,可以将灾害所造成的人员伤亡和经济损失减到最低,也为国家节省大量的救灾资金。 太阳能防空防灾电声警报器为各自独立的功能部件用积木形式集成安装在可移动的防水机箱内外
[单片机]
MSP430 ADC12 最高采样率测试
使用的MSP430型号为MSP430F5529LP(Lauchpad) MSP430x5xx and MSP430x6xx Family User's Guide 给出:其内置12位ADC的 最高采样率约为200ksps 下面详述ADC设置过程。 目录 1.设置ADC转换模式为Repeat-single-channel; 2.设置ADC的转换时钟sample-and-hold source (SHI) 3.设置定时器A为输出输出模式 4.设置输入通道 5.设置ADC12SHP位 6.设置采样保持时间 1.设置ADC转换模式为Repeat-single-channel; 请通过
[单片机]
04:AD采样【MSP430F5529】
TI官网资料提供例程: #include msp430.h int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT ADC12CTL0 = ADC12SHT02 + ADC12ON; // Sampling time, ADC12 on ADC12CTL1 = ADC12SHP; // Use sampling timer ADC12IE = 0x01; // Enable interrupt ADC12CTL0 |= ADC12ENC; P6SEL |= 0x01;
[单片机]
MSP430F249UART
//****************************************************************************** // MSP430x24x Demo - USCI_A0, 9600 UART Echo ISR, DCO SMCLK // // Description: Echo a received character, RX ISR used. Normal mode is LPM0. // USCI_A0 RX interrupt triggers TX Echo. // Baud rate divider with 1MHz = 1MHz/9600 = ~104.2
[单片机]
10位温度传感器AD7416驱动程序
#include reg51.h #include intrins.h sbit AD7416_SCL= P1^6; sbit AD7416_SDA= P1^7; unsigned char AD7416_SystemError; unsigned int Temperature; //温度 unsigned char ZorF; //正还是负 //#define SomeNOP(); { _nop_(); _nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_(); _nop_();_nop_(
[单片机]
基于MSP430设计的微型家用心电图机
本文介绍了一种微型家用心电图机。该仪器具有强大的功能:显示监测、存储、回放、打印、记录管理、电源报警、电话或者互联网络传输。 与其他心电图机的突出不同之处在于,本系统采用新型低功耗的16位单片机--MSP430 F135作为整个系统的控制核心,并配备相应的16位低功耗存储器AT29LV1024和液晶显示模块LMS0192A,从而简化了系统硬件电路,同时也大大降低了系统成本,因而该家用心电图机具有极为广阔的应用前景。 一、概述 心血管疾病是一种较为普遍的疾病,随着生活节奏的加快,生活水平和健康意识的提高,人们需要随时对心脏进行健康监护并且能在比较危急的情况下进行及时的诊治;同时,如果长期住在医院里面进行
[医疗电子]
TI超低功耗MSP430 MCU助力电容式触摸设计
德州仪器 (TI) 推出一款最新软件库,其可提供传感器调节 GUI、设计配套产品以及更多微控制器 (MCU) 支持简化电容式触摸解决方案开发,进一步壮大业界最低功耗电容式触摸产品阵营。TI MSP430 MCU 能以每个按钮不足 1μA 的平均电流实现超低功耗工作,是业界电容式触摸按钮、滑块、滚轮及邻近效应应用与配件的最佳选择,可充分满足便携式电子设备与家用电器等应用需求。
TI 开源 MSP430 电容式触摸软件库现在可帮助开发人员使用近期推出的 MSP430G2xx5 Value Line 器件与 Wolverine MSP430FR58xx/FR59xx 器件实现按钮、滑块、滚轮以及邻近电容式触摸应用。这些新器件可为工程
[单片机]
MSP430和nRF905的无线数传系统设计
摘 要:阐述在低功耗应用中,利用MSP430和nRF905组成一种无线数据传输系统的设计方案。首先对核心芯片的选型和关键使用方法进行简单说明,然后介绍系统硬件和软件的设计,其中着重介绍如何对nRF905进行控制,并给出相关程序源代码。
关键词:无线数据传输 低功耗 MSP430 nRF905
在特殊环境的数据测控应用中,无线数据传输已经越来越广泛地被运用。MSP430+nRF905的组合特别适合于低功耗、短距离(1OO~200 m)、小数据量的无线数传系统。MSP430 CPU在低功耗应用方面有很大优势,nRF905无线收发芯片具有功耗低、控制简单、可自动处理字头和CRC校验的优点,两者结合组成的数传系统可以在很多产品中得到
[应用]