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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4559|回復(fù): 3
收起左側(cè)

單片機(jī)中斷嵌套實(shí)驗(yàn)程序與Proteus仿真圖

[復(fù)制鏈接]
ID:997969 發(fā)表于 2021-12-28 20:48 | 顯示全部樓層 |閱讀模式
中斷嵌套。附件里包含源代碼,proteus工程文件。
使用一個(gè)外部中斷和定時(shí)器中斷,通過P1口連接的八個(gè)發(fā)光二極管來顯示中斷的作用。外部中斷未發(fā)生時(shí),即引腳INT0的按鍵開關(guān)沒有按下時(shí),系統(tǒng)通過定時(shí)器定時(shí)中斷的方法,使LED呈流水燈顯示,當(dāng)INT0腳的按鍵開光按下,即產(chǎn)生外部中斷,外部中斷INT0打斷定時(shí)器的定時(shí)中斷,從而控制8個(gè)LED閃爍顯示。當(dāng)按鍵開關(guān)松開,繼續(xù)呈流水燈顯示。本實(shí)驗(yàn)中外部中斷0設(shè)置為高優(yōu)先級(jí)中斷,定時(shí)器中斷設(shè)置為低優(yōu)先級(jí)中斷。
電路原理圖:
圖片1.png
電路工作原理的重點(diǎn)說明:發(fā)光二極管為共陽極連接,當(dāng)對(duì)應(yīng)P1口輸出0時(shí),發(fā)光二極管發(fā)光。K1按鍵沒按下時(shí),INT0=1,當(dāng)K1按鍵按下時(shí),INT0=0。
源代碼
圖片2.png
控制程序的重點(diǎn)說明:PX0=1外部中斷為高優(yōu)先級(jí),PT0=0定時(shí)器中斷為低優(yōu)先級(jí),IT0=0將外部中斷0設(shè)置為電平觸發(fā)中斷方式,當(dāng)按鍵K1按下時(shí),為低電平觸發(fā)中斷,當(dāng)按鍵松開時(shí)為高電平,外中斷0的中斷服務(wù)函數(shù)執(zhí)行完后,中斷結(jié)束,回到定時(shí)器T0的中斷服務(wù)函數(shù)。

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

  27. }
  28. void timer0() interrupt 1 //T0中斷程序
  29. {
  30.   uchar i;
  31.   uchar display[9]= {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};        //流水燈顯示數(shù)據(jù)組
  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的中斷服務(wù)函數(shù)
  45. {
  46.    P1=0;
  47.    delay(700);
  48.    P1=0xff;
  49.    delay(700);
  50. }   
復(fù)制代碼

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

評(píng)分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:1070917 發(fā)表于 2023-4-10 19:34 | 顯示全部樓層
確實(shí)有用能夠解決關(guān)鍵問題
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2023-4-11 10:46 | 顯示全部樓層
在定時(shí)中斷里用while(1)就是這實(shí)驗(yàn)的重點(diǎn)
正常編寫代碼要避免這樣寫
回復(fù)

使用道具 舉報(bào)

ID:1142105 發(fā)表于 2024-12-31 14:18 | 顯示全部樓層
感謝樓主 非常有用
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天操夜夜爽 | 中文有码在线 | 狠狠的干 | 久久午夜精品 | 国产极品国产极品 | 精品一区在线 | 三级黄色片网站 | 人人看人人干 | 亚洲久久久久久 | 国产又粗又猛又爽又黄 | 四虎影院永久免费 | 久草福利在线视频 | 免费网站观看www在线观看 | 国产黄色精品 | 黄色xxxxx| 国产精品一区二区在线播放 | 夜夜操天天操 | 伊人久久国产 | 日韩福利 | www.狠狠操 | 天天干夜夜草 | 国产成人小视频 | 91蜜桃婷婷狠狠久久综合9色 | 亚洲成人av| 日韩怡红院 | 综合二区 | 一区二区三区四区视频在线观看 | 国产精品1区2区 | 日韩1级片 | 黄色片在线免费观看 | 国产福利视频在线观看 | a毛片大片 | 五月婷婷丁香花 | 精品国产aⅴ麻豆 | www.日本高清| 成人在线视频播放 | 日本不卡二区 | 国产精品久久久久久久久借妻 | 夜夜嗨av一区二区三区 | 91视频成人| 在线理论片 |