|
程序運行正確,能通過K3K4K5鍵控制機械手張開預訂角度,問題如下:比如按K3鍵能夾緊物體,但是機械手夾取遇到阻力時就不能通過K4鍵再松開。如果不夾取物體,只是讓他空夾,他就能自由夾緊和松開。只要遇到阻力就不能再松開。只有斷電才能松開了。求各位大神幫忙看看。不勝感激!!!程序如下:
#include<reg52.h>
sbit djkz=P3^0;
sbit K3=P3^7;
sbit K4=P3^6;
sbit K5=P3^5;
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--) //i=xms,即延遲多長時間
for(j=112;j>0;j--);
}
void jiajin()
{
int i;
int j=0;
while(j<20) //i=330夾緊
{
djkz=1;
for(i=0;i<330;i++);
djkz=0;
for(i=0;i<50;i++);
j++;
}
delay(100);
}
void songkai()
{
int i;
int j=0;
while(j<20) //i=180中間位置
{
djkz=1;
for(i=0;i<180;i++);
djkz=0;
for(i=0;i<1200;i++);
j++;
}
delay(100);
}
void pingkai()
{
int i;
int j=0;
while(j<20) //i=150松開
{
djkz=1;
for(i=0;i<150;i++);
djkz=0;
for(i=0;i<1200;i++);
j++;
}
delay(100);
}
void key()
{
if(K3==0)
{
jiajin();
}
if(K4==0)
{
songkai();
}
if(K5==0)
{
pingkai();
}
}
void main()
{
while(1)
{
key();
}
}
|
|