baidu_32754913 2016-06-30 08:18 采纳率: 50%
浏览 1251
已结题

单片机通过接受到数据控制步进电机

#include
#include

unsigned char receiveData;

unsigned char code TAB[8]=
{ //定义表格一定要使用code,这样会做到程序存储区中
0x7F, //表格第1步数据0b01111111
0x3F, //表格第2步数据0b00111111
0xBF, //表格第3步数据0b10111111
0x9F, //表格第4步数据0b10011111
0xDF, //表格第5步数据0b11011111
0xCF, //表格第6步数据0b11001111
0xEF, //表格第7步数据0b11101111
0x6F, //表格第8步数据0b01101111
};

void UAR_Rec(void) interrupt 4 //

{       

        {

            receiveData=SBUF;
            RI=0;
          SBUF=receiveData;
          while(!TI);
        }

        if(TI)  TI=0;


 }

void mian(void)

 {

unsigned int a=0; //定义一个int型变量,做延时用
unsigned char b=7; //定义一个char型变量,显示内容用
TMOD&=0X0F;
TMOD|=0X20;
TH1=0XFA;
TL1=0XFA;
TR1=1;
SCON=0X50;
ES=1;
EA=1;

      while(1)
        {
            if(receiveData==1)  //接受到  1  执行下面的代码,可是我 
            {
    for(a=0;a<500;a++); //延时
    if(++b>7) b=0;     //b做加1操作,并限制在0-7以内
    P1=TAB[b];          //将TAB[b]的值送入P1口输出
    }
}





    }

附上代码,串口发送时数据也不返回数据,步进电机也不转???是什么原因,求大神帮忙!!!

  • 写回答

2条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料