这样就可以啦!我已试过OK
#include <reg52.h>
sbit s2=P3^4;//停止
sbit s4=P3^6;//正
sbit s5=P3^7;//反
sbit km1=P1^3;
sbit km2=P1^5;
void delay();
void main()
{
km1=1;
km2=1;
while(1){
if (s2==0)
{
delay();
if(s2==0)
{
km1=1;
km2=1;
} }
if (s4==0)
{
delay();
if(s4==0)
{
km1=0;
km2=1;
}}
if (s5==0)
{
delay();
if(s5==0)
{
km1=1;
km2=0;
}}
}
}
void delay(void) //误差 0us,延时50微秒
{
unsigned char a,b;
for(b=1;b>0;b--)
for(a=22;a>0;a--);
}