1.c

来自「pic16f系列单片机的PWM控制程序」· C语言 代码 · 共 36 行

C
36
字号
#include<pic.h>

/* 	**************************************************************
**	函 数 名: PWM1Set()   
**	功    能:CCP1输出PWM设置,设置完成后即输出PWM 
****************************************************************** */ 
void	PWM1Set(unsigned pwmh,unsigned pwml)
{
	TRISC1=0;	            /* 设置CCP1(RC5)引脚为输出方式 */		
	PR2=0X7f;			    /* 设置PWM工作周期=((PR2)+1)*4*Tosc*(TMR2前分频值)*/		
	CCPR1L=pwmh;			/* CCP1高电平值*/
	CCP1CON=0xcf|pwml;		/* CCP1模块为PWM工作方式*/
	T2CON=0X05;			    /* 打开TMR2,预分频1:4  后分频1:1,同时开始输出PWM波形 */
	CCP1IE=0;			    /* CCP1中断禁止 */
}
/* 	**************************************************************
**	函 数 名: PWM2Set()   
**	功    能:CCP2输出PWM设置,设置完成后即输出PWM 
*******************************************************************/
void	PWM2Set(unsigned pwmh,unsigned pwml)
{
	TRISC2=0;	             /* 设置CCP2(RD2)引脚为输出方式 */		
	PR2=0Xff;			     /* 设置PWM工作周期=((PR2)+1)*4*Tosc*(TMR2前分频值)*/		
	CCPR2L=pwmh;		  	 /* CCP1高电平值 */
	CCP2CON=0Xcf|pwml;		 /* CCP1模块为PWM工作方式 */
	T2CON=0X05;			     /* 打开TMR2,预分频1:4  后分频1:1 ,同时开始输出PWM波形 */
	CCP2IE=0;			     /* CCP2中断禁止 */
}
void main()
	{
	 PWM1Set(0xff,2);
     PWM2Set(0xff,2);
	 while(1)
		;
	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?