找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1775|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

STC單片機(jī),任意IO口中斷不成功 附程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
設(shè)置P1.4的高低電平中斷不成功,有沒(méi)有人指點(diǎn)一下
單片機(jī)源程序如下:
void init_IOINT()//中斷初始化
{

      P1INTF&=0xE8;//清除P1.4的中斷標(biāo)志
            P1INTE|=0x10;//開(kāi)P1.4的中斷使能
        
      P1IM0 &=~0x10;//設(shè)置P1.4口低電平觸發(fā)
      P1IM1 |= 0x10;

            P1IM0  |=0x10;//設(shè)置P1.4口高電平觸發(fā)
            P1IM1  |=0x10;


}
//由于中斷向量大于 31,在 KEIL 中無(wú)法直接編譯
//必須借用第 13 號(hào)中斷入口地址
void common_isr() interrupt 13
{
  unsigned char psw2_st;
  unsigned char intf;
    psw2_st = P_SW2;
    P_SW2 |= 0x80;

    intf = P1INTF;
    if (intf)
    {
        P1INTF = 0x10;

        if (intf & 0x10)
        {
         LED1=0;
        }
    }
    P_SW2 = psw2_st;
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:43600 發(fā)表于 2024-1-17 01:20 | 只看該作者
先說(shuō)明你所使用的是哪個(gè)變種8051的型號(hào),標(biāo)準(zhǔn)8051的p1.4本來(lái)就不會(huì)中斷。
回復(fù)

使用道具 舉報(bào)

板凳
ID:145357 發(fā)表于 2024-1-17 05:44 來(lái)自手機(jī) | 只看該作者
STC8H8K64U
回復(fù)

使用道具 舉報(bào)

地板
ID:277550 發(fā)表于 2024-1-17 09:54 | 只看該作者
要去看看芯片手冊(cè)
回復(fù)

使用道具 舉報(bào)

5#
ID:145357 發(fā)表于 2024-1-17 10:14 來(lái)自手機(jī) | 只看該作者
STC8H64K的單片機(jī)
回復(fù)

使用道具 舉報(bào)

6#
ID:226055 發(fā)表于 2024-1-17 11:58 | 只看該作者
    1、必須保證芯片支持任意IO口中斷,同時(shí)一定注意芯片版本是最新的。
    2、手頭有一塊艾克姆的STC8H3K64S4的開(kāi)發(fā)板,里面有個(gè)P1.2最為中斷的例子,你參考下。


    3、例程中因?yàn)橹袛嘞蛄砍龇秶,需要一端匯編的代碼,注意參考啊。

實(shí)驗(yàn)2-5-1:P1.2口中斷(下降沿中斷方式).rar

27.08 KB, 下載次數(shù): 2

回復(fù)

使用道具 舉報(bào)

7#
ID:155507 發(fā)表于 2024-1-17 16:56 | 只看該作者

你有加入這個(gè)文件嗎?


// ISR.ASM
//將下面的代碼保存為 ISR.ASM,然后將文件加入到項(xiàng)目中即可
                        CSEG AT 012BH ;P0 口中斷入口地址
                        JMP P0INT_ISR
P0INT_ISR:
                        JMP 006BH ;借用 13 號(hào)中斷的入口地址
END
回復(fù)

使用道具 舉報(bào)

8#
ID:145357 發(fā)表于 2024-1-17 22:17 來(lái)自手機(jī) | 只看該作者
想用IO口中斷做超聲波測(cè)距,現(xiàn)在是死等IO狀態(tài)變化,如果超聲波模塊出問(wèn)題了其他程序也崩潰了,程序就死在那里了,現(xiàn)在單片機(jī)有多個(gè)模塊運(yùn)行,溫度檢測(cè),DHT11,氣壓檢測(cè),超聲波檢測(cè)距離,modbus通信一起運(yùn)行的,現(xiàn)在超聲波檢測(cè)會(huì)影響modbus通信,用12864顯示的,想用中斷改善一下運(yùn)行效果,進(jìn)入低電平中斷,執(zhí)行啟動(dòng)定時(shí)器,然后把中斷改成高電平中斷,高電平中斷后計(jì)算距離,然后又改成低電平中斷等待下一次
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表