第一次按下按键按键key后,直流电机转动;
第二次按下按键按键key后,直流电机停止。
#include <reg52.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit moto=P1^1;
sbit key=P3^1;
u8 mode; //定义mode变量用于存储工作模式,0 表示运行,1 表示停止
void delay(u16 i)
{
while(i--);
}
void run() //用于控制电机转动
{
moto=0;
}
void stop() //用于控制电机停止
{
moto=1;
}
void button()
{
if(key==0)
{
delay(1000);
if(key==0)
{
mode++;
if(mode==2)
{
mode=0;
}
if(mode==0)
{
run(); //电机转动
}
else if(mode==1)
{
stop(); //电机停止
}
while(!key);
}
}
}
void main()
{
moto=0;
while(1)
{
button();
}
}