这个程序是STC12C5A60S2说明书第381页中的一个示例程序,其中有一句PCAPWM1 = 0x03;不明白是什么意思,哪位高手能解释一下呢? 
 
 
 
 
/*------------------------------------------------------------------*/ 
/* --- STC MCU Limited ---------------------------------------------*/ 
/* --- STC12C5Axx Series MCU PCA module output PWM wave Demo -------*/ 
/* --- Mobile: (86)13922805190 -------------------------------------*/ 
/* --- Fax: 86-0513-55012956,55012947,55012969 ---------------------*/ 
/* --- Tel: 86-0513-55012928,55012929,55012966----------------------*/ 
/* --- Web: www.STCMCU.com -----------------------------------------*/ 
/* --- Web: www.GXWMCU.com -----------------------------------------*/ 
/* If you want to use the program or the program referenced in the  */ 
/* article, please specify in which data and procedures from STC    */ 
/*------------------------------------------------------------------*/ 
 
#include "reg51.h" 
#include "intrins.h" 
 
#define FOSC    11059200L 
 
typedef unsigned char BYTE; 
typedef unsigned int WORD; 
 
/*Declare SFR associated with the PCA */ 
sfr CCON        =   0xD8;           //PCA control register 
sbit CCF0       =   CCON^0;         //PCA module-0 interrupt flag 
sbit CCF1       =   CCON^1;         //PCA module-1 interrupt flag 
sbit CR         =   CCON^6;         //PCA timer run control bit 
sbit CF         =   CCON^7;         //PCA timer overflow flag 
sfr CMOD        =   0xD9;           //PCA mode register 
sfr CL          =   0xE9;           //PCA base timer LOW 
sfr CH          =   0xF9;           //PCA base timer HIGH 
sfr CCAPM0      =   0xDA;           //PCA module-0 mode register 
sfr CCAP0L      =   0xEA;           //PCA module-0 capture register LOW 
sfr CCAP0H      =   0xFA;           //PCA module-0 capture register HIGH 
sfr CCAPM1      =   0xDB;           //PCA module-1 mode register 
sfr CCAP1L      =   0xEB;           //PCA module-1 capture register LOW 
sfr CCAP1H      =   0xFB;           //PCA module-1 capture register HIGH 
sfr PCAPWM0     =   0xf2; 
sfr PCAPWM1     =   0xf3; 
 
void main() 
{ 
    CCON = 0;                       //Initial PCA control register 
                                    //PCA timer stop running 
                                    //Clear CF flag 
                                    //Clear all module interrupt flag 
    CL = 0;                         //Reset PCA base timer 
    CH = 0; 
    CMOD = 0x02;                    //Set PCA timer clock source as Fosc/2 
                                    //Disable PCA timer overflow interrupt 
    CCAP0H = CCAP0L = 0x80;         //PWM0 port output 50% duty cycle square wave 
    CCAPM0 = 0x42;                  //PCA module-0 work in 8-bit PWM mode and no PCA interrupt 
 
    CCAP1H = CCAP1L = 0xff;         //PWM1 port output 0% duty cycle square wave 
    PCAPWM1 = 0x03; 
    CCAPM1 = 0x42;                  //PCA module-1 work in 8-bit PWM mode and no PCA interrupt 
 
    CR = 1;                         //PCA timer start run 
 
    while (1); 
} 
转载 
 
 |