?? dac12.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
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 + -