• 大小: 3.01MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-11
  • 语言: 其他
  • 标签:

资源简介

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


评论

共有 条评论