PCA9685与 NXP1768单片机iic通信,扩展PWM端口。已调试成功。

一直在用NXP的单片机做各种开发, 最近遇到了这么个问题,就是单片机的PWM端口不够用,公司硬件工程师推荐使用NXP的PCA9685芯片扩展,PCA9685 是一款 I2C 总线接口的 16 位 LED 控制器。一个芯片可以扩展出16路PWM,我们用了两个,成功扩展出32路PWM端口,再也不用使用GPIO去模拟了。由于硬件设计板子,投版,制版流程太慢,所以我在淘宝上买了个PCA9685的开发板,很便宜,十几块钱。

切入正题,怎么使用PCA9685扩展PWM端口呢?此芯片是通过IIC与其他MCU通信的,程序参考了http://bbs.elecfans.com/forum.php?mod=viewthread&tid=1104135&extra=page=1&orderby=dateline有关51单片机驱动程序修改的有兴趣可以看看,下面是修改后的程序。

接线方法:VCC -3.3V  给芯片供电,GND-接地 SCL-接单片机SCL(时钟)

//PCA9685 扩展芯片相关
#define PCA9685_I2C_ID        1
#define PCA9685_adrr 0x80//  1+A5+A4+A3+A2+A1+A0+w/r   最后一位0代表写地址,1代表读地址
                                            //片选地址,将焊接点置1可改变地址,
                                            // 需要注意的是芯片的IIC地址在不做任何焊接的情况下是0X80,有些淘宝卖家认为是0X40。
#define PCA9685_SUBADR1 0x2
#define PCA9685_SUBADR2 0x3
#define PCA9685_SUBADR3 0x4


#define PCA9685_MODE1 0x0
#define PCA9685_PRESC

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值