打印

应广单片机状态机01

[复制链接]
501|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
34af9uc|  楼主 | 2021-3-27 20:57 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 34af9uc 于 2021-3-27 21:04 编辑

#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;
                }
                }

        }

}
}



状态机.rar

536 Bytes

使用特权

评论回复

相关帖子

发新帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

300

主题

457

帖子

60

粉丝