本帖最后由 芯圣电子官方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) ;
- }
|