久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2278|回復: 9
打印 上一主題 下一主題
收起左側

一個Proteus仿真模擬單片機中斷的問題,請指教

[復制鏈接]
跳轉到指定樓層
樓主
protues線路圖如下:


keil5代碼如下:
#include <reg52.h>

sbit k3=P3^2;
#define led P2

void Delay100ms(unsigned int ms)        //@12.000MHz
{
        unsigned char data i, j;
        while(ms>0)
        {
                i = 195;
                j = 138;
                do
                {
                        while (--j);
                } while (--i);
                ms--;
        }
}

void Init_interrupt()
{
        IT0=1;
        EX0=1;
        EA=1;
}

void main()
{
        Init_interrupt();
        while(1);
}

void k3_led() interrupt 0
{
        Delay100ms(1);
        if(k3==0)
        {
                led=!led;
                Delay100ms(1);
        }
}


仿真報錯如下


如果把led用位定義,操作單個led燈是正常.這是什么BUG?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:94031 發表于 2023-10-11 20:15 | 只看該作者
led=!led; 改成 led=~led;
回復

使用道具 舉報

板凳
ID:1093723 發表于 2023-10-11 20:26 | 只看該作者
在使用Proteus進行STM32單片機仿真時,某些情況下會發現中斷無反應的現象,即中斷未能正常觸發或中斷觸發后程序無法正常運行。這種問題可能會對開發過程造成嚴重影響,所以我們需要找出問題的原因并解決它。  首先,我們需要確認中斷向量表是否正確。在STM32中,中斷向量表存儲在存儲器的前面一段,它是中斷服務程序的入口地址。如果中斷向量表設定錯誤,將會導致中斷無法正常觸發。在Proteus仿真中,可以使用Debug功能驗證向量表的位置和地址是否正確。  其次,檢查中斷服務程序是否正確編寫。中斷服務程序一般由ISR函數(中斷服務函數)和IRQ函數(中斷請求函數)兩部分組成。中斷請求函數將中斷請求標志位清零并跳轉到中斷服務函數,ISR函數處理中斷請求并返回原程序。如果這兩部分出現了錯誤,就會導致中斷無反應。在Proteus仿真中,可以使用Debug功能逐行調試中斷服務程序,查看程序執行情況是否正確。  第三,檢查中斷優先級設置是否正確。在STM32中,不同的中斷優先級可能會產生中斷嵌套,如果嵌套深度過大,將會導致CPU處理中斷的效率降低。因此,我們需要根據實際應用需要,合理設置中斷優先級,以避免出現中斷嵌套的情況。在Proteus仿真中,可以使用NVIC Registers查看中斷控制器中的優先級設置是否正確。  最后,檢查硬件連接是否正確。在STM32中,一些外設和中斷引腳通過外部中斷連接,如果硬件連接出現問題將會導致中斷無法正常觸發。因此,我們需要仔細檢查外設和中斷引腳的連接是否正確。在Proteus仿真中,可以使用Schematic Editor查看連接是否正確。  總之,在Proteus仿真中,出現中斷無反應的問題需要通過多種方法進行排查和解決。我們需要仔細檢查中斷向量表、中斷服務程序、中斷優先級設置和硬件連接等方面,以確保仿真能夠正常進行,避免延誤項目進度。
回復

使用道具 舉報

地板
ID:152785 發表于 2023-10-11 21:04 | 只看該作者
xuyaqi 發表于 2023-10-11 20:15
led=!led; 改成 led=~led;

試了,同樣報錯,下到板子上,和仿真效果一樣
回復

使用道具 舉報

5#
ID:18307 發表于 2023-10-12 10:04 | 只看該作者
v115488 發表于 2023-10-11 21:04
試了,同樣報錯,下到板子上,和仿真效果一樣

在初始化里加上  INT0 = 1;
在中斷里把if比較去掉試一下
因為K3為低電平時 就進中斷了
要不把2個延時都去掉,中斷里只保留1句LED取反 試一下看進不進中斷
回復

使用道具 舉報

6#
ID:94031 發表于 2023-10-12 10:11 | 只看該作者
v115488 發表于 2023-10-11 21:04
試了,同樣報錯,下到板子上,和仿真效果一樣

中斷里不要用延時,我把中斷屏蔽后功能是正常的,
回復

使用道具 舉報

7#
ID:94031 發表于 2023-10-12 10:21 | 只看該作者
v115488 發表于 2023-10-11 21:04
試了,同樣報錯,下到板子上,和仿真效果一樣

改了后的效果。 效果.zip (4.72 MB, 下載次數: 0)
回復

使用道具 舉報

8#
ID:94031 發表于 2023-10-12 16:34 | 只看該作者
xuyaqi 發表于 2023-10-12 10:21
改了后的效果。


回復

使用道具 舉報

9#
ID:152785 發表于 2023-10-12 21:51 | 只看該作者

首先感謝您的回復,跟您添麻煩了,問題已解決
過程是這樣的:
今天把代碼反復改了又改,仿真的時候按一下k3,CPU總是飚的70%,然后和昨天一樣報錯,自動終止仿真.
屏蔽掉中斷,代碼都精簡到只有按鍵和翻轉了,還是飚70%.
我才意識到可能是Protues這邊出問題了.
你仿真正常
然后我就對比我們兩個的線路,發現你用的是單個電阻,我用的是排阻,果斷拆除排阻,問題完美解決,再次感謝

討論:
排阻不是單電阻的集合體嗎,Protues出BUG了?
回復

使用道具 舉報

10#
ID:108361 發表于 2023-10-26 18:37 | 只看該作者
v115488 發表于 2023-10-12 21:51
首先感謝您的回復,跟您添麻煩了,問題已解決
過程是這樣的:
今天把代碼反復改了又改,仿真的時候按一下k3 ...

不要過于相信proteus,要相信物理定律
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级黄在线观看 | 国产99久久 | 国产一区欧美 | 99精品免费 | 国产精品久久在线观看 | 日本精品一区 | 久久男人| 韩日中文字幕 | 天天影视网天天综合色在线播放 | 蜜桃视频在线观看www社区 | 午夜在线 | 色视频成人在线观看免 | 蜜桃视频在线观看免费视频网站www | 视频一区在线 | 欧美视频 亚洲视频 | 欧美日韩一区二区三区四区 | 色综合久久天天综合网 | 美女爽到呻吟久久久久 | 中文字幕一区二区三区在线观看 | 99精品久久 | 国产精品国产精品国产专区不片 | 亚洲精品久久久久久久久久久 | 精品国产乱码久久久久久闺蜜 | 日韩精品一区二区三区中文字幕 | 欧美亚州 | 国产精品福利视频 | 一区二区三区在线免费观看 | 成年人在线视频 | 久久精品久久久久久 | 国产精品久久久久久久久 | 久精品视频| 日本不卡一区二区三区在线观看 | 夜夜爽99久久国产综合精品女不卡 | 日韩三区在线观看 | 在线视频a| 久久久久国产精品一区二区 | 欧美a级成人淫片免费看 | 亚洲成人免费在线观看 | 国产精品久久久久999 | 亚洲va欧美va天堂v国产综合 | 久久久2o19精品 |