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

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++;
    }
}
困扰一整天

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
dolphintt920
1楼-- · 2019-07-16 05:02
这个中断主要是用来读串口数据的,程序中涉及到很多串口的发送与接收,但是在其他没有涉及到串口的操作中,反应也特卡。。。。中断函数删了以后特流畅。。。包括串口发送
3htech
2楼-- · 2019-07-16 10:27
“体现在proteus的仿真上”,说明软件问题呗。
dolphintt920
3楼-- · 2019-07-16 14:58
3htech 发表于 2013-1-23 10:38
“体现在proteus的仿真上”,说明软件问题呗。

还没烧到硬件试过,,,
用户名0
4楼-- · 2019-07-16 16:26
 精彩回答 2  元偷偷看……
804682887
5楼-- · 2019-07-16 19:14
郑团伟
6楼-- · 2019-07-17 00:05

一周热门 更多>