51試一下:
#include "reg52.h"
unsigned char x=1;
unsigned char i,j;
sbit NT0 = P3^2;
void delay_ms(unsigned char nms)
{
for(i = nms;i>0;i--)
{
for(j = 110;j>0;j--);
}
}
void main()
{
EA = 1;
EX0 = 1;
P1 = 0xff;
while(1);
}
void ex0_interrupt() interrupt 0
{
if(x<16)
{
P1 &= 0xF0;
P1 |= ~x;
if(NT0 == 0)
{
delay_ms(10);
if(NT0 == 0)
{
x= x << 1;
while(NT0 == 0);
}
}
}
else x = 1;
} |