📄 main.c
字号:
#include<msp430x16x.h>
void Init_DAC() //DAC转换初始化
{
P6SEL |= 0X80;
P6DIR |= 0X80;
P3SEL |=0X00; //定义显示屏背光
P3DIR |=0X01;
P3OUT &=0XFE;
// DAC12_0CTL = ~DAC12ENC; //停止ADC12,修改DAC12寄存器
ADC12CTL0 = REF2_5V + REFON; //打开内部参考电压源,参考电压为2.5V
//ADC12MCTL7 = SREF_5;
/*
//设置DAC12通道0
//测量程为参考电压,中速度/电流输出,12位分辨率,Vref+为参考电压,立即刷新输出
DAC12_0CTL |= DAC12IR + DAC12AMP_5 + DAC12ENC + DAC12LSEL_1;
DAC12_0CTL |= DAC12CALON; //自动校准DA输出
DAC12_0CTL |= DAC12ENC; //使能ADC12
*/
//设置DAC12通道1
DAC12_1CTL &= ~DAC12ENC; //停止ADC12,修改DAC12寄存器
//测量程为参考电压,中速度/电流输出,12位分辨率,Vref+为参考电压: DAC12SREF_0与DAC12SREF_1 ,立即刷新输出
DAC12_1CTL |=DAC12IR + DAC12AMP_5 ;//+ DAC12LSEL_1 + DAC12SREF_1
// DAC12_1CTL |= DAC12CALON; //自动校准DA输出
DAC12_1CTL |= DAC12ENC; //使能ADC12
//等待校准完成
// while(DAC12_0CTL & DAC12CALON == DAC12CALON);
// while(DAC12_1CTL & DAC12CALON == DAC12CALON);
}
/*
void AO2_Out(unsigned int dat) //程序段B:4~20mA输出
{
// AO2 = (AO2_max - AO2_min)*Nf/10000 + AO2_min; //标度计算
DAC12_1DAT = dat; //将数据写入DA1数据寄存器
}
*/
void main()
{
WDTCTL=WDTPW+WDTHOLD; // 关看门狗;
/*
BCSCTL1 &=~XT2OFF; //XT振荡器反位
do
{
IFG1 &=~OFIFG; //清除振荡器失效标志
}
while(OFIFG&IFG1); //等待晶振稳定 ;
BCSCTL2 = SELS + SELM_2 + DIVS_3; // MCLK,SMCLK-XT2CLK; SMCLK 8 分频;
*/
Init_DAC();
//while(1)
//{
DAC12_1DAT = 0X02C3; //将数据写入DA1数据寄存器
LPM4;
//AO2_Out(0x0FFF);
//}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -