⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 MSP430系列单片机资料-7册-46.3M-pdf.zip
💻 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,iq0;
	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(0,0);			//转换首地址为0,单通道单次转换
	SetTongDao(10,0,0,1,1);  	//模拟通道为10,测温度
	Adc12Open(0);  			//打开ADC12模块
	Adc12Go();			//转换开始
	Adc12Open(100);  		//关闭ADC12模块
	AdcGet(ad_mem);  		//读转换值
	wen_h=SuanHuaShi(ad_mem[0]);    //计算华氏温度
	wen_s=SuanSheShi(ad_mem[0]);	//计算摄氏温度

	//序列通道单次转换
	AdcDo(3,1);			//转换首地址为3
	SetTongDao(10,0,3,1,0);  	//模拟通道为10,测温度,不引发中断
	SetTongDao(11,0x80,4,1,1);  	//模拟通道为11,测(AVcc-AVss)/2,引发中断
	Adc12Open(0);  			//打开ADC12模块
	Adc12Go();			//转换开始
	Adc12Open(100);  		//关闭ADC12模块
	AdcGet(ad_mem);  		//读转换值
	wen_h=SuanHuaShi(ad_mem[3]);    //计算华氏温度
	wen_s=SuanSheShi(ad_mem[3]);	//计算摄氏温度
	fq0=2.5*ad_mem[4]/4095;		//(AVcc-AVss)/2
	_NOP();
	LPM3;
}

/*****************************************************************************
系统初始化
******************************************************************************/
void InitSys()
{
	Adc12Init();  			//初始化AD转换模块
	_EINT();	//打开全局中断控制,若不需要打开,可以屏蔽本句
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -