Programa en lenguaje C para lámpara de agua corriente SCM (8 lámparas, enciende cada lámpara en secuencia, demora 500 MS)
El código fuente del programa en lenguaje C para la lámpara de agua corriente de microcomputadora de un solo chip es el siguiente:
#include //Archivo de definición de microcomputadora de un solo chip de la serie 51
#define uchar unsigned char //Sin definición Carácter de símbolo
#define uint unsigned int //Definir entero sin signo
void delay(uint);
void main(void )
{
uint i;
uchar temp;
mientras(1 )
{ p>
temp=0x01;
for(i=0;i<8;i++) //8 luces de marcha parpadean una por una p>
{
P1=~temp;
delay(100); //Llama a la función de retardo
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8 luces de marcha parpadean en dirección inversa una por una
{
P1=~temp;
delay(100); //Llamar a la función de retardo
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //Las 8 luces de marcha están encendidas en secuencia p>
{
P1=temp;
delay(100); //Llamar a la función de retardo
temp<<=1; p>
}
temp=0x7F;
for(i=0;i<8;i++) //8 lámparas de agua corriente se encienden en orden inverso p>
{
P1=temp;
delay(100); //Llamar a la función de retardo
temp>>=1; p>
}
void delay(uint t) //Definir función de retardo
{
registrar uint bt;
for(;t;t--) p>
for(bt=0;bt<255;bt++);
}
Información ampliada
El código fuente de la lámpara de agua corriente del microcontrolador 51 es el siguiente
#include
#include
void?delay(int?a)
{
int?i;
mientras(a--)for(i=0;i<110 ;i++);
}
main()
{
int?i;
mientras( 1)
{
P0=0xfe;
for(i=0;i<8;i++)
{ p>
P0=_crol_(P0,1); p>
retraso(500);
}
}
}