標題: 單片機的中斷系統(tǒng)基礎(chǔ)知識 [打印本頁]

作者: zhangli0126    時間: 2021-6-3 18:35
標題: 單片機的中斷系統(tǒng)基礎(chǔ)知識
中斷基礎(chǔ)知識
中斷:停下來正在做的事,去做別的事。CPU終止正在執(zhí)行的程序,轉(zhuǎn)而去做中斷信號發(fā)生的程序,執(zhí)行完此處程序,回到原位置。
中斷源:MCS-51單片機共有五個位置可以產(chǎn)生中斷信號:外部中斷INT0和INT1,定時器/計數(shù)器T0和T1,串行中斷。
中斷優(yōu)先級:當有多個中斷源向CPU發(fā)生信號時,處理中斷需要優(yōu)先級的設(shè)置。外部中斷INT0優(yōu)先級最高,串行中斷優(yōu)先級最低。需要設(shè)置IP寄存器。
中斷源寄存器:TCON和SCON。TCON主要包含了外部中斷觸發(fā)方式和外部中斷請求標志。當IT0、IT1為0,則是電平觸發(fā)方式(低電平有效);為1時,負跳變觸發(fā)方式。IE0、IE1在中斷發(fā)出請求后,置為1.中斷完成后,自動清零。
中斷允許寄存器:IE,IE寄存器包含了總開關(guān)、外部中斷、串行口中斷、定時器中斷等內(nèi)容。
中斷優(yōu)先級控制寄存器:IP。對應(yīng)位置為1的話,高優(yōu)先級;為0,低優(yōu)先級。

-----之前實現(xiàn)跑馬燈都需要設(shè)定一個延時函數(shù),現(xiàn)在有了定時器、中斷,不需要設(shè)定延時函數(shù)
  1. 用定時器T0的中斷方式實現(xiàn)跑馬燈控制
  2. #include<reg52.h>
  3. sbit D1=P2^0;
  4. void main()

  5. {
  6.         char A;
  7.         EA=1;
  8.         ET0=1;
  9.         TMOD=0x01;
  10.         TH0=(65536-46083)/256;
  11.         TL0=(65536-46083)%256;
  12.         TR0=1;
  13.         A=0xfe;
  14.         D1=A;
  15.         while(1);
  16. }
  17. void Time(void) interrupt 1 using 0
  18. {
  19.         char A;
  20.         A=A<<1;
  21.         if (A !=0xff)
  22.         {
  23.                 A=A|1;
  24.         }
  25.         else
  26.                 A=0xfe;
  27.         D1=A;
  28.         TH0=(65536-46083)/256;
  29.         TL0=(65536-46083)%256;
  30. }
復(fù)制代碼






作者: yyx666    時間: 2021-6-3 21:46
非常有收獲,請多發(fā)這樣的技術(shù)帖子




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1