弹琴机械手的c语言程序
#include "reg52.h"
sbit left1=P2^0;
sbit left2=P2^1;
sbit right1=P1^0;
sbit right2=P1^1;
sbit turnL=P1^3;
sbit turnR=P2^3;
sbit LE=P1^2;
sbit RIg=P2^2;
void delay_ms(unsigned char count)
{
unsigned int i,j;
for(i=0;i
{
for(j=0;j<125;j++);
}
}
void delay_us(unsigned char t)
{
while(t) t--;
}
void zhiliu(unsigned char i,unsigned char t)
{
if(i==0)
{
left1=0;
left2=1;
delay_ms(t);
left1=0;
left2=0;
delay_ms(500);
left1=1;
left2=0;
delay_ms(t);
left1=0;
left2=0;
}
else
{
right2=1;
right1=0;
delay_ms(t);
right1=0;
right2=0;
delay_ms(500);
right1=1;
right2=0;
delay_ms(t);
right1=0;
right2=0;
}
}
void bujin(unsigned char a,unsigned char b,unsigned long n,unsigned char c)
{
if(a==0)
{
turnL=b;
delay_us(10);
while (n)
{
LE=1;
delay_us(c);
LE=0;
delay_us(c);
n--;
}
}
else
{
turnR=b;
delay_us(10);
while(n)
{
RIg=1;
delay_us(c);
RIg=0;
delay_us(c);
n--;
}
}
}
void main(void)
{
while(1)
{
zhiliu(1,70);//1
bujin(1,0,8000,6);
zhiliu(1,70);//2
bujin(1,0,8000,6);
zhiliu(1,70);//3
bujin(1,1,16000,3);
zhiliu(1,70);//1
delay_ms(400);
zhiliu(1,70);//1
bujin(1,0,8000,6);
zhiliu(1,70);//2
bujin(1,0,8000,6);
zhiliu(1,70);//3
bujin(1,1,16000,3);
zhiliu(1,70);//1
bujin(1,0,16000,3);
zhiliu(1,70);//3
bujin(1,0,8000,6);
zhiliu(1,70);//4
bujin(1,0,8000,6);
zhiliu(1,70);//5-
bujin(1,1,16000,3);
zhiliu(1,70);//3
bujin(1,0,8000,6);
zhiliu(1,70);//4
bujin(1,0,8000,6);
zhiliu(1,70);//5-
delay_ms(400);
zhiliu(1,70);//5
bujin(1,0,8000,6);
zhiliu(1,70);//6
bujin(1,1,8000,6);
zhiliu(1,70);//5
bujin(1,1,8000,6);
zhiliu(1,70);//4
bujin(1,1,8000,6);
zhiliu(1,70);//3
bujin(1,1,16000,3);
zhiliu(1,70);//1
bujin(1,0,32000,2);
zhiliu(1,70);//5
bujin(1,0,8000,6);
zhiliu(1,70);//6
bujin(1,1,8000,6);
zhiliu(