Você está na página 1de 1

#include <reg51.

h> // Biblioteca para o microcontrolador 8051

unsigned char *ptr = 0x30;


unsigned char xdata var2 _at_ 0x200;
unsigned char *ptr1;

void ISR_INT0(void) interrupt 0 // Definir rotina de interrupção para INT0


{

*(unsigned char*)ptr = P1; // Armazenar o valor da porta P1 na memória

if (ptr == 0x3F) // Verificar se chegou ao final da memória


{
ptr = 0x30; // Voltar para o início da memória
}
else
{
ptr++; // Incrementar a localização de memória
// *ptr1=ptr;
}
}

void ISR_INT1(void) interrupt 2


{
ptr1=ptr;
ptr1--;
var2 = *ptr1;

void main()
{
IT0 = 1; // Configurar INT0 para borda de descida
EX0 = 1; // Habilitar interrupção INT0
EA = 1;

IT1 = 1; // Configurar INT1 para borda de descida


EX1 = 1; // Habilitar interrupção INT1

while(1); // Loop infinito


}

Você também pode gostar