发表于:2007/5/10 19:46:00
#0楼
我用的是C8051F040的片子.在做DA(DAC0)的时候,出现下面问题:
把初值写入DAC0后,每隔一段时间使DAC0加上某个值,之后观察DACOH和DACOL的值不变化,而且输出的电压也不变化(即使初值为0,输出也为高电压),不知道是怎么回事?????望高手指教一下 !!!!!!!!!!!!!!!!!!!!!!我猜是哪里设置好象出了 问题?????????
下面是部分设置程序:编译无问题!!!我对这个片子还不是很了解!!
void config (void){
uint i;
SFRPAGE=0x00;
WDTCN = 0x07; //看门狗禁止
WDTCN = 0xDE;
WDTCN = 0xAD;
DAC0CN= 0x80; //DA配置
DAC0L=0x00;
DAC0H=0x00;
REF0CN= 0x03;
}
main(){
config(); //配置初始化
init_serialcomm(); //串行通讯初始化
do{
DAC0=b;
delay1ms(100);
b+=10;
}while(1);
}
把初值写入DAC0后,每隔一段时间使DAC0加上某个值,之后观察DACOH和DACOL的值不变化,而且输出的电压也不变化(即使初值为0,输出也为高电压),不知道是怎么回事?????望高手指教一下 !!!!!!!!!!!!!!!!!!!!!!我猜是哪里设置好象出了 问题?????????
下面是部分设置程序:编译无问题!!!我对这个片子还不是很了解!!
void config (void){
uint i;
SFRPAGE=0x00;
WDTCN = 0x07; //看门狗禁止
WDTCN = 0xDE;
WDTCN = 0xAD;
DAC0CN= 0x80; //DA配置
DAC0L=0x00;
DAC0H=0x00;
REF0CN= 0x03;
}
main(){
config(); //配置初始化
init_serialcomm(); //串行通讯初始化
do{
DAC0=b;
delay1ms(100);
b+=10;
}while(1);
}