资源简介
利用pca9685驱动板驱动9个舵机 甚至更多舵机。

代码片段和文件信息
#include
#include
#include
#include
typedef unsigned char uchar;
typedef unsigned int uint;
unsigned char buf;
sbit scl=P2^6;
sbit sda=P2^7;
#define PCA9685_adrr 0x80// 1+A5+A4+A3+A2+A1+A0+w/r
#define PCA9685_SUBADR1 0x2
#define PCA9685_SUBADR2 0x3
#define PCA9685_SUBADR3 0x4
#define PCA9685_MODE1 0x0
#define PCA9685_PRESCALE 0xFE
#define LED0_ON_L 0x6
#define LED0_ON_H 0x7
#define LED0_OFF_L 0x8
#define LED0_OFF_H 0x9
#define ALLLED_ON_L 0xFA
#define ALLLED_ON_H 0xFB
#define ALLLED_OFF_L 0xFC
#define ALLLED_OFF_H 0xFD
#define SERVOMIN 115 // this is the ‘minimum‘ pulse length count (out of 4096)
#define SERVOMAX 590 // this is the ‘maximum‘ pulse length count (out of 4096)
#define SERVO000 130 //0度
#define SERVO180 520 //180度
#define SERVO80 284 //80度
#define SERVO110 340//110度
void delayms(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=148;y>0;y--);
}
void delayus() //大于4.7us
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
/*---------------------------------------------------------------
IIC初始化
----------------------------------------------------------------*/
void init()
{
sda=1; //sda scl使用前被拉高
delayus();
scl=1;
delayus();
}
/*---------------------------------------------------------------
IIC????????
----------------------------------------------------------------*/
void start()
{
sda=1;
delayus();
scl=1; //scl高 sda拉低 ????IIC启动
delayus();
sda=0;
delayus();
scl=0;
delayus();
}
/*---------------------------------------------------------------
IIC停止
----------------------------------------------------------------*/
void stop()
{
sda=0;
delayus();
scl=1; //scl??? sda??????? ????IIC??
delayus();
sda=1;
delayus();
}
/*---------------------------------------------------------------
IIC应答
----------------------------------------------------------------*/
void ACK()
{
uchar i;
scl=1;
delayus();
while((sda=1)&&(i<255))
i++;
scl=0;
delayus();
}
/*---------------------------------------------------------------
写字节
----------------------------------------------------------------*/
void write_byte(uchar byte)
{
uchar itemp;
temp=byte;
for(i=0;i<8;i++)
{
temp=temp<<1;
scl=0;
delayus();
sda=CY;
delayus();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-09-24 13:40 pca9685驱动板驱动9个舵机\
文件 6376 2012-12-10 10:20 pca9685驱动板驱动9个舵机\STARTUP.A51
文件 14054 2014-05-11 11:27 pca9685驱动板驱动9个舵机\STARTUP.LST
文件 749 2014-05-11 11:27 pca9685驱动板驱动9个舵机\STARTUP.OBJ
文件 17477 2017-09-24 11:50 pca9685驱动板驱动9个舵机\yidengshanshuo
文件 971 2017-09-24 11:50 pca9685驱动板驱动9个舵机\yidengshanshuo.build_log.htm
文件 9127 2017-09-24 11:50 pca9685驱动板驱动9个舵机\yidengshanshuo.c
文件 6184 2017-09-24 11:50 pca9685驱动板驱动9个舵机\yidengshanshuo.hex
文件 45 2017-09-24 11:50 pca9685驱动板驱动9个舵机\yidengshanshuo.lnp
文件 14768 2017-09-24 11:50 pca9685驱动板驱动9个舵机\yidengshanshuo.LST
文件 19144 2017-09-24 11:50 pca9685驱动板驱动9个舵机\yidengshanshuo.M51
文件 18241 2017-09-24 11:50 pca9685驱动板驱动9个舵机\yidengshanshuo.OBJ
文件 993 2017-09-24 13:40 pca9685驱动板驱动9个舵机\yidengshanshuo.Opt
文件 197 2015-08-15 12:15 pca9685驱动板驱动9个舵机\yidengshanshuo.plg
文件 2161 2017-09-11 00:49 pca9685驱动板驱动9个舵机\yidengshanshuo.Uv2
文件 993 2017-09-24 11:40 pca9685驱动板驱动9个舵机\yidengshanshuo_Opt.Bak
文件 2166 2015-04-26 22:55 pca9685驱动板驱动9个舵机\yidengshanshuo_Uv2.Bak
- 上一篇:中山大学数电实验大作业
- 下一篇:弱密码字典**弱密码字典
相关资源
- Navicat Premium 15汉化包.zip55438
- 登录注册界面.zip48872
- 电信中兴光猫超密获取工具使用方法
- IAR-Keygen-2019+附使用教程.zip
-
st
yles 引文样式语言( CSL ) 引文样 - flash as3 多点触控-缩放-旋转-滑动.zi
- IMX385驱动代码.zip
- sony_imx385.zip
- Origin2019最新中文版用户入门使用手册
- ucosII源代码 2.9版本全 Micrium-uCOS-II-V
- SX1301 +sx1255 GATEWAY.zip
- SX126x_LORA驱动程序(包含完整的工程文
- STM32 DS3231驱动.zip
- 7-zip压缩包
- EC20相关.zip
- 21天学会嵌入式开发STM32.zip
- Intel(R) 82579V网卡驱动for server20033
- 企业工资管理系统.zip
- OdooHotelManagementSystem 基于Odoo的酒店管
- 代码项目“生成”微博、知乎、
- 迅雷敏感资源限制解除小工具.zip
- 美松打印机SDK MsPrintSDK-Demo-DLL-CShare-
- BullZip PDF Printer v10.10.0.2307 官方版
- 今日头条源码.zip
- teleportultra_22658.zip
-
Notepad++xm
l格式化插件和json格式化插 - Surface pro 7 SD卡固定硬盘X64驱动带数字
- 解决方案-超过100帧/秒的速度从单色摄
- DMA+stm32 407.zip
- 4_USART串口通信(空闲中断+DMA.zip
评论
共有 条评论