资源简介
32路舵机控制板,最多可以控制32个舵机,可以对仿生,人形等机器人进行控制,内附详细的使用教程,轻松上手。配有电脑端上位机软件,安卓APK软件,多种方式控制,文档中也有控制板与C51单片机,Arduino开发板的通信代码,方便二次开发。
代码片段和文件信息
/*********************************************************************
* 本程序在STC89C51RC单片机中进行过测试,完全正常(晶振11.0592M)
*用户可以根据晶振不同自行修改,建议用户先连接PC,通过PC的串口调试
* 助手来验证程序是否有效
* P30: RXD
* P31: TXD
**********************************************************************/
#include
#ifndef _DG_TYPE_
#define _DG_TYPE_
typedef unsigned char uchar;
typedef unsigned int uint;
#endif
#define CMD_LEN 75 // 命令长度
#define CMD_TAG 1 // 提示符长度
void UartInit();
void UartSendChar(unsigned char ch);
void UartSendStr(uchar *pStr);
void UartCharPro(uchar ch);
void UartCmdPro();
uchar g_ucCmd[CMD_LEN + 1] = {0};
uchar g_ucLen = 0; // 命令长度
uchar g_ucCur = 1; // 光标位置
void main()
{
UartInit();
UartSendStr(“#1P1500T100\r\n“); // S1号舵机在时间100ms内移动到PWM1500的位置
// UartSendStr(“#1GC2\r\n“); // 执行第一个动作组,循环执行2次
while(1);
}
/************************************************************
* Name: UartInit
* Func:
* 串行通信初始化
* Para:
* uchar ch: 发送的字符
* Return: None
***********************************************************/
void UartInit()
{
SCON = 0x50; // SCON: serail mode 1 8-bit UART
TMOD |= 0x20; // TMOD: timer 1 mode 2 8-bit reload
PCON |= 0x80; // SMOD=“1“;
TH1 = 0xFA; // Baud:9600 fosc=“11“.0592MHz
TL1 = 0xFA;
IE |= 0x90; // 使能串行中断
TR1 = 1; // 启动TIMER1
EA = 1;
}
/************************************************************
* Name: UartSendChar
* Func:
* 向串口发送一个字符
* Para:
* uchar ch: 发送的字符
* Return: None
***********************************************************/
void UartSendChar(unsigned char ch)
{
SBUF = ch;
while(TI==0);
TI=0;
}
/************************************************************
* Name: UartSendStr
* Func:
* 向串口发送以0结尾的字符串
* Para:
* uchar *pStr: 发送的字符指针
* Return: None
***********************************************************/
void UartSendStr(uchar *pStr)
{
while(*pStr != 0)
{
SBUF = *pStr++;
while(TI==0);
TI=0;
}
}
void UartSrv() interrupt 4
{
unsigned char ch;
ch = SBUF;
if(RI)
{
RI = 0;
//UartSendChar(ch);
//P0 = ~ch;
UartCharPro(ch);
}
}
/************************************************************
* Name: UartCharPro
* Func:
* 字符处理过程函数。根据输入的普通字符或控制字符判断回显。
* Para:
* uchar ch: 判断的字符
* Return: None
***********************************************************/
void UartCharPro(uchar ch)
{
P0 = ~ch;
switch(ch)
{
case ‘\b‘: // 退格键
if(g_ucCur > CMD_TAG) {
UartSendChar(‘\b‘);
UartSendChar(‘ ‘);
UartSendChar(‘\b‘);
if(g_ucLen) {
g_ucLen--;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 349668 2014-04-27 10:59 PS2手柄的使用说明.pdf
文件 5268480 2015-01-09 10:55 rios_usc.exe
文件 47190 2013-02-27 23:32 usc.apk
文件 17700 2013-02-27 23:32 舵机的三根线.jpg
文件 332232 2014-09-21 10:48 如何使用串口调试助手给舵机控制板发指令.pdf
文件 916 2014-05-12 09:34 0.必读!!!!!.txt
文件 367096 2014-06-17 09:50 1.快速入门.pdf
文件 721877 2014-06-17 09:48 2.使用说明.pdf
文件 3878 2014-04-08 17:37 51单片机通讯的程序.c
文件 433 2014-05-06 20:00 Arduino程序.ino
----------- --------- ---------- ----- ----
7109470 10
- 上一篇:FiraCode1.2 最适合程序员的编程字体
- 下一篇:北邮下一代网络实验报告
评论
共有 条评论