標題: 單片機中斷EA不能取反嗎? [打印本頁]

作者: 702724152    時間: 2023-8-2 17:30
標題: 單片機中斷EA不能取反嗎?
   程序按鍵K3只能開啟總中斷不能關(guān)閉中斷,是什么原因。

  if(k3 == 0)
   Delay1ms(10);
      if(k3 == 0)
    EA=!EA;
     while(k3==0);

重編輯以下這樣配置,按鍵能控制定時器0.2開和關(guān)閉定時器嗎?
void main()
{
         if(k3 == 0)  //按鍵K3
{   Delay1ms(10);
         if(k3 == 0)
{    EA=!EA;
          while(k3==0);
TMOD &= 0x01;   //定時器0
TH0 = 0xFC;
TL0 = 0x67;
ET0 = 1;
Timer2_Init();        //STC定時器2配置
while(1)
{
  keyscan();      //其他功能按鍵配置

}
}
} }



作者: devcang    時間: 2023-8-2 22:37
沒整體代碼,不知道情況如何,,,也可以使用bit變量輔助完成的。。。。在中斷中,要盡量少占用cpu時間,如不要使用延時。
作者: wulin    時間: 2023-8-3 07:47
中斷寄存器IE支持位操作。寫EA=!EA;沒有問題,達不到預(yù)期目的是其它代碼問題所致。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1