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

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

}

https://blog.csdn.net/qq_37771475/article/details/72824428