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

📄 dac12.c

📁 MSP430系列单片机资料-7册-46.3M-pdf.zip
💻 C
字号:
/****************************************************************************
文件名:dac12.c
编写者:czhang
描述:DAC12转换模块程序。用于15xx 16xx系列。
      MCLK:DCO   ACLK:32.768kHz
版本:2005-5 V1.0
*****************************************************************************/
#include <msp430x16x.h>
#include "dac12.h"

/****************************************************************************
初始化DAC12
****************************************************************************/
void InitDac12()
{
	ADC12CTL0 = REF2_5V + REFON; 	//打开内部参考电压源,参考电压为2.5V
	//设置DAC12通道0
	DAC12_0CTL= DAC12IR + DAC12AMP_5 + DAC12ENC+DAC12LSEL_1 ;	
	//满量程为参考电压,中速度/电流输出,12位分辨率,Vref+为参考电压,
	DAC12_0CTL |= DAC12CALON;	//自动校准DA输出
	//设置DAC12通道1
	DAC12_1CTL= DAC12AMP_5 + DAC12ENC+DAC12LSEL_1 ;	
	//满量程为参考电压的3倍,中速度/电流输出,12位分辨率,Vref+为参考电压,
	DAC12_1CTL |= DAC12CALON;	//自动校准DA输出
	//等待校准结束
	while(DAC12_0CTL & DAC12CALON == DAC12CALON);
	while(DAC12_1CTL & DAC12CALON == DAC12CALON);
}

/*****************************************************************************
打开或关闭DAC12
doit: 0:关闭   100:运行
which:打开或关闭。 0:DAC0		1:DAC1
*****************************************************************************/
void GoDac12(unsigned char doit,unsigned char which)
{
	if(doit==0)
	{
		//关闭DAC12
		if(which==0)
			DAC12_0CTL &= ~DAC12ENC;
		else
			DAC12_1CTL &= ~DAC12ENC;
	}
	else if(doit==100)
	{
		//打开DAC12
		if(which==0)
			DAC12_0CTL |= DAC12ENC;
		else
			DAC12_1CTL |= DAC12ENC;
	}
}

/*****************************************************************************
写输出值
dat:要输出的值,准备写入DA数据寄存器
which:写入哪个通道。 0:DAC0		1:DAC1
*****************************************************************************/
void  Dac12Write(unsigned int dat,unsigned char which)
{
	if(which==0)
		DAC12_0DAT = dat;
	else 
		DAC12_1DAT = dat;
}



⌨️ 快捷键说明

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