51微控制器外部中斷實驗程式,51微控制器外部中斷實驗程式

時間 2022-03-05 15:30:23

1樓:做而論道

做51微控制器外部中斷實驗,應該有主程式、中斷服務程式。

樓主所說這些的亮滅,那些的主程式的?那些是中斷程式的?

2樓:

請問你這個觸發中斷是一個按鍵?你觸發的方式是長時間按下還是瞬間按下?我覺得你應該是長時間按下的。

回到正題,你這個中斷服務函式裡只有一句**,那麼中斷服務函式執行的速度會很快的,所以如果你只按了一下的話那麼看起來就感覺沒有執行一樣,更重要的是你這個中斷服務函式裡沒有對按鍵進行消抖,同時也沒有關閉中斷,這就可能會引起,當你瞬間按下中斷按鈕後,其實中斷被執行了多次,而當你長時間按下中斷按鈕後,那麼程式會不停的在main和中斷服務函式之間快速不停的切換,這就導致了main函式斷斷續續的執行,看起來就像是main執行變慢了,其實是因為程式需要不停的進入中斷服務函式,所以看起來就像執行變慢一樣。

改進建議:在中斷服務函式里加入按鍵消抖的語句,或是直接進入中斷後關閉中斷,處理完後再開啟。而且如果想明顯的看到效果的話請在中斷服務函式里加一些延時語句。

3樓:呂珠雪明遠

bitsign=0;

void

main()}}

void

ww()

interrupt

0我只是簡寫一下,大概就是這個意思:第一次按下數碼管顯示,再按一下數碼管不顯示

希望對你有所幫助!

4樓:匿名使用者

1rmb給你搞定。可以的話聯絡857656772

51微控制器的外部中斷0實驗(p2.3引腳)

5樓:

答:先看看你的中斷程式:

void exter0() interrupt 0也就是叫d1置零而已。執行完這句就跳出中斷了,繼續執行主函式。

那麼你叫中斷一直低電平,是不是就一直觸發中斷呀?是的。

你認為只要一直觸發中斷,是不是就應該永遠執行中斷函式,而不幹別的了?

當程式從中斷函式跳出時如果又來了中斷,微控制器會在跳出中斷後執行一條指令才進入中斷的! 也就是執行reti這句彙編指令後,接著又執行一條語句,才進入中斷函式。跳出後又執行一條語句....

依此類推

所以你的程式就是這樣的情況。你看到的就是跳動的頻率變滿了。

6樓:匿名使用者

中斷對你的顯示沒有關係,把延時再加長點到一秒,你就能看到效果了。

51微控制器的外部中斷的程式怎麼弄啊?

7樓:

給你個我的**你參考下

/*初始化定時器0*/

void inttime0 (void)

/*定時器0中斷*/

void tm0_isr() interrupt 1 using 1 // interrupt 1這個1代表中斷號1,如果是 interrupt 0是外部中斷0

8樓:微控制器的戰鬥機

具體要求發給我 ,有扣扣嗎?加你為你解答

求89c51微控制器外部中斷程式,c語言編寫。

51微控制器外部中斷的觸發方式,51微控制器怎麼設定外部中斷?

捲毛 51微控制器的外部中斷有兩種觸發方式可選 電平觸發和邊沿觸發。選擇電平觸發時,微控制器在每個機器週期檢查中斷源口線,檢測到低電平,即置位中斷請求標誌,向cpu請求中斷。選擇邊沿觸發方式時,微控制器在上一個機器週期檢測到中斷源口線為高電平,下一個機器週期檢測到低電平,即置位中斷標誌,請求中斷。這...

關於51微控制器的中斷,關於51微控制器的中斷。

廣東人讀書好 中斷的概念 cpu在處理某一事件a時,發生了另一事件b請求cpu迅速去處理 中斷髮生 cpu暫時中斷當前的工作,轉去處理事件b 中斷響應和中斷服務 待cpu將事件b處理完畢後,再回到原來事件a被中斷的地方繼續處理事件a 中斷返回 這一過程稱為中斷 二 中斷源 在51微控制器中有5箇中斷...

51微控制器定時器中斷程式

m愛人 再次重新啟動。用c語言實現的,先要定義好定時器的初值,不管你使用多大的晶振,使用51微控制器,一般都是12分頻出來,也就可以得出一個機器週期,機器週期 12 n n指晶振頻率 假設你要定時的時間為m,那麼定時的初值為 m 機器週期 初值 th0 65536 初值 256 tl0 65536 ...