|
這是某實(shí)際應(yīng)用的PWM初始化函數(shù),應(yīng)該能看明白。
- void PWM_Init(void)
- {
- CCON = 0; //初始化PCA控制寄存器
- CL = 0; //復(fù)位PCA寄存器
- CH = 0; //復(fù)位PCA寄存器
- // CMOD = 0x00; //設(shè)置PCA時鐘源,PWM頻率=11.0592MHZ/12/256=3.600KHZ 278us
- // CMOD = 0x02; //設(shè)置PCA時鐘源,PWM頻率=11.0592MHZ/2/256=21.600KHZ 46us
- // CMOD = 0x04; //設(shè)置PCA時鐘源,PWM頻率= 定時器溢出11.0592MHZ/1~65536/256=43.200KHZ~0.659HZ
- // CMOD = 0x06; //設(shè)置PCA時鐘源,PWM頻率= 外部時鐘/1/256
- // CMOD = 0x08; //設(shè)置PCA時鐘源,PWM頻率=11.0592MHZ/1/256=43.200KHZ 23us
- // CMOD = 0x0A; //設(shè)置PCA時鐘源,PWM頻率=11.0592MHZ/4/256=10.800KHZ 93us
- // CMOD = 0x0C; //設(shè)置PCA時鐘源,PWM頻率=11.0592MHZ/6/256=7.200KHZ 139us
- CMOD = 0x0E; //設(shè)置PCA時鐘源,PWM頻率=11.0592MHZ/8/256=5.400KHZ 185us
- PCA_PWM0 = 0x00; //PCA模塊0工作于8位PWM
- PCA_PWM1 = 0x00; //PCA模塊1工作于8位PWM
- CCAP0H = CCAP0L = 0xFF; //PWM0的占空比為0%
- CCAP1H = CCAP1L = 0xFF; //PWM1的占空比為0%
- CCAPM0 = 0x42; //允許CCP0腳用作脈寬調(diào)節(jié)輸出
- CCAPM1 = 0x42; //允許CCP1腳用作脈寬調(diào)節(jié)輸出
- CR = 1; //PCA定時器開始工作
- }
復(fù)制代碼 |
|