/*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条评论
快来发表一下你的评论吧 !