新手求助为何加了中断以后整个程序变得非常卡顿。

2019-07-16 02:40发布

如题。。。做毕业设计中。51单片机和TC35 GSM模块的。
目前遇到的问题是 当写了串口触发的中断函数以后整个程序变得非常卡,主要体现在proteus仿真上,按键和LCD1602的显示和识别都显得非常卡顿滞后,

部分程序如下~
/////////////////////////////////////////

Ini_UART(void)//串口初始化、定时器初始化
{
    SCON = 0x50 ;  

    TMOD |= 0x20 ;

    PCON |= 0x80 ; //SMOD=1;
    TH1 = 0xFA ;   //Baud:19200 fosc="11".0592MHz
    TL1=0xFA;
    IE |= 0x90 ;     //Enable Serial Interrupt
    TR1 = 1 ;       // timer 1 run
    TI=1;
    ES=1;
}
////////////////////////////////////////////

void main()
{
  num=0;
  Ini_UART(); //串口神马的初始化
while(1)
   {

      if(KEY1==0)
       {delay(10);
        if(KEY1==0)
            {Print_Str(baojin);         //串口输出数据
                    delay(100);
         clearBuff(); }
           }
            
       if(KEY2==0)
       {delay(10);
        if(KEY2==0)
            {Print_Str(qiujiu);        //串口输出数据
                   delay(100);
         clearBuff();}
           }
          
           if(KEY3==0)
       {delay(10);
        if(KEY3==0)
            {  
                delay(10);
                key();}         //4*4矩阵键盘程序
           }         
         
    }
}       

void ser() interrupt 4
{

    if(RI==1)              
    {  ff[j]=SBUF;

        RI=0;
        j++;
    }
}
困扰一整天

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。