|
PCA模塊和C8051單片機類似,最高占空比可到100,但是最小占空比卻無法到,因此,如果需要輸出低電平,需要將CCAPMn清0,并將管腳設為低,需要再次啟用PWM模塊,只需將CCAPMn賦值CCAPM1=0x42;
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 completeflag,==優先級大于&,因此要加括號
ADC_CONTR&=~0x10; //清除轉換結束標志ADC_FLAG
returnADC_DATA; //Return ADC result
}
|
|