Red de conocimiento informático - Espacio del host - Quiero usar la interrupción externa 0 para realizar la función de agregar 1 al tubo digital, es decir, presionar un botón aumentará el valor del tubo digital en uno, pero falla. ?

Quiero usar la interrupción externa 0 para realizar la función de agregar 1 al tubo digital, es decir, presionar un botón aumentará el valor del tubo digital en uno, pero falla. ?

#includelt; reg51.hgt;

#define uint unsigned int

#define uchar unsigned char

sbit P27=P2^ 7; //Selecciona el último tubo digital

uchar n;

uchar code a[]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80 , 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e}; //0-9

retraso nulo1ms(uint i)//programa de retraso de 1ms

{

uchar j;

while(i--) { for(j=0;jlt;115;j) {;} }

}

void main(void)

{

EA = 1;

EX0 = 1

IT0 = 1; p>

n = 0;

mientras(1) {

P0 = a[n];

retraso1ms(100);

}

}

void t(void) interrupción 0

{

n

n=10;

}

Eso es.