P1 de 8051 está conectado al diodo emisor de luz y está programado en lenguaje ensamblador y lenguaje C para encender el diodo uno por uno y mostrarlo en un bucle.
Lenguaje C:
#include
void delay(unsigned int x);
void main()
{
carácter sin firmar i,j;
mientras(1)
{i=01 ;
para (j=0;j<8;j++)
{P1=i;
retraso(100);
i=i*2;
}
}
}
retraso nulo (unsigned int x)
{
carácter sin firmar j;
mientras(x--)
{for (j=0;j<125;j++);}
}
Montaje:
ORG 0000H
LJMP PRINCIPAL
ORG 0100H programa principal
;PRINCIPAL: MOV A, #01H
BUCLE: MOV P1, A
RETARDO DE LLAMADA
RL A
BUCLE SJMP
SJMP $
RETARDO: MOV R7, #0FFH
DJNZ R7, $
RET
END