Red de conocimiento informático - Material del sitio web - Basado en el programa de ensamblaje de 51 microcontroladores, 16 luces de colores parpadean en un ciclo de izquierda a derecha y luego de derecha a izquierda.

Basado en el programa de ensamblaje de 51 microcontroladores, 16 luces de colores parpadean en un ciclo de izquierda a derecha y luego de derecha a izquierda.

#include lt;reg52.hgt;

#include lt;intrins.hgt;

#define uint unsigned int //16 bits

#define uchar unsigned char/8 bits

sbit led=P2^0;

sbit k0=P1^0;

sbit k1=P1^1;

retraso nulo(uint z);

void youyi();

void zuoyi();

uchar i ;

uchar temp1=0x01; //0000 0001

uchar temp2=0x80; //1000 0000

uchar flag0=0;

uchar flag1=0;

void main()

{

mientras(1)

{

if(k0== 0)//desplazamiento a la izquierda

{

flag0=1;

}

if(k1==0)//desplazamiento derecha

{

bandera1=1

}

if(flag0==1)

{

zuoyi();

temp2=0x80

}

si (flag1===1)

{

youyi();

temp1=0x01;

p> }

}

}

void zuoyi()

{

for(i=0;ilt;7;i)//i i=i 1

{

P2=temp1;

temp1=_crol_(temp1, 1); //0000 0010

retraso(500);

}

}

anular youyi()

{

for(i=0;ilt;7;i) //i i=i 1

{

P2= temp2;

temp2=_cror_(temp2, 1); //1000 0000

retraso(500);

}

}

}

retraso nulo(uint z)

{

uint x, y;

for(x=110; xgt; 0; x--)

for(y=z; ygt; 0; y- -);