当前位置:文档之家› 步进电机写字机器人程序

步进电机写字机器人程序

步进电机写字机器人程序
/*转动160时,为45度。

25时,向前走1cm*/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char #define uint unsigned int sbit diancitie=P2^3;
sbit recept_led=P2^4;
sbit K4=P3^2;
sbit move_car_led=P2^5; sbit recept_ok=P1^4;
sbit ledd=P1^1;
sbit key=P2^0;
extern bit tingzhi;
uchar code zheng[8]={0x98,0x1c,0x34,0x26,0x62,0x43,0xc1,0x89}; //正向旋转相序表
uchar code fan[8]={0x89,0xc1,0x43,0x62,0x26,0x34,0x1c,0x98}; //反向旋转相序表
uchar code zhuan1[8]={0x99,0x11,0x33,0x22,0x66,0x44,0xcc,0x88};//转弯1
uchar code zhuan2[8]={0x88,0xcc,0x44,0x66,0x22,0x33,0x11,0x99};//转弯2
uchar code luo_bi[8]={0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1,0xf9};
uchar code qi_bi[8]={0xf9,0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8};
void delay(uint aa) {
int x,bb;
for(x=0;x<aa;x++)
for(bb=0;bb<160;bb++); //1ms基准延时程序 } void qibi()
{
int i,j;
for(i=0;i<50;i++)
{
for(j=0;j<8;j++)
{
P1=qi_bi[j];
delay(2);
}
}
}
void luobi()
{
int i,j;
for(i=0;i<50;i++)
{
for(j=0;j<8;j++)
{
P1=luo_bi[j];
delay(3);
}
}
}
int gostright(int z) {
int i,j;
for(i=0;i<z;i++)
for(j=0;j<8;j++)
{
P0=zheng[j];
delay(1);
}
}
int goback(int z) {
int i,j;
for(i=0;i<z;i++)
for(j=0;j<8;j++)
{
P0=fan[j];
delay(1);
}
}
int turnleft(int z) //左转 { int i,j;
for(i=0;i<z;i++)
for(j=0;j<8;j++)
{
P0=zhuan1[j];
delay(2);
}
}
int turnright(int z) //右转
{
int i,j;
for(i=0;i<z;i++)
for(j=0;j<8;j++)
{
P0=zhuan2[j];
delay(2);
}
}
int turn45du_left(int time) //左转45度{
int dd=0;
for(dd=0;dd<time;dd++)
turnleft(155);
}
int xiao45du_left(int time) //左转4.5度{
int dd=0;
for(dd=0;dd<time;dd++)
turnleft(15);
}
int turn45du_right(int time) //右转45度{
int dd=0;
for(dd=0;dd<time;dd++)
turnright(155);
}
int xiao45du_right(int time) //右转4.5度{
int dd=0;
for(dd=0;dd<time;dd++)
turnright(15);
}
int gostright1cm(int time) //前进1cm { int dd=0;
for(dd=0;dd<time;dd++)
gostright(25);
}
int goback1cm(int time) //后退1cm {
int dd=0;
for(dd=0;dd<time;dd++)
goback(25);
}
void main()
{
while(1)
{ qibi();
//turn45du_left(2); gostright1cm(12); luobi();
goback1cm(12);
qibi(); //1
gostright1cm(17); turn45du_right(2); xiao45du_left(1); goback1cm(8);
//gostright1cm(10); luobi();
goback1cm(10);
qibi(); //2
gostright1cm(28);
// gostright1cm(10); turn45du_left(2); xiao45du_right(1); goback1cm(5);
//gostright1cm(10); luobi();
goback1cm(12);
qibi(); //3 gostright1cm(31); //gostright1cm(18); turn45du_left(2); goback1cm(8);
//gostright1cm(10); luobi();
goback1cm(10);
qibi(); //4
turn45du_left(2); gostright1cm(2); turn45du_right(2); gostright1cm(9); luobi();
goback1cm(6);
qibi(); // 1行
turn45du_left(2); xiao45du_right(1); gostright1cm(5); turn45du_right(2); gostright1cm(6);
luobi();
goback1cm(6);
qibi(); //2行
turn45du_left(2); gostright1cm(4); turn45du_right(2); gostright1cm(6); luobi();
goback1cm(6);
qibi(); // gostright1cm(21); turn45du_right(2); goback1cm(10); luobi();
goback1cm(8);
qibi();
gostright1cm(21); turn45du_left(1) ; goback1cm(19) ; luobi();
goback1cm(1) ;
qibi();
goback1cm(19) ;
//
/* gostright1cm(22); turn45du_left(2); xiao45du_right(2); goback1cm(17); */
}
}。

相关主题