小吴的小陈 2021-06-10 23:15 采纳率: 0%
浏览 11

为啥用串口助手发1flag1可以启动,发其他的flag2不能运行还是怎么的,电机不停!!

#include<reg52.h>
#include<intrins.h> //因为要用到左右移函数,所以加入这个头文件
#define uchar unsigned char
#define uint unsigned int
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
unsigned char Dat;
unsigned char i,j;
void flag1();
void flag2();
sbit moto1=P1^0; //定义电机1管脚
sbit moto21=P1^1; //定义电机2管脚
sbit moto22=P1^2;
sbit led1=P2^0; //定义P2.0口是led1
sbit led2=P2^6; //定义P2.1口是led2
sbit led3=P2^4;
void main()
{
moto1=0;
moto21=0;
moto22=0;
led3=0;
SCON=0x50;
PCON=0x00;
TMOD=0x20;
EA=1;
ES=1;
TL1=0xfd; //波特率9600
TH1=0xfd;
TR1=1;
while(1)
    { 
    }
}
void serial() interrupt 4 //串行中断服务函数
{
Dat=SBUF; //把收到的信息从SBUF放到buf中
RI=0;
if(Dat==1)
   {
   flag1(); // 指令1
   }
 else //指令2
 {
 flag2();
 }
}
void delay(u16 i) //延时函数
{
while(i--);
}
void flag1()
{
  led3=1;
  moto1=1;
  led1=0;
    for(i=0;i<100;i++) //循环100次,也就是大约5S
    {
     delay(5000); //大约延时50ms
    }
     moto1=0; //关闭电机1
     led1=1; //关闭指示灯
     while(1)
     {
      moto21=1; //电机2正转
      moto22=0;
      led2=0;
     for(j=0;j<195;j++)
         {
         delay(5000);
         }
        moto21=1; //停车
        moto22=1;
     for(j=0;j<5;j++)
      {
      delay(5000);
      }
    moto21=0; //反转
    moto22=1;
    led2=~led2;
     for(j=0;j<195;j++)
     {
     delay(5000);
     }
     moto21=1; //停车
     moto22=1;
    for(j=0;j<5;j++)
    {
     delay(5000);
    }
  }
}
  void flag2() //电机1、2停止
{
  while(1)
  {
  moto1=0;
  moto21=1;
  moto22=1;
  led1=1;
  led2=1;
  led3=0;
  }
} 
  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2021-06-12 22:31
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答

    本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。

    ​​​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。

    评论

报告相同问题?

悬赏问题

  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
  • ¥50 C++五子棋AI程序编写
  • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。