![]() |
你的發現是合符單片機運作的 如果有學過匯編就會很好理解 ![]() interrupt 0的向量地址是0003H interrupt 4的向量地址是0023H 你初始化了外中斷0 當外中斷0引腳收到信號時 CPU會響應中斷申請 先保存現在的PC指針值 再把PC指針指向向量地址 由于編程上沒有在0003H地址寫中斷函數 所以PC會一直累加 如果剛好0004H~0022H都沒有代碼 加到0023H(interrupt 4) 運行完中斷函數后就會執行RETI指令 PC就取回中斷前的保存值運行下去 但由于IE0沒有被硬件清零 所以外中斷0只會響應一次 |
c0f9a4 發表于 2023-11-14 21:06 請問怎么操作 我不會 |
npn 發表于 2023-11-14 22:01 我的意思是我把中斷號改了 仿真依然不受影響 不懂為什么 |
csmyldl 發表于 2023-11-14 19:04 我改成0-4都可以 ![]() |
interrupt 4 這是一個串口中斷,你沒有配置串口寄存器。 |
加個工作寄存器組 |
不可能進入中斷服務程序,肯定實現不了(我改成4不能進中斷) |