日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

51单片机中外部中断使用示例(Protues仿真)

發布時間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 51单片机中外部中断使用示例(Protues仿真) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

中斷的概念:

CPU在處理某一事件A時,發生了另一事件B請求CPU迅速去處理(中斷發生),那么CPU就會暫停當前的工作(A事件),去執行B事件(中斷響應和中斷服務),然后B事件做完之后,再回到原來的事件(A事件)中繼續工作。(中斷的返回)。

51單片機有5個中斷源分別是:

  1、INT0——外部中斷0,由P3.2端口引入,低電平或下降沿引起。默認優先級最高

  2、INT1——外部中斷1,由P3.3端口引入,低電平或下降沿引起。默認優先級第二

  3、T0——定時器/計數器0中斷,由T0計數器計滿回零引起。默認優先級第三

  4、T1——定時器/計數器1中斷,由T1計數器計滿回零引起。默認優先級第四

  5、TI/RI——串行口中斷,串行端口完成一幀字符發送/接收后引起。默認中斷優先級最低

今天為大家演示51單片機中外部中斷0的使用示例:

下面是顯示仿真電路,該電路的功能是單片機上電后數碼管從A-G循環點亮,當連接P3^2(INT0)引腳的按鍵按下時,系統檢測到外部中斷請求信號,CPU執行的主程序斷開,跳轉去執行中斷模塊程序,中斷模塊的功能是數碼管閃爍顯示數字‘8’ 八次。然后CPU返回主程序斷點繼續執行A-G的循環點亮。

?

實現代碼:

#include<reg51.h> #include<intrins.h>//左移函數和右移函數包含頭文件 #define uint unsigned int//把unsigned int 重新起名為uint #define uchar unsigned char uchar aa;void delayms(uint xms){//延時函數uint i,j;for(i=xms;i>0;i--)for(j=110;j>0;j--); } void main(){EA=1;//開啟總中斷EX0=1;//開啟外部中斷0IT0=1;//把外部中斷0設置為下降沿觸發aa=0x01;while(1){P0=aa;//把aa的值賦給P0delayms(1000);//延時1saa=_crol_(aa,1);//把aa的值左移一位在賦給aa} }void ex0_time()interrupt 1//中斷函數 {unsigned char a;P0=0x00;//熄滅數碼管for(a=8;a>0;a--){//使數碼管閃爍顯示數字8(帶小數點)8次P0=0xff;//使數碼管顯示數字8delayms(1000);//延時1sP0=0X00;//熄滅數碼管delayms(1000);//延時1s}}

Protues仿真結果部分截圖:

?

?

總結

以上是生活随笔為你收集整理的51单片机中外部中断使用示例(Protues仿真)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。