供求合作

当前页面: 首页 >供求信息 >PG-F3

PG-F3

供稿:ddssaaa 2016/6/12 15:36:53

0 人气:3

  • 型号:PG-F3

  • 数量:100

  • 制造商:上海曦龙电气设备有限公司

  • 有效期:2017/6/12 0:00:00

描述:

PG-F3 PG-F3 PG-F3


系统软件设计

MPC006运动控制芯片模块与单片机串口通讯速率为115200bps,数据位为8位,停止位1位,无校验。

单片机与mpc006运动控制模块采用串口应答式通讯,单片机作主机,单片机每发送一条指令给mpc006运动控制芯片模块,mpc006运动控制芯片模块返回以0x68开始的固定长度为10个字节的数据串。单片机可以取出需要的数据。一般情况需接收到mpc006运动控制模块返回的数据后单片机才能发送下一条指令。如果程序中不接收模块返回的数据,需间隔5MS以上才能发送下一条指令。另外需注意,当发送指令时如果字节间时间间隔大于1MS,模块会认为整条指令发送结束,所以在发送一条指令给模块时不要被程序里的中断长时间打断。当接收模块的返回的数据时,由于波特率很高,如果有长时间中断打断接收过程,可能会导致接收字节丢失。所以,通讯时能暂时关闭其它太占时长中断。mpc运动控制模块带1000条指令缓存空间,并自带基本逻辑判断能力,单片机不用等待一条执行完成后才发送下一条,完全可以一起发送给模块,模块会按顺序自动逐条执行。

单片机发送和接收指令的数据格式如下:

起始码

数据个数

模块地址

功能码

参数…

校验和

0x68

1字节

1字节

1字节

1字节

起始码:为一条指令的起始字节内容,固定为0x68。

数据个数:为从数据个数开始到校验和的数据长度。

模块地址:为控制器的通讯地址。地址0对所有控制器都有效。

功能码:表示指令的功能,每条指令的功能码都是唯一的。

参数:表示指令的参数,每条指令的参数字节数并不都是相同的。

校验和:为从数据个数开始到校验和前一个字节的校验和。

mpc006运动控制芯片模块默认地址为0,可以接收带任何地址的指令数据。如果单片机串口只连接了一个模块,地址可以不用设置。

mpc006运动控制芯片模块无需任何初使化。上电后只发一条pmove单轴运行指令对应轴都会有脉冲输出。

使用函数前先设置好单片机的串口功能,并将需要用到的函数的原型拷贝到当前程序内。本文所使用的函数原型为基础版本,已根据模块使用说明书中通讯协议将各指令通讯过程描述出来。用户可根据所使用单片机的资源在保证通讯格式正确的情况下作出适当优化。

试验程序如下:进口伺服电机驱动器    伺服电机控制器     零配件销售jsoknkudfg

联系人:程经理

手机:139188-64473


手机:139188-64473


 QQ:937926739  


固话:021-6131-6707


固话:021-6131-8625

#include <reg52.h>

//-----STC89C2051-------

sfr IPH           =0XB7;        

sfr   CCON     =0XD8;

sfr   CMOD    =0XD9;

sfr   CL          =0XE9;

sfr   CH          =0XF9;

sfr   CCAP0L  =0XEA;

sfr   CCAP0H =0XFA;

sfr   CCAPM0 =0XDA;

sfr   CCAPM1 =0XDB;

sfr P3M1= 0XB1;

sfr P3M0= 0XB2;

sfr P1M1= 0X91;

sfr P1M0= 0X92;

sfr WAKE_CLKO= 0X8f;

sfr BRT     =0x9c;

sfr AUXR     =0x8E;

sfr AUXR1   = 0xA2;    

sfr WDT_CONTR = 0xc1;          

sfr T2MOD  = 0xC9;            

//////////////////

sbit busy = P3^2;

sbit s1     =     P3^7;

void initial()

{

      P3M1 = 0x00;

      P3M0 = 0x80;

      P1M1 = 0x00;

      P1M0 = 0xf9;                                  

}

/*void init_uart()    //串口1使用硬件波率发生器

{

 PCON &= 0x7f;  //波特率不倍速

  SCON = 0x50;  //8位数据,可变波特率

  BRT = 0xFD;      //设定独立波特率发生器重装值 波特率115200bps

  AUXR |= 0x04;  //独立波特率发生器时钟为Fosc,即1T

  AUXR |= 0x01;  //串口1选择独立波特率发生器为波特率发生器

  AUXR |= 0x10;  //启动独立波特率发生器

} */

void init_uart() //串口1使用定时器1重装值为波率

{

      AUXR = 0x54;  //使能独立波特率发生器,独立波特1个计1次,T1不分频,串口1选择定时器重装值为波率

       SCON = 0x50;       //uart1方式1,允许接收

       TMOD |= 0x20;     //T1,方式2

       TL1 = 0xFD;         //115200波率

          TH1 = 0xFD;         //115200波率

       TR1 = 1;   //T1开启

}


联系方式:
  • 电话:13918864473
  • 传真:021-61318625
  • email:937926739@qq.com

手机扫描二维码分享本页

工控网APP下载安装

 

我来评价

评价:
一般