void delay(uchar i)
{uint j;
while((i--)!=0)
{for(j=0;j <=100;j++)
{;}
}
}
//--------------初始配置--------------
void config()
{EA=0;
WDTCN=0X07;
WDTCN=0XDE;
WDTCN=0XAD;
EA=1; //禁止关门狗
XBR0=0X00;
XBR1=0X00;
XBR2=0X40;
P0MDOUT=0X00; //开漏输出模式
}
//---------------DAC0允许控制------------
void DA_EN(uchar set)
{
DAC0CN=set; //DAC0允许转换,设定不同的set值可以实现多种转换方式
REF0CN=0X03; //使用REF0作为基准源
}
//--------------DAC0开始数模转换--------------
void DA_ST(uchar value)
{uchar i;
for(i=0;i <=value;i++)
{delay(1);
DAC0L=0X00; //设定低八位为0,配置成八位的数模转换器
DAC0H=i;
} //转换值为value的值
}
void main()
{
config();
DA_EN(0X84); //允许DAC0转换,转换值的格式为高八,低四
DA_ST(6);
delay(1); //延时一段时间,等待转换结束,从100(DACO)脚上输出模拟电信号
}