芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

PCA9685实现16路舵机驱动程序单片机解密

单片机解密51驱动16路舵机程序。
单片机源程序如下:
  1. #include"reg51.h"         
  2. #include <intrins.h>
  3. #include <stdio.h>
  4. #include <math.h>
  5. typedef  unsigned char  uchar;      
  6. typedef  unsigned int   uint;      


  7. sbit scl=P2^1;                        
  8. sbit sda=P2^0;                  


  9. #define PCA9685_adrr 0x80

  10. #define PCA9685_SUBADR1 0x2
  11. #define PCA9685_SUBADR2 0x3
  12. #define PCA9685_SUBADR3 0x4


  13. #define PCA9685_MODE1 0x0
  14. #define PCA9685_PRESCALE 0xFE


  15. #define LED0_ON_L 0x6
  16. #define LED0_ON_H 0x7
  17. #define LED0_OFF_L 0x8
  18. #define LED0_OFF_H 0x9


  19. #define ALLLED_ON_L 0xFA
  20. #define ALLLED_ON_H 0xFB
  21. #define ALLLED_OFF_L 0xFC
  22. #define ALLLED_OFF_H 0xFD


  23. #define SERVOMIN  90 // this is the 'minimum' pulse length count (out of 4096)
  24. #define SERVOMAX  700 // this is the 'maximum' pulse length count (out of 4096)
  25. #define SERVO000  130 //
  26. #define SERVO180  520 //


  27. void delayms(uint z)
  28. {
  29.   uint x,y;
  30.   for(x=z;x>0;x--)
  31.       for(y=148;y>0;y--);
  32. }

  33. void delayus()
  34. {
  35.           _nop_();        
  36.                 _nop_();
  37.                 _nop_();
  38.                 _nop_();
  39.                 _nop_();

  40. }

  41. void init()
  42. {
  43.     sda=1;               
  44.     delayus();
  45.     scl=1;
  46.     delayus();
  47. }

  48. void start()
  49. {
  50.     sda=1;
  51.     delayus();
  52.     scl=1;                     
  53.     delayus();
  54.     sda=0;
  55.     delayus();
  56.     scl=0;
  57.     delayus();
  58. }

  59. void stop()
  60. {
  61.     sda=0;
  62.     delayus();
  63.     scl=1;                        
  64.     delayus();
  65.     sda=1;                  
  66.     delayus();
  67. }

  68. void ACK()
  69. {
  70.     uchar i;
  71.     scl=1;
  72.     delayus();
  73.     while((sda==1)&&(i<255))      
  74.                 i++;                                       
  75.     scl=0;                                 
  76.     delayus();
  77. }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信