本帖最后由 芯圣电子官方QQ 于 2023-7-20 10:29 编辑
void GPIO_inital(void)
{
PORTA=0X00; //PA4作为输出端口
PORTB=0X00; //PORT口输出高低电平设置 1=高电平,0=低电平
TRISA &=0b11101111; //输入输出设置 1=输入,0=输出
TRISB |=0xFB; //输入输出设置 1=输入,0=输出
// ANSEL=0X00;
WPUA =0XEF; //上拉设置 1=DISABLED PULL-UP ;0=PULL-UP
WPUB =0XFB; //上拉设置 1=DISABLED PULL-UP ;0=PULL-UP}
}
void PWM_inital(void)
{
OPTION=0X00; //使用高频时钟
TRISB2=1;
PR2=50; //PWM周期寄存器赋值
CCPR1L=25; //占空比调节寄存器高8位
CCP1CON=0X0C; //选PWM模块,填写中空壁低两位
T1IF=0;
T1CON=0X00; //分频1:1
T1ON=1; //开T1
T1IE=1;
while(!T2IF)
{
continue;
}
T2IF=0;
T2IE=0;
TRISB=0X00;
}
// 占空比 = (CCPRxL:CCPxCON<5:4>) / 4(PR2 + 1)
void set_pwm_duty(int duty)
{
//CCPR1L = duty<< 2;
CCPR1L =50;
//CCP1CON &= (duty & 0x0030) ;
}
|