📄 main.c
字号:
/* ****************************************************************
** 功能描述: CCP1模块输出PWM
*************************************************************** */
#include "pic18.h" /* PIC18系列的头文件 */
/* ****************************************************************
** 函 数 名: initial()
** 功能描述: 系统初始化子程序,放在程序首部
*************************************************************** */
void initial()
{
INTCON=0x00; /* bit7-bit0:关总中断 */
ADCON1=0X07; /* 设置数字输入输出口 */
PIE1=0; /* PIE1 的中断不使能 */
PIE2=0; /* PIE2 的中断不使能 */
PIE3=0; /* PIE3 的中断不使能 */
}
/* **************************************************************
** 函 数 名: PWMSet()
** 功 能:CCP1输出PWM设置,设置完成后即输出PWM
****************************************************************** */
void PWMSet()
{
TRISC=TRISC&0XFB; /* 设置CCP1(RC2)引脚为输出方式 */
PR2=0XFF; /* 设置PWM工作周期=((PR2)+1)*4*Tosc*(TMR2前分频值)*/
// CCPR1L=0X7F; /* CCP1高电平值高8位为01111111=7F,占空比0.5 */
CCPR1L=0X3F; /* CCP1高电平值高8位为01111111=3F,占空比0.25 */
CCP1CON=0X3C; /* CCP1模块为PWM工作方式,高电平值低2位为11*/
T2CON=0X04; /* 打开TMR2,且使其前后分频为1,同时开始输出PWM波形 */
CCP1IE=0; /* CCP1中断禁止 */
}
main()
{
initial(); /* 系统初始化子程序 */
PWMSet(); /* CCP1输出PWM设置,设置完成后即输出PWM */
while(1)
{
; /* 可用作用户编程 */
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -