32路舵机控制机器人C51单片机C语言知识程序代码

上传人:新*** 文档编号:101757808 上传时间:2019-09-29 格式:DOC 页数:10 大小:15.32KB
返回 下载 相关 举报
32路舵机控制机器人C51单片机C语言知识程序代码_第1页
第1页 / 共10页
32路舵机控制机器人C51单片机C语言知识程序代码_第2页
第2页 / 共10页
32路舵机控制机器人C51单片机C语言知识程序代码_第3页
第3页 / 共10页
32路舵机控制机器人C51单片机C语言知识程序代码_第4页
第4页 / 共10页
32路舵机控制机器人C51单片机C语言知识程序代码_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《32路舵机控制机器人C51单片机C语言知识程序代码》由会员分享,可在线阅读,更多相关《32路舵机控制机器人C51单片机C语言知识程序代码(10页珍藏版)》请在金锄头文库上搜索。

1、/32路舵机控制机器人C51单片机C语言程序代码说明: 32路舵机控制板,最多可以控制32个舵机,可以对仿生,人形等机器人进行控制,轻松上手。/* 本程序在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

2、_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_ucCmdCMD_LEN + 1 = 0;uchar g_ucLen = 0; / 命令长度uchar g_ucCur = 1; / 光标位置void main() UartInit(); UartSendStr(#1P1500T100rn); / S

3、1号舵机在时间100ms内移动到PWM1500的位置 / UartSendStr(#1GC2rn); / 执行第一个动作组,循环执行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; /

4、 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: 发送的字符

5、指针* Return: None*/void UartSendStr(uchar *pStr) while(*pStr != 0) SBUF = *pStr+; while(TI=0); TI=0; void UartSrv() interrupt 4unsigned char ch;ch = SBUF;if(RI) RI = 0; /UartSendChar(ch); /P0 = ch; UartCharPro(ch); /* Name: UartCharPro* Func:* 字符处理过程函数。根据输入的普通字符或控制字符判断回显。* Para:* uchar ch: 判断的字符* Ret

6、urn: 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-; g_ucCur-; break; case r: / 回车键 UartSendChar(r); UartSendChar(n); g_ucCmdg_ucLen = 0; UartSendStr(g_ucCmd); UartSendChar(r); UartSendChar(n); UartSendChar(); g_ucLen = 0; g_ucCur = 1; break; default: / 其它字符 UartSendChar(ch); g_ucCur+; if(g_ucLen CMD_LEN) g_ucCmdg_ucLen+ = ch; else g_ucCmdg_ucLen = 0;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 专业基础教材

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号