找回密码
 立即注册
查看: 127|回复: 4

AI8G1K08A有没有PWM可用,从引脚示意上看不出,选型 上说有

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2026-02-04 09:19:16
已绑定手机

16

主题

29

回帖

246

积分

中级会员

积分
246
发表于 2026-2-4 09:19:16 | 显示全部楼层 |阅读模式
AI8G1K08A SOP-8的有没有PWM可用,从引脚示意上看不出,选型上说有,烧录APP示例程序很少,且没有功能说明。小白真搞不懂!我想用AI8G1K08A SOP-8 的ADC值来控制改变PWM输出频率,如何搞?哪有类似的例程?请多指点。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:286
  • 最近打卡:2026-03-18 08:52:53

16

主题

763

回帖

3753

积分

超级版主

积分
3753
发表于 2026-2-4 10:17:57 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:724
  • 最近打卡:2026-03-18 07:56:47
已绑定手机

97

主题

7244

回帖

1万

积分

超级版主

积分
13791
发表于 2026-2-4 11:42:17 | 显示全部楼层
  1. CCON=0x00;                                //设置PCA控制寄存器
  2.         CMOD=0x80;                                //设置空闲模式下PCA停止计数,禁止PCA计数器溢出中断,设置PCA时钟为系统时钟/12(900Hz)
  3.         CL=0x00;                                //设置PCA计数器
  4.         CH=0x00;                                //设置PCA计数器
  5.         CCAPM0=PWM0;                        //使能PCA模块0PWM功能
  6.         PCA_PWM0=0xc0;                        //设置PCA模块0输出10位PWM
  7.         CCAPM1=PWM1;                        //使能PCA模块1PWM功能
  8.         PCA_PWM1=0xc0;                        //设置PCA模块1输出10位PWM
  9.         CCAPM2=PWM2;                        //使能PCA模块2PWM功能
  10.         PCA_PWM2=0xc0;                        //设置PCA模块2输出10位PWM
  11.         CR=1;                                        //启动PCA
复制代码
  1. void PWM_Out(unsigned int pwm_0,pwm_1,pwm_2)
  2. {
  3.         unsigned char temp_l,temp_h,temp;
  4.        
  5.         temp_l=pwm_0&0x00ff;                //读pwm_0低8位赋值给temp_l
  6.         temp_h=(pwm_0&0x0300)>>4;        //读pwm_0高2位,移动到XCCAP0H(PCA_PWM0[5:4])位置,赋值给temp_h
  7.         temp=PCA_PWM0&0xcd;                        //读PCA_PWM0,XCCAP2H(PCA_PWM0[5:4])、EPC0H(PCA_PWM0[1])清零后赋值给temp
  8.         temp_h|=temp;                                //写其他位到temph
  9.         if(pwm_0==0x03ff)                        //如果pwm_0最大
  10.                 temp_h|=0x02;                        //设置EPC0H(PCA_PWM0[1])为1
  11.         PCA_PWM0=temp_h;                        //写PCA_PWM0(先写高2位)
  12.         CCAP0H=temp_l;                                //写CCAP0H(再写低8位)
  13.        
  14.         temp_l=pwm_1&0x00ff;                //读pwm_1低8位赋值给temp_l
  15.         temp_h=(pwm_1&0x0300)>>4;        //读pwm_1高2位,移动到XCCAP1H(PCA_PWM1[5:4])位置,赋值给temp_h
  16.         temp=PCA_PWM1&0xcd;                        //读PCA_PWM1,XCCAP1H(PCA_PWM2[5:4])、EPC1H(PCA_PWM1[1])清零后赋值给temp
  17.         temp_h|=temp;                                //写其他位到temph
  18.         if(pwm_1==0x03ff)                        //如果pwm_1最大
  19.                 temp_h|=0x02;                        //设置EPC1H(PCA_PWM1[1])为1
  20.         PCA_PWM1=temp_h;                        //写PCA_PWM1(先写高2位)
  21.         CCAP1H=temp_l;                                //写CCAP1H(再写低8位)
  22.        
  23.         temp_l=pwm_2&0x00ff;                //读pwm_2低8位赋值给temp_l
  24.         temp_h=(pwm_2&0x0300)>>4;        //读pwm_2高2位,移动到XCCAP2H(PCA_PWM2[5:4])位置,赋值给temp_h
  25.         temp=PCA_PWM2&0xcd;                        //读PCA_PWM2,XCCAP2H(PCA_PWM2[5:4])、EPC2H(PCA_PWM2[1])清零后赋值给temp
  26.         temp_h|=temp;                                //写其他位到temph
  27.         if(pwm_2==0x03ff)                        //如果pwm_2最大
  28.                 temp_h|=0x02;                        //设置EPC2H(PCA_PWM2[1])为1
  29.         PCA_PWM2=temp_h;                        //写PCA_PWM2(先写高2位)
  30.         CCAP2H=temp_l;                                //写CCAP2H(再写低8位)
  31. }
复制代码
以上程序供参考,注意PCA不能连续变频
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:670
  • 最近打卡:2026-03-21 13:01:36
已绑定手机

160

主题

1935

回帖

2113

积分

金牌会员

积分
2113
发表于 2026-2-5 22:21:15 | 显示全部楼层
PCA,或者定时器输出口也可以用
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2026-02-06 08:42:05

3

主题

23

回帖

219

积分

中级会员

积分
219
发表于 2026-2-6 08:42:05 | 显示全部楼层
AI8G1K08A必须有PWM(PCA0/PCA1/PCA2)啊,我就用过ADC读NTC温度然后PWM来调节风扇转速散热,但我是变占空比不是变频。
可以参照AI8G**PCA的程序,8G1K08A仅输出引脚不一样。
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-3-22 06:34 , Processed in 0.108268 second(s), 68 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表