×

MSP430g2553温度检测

消耗积分:1 | 格式:rar | 大小:4034KB | 2014-08-09

邓世强

分享资料个

使用MSP430G2553内部自带的温度感应部分检测温度

  /*ADC10 是 MSP430 单片机的片上模数转换器, 其转换位数为 10 比特

  *内部寄存器: ADC10AE0 ADC10 输入使能寄存器 0

  * ADC10AE1

  * ADC10CTL0 ADC10 控制寄存器 0

  * ADC10CTL1

  * ADC10DTC0 ADC10 数据传输控制寄存器 0

  * ADC10DTC1

  * ADC10MEM ADC10 存储器

  * ADC10SA ADC10数据传输起始地址

  * VCC:C=circuit 表示电路的意思, 即接入电路的电压

  VDD:D=device 表示器件的意思, 即器件内部的工作电压;

  VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压

  * ***********************/

  #include 《msp430.h》

  void main(void)

  {

  WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer

  int ADC10_Result;

  int TEMP;

  ADC10CTL0|=SREF_1+REFON; //选择内部基准电压;基准电压生成器打开。 AD转换必须有个基准电压,一般使用单片机电源或者外部单独供个电压作为基准。

  ADC10CTL0|= ADC10SHT_3+MSC; //过采样率设置为 64 个采样周期,打开 AD 转换

  ADC10CTL0|=ADC10ON; //ADC10打开

  ADC10CTL1|=CONSEQ_2; //单通道重复采样模式

  ADC10CTL1|=INCH_10; //选择通道 A10为内部传感器通道

  ADC10CTL1|=ADC10SSEL_3+SHS_0; //SMCLK分频为采样时钟,用 ADC10SC 触发采集

  while(1)

  {

  ADC10CTL0 |=ENC+ADC10SC; //开始转换

  while(ADC10IFG==0); //等待 ADC10IFG 标志变高(转换完成)

  ADC10_Result=ADC10MEM;

  TEMP=((ADC10_Result-746)/(0.000355*678)+286)/10;

  }

  }

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !