qq_44895316 2020-01-06 14:23 采纳率: 0%
浏览 294

在这个代码基础 通过加入串口来控制步进机转动 求怎么实现 自己写的串口通信 接收不到上位机发的指令信号

#include
unsigned char timer1;
sbit DIR = P1^2;//位定义DIR为P1.0口,控制步进电机转向
sbit ENA=P1^1;//位定义ENA为P1.1,控制步进电机的使能
sbit PWM=P1^0;//控制输出脉冲
sbit SS_Step = P3^1;
void Key_scan();
void system_Ini() //调用子函数初始化定时器T1
{
TMOD|=0X11;
TH1= 0Xfe;
TL1 = 0x33;
TR1 = 1;//启动T1定时器
IE = 0X8A;//开T0,T1中断,开总中断
}
main()
{
system_Ini(); //调用子函数初始化定时器 T1
while(1)
{
Key_scan();

}

}
void T1zd(void) interrupt 3 //开定时器1中断
{
TH1 = 0xfe;
TL1 = 0x33;
timer1++;//计数+1
}
void Key_scan()

{
if(SS_Step==0)
{ //按一定步进角度步进,每按下一次转动一定步进角后停止

    //delay();
    if(SS_Step==0)
    {
        while(!SS_Step)
         {
            if (timer1>10)                            //决定这一个脉冲的周期时间,此处为0.15ms*10=5ms
            {
                timer1=0;
            }
            if (timer1<3)
            {
                PWM=0;
            }
            else
            {
                PWM = 1;
            }
       }            
    }
}

}

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2020-01-07 01:45
    关注
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料