extern unsigned int CEX0_Compare_Value;
void pca_init (void)
{
char data SFRPAGE_SAVE = SFRPAGE; // preserve SFRPAGE
SFRPAGE =SFR_PAGE_0;
PCA0CN = 0x00; //PCA定时器使能
PCA0MD = 0x08; // Use SYSCLK as time base
PCA0CPM0 = 0xC2; //使能16位PWM
//PCA0L = 0x00;/*定时/计数器初值为0000H*/
//PCA0H = 0x00;
CEX0_Compare_Value = 65536 - 65536;
PCA0CPL0 = (CEX0_Compare_Value & 0x00FF);
PCA0CPH0 = (CEX0_Compare_Value & 0xFF00)>>8;
SFRPAGE = SFRPAGE_SAVE; // restore SFRPAGE
}
void Port_IO_Init()
{
SFRPAGE = CONFIG_PAGE;
XBR0 = 0x0c;//使能了PCA的 CEX0口,在P0.4产生PWM P0.0 P0.1接UART0的TX RX
XBR1 = 0x00;
XBR2 = 0x44;//交叉开关使能,P0.2 P0.3接UART1的TX RX
P0MDOUT = 0x15;
}
void Oscillator_Init()
{
SFRPAGE = CONFIG_PAGE;
OSCICN = 0x83;
}
就是不能出波形,P0.4只在高电平显示
|