本帖最后由 34af9uc 于 2021-3-27 22:13 编辑
#include "extern.h"
bit k1 : pa.0; //开关
bit k2 : pa.3; //反转
bit led1 : pa.6; //正
bit led2 : pa.7; //反
byte dianji; //电机
byte a1; //状态机
void FPPA0 (void)
{
.ADJUST_IC SYSCLK=IHRC/4 // SYSCLK=IHRC/4
a1 =1; //1待机2开机
dianji =0; //0停1正转2翻转
$ k1 in,pull; //输入,上拉
$ k2 in,pull;
$ led1 out,low;
$ led2 out,low;
while (1)
{
if(a1==1) //待机状态
{
if(k1==0)
{
while(k1==0){.delay 100;} //等待松手
a1 =2; //转开机
dianji =1; //电机正转
led1=1;
led2=0;
}
}
if(a1==2) //开机状态
{
if(k1==0)
{
while(k1==0){.delay 100;} //等待松手
a1 =1; //转待机
}
if(dianji==1) //电机正转状态
{
if(k2==0)
{
.delay 4000000; //延时1秒
dianji =2; //变反转
led1=0;
led2=1;
}
}
if(dianji==2) //电机正转状态
{
if(k2==0)
{
.delay 4000000; //延时1秒
dianji =1; //变正转
led1=1;
led2=0;
}
}
}
}
}
|