[通用PIC核OTP系列] HC18P110L PWM设置

[复制链接]
837|0
 楼主| 从此不早朝 发表于 2023-2-26 16:00 | 显示全部楼层 |阅读模式
本帖最后由 芯圣电子官方QQ 于 2023-7-20 10:29 编辑

  1. void GPIO_inital(void)
  2. {
  3.         PORTA=0X00;                        //PA4作为输出端口
  4.         PORTB=0X00;                        //PORT口输出高低电平设置  1=高电平,0=低电平
  5.         TRISA &=0b11101111;                        //输入输出设置  1=输入,0=输出
  6.         TRISB |=0xFB;                                //输入输出设置  1=输入,0=输出
  7.         
  8. //        ANSEL=0X00;
  9.         WPUA =0XEF;                        //上拉设置 1=DISABLED PULL-UP  ;0=PULL-UP
  10.         WPUB =0XFB;                        //上拉设置 1=DISABLED PULL-UP  ;0=PULL-UP}
  11. }



  12. void PWM_inital(void)
  13. {
  14.         OPTION=0X00;        //使用高频时钟

  15.         TRISB2=1;
  16.         
  17.         PR2=50;                        //PWM周期寄存器赋值
  18.         CCPR1L=25;                //占空比调节寄存器高8位
  19.         
  20.         CCP1CON=0X0C;        //选PWM模块,填写中空壁低两位
  21.         
  22.         
  23.         T1IF=0;
  24.         T1CON=0X00;                //分频1:1
  25.         T1ON=1;                        //开T1
  26.         T1IE=1;        
  27.         
  28.         while(!T2IF)
  29.         {
  30.         continue;
  31.         }
  32.         T2IF=0;
  33.         T2IE=0;
  34.         TRISB=0X00;        
  35. }


  36. // 占空比 = (CCPRxL:CCPxCON<5:4>)  / 4(PR2 + 1)
  37. void set_pwm_duty(int duty)
  38. {
  39.         //CCPR1L = duty<< 2;
  40.         CCPR1L =50;
  41.         //CCP1CON &= (duty & 0x0030) ;
  42. }


您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

185

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部