📄 main_m.c
字号:
/****************************************************************************
文件名:main.c
编写者:czhang
描述:ADC12多次转换例子程序。用于14xx系列。
MCLK:DCO ACLK:32.768kHz
版本:2005-4 V1.0
*****************************************************************************/
#include <msp430x14x.h>
#include "adc12.h"
#include "wendu.h"
void InitSys();
int main()
{
unsigned int ad_mem[16],wen_h,wen_s;
unsigned char q0;
float fq0;
int *pmem=ADC12MEM;
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
InitSys();
//初始化寄存器
for(q0=0;q0<16;q0++)
{
ad_mem[q0]= 0xFF;
*pmem=0xFF;
pmem++;
}
//单通道多次转换
AdcDo(5,2); //转换首地址为5,单通道多次转换
SetTongDao(10,0,5,1,1); //模拟通道为10,测温度
Adc12Open(0); //打开ADC12模块
Adc12Go(); //转换开始
AdcGet(ad_mem); //读转换值
wen_h=SuanHuaShi(ad_mem[5]); //计算华氏温度
wen_s=SuanSheShi(ad_mem[5]); //计算摄氏温度
//多通道多次转换
AdcDo(5,3); //转换首地址为5,单通道多次转换
SetTongDao(10,0,5,1,0); //模拟通道为10,测温度
SetTongDao(11,0x80,6,1,1); //模拟通道为11,测(AVcc-AVss)/2,引发中断
Adc12Open(0); //打开ADC12模块
Adc12Go(); //转换开始
AdcGet(ad_mem); //读转换值
wen_h=SuanHuaShi(ad_mem[5]); //计算华氏温度
wen_s=SuanSheShi(ad_mem[5]); //计算摄氏温度
fq0=2.5*ad_mem[6]/4095; //(AVcc-AVss)/2
_NOP();
LPM3;
}
/*****************************************************************************
系统初始化
******************************************************************************/
void InitSys()
{
Adc12Init(); //初始化AD转换模块
_EINT(); //打开全局中断控制,若不需要打开,可以屏蔽本句
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -