教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 幼儿教育 >

串口调试助手控制步进电机正反转

来源:网络收集 时间:2026-05-24
导读: 串口调试助手·控制步进电机 串口调试助手控制步进电机正反转 #include reg52.h #include stdio.h #define uchar unsigned char #define uint unsigned int unsigned char table1[8]={0x08,0x0C,0x04,0x06,0x02,0x03,0x01,0x09}; //控制电机正传 unsigned ch

串口调试助手·控制步进电机

串口调试助手控制步进电机正反转

#include <reg52.h>

#include <stdio.h>

#define uchar unsigned char

#define uint unsigned int

unsigned char table1[8]={0x08,0x0C,0x04,0x06,0x02,0x03,0x01,0x09}; //控制电机正传

unsigned char table2[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0C,0x08}; //控制电机反转

unsigned char ch,step;

int t1,t2,a,b;

/*------------------------------------------------

串口初始化函数

------------------------------------------------*/

void ckinit()

{

TMOD=0X20;

TH1=0XFD;

TL1=0XFD; //设置波特率为9600 TR1=1; //启动定时器1 SCON=0X50;

PCON=0X00; //设置串口工作方式1 }

/*------------------------------------------------

控制字符接收函数

------------------------------------------------*/

void SCI_Rev() //串口接收数据 {

uint i=0;

while(RI){

ch=SBUF;

a=ch-96;

b=ch-64;

RI=0;

}

}

/*------------------------------------------------

电机延时函数

------------------------------------------------*/

void delay(int n){

串口调试助手·控制步进电机

int i,j; //延时0.999ms*n 12MHZ晶振 for(i=0;i<n;i++){

for(j=0;j<120;j++)

;

}

}

/*------------------------------------------------

电机正转函数

------------------------------------------------*/

void forward1(){

for(t1=512*a;t1>0;t1--){

for(step=0;step<8;step++){

P1=table1[step];

delay(2);

if(RI)

t1=0;

}

}

}

/*------------------------------------------------

电机反转函数

------------------------------------------------*/

void backward1(){

for(t2=512*b;t2>0;t2--){

for(step=0;step<8;step++){

P1=table2[step];

delay(2);

if(RI)

t2=0;

}

}

}

/*------------------------------------------------

电机停止函数

------------------------------------------------*/

void stop(){

P1=0xff;

delay(100);

}

/*------------------------------------------------

主函数

------------------------------------------------*/

void main(){

串口调试助手·控制步进电机

ckinit();

while(1){

SCI_Rev(); switch(ch){ case'a':

forward1(); ch=0; break;

case'b':

forward1(); ch=0; break;

case'c':

forward1(); ch=0; break;

case'd':

forward1(); ch=0; break;

case'A':

backward1(); ch=0; break;

case'B':

backward1(); ch=0; break;

case'C':

backward1(); ch=0; break;

case'D':

backward1(); ch=0; break; //正转1圈 //正转2圈 //正转3圈 //正转4圈 //反转1圈 //反转2圈 //反转3圈 //反转4圈

串口调试助手·控制步进电机

case'0': stop(); break; default: break; }

P1=0; }

} //停止电机

…… 此处隐藏:145字,全部文档内容请下载后查看。喜欢就下载吧 ……
串口调试助手控制步进电机正反转.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/39010.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)