PCA模块和C8051单片机类似,最高占空比可到100,但是最小占空比却无法到,因此,如果需要输出低电平,需要将CCAPMn清0,并将管脚设为低,需要再次启用PWM模块,只需将CCAPMn赋值CCAPM1=0x42;
本文引用地址:https://www.eepw.com.cn/article/201611/320881.htm ADC模块首先要上电,等待起稳才能开始转换,如果转换频繁,就不需要关闭ADC电源了。第二个要注意的是设置ADC_CONTR后要加4个空操作才能将其写入寄存器中。
ADC转化程序(查询方式)
uchar GetADCResult(uchar ch)//ch 0~7
{//取高8bit值,STC的ADC更换通道后,第一次测量值仍然是改之前的,要舍弃
ADC_CONTR=0xe8|ch;//选择通道,先或再赋值,因此ADC_CONTR被重新赋值了
_nop_();_nop_();_nop_();_nop_();
while ((ADC_CONTR & 0x10)==0); //Wait complete flag,==优先级大于&,因此要加括号
ADC_CONTR&= ~0x10; //清除转换结束标志ADC_FLAG
return ADC_DATA; //Return ADC result
}
评论