📄 pwm.h
字号:
#ifndef __PWM_H__
#define __PWM_H____PWM_H__
#include <regx52.h>
#define uchar unsigned char
#define PCA_VECTOR 6 /* 0x33 PCA Interrupt PCA中断向量*/
#define CCAPM_PWM 0x42; /*CCAPMn 模式设置 8位PWM值*/
#define CMOD_ECF 0x01; /*PCA使能计数溢出中断*/
/*===================FUNCTIONS============================*/
void PWM_Init(uchar pw);
#define PWM_SetPW(PW) CCAP0H = PW /*设置脉宽--- 0~255 */
#define PWM_Stop() CR = 0;
#define PWM_Run() CR = 1;
//===========寄存器定义>>> For P89V51RD2 Only=====================
sfr CMOD = 0xD9; /*PCA计数器模式寄存器*/
/*| CIDL | WDTE | --- | --- | --- | CPS1 | CPS1 | ECF |*/
sfr CCON = 0xD8; /*PCA计数器控制寄存器*/
sfr CCAPM0 = 0xDA;
sfr CCAPM1 = 0xDB;
sfr CCAPM2 = 0xDC;
sfr CCAPM3 = 0xDD;
sfr CCAPM4 = 0xDE;
sfr CCAP0H = 0xFA;
sfr CCAP1H = 0xFB;
sfr CCAP2H = 0xFC;
sfr CCAP3H = 0xFD;
sfr CCAP4H = 0xFE;
sfr CCAP0L = 0xEA;
sfr CCAP1L = 0xEB;
sfr CCAP2L = 0xEC;
sfr CCAP3L = 0xED;
sfr CCAP4L = 0xEE;
/*------------------------------------------------
CCON Bit Registers
------------------------------------------------*/
sbit CCF0 = 0xD8; /*PCA模块0中断标志 */
sbit CCF1 = 0xD9; /*PCA模块1中断标志 */
sbit CCF2 = 0xDA; /*PCA模块2中断标志 */
sbit CCF3 = 0xDB; /*PCA模块3中断标志 */
sbit CCF4 = 0xDC; /*PCA模块4中断标志 */
sbit CR = 0xDE; /*PCA计数器运行控制 */
sbit CF = 0xDF; /*PCA计数器溢出标志 */
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -