標題:
單片機的中斷系統(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ù)
用定時器T0的中斷方式實現(xiàn)跑馬燈控制
#include<reg52.h>
sbit D1=P2^0;
void main()
{
char A;
EA=1;
ET0=1;
TMOD=0x01;
TH0=(65536-46083)/256;
TL0=(65536-46083)%256;
TR0=1;
A=0xfe;
D1=A;
while(1);
}
void Time(void) interrupt 1 using 0
{
char A;
A=A<<1;
if (A !=0xff)
{
A=A|1;
}
else
A=0xfe;
D1=A;
TH0=(65536-46083)/256;
TL0=(65536-46083)%256;
}
復(fù)制代碼
作者:
yyx666
時間:
2021-6-3 21:46
非常有收獲,請多發(fā)這樣的技術(shù)帖子
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1