卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

如何實現(xiàn)51單片機同時使用兩個外部中斷

在使用51單片機時,中斷系統(tǒng)是一個非常重要的特性,可以實現(xiàn)保護CPU現(xiàn)場、跳轉(zhuǎn)到中斷服務(wù)函數(shù)進行處理、恢復(fù)CPU現(xiàn)場、繼續(xù)進行原始操作等功能。中斷分為外部中斷、內(nèi)部中斷和串行口中斷,我們也可以同時使用

在使用51單片機時,中斷系統(tǒng)是一個非常重要的特性,可以實現(xiàn)保護CPU現(xiàn)場、跳轉(zhuǎn)到中斷服務(wù)函數(shù)進行處理、恢復(fù)CPU現(xiàn)場、繼續(xù)進行原始操作等功能。中斷分為外部中斷、內(nèi)部中斷和串行口中斷,我們也可以同時使用兩個外部中斷。首先要知道中斷源的入口地址,由于需要同時使用兩個外部中斷,即要用到外部中斷0:0003H和外部中斷1:0013H。

配置Keil μVision編譯器并設(shè)置工程

1. 打開Keil μVision編譯器,新建一個工程,并保存在硬盤上的位置。

2. 選擇Atmel-AT89C51單片機為模型,并添加STARTUP.A51文件。

3. 在當(dāng)前目錄下新建一個C文件,并將其添加入工作路徑。

4. 導(dǎo)入51單片機的頭文件,在主函數(shù)中使EA1,即總中斷允許,打開中斷的總開關(guān)。

配置外部中斷

5. 分別打開外部中斷0和外部中斷1的開關(guān),即EX01和EX11,同時設(shè)置中斷的觸發(fā)方式為跳沿觸發(fā),以避免增加額外的電路。

6. 如果不添加別的代碼,此時這兩個中斷的優(yōu)先級是外部中斷0 > 外部中斷1,一個中斷正在執(zhí)行時來了另外一個中斷是不會打斷前一個中斷的執(zhí)行過程,因此需要為中斷設(shè)置優(yōu)先級。

編寫中斷服務(wù)函數(shù)

7. 編寫兩個外部中斷對應(yīng)的中斷服務(wù)函數(shù),確保中斷發(fā)生后能夠產(chǎn)生相應(yīng)的響應(yīng)。外部中斷0和外部中斷1的中斷號分別是0和2。

8. 在Project菜單的output項目中勾選Create Hex File,點擊編譯按鈕生成.hex文件。

運行與仿真

9. 將生成的.hex文件燒入51單片機進行運行或者加載到Proteus仿真系統(tǒng)中進行仿真。

10. 點擊運行按鈕后,可以觀察到第一個按鍵的狀態(tài)變化會導(dǎo)致LED燈由滅變亮,而點擊第二個按鈕則無論LED燈原先的狀態(tài)如何都會變成常亮狀態(tài)。

通過以上步驟,我們可以成功配置并運行51單片機同時使用兩個外部中斷,實現(xiàn)多重中斷處理功能,提高了系統(tǒng)的靈活性和響應(yīng)能力。

標(biāo)簽: