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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機中斷嵌套實驗程序與Proteus仿真圖

[復制鏈接]
跳轉到指定樓層
樓主
中斷嵌套。附件里包含源代碼,proteus工程文件。
使用一個外部中斷和定時器中斷,通過P1口連接的八個發光二極管來顯示中斷的作用。外部中斷未發生時,即引腳INT0的按鍵開關沒有按下時,系統通過定時器定時中斷的方法,使LED呈流水燈顯示,當INT0腳的按鍵開光按下,即產生外部中斷,外部中斷INT0打斷定時器的定時中斷,從而控制8個LED閃爍顯示。當按鍵開關松開,繼續呈流水燈顯示。本實驗中外部中斷0設置為高優先級中斷,定時器中斷設置為低優先級中斷。
電路原理圖:

電路工作原理的重點說明:發光二極管為共陽極連接,當對應P1口輸出0時,發光二極管發光。K1按鍵沒按下時,INT0=1,當K1按鍵按下時,INT0=0。
源代碼

控制程序的重點說明:PX0=1外部中斷為高優先級,PT0=0定時器中斷為低優先級,IT0=0將外部中斷0設置為電平觸發中斷方式,當按鍵K1按下時,為低電平觸發中斷,當按鍵松開時為高電平,外中斷0的中斷服務函數執行完后,中斷結束,回到定時器T0的中斷服務函數。

單片機源程序如下:
  1. #include <reg51.h>
  2. #include<intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char//延時函數Delay( ),i為形式參數,不能賦初值
  5. void delay(uint i) {
  6. uchar j;
  7. for(;i>0;i--)
  8. for(j=0;j<125;j++)
  9. {;} //空函數
  10. }
  11. void main( )
  12. {                   //主函數
  13.   
  14.   TMOD=0x01;    //定時器t0為方式1
  15.   TH0=0xee;     //設置定時器初值
  16.   TL0=0x00;
  17.   EA=1; //總中斷允許
  18.   ET0=1;//允許定時器t0中斷
  19.   TR0=1;//啟動定時器t0
  20.   EX0=1; //允許外部中斷0中斷
  21.   IT0=0; //選擇外部中斷0為電平觸發中斷方式
  22.   PX0=1;//外部中斷為高優先級
  23.   PT0=0;//定時器中斷為低優先級
  24.   P1=0xff;
  25.   while(1);
  26.   {;}    //循環等待

  27. }
  28. void timer0() interrupt 1 //T0中斷程序
  29. {
  30.   uchar i;
  31.   uchar display[9]= {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};        //流水燈顯示數據組
  32.   TH0=0xee;
  33.   TL0=0x00;

  34.   while(1)
  35.   {
  36.      P1=0xff;
  37.          for(i=0;i<9;i++)
  38.          {
  39.            delay(500);
  40.            P1=display[i];
  41.          }
  42.   }
  43. }
  44. void int0_isr(void) interrupt 0 //外中斷0的中斷服務函數
  45. {
  46.    P1=0;
  47.    delay(700);
  48.    P1=0xff;
  49.    delay(700);
  50. }   
復制代碼

Keil代碼與Proteus仿真下載:
中斷嵌套.zip (34.25 KB, 下載次數: 18)
中斷嵌套.zip (11.62 KB, 下載次數: 14)

評分

參與人數 1黑幣 +30 收起 理由
admin + 30 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:1070917 發表于 2023-4-10 19:34 | 只看該作者
確實有用能夠解決關鍵問題
回復

使用道具 舉報

板凳
ID:161164 發表于 2023-4-11 10:46 | 只看該作者
在定時中斷里用while(1)就是這實驗的重點
正常編寫代碼要避免這樣寫
回復

使用道具 舉報

地板
ID:1142105 發表于 2024-12-31 14:18 | 只看該作者
感謝樓主 非常有用
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人免费观看男女羞羞视频 | 久久精品一区 | 久久久久1 | 国产东北一级毛片 | wwww.8888久久爱站网 | 国产在线视频三区 | aaaa日韩 | 国产精品夜夜夜一区二区三区尤 | www.伊人.com| 日韩一区二区在线视频 | 天天爽夜夜操 | 91在线精品一区二区 | 中文字幕一区二区三区在线观看 | 久久久久亚洲精品国产 | 成人三级在线播放 | 亚洲精品一区二区三区中文字幕 | 精品不卡 | 成人免费视频网址 | 国产成人免费视频 | 国产黄色在线观看 | 日韩精品一区二区三区中文字幕 | 久久精片 | 国产在线网址 | 色视频网站在线观看 | va精品 | 国产一级大片 | 午夜在线视频 | av在线一区二区三区 | 澳门永久av免费网站 | 成人一区二 | 日韩一二三区 | 99精品国自产在线观看 | 草逼网站 | 成年人视频在线免费观看 | 九色网址| 日韩在线精品强乱中文字幕 | 一区二区三区四区不卡 | 91就要激情 | 国产探花在线精品一区二区 | av一级| 欧美日韩在线视频一区 |