標(biāo)題: 幫忙看一下,為什么進(jìn)不去中斷 [打印本頁]

作者: 看好自己    時間: 2016-9-22 17:09
標(biāo)題: 幫忙看一下,為什么進(jìn)不去中斷
#include<reg52.h>

void main()
{

        RCAP2H = 0xfc;
        RCAP2L = 0x66;
        T2CON = 0x00;
        TH2 = RCAP2H;
        TL2 = RCAP2L;
        EA = 1;
        ET2 = 1;
        TR2 = 1;   
        while(1);
}

void dfs()interrupt 5
{
        TF2 = 0;
}


作者: 31415    時間: 2016-9-25 16:06
51還是52?

作者: ZG_LG    時間: 2016-9-25 18:12
PIC的嗎?
作者: a0931727149    時間: 2016-9-26 05:34
有進(jìn)入中斷程式 ...用晶振12M 的52系列晶片(AT89s52 ,STC89c52),會有1.76ms 的中斷...
作者: liuyimao485812    時間: 2016-9-26 06:53
先開各個中斷,再開總中斷,順序不能反。
作者: yzwzfyz    時間: 2016-9-26 23:21
"先開各個中斷,再開總中斷" 是個好習(xí)慣。但“順序不能反”的說法是不正確的。
作者: hsanper    時間: 2016-9-27 22:19
TMOD工作方式還沒有設(shè)置
作者: npn    時間: 2016-9-28 07:07
樓上試試這個中斷程序能不能進(jìn)去

  1. #include <reg51.h>

  2. sfr AUXR   = 0x8E;

  3. void InitTimer0(void)
  4. {
  5.     TMOD = 0x01;
  6.     TH0 = 0x0A2;
  7.     TL0 = 0x40;
  8.     EA = 1;
  9.     ET0 = 1;
  10.     TR0 = 1;
  11. }

  12. void main(void)
  13. {
  14.     AUXR = AUXR|0x80;  
  15.     InitTimer0();
  16.     while(1);
  17. }

  18. void Timer0Interrupt(void) interrupt 1
  19. {
  20.     TH0 = 0x0A2;
  21.     TL0 = 0x40;
  22.     P3++;
  23. }
復(fù)制代碼

作者: davedoff86    時間: 2016-9-29 14:29

void time1_init()                          //T1初始化
{
        TMOD = 0x10;                        //計時器1,方式0,16位
        TH1  = 0xb8;                        //計時器1初值
        TL1  = 0xEF;                        //大約10ms
        EA=1;                                //總中斷開
        ET1=1;                                //允許計時器1中斷

}

void time1_Inte() interrupt 3 //T1中斷
{
        TH1 = 0xb8;                        //計時器1初值
        TL1 = 0x00;
        Count++;                                //長度加1
}
作者: shuisheng60    時間: 2019-2-3 20:21
樓主的思路沒有弄通!因為就算你那個代碼中斷了,你也看不到他的情況.你要弄一個能讓你看到或聽到,又或是示波器能測到的事物來作為你判定的標(biāo)準(zhǔn).你沒有判定的標(biāo)準(zhǔn),單片機累死你也感受不到




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