你好 我設置成了推挽輸出,但是它一通電就自己亮了,我寫的程序是按鍵按下才亮,而且中斷對它也沒有反應
#include <STC15.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit s1 = P3^3;
sbit k1 = P3^2;
sbit k2 = P3^1;
sbit k3 = P3^0;
sbit led = P3^5;
bit seyFlag=0;
void DELAY_MS (unsigned int t)
{
unsigned int a;
while ( --t != 0 )
{
for (a=0;a<=600;a++);
}
}
void DELAY_1s(int t)
{
unsigned long int a,b,c,d,e,f,g;
a=60000*t;
b=60000*t;
c=60000*t;
d=60000*t;
e=60000*t;
f=60000*t;
g=60000*t;
while(1)
{
a--;
b--;
c--;
d--;
e--;
f--;
g--;
if(seyFlag==1||g==0)
{
led = !led;
seyFlag=0;
return;
}
}
}
void Int1_Routine(void) interrupt 2
{
//led = !led;
seyFlag=1;
}
void main()
{
P3M0 = 0x20;
P3M1 = 0x00;
IT1 = 1;
EX1 = 1;
EA = 1;
while(1)
{
if(seyFlag == 1)
{
DELAY_MS(10);
led = 1;
if (k1==0)
{
if (k2==1)
{
if (k3==1)
{
DELAY_1s(5);
}
else if(k3==0)
{
DELAY_1s(10);
}
}
}
}
}
} |