本帖最后由 永远不停 于 2021-2-26 17:35 编辑
最近在看PIC16F15345的DAC模块,遇到一些问题,希望能得到大家的帮助。
1.手册中的描述前后不一致
在DAC框图中,正输入电压有3个选项:VDD,VREF+,FVR;负输入电压有2个选项:VSS,VREF-
但实际这颗芯片没有VREF-,后面的寄存器描述中也没有负输入电压的选择位。
2.DAC有输出通道,DAC1OUT,在寄存器配置中出现两个输出通道选择位,可以选择DAC1OUT1或DAC1OUT2,但引脚上并没有这两个输出引脚,只有一个DAC1OUT在RA0引脚。所以这两位寄存器到底该怎么配置?
3.写了一个简单的DAC程序,DAC配置如下,
void DAC_Config(void)
{
DAC1CON0bits.DAC1EN = 1;//使能DAC模块
DAC1CON0bits.DAC1OE1 = 1;//DAC1OUT1输出
DAC1CON0bits.DAC1OE2 = 1;//DAC1OUT2输出
DAC1CON0bits.PSS = 0;//DAC正极电压选择,0-VDD,1-VREF+,2-FVR,3-保留
DAC1CON1bits.DAC1R = 31;//DAC输出电压等级选择,0~31
}
正电压选择VDD,为5V,DAC输出电压等级选择31,那么应该输出的电压为5*31/32=4.8V,而在RA0引脚实际输出的电压为1.88V。
修改DAC1CON1bits.DAC1R的值,输出电压也随着改变,但与理论值相差甚远。
RA0引脚外部是悬空的,没有接任何电路,是否会有影响?
实际测量了VDD是5V,请各位帮忙看看是哪里的问题,万分感谢。
|