欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1763|回復: 4
收起左側

新人求教單片機中斷程序如何編寫?

[復制鏈接]
ID:719641 發表于 2020-4-2 16:25 | 顯示全部樓層 |閱讀模式
51單片機如果在main函數里正在執行一個死循環如while(1),這時在中斷函數里有個條件成立,然后main函數跳出while(1);
回復

使用道具 舉報

ID:688129 發表于 2020-4-2 18:44 | 顯示全部樓層
就是一個普通的中斷就行了,定時器、外部等中斷
回復

使用道具 舉報

ID:351097 發表于 2020-4-2 22:00 | 顯示全部樓層
如果在keil 51平臺,中斷程序書寫如下:
void 函數名 interrupt x
{
    /*中斷處理程序*/
}
其中,函數名是中斷處理函數名interrupt x為中斷序號,比如外部中斷0用interrupt 0。
如果在IAR for 8051平臺,中斷程序書寫如下:
#pragma vector=VECT(n, addr )
__interrupt void 函數名(void)
{
    /*中斷處理程序*/
}
其中n為中斷序號,addr為中斷入口地址。比如定時器0中斷,則為VECT(1, 0x0b)。
回復

使用道具 舉報

ID:719641 發表于 2020-4-3 08:37 | 顯示全部樓層
wang_hu_hi 發表于 2020-4-2 18:44
就是一個普通的中斷就行了,定時器、外部等中斷

具體實現想法是這樣的,我用定時器中斷去做按鍵掃描,主函數里有兩個子函數,當按鍵一按下時執行子函數一,按下按鍵二執行子函數二,這比較好實現。如果函數一里有一個時間很長的延時(1小時),這樣如果按鍵二按下,它應該是繼續執行延時不能立即執行子函數二吧。
回復

使用道具 舉報

ID:706084 發表于 2020-4-4 11:40 | 顯示全部樓層
發生中斷,會暫停現在的主程序,去執行中斷,中斷執行完成,回到主程序繼續執行主程序
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表