pwm.c

来自「一些用于电话管理的pc机下位机程序」· C语言 代码 · 共 42 行

C
42
字号
/*该程序用于使CCP1模块产生分辨率为10位的PWM波形,占空比为50%
*/

#include	"p18f458.h"

/*CCP1模块的PWM工作方式初始化子程序
*/
void CCP1()
{
 CCPR1L=0X7F;
 CCP1CON=0X3C;			/*设置CCP1模块为PWM工作方式,且其工作
							循环的低2位为11,高8位为01111111=7F
							*/
 INTCON=0X00;				/*禁止总中断和外围中断
 */
 PR2=0XFF;					/*设置PWM的工作周期
 */
 TRISC=0XFB;				/*设置CCP1引脚为输出方式
 */
 T2CON=0X04;				/*打开TMR2,且使其前分频为0,
		    					*同时开始输出PWM波形
		    					*/
		    					/*系统开始输出PWM波形。如果系统是
							    *多任务的,则可以在此执行其它任务,而
						    	* 不会影响PWM波形的产生*/
}

/*主程序
*/
main()
{
	CCP1();				/*CCP1模块的PWM工作方式初始化
	*/

do
	{
		;
	}while(1);	/*系统开始输出PWM波形。如果系统是
							*多任务的,则可以在此执行其它任务,而
							*不会影响PWM波形的产生*/
}

⌨️ 快捷键说明

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