MSP430单片机C语言编程与实践(入门篇)之十三----ADC10

本文介绍了MSP430单片机使用ADC10模块进行温度测量的方法,包括ADC10的特点、转换模式以及如何通过C语言编程实现对MSP430G2553芯片温度的测量并显示在LCD1602上。通过多次A/D转换获取更准确的温度值。
摘要由CSDN通过智能技术生成

        ADC10模块支持快速、10位的A/D转换。该模块包含一个10位SAR核心、采样选择控制、参考电位产生器和数据传送控制器(DTC)。

        DTC允许ADC10的采样被转换,并在存储区的任何地方存储,不需要CPU的干预。该模块可被用户软件设置,以支持各种各样的应用。

        ADC10的特点包括:

        ·高于200-ksps的最高转换速率

        ·单调的10位转换器,没有丢码

        ·采样和保持,具有可编程的采样周期

        ·由软件或定时器_A开启转换

        ·可软件选择的片上参考电压产生(1.5V或2.5V)

        ·可软件选择的内部或外部参考

        ·可达8个外部输入通道

        ·转换通道用于内部温度传感器、Vcc和外部参考

        ·可选的转换时钟源

        ·单一通道,重复单一通道,序列和重复序列转换模式

        ·ADC核心和参考电压可被分别关电

        ·数据转换控制器用于对转换结果的自动存储

例1 使用内置的温度传感器来测量MSP430G2553芯片的温度

        主程序代码如下所述:

/***************************************
 *使用内置的温度传感器来测量MSP430芯片的温度,
*让AD转换与内置温度传感器相连,并把温度值显示
*在LCD1602上。
 ***************************************/
//主程序代码如下所述:
//=======================main.c==========================
#include<msp430g2553.h>
#include"LCD1602.h"

unsigned int temp[3];
static const int seg[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};

long wendu=0;
long ADCvalue=0;

void delay(unsigned long cnt)
{
  while(cnt)
    cnt--;
}

//=================温度显示 ================
void wen_xianshi()
{
  DispOneChar(1,3,0x4e); // Now : XX.X 度
  DispOneChar(1,4,0x6f);
  DispOneChar(1,5,0x77);
  DispOneChar(1,6,0x20);
  DispOneChar(1,7,seg[temp[2]]);
  DispOneChar(1,8,seg[temp[1]]);
  DispOneChar(1,9,0x2e);
  DispOneChar(1,10,seg[temp[0]]);
  DispOneChar(1,11,0xdf);
  DispOneChar(1,12,0x43);
}

//======================================

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
  //配置ADC10
  ADC10CTL1 =INCH_10+ADC10DIV_3;  //选择ADC的通道10,也即让AD转换与内部温度传感器相连,且时钟 
                            
  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The East Sea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值