標題:
stc15w408as單片機外部中斷0下降沿中斷程序
[打印本頁]
作者:
dpj888888
時間:
2020-9-27 07:45
標題:
stc15w408as單片機外部中斷0下降沿中斷程序
求助!求助!
我現(xiàn)在用STC15w408as處理433遙控接收器信號,遙控器不按,433遙控接收器輸出低電平,按下輸出高電平,用計數(shù)方法判斷不好用,通過計數(shù)4000個連續(xù)的1使sta標志置1,i++,i會加好多次,我只要一次,所以還是用外部中斷0下降沿觸發(fā)解決,還是一樣i++,i會加好多次:
sbit INT0 = P3^2;
void Initial_INT0(void)
{
IE0 = 0; //將INT0中斷請求標志位清"0"
EX0 = 1; //使能INT0中斷允許位
IT0 = 1; //選擇INT0為下降沿觸發(fā)方式
EA = 1; //允許總中斷
INT0=1;
}
void main(void)
{ Initial_INT0();
while(1)
{ }
}
void exint0() interrupt 0 //外部中斷入口
{
delay(50); //延時消抖
if(INT0==0) //如果檢測到INT0=0,則判斷為下降沿
{
yksta=1;
}
}
作者:
conrry
時間:
2020-9-27 12:28
樓主提到的i在程序中看不到,并且樓主說了好多,也沒有清晰的問題,都不知道不清楚到底要實現(xiàn)什么功能
作者:
青桑葉
時間:
2020-9-27 16:07
既然設置下降沿觸發(fā)了.中斷函數(shù)里就不必要使用if{}函數(shù)了.中斷執(zhí)行前邊,要關中.重復進入中斷干不了活
作者:
wulin
時間:
2020-9-27 19:08
#include "reg51.h"
void main()
{
INT0= 1;
IT0 = 1; //設置INT0的中斷類型 (1:僅下降沿 0:上升沿和下降沿)
EX0 = 1; //使能INT0中斷
EA = 1;
while (1)
{
}
}
//中斷服務程序
void exint0() interrupt 0 //INT0中斷入口
{
//任務
}
作者:
dpj888888
時間:
2020-9-27 20:24
謝謝大家,摸索了好久,已實現(xiàn)功能
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1