|
我也遇見(jiàn)了相同問(wèn)題,外部中斷程序不能用。
#include <STC15F2K60S2.H>
#define uchar unsigned char
sbit Inductorium = P3^4; //土壤濕度感應(yīng)器
sbit WaterPump = P3^0; //接水泵控制繼電器
sbit LED = P3^5; //水泵工作指示燈
uchar temp = 0x00;
uchar cnt = 0;
void main()
{
WaterPump = 1;
Inductorium = 1;
LED = 1;
TMOD = 0x01;
TH0 = (65536-10000)/255;
TL0 = (65536-10000)%255; //設(shè)定內(nèi)部晶振為12MHz剛好0.01秒
EX0 = 1; //打開(kāi)外部中斷0
ET0 = 1; //打開(kāi)定時(shí)器中斷0
IT0 = 0; //外部中斷0采用低電平觸發(fā)
TR0 = 1; //定時(shí)器開(kāi)始計(jì)時(shí)
EA = 1; //中斷總開(kāi)關(guān)
while(1)
{
if(temp == 0x00)
{
LED = 1;
WaterPump = 1;
}
else if(temp == 0xFF)
{
LED = 0;
WaterPump = 0;
}
else
{
}
}
}
void intautorun() interrupt 1 //定時(shí)器中斷函數(shù)
{
TH0 = (65536-10000)/255;
TL0 = (65536-10000)%255;
cnt ++;
if(cnt >= 5)
{
cnt = 0;
temp = (temp << 1)|Inductorium;
}
}
void interrupt_INT0() interrupt 0 //外部中斷函數(shù)
{
LED = 0;
WaterPump = 0;
}
外部中斷采用2引腳按鍵連接GND,也在P3^2引腳上加過(guò)上拉電阻試過(guò),還是沒(méi)用。
在按下外部中斷上的按鍵時(shí)LED燈閃了一下,繼電器沒(méi)反應(yīng),放開(kāi)按鍵時(shí)也LED燈也閃了一下。但是不管IT0 = 1還是 IT0 = 0 都一樣的情況 |
|