#include <STC15F2K60S2.H>
sbit HC138_A=P2^5;
sbit HC138_B=P2^6;
sbit HC138_C=P2^7;
sbit buzz_1= P0^6;
sbit jdq_2= P0^4;
sbit s5=P3^2;
sbit s4=P3^3;
sbit L3=P0^2;
sbit L4=P0^3;
void Delay(unsigned int num)
{
unsigned int i;
while(num--)
for(i=0; i<628; i++);
}
void Init_HC138(unsigned char n)
{
switch (n)
{
case 4:
HC138_A=0;
HC138_B=0;
HC138_C=1;
break;
case 5:
HC138_A=1;
HC138_B=0;
HC138_C=1;
break;
case 6:
HC138_A=0;
HC138_B=1;
HC138_C=1;
break;
case 7:
HC138_A=1;
HC138_B=1;
HC138_C=1;
break;
}
}
void led_disp()
{
Init_HC138(4);
P0=0xfe;
Delay(200);
P0=0xff;
Delay(200);
}
void close_buzz()
{
Init_HC138(5);
buzz_1=0;//0是关闭
jdq_2=0;//0是关闭
}
/*****************************************************************/
void Int0_1_Init(void)
{
EX0 = 1;
IT0 = 1; // 边沿触发方式(下降沿)
EX1 = 1;
IT1 = 1; // 边沿触发方式(下降沿)
EA = 1; // 开启总中断
}
void int0(void) interrupt 0 //异或,相异为1,BTN,独立按键,S4,S5
{
if(s5==0)
{
Delay(200);
if(s5==0)
{
L3=0;
while(s5==0);
L3=1;
}
}
}
void int1(void) interrupt 2 //异或,相异为1,BTN,独立按键,S4,S5
{
if(s4==0)
{
Delay(200);
if(s4==0)
{
L4=0;
while(s4==0);
L4=1;
}
}
}
/*****************************************************************/
void main()
{
close_buzz();
Int0_1_Init();
while(1)
{
led_disp();
}
}