admin 发表于 2013-11-14 23:42 [ DISCUZ_CODE_1 ] 管理员 你的回复我只能看到这个 |
[ DISCUZ_CODE_1 ] |
admin 发表于 2013-11-14 16:42 #include<AT89X52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int uchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; unsigned char jishu=0; sbit K1=P3^0; sbit K2=P3^1; sbit K3=P3^2; sbit K4=P3^3; sbit FMQ=P3^6; void delaynms(uint aa) { uchar bb; while(aa--) { for(bb=0;bb<115;bb++) { } } } void delay500us(void) { int j; for(j=0;j<57;j++) { } } void beep(void) { uchar t; for(t=0;t<100;t++) { delay500us(); FMQ=!FMQ; } FMQ=0; } void motor_ccw(void) { uchar i,j; for(j=0;j<8;j++) { if(K3==0) { break; } for(i=0;i<8;i++) { P1=CCW; delaynms(2); } } } void motor_cw(void) { uchar i,j; for(j=0;j<8;j++) { if(K3==0) { break; } for(i=8;i>0;i--) { P1=CCW; delaynms(2); } } } void main(void) { uchar r; uchar N=64; while(1) { if(K1==0) { beep(); for(r=0;r<N;r++) { if(K1==0) motor_ccw(); if(K3==0) { beep(); break; } } } else if(K2==0) { beep(); for(r=0;r<N;r++) { if(K2==0) motor_cw(); if(K3==0) { beep(); break; } } } else if(K4==0&&jishu==0) { for(r=0;r<N;r++) { motor_cw(); } if(r==N) jishu=1; } else if(K4==0&&jishu==1) { for(r=0;r<N;r++) { motor_ccw(); } if(r==N) jishu=0; } else P1=0xf0; } } |
admin 发表于 2013-11-14 16:42 用 代码贴上来 出现这个 管理员同志 [ DISCUZ_CODE_0 ] |
admin 发表于 2013-11-14 16:42 我贴上来 但是[]里的文字就没有了[ DISCUZ_CODE_0 ] |
建议你把程序贴上来看看 |
如果你那个速度不同 可能是程序问题 或者电机有问题 |
速度是一样的 我测试过 |