標(biāo)題: 求助觀察單片機中斷函數(shù)是否執(zhí)行? [打印本頁]

作者: zjgeser    時間: 2021-1-26 15:01
標(biāo)題: 求助觀察單片機中斷函數(shù)是否執(zhí)行?
本人設(shè)計單片機串口通訊的電路,代碼很簡單,在中斷函數(shù)中放了一個指示燈,觀察中斷函數(shù)有沒有運行,這個指示燈沒亮,主函數(shù)中的指示燈是亮的,這樣中斷函數(shù)是不是沒有執(zhí)行,請各位老師幫看一下,謝謝。

#include        "15W4KxxS4.H"

typedef unsigned char uchar;
typedef unsigned int uint;

void IO_init()
{
  P1M1 = 0x00;        P1M0 = 0x00;
        P2M1 = 0x00;        P2M0 = 0xFF;
        P3M1 = 0x00;        P3M0 = 0xFE;
        P1 = 0xFF ;
        P2 = 0x00 ;
        P3 = 0x00 ;
}        

sbit p33 = P3^3 ;
sbit p22 = P2^2 ;
sbit p23 = P2^3 ;

void Serial_Init()
{
    TMOD = 0x20;    //
    TH1 = 0xdc;        //
    TL1 = 0xdc;        //
    TR1 = 1;        //
    REN = 1;        //
    SM0 = 0;        //
    SM1 = 1;        //
    EA = 1;            //
    ES = 1;            //
}

void ser() interrupt 4        //
{
    RI = 0 ;//
          TI = 0 ;
    p33 = 1 ;  //指示燈,觀察中斷函數(shù)是否執(zhí)行
}


void main()
{
    IO_init();
    Serial_Init();

    while(1)
    {
       SBUF = 0xff ;
                         p23 = 1 ;  //指示燈
}


作者: munuc_w    時間: 2021-1-26 15:42
中斷中的LED不亮說明中斷沒有發(fā)生。主函數(shù)中的指示燈跟中斷沒有關(guān)系,開機就亮的。
作者: zjgeser    時間: 2021-1-26 15:53
是的,中斷沒有發(fā)生,不知道怎么回事,代碼試了好多。


作者: wwh2382    時間: 2021-1-26 16:19
注意看紅圈中的內(nèi)容

作者: munuc_w    時間: 2021-1-26 16:32
那就好好檢查串口和波特率初始化。
作者: zjgeser    時間: 2021-1-26 16:58
    TMOD = 0x20;    //
          AUXR &= 0xbf;                //¶¨ê±Æ÷1ê±ÖóÎaFosc/12,¼′12T
          AUXR &= 0xfe;                //′®¿ú1Ñ¡Ôñ¶¨ê±Æ÷1Îa2¨ìØÂê·¢éúÆ÷
    TH1 = 0xfd;        //
    TL1 = 0xfd;        //
    TR1 = 1;        //
    REN = 1;        //
    SM0 = 0;        //
    SM1 = 1;        //
    EA = 1;            //
    ES = 1;            //

就是不行,唉
作者: zjgeser    時間: 2021-1-26 17:19
    TMOD = 0x20;    //
    AUXR &= 0xdf;                //定時器1時鐘為Fosc/12,即12T
    AUXR &= 0xfe;                //串口1選擇定時器1為波特率發(fā)生器
          
    TH1 = 0xfd;        //
    TL1 = 0xfd;        //
    TR1 = 1;        //
    REN = 1;        //
    PCON = 0x00 ;  //SMOD = 0 ;
    SM0 = 0;        //
    SM1 = 1;        //
    EA = 1;            //
    ES = 1;            //
實在找不出錯誤了。難過
作者: zjgeser    時間: 2021-1-26 17:26
謝謝wwh2382 ,我再看看
作者: zjgeser    時間: 2021-1-26 17:36
搞好了,謝謝4樓的大師,謝謝各位師傅,謝謝,改成定時器2就可以了。
作者: 人人學(xué)會單片機    時間: 2021-1-26 18:34
STC單片機串口發(fā)送 不需要while死等 串口接收執(zhí)行軟件復(fù)位 http://www.torrancerestoration.com/bbs/dpj-200927-1.html




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