熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2023-11-14 16:21
正文摘要:請(qǐng)教大家:外部中斷0控制第一個(gè)燈的亮滅,為什么中斷號(hào)改成其他的數(shù)字,仿真結(jié)果依舊正確。 |
你的發(fā)現(xiàn)是合符單片機(jī)運(yùn)作的 如果有學(xué)過(guò)匯編就會(huì)很好理解 ![]() interrupt 0的向量地址是0003H interrupt 4的向量地址是0023H 你初始化了外中斷0 當(dāng)外中斷0引腳收到信號(hào)時(shí) CPU會(huì)響應(yīng)中斷申請(qǐng) 先保存現(xiàn)在的PC指針值 再把PC指針指向向量地址 由于編程上沒(méi)有在0003H地址寫(xiě)中斷函數(shù) 所以PC會(huì)一直累加 如果剛好0004H~0022H都沒(méi)有代碼 加到0023H(interrupt 4) 運(yùn)行完中斷函數(shù)后就會(huì)執(zhí)行RETI指令 PC就取回中斷前的保存值運(yùn)行下去 但由于IE0沒(méi)有被硬件清零 所以外中斷0只會(huì)響應(yīng)一次 |
c0f9a4 發(fā)表于 2023-11-14 21:06 請(qǐng)問(wèn)怎么操作 我不會(huì) |
npn 發(fā)表于 2023-11-14 22:01 我的意思是我把中斷號(hào)改了 仿真依然不受影響 不懂為什么 |
csmyldl 發(fā)表于 2023-11-14 19:04 我改成0-4都可以 ![]() |
interrupt 4 這是一個(gè)串口中斷,你沒(méi)有配置串口寄存器。 |
加個(gè)工作寄存器組 |
不可能進(jìn)入中斷服務(wù)程序,肯定實(shí)現(xiàn)不了(我改成4不能進(jìn)中斷) |
Powered by 單片機(jī)教程網(wǎng)