代码详解(方法一)
#include <reg51.h>
#include <intrins.h>
sbit P1_7 = P1 ^ 7;
sbit P3_3 = P3 ^ 3;
sbit P3_4 = P3 ^ 4;
void delay(unsigned int i)
{
unsigned int j, k;
for (k = 0; k < i; k++)
for (j = 0; j < 100; j++)
;
}
void int1_int(void) interrupt 2
{
EX1 = 0;
while (P3_3 == 0)
{
P1_7 = 1;
delay(1);
P1_7 = 0;
delay(1);
}
EX1 = 1;
}
void main(void)
{
EA = 1;
EX1 = 1;
PX1 = 1;
P1 = 0x7f;
while (1)
{
while (P3_4 == 1)
{
while (1)
{
P1 = 0x7e;
delay(500);
P1 = 0x7d;
delay(500);
P1 = 0x7b;
delay(500);
P1 = 0x77;
delay(500);
P1 = 0x6f;
delay(500);
P1 = 0x5f;
delay(500);
P1 = 0x0f;
delay(500);
}
}
}
}
代码详解(方法二)
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
unsigned char code mon51[3] _at_ 0x3b;
void delay(unsigned int i)
{
unsigned int j, k;
for (k = 0; k < i; k++)
for (j = 0; j < 100; j++)
;
}
sbit P1_7 = P1 ^ 7;
sbit P3_3 = P3 ^ 3;
sbit P3_4 = P3 ^ 4;
void delay10ms(void)
{
unsigned char a, b, c;
for (c = 1; c > 0; c--)
{
for (b = 38; b > 0; b--)
{
for (a = 130; a > 0; a--)
{
}
}
}
}
void int1_int(void) interrupt 2
{
EX1 = 0;
while (P3_3 == 0)
{
P1_7 = 1;
delay(1);
P1_7 = 0;
delay(1);
}
EX1 = 1;
}
void main(void)
{
EA = 1;
EX1 = 1;
PX1 = 1;
P1 = 0x7f;
while (1)
{
while (P3_4 == 1)
{
P1 = 0x7e;
delay(500);
P1 = 0x7d;
delay(500);
P1 = 0x7b;
delay(500);
P1 = 0x77;
delay(500);
P1 = 0x6f;
delay(500);
P1 = 0x5f;
delay(500);
P1 = 0x0f;
delay(500);
}
}
}