MCU, conceptos básicos de programación
De hecho, la segunda pregunta aquí incluye la primera pregunta. Aquí implemento el programa para el segundo propósito. De esta manera, el primer programa se puede lograr eliminando la parte de desplazamiento a la derecha en el programa de extremo inferior.
Aquí no hay ningún diagrama de circuito, solo tome el LED del ánodo *** de 8 bits del puerto P1 como ejemplo,
Inicialización:
sbit P1_0 =P1^0;
p>
bit P1_1=P1^1;
bit P1_2=P1^2;
bit P1_3=P1^ 3;
bit P1_4= P1^4;
bit P1_5=P1^5;
bit P1_6=P1^6;
sbit P1_7=P1^7;
función de retardo:
retraso vacío (int x)
{
int a, b ;
para (a= 0; a { para(b=0;b<10000;b++); p> } } Programa principal void main() mientras(1) { P1_0= 1; retraso(1000); P1_0=0; retraso(1000); P1_1=1; retraso(1000); P1_1=0; retraso(1000); ...//Y así hasta P1_7, realiza el movimiento circular derecho de una sola lámpara, el primer problema termina aquí P1_7=1; delay( 1000); P1_7=0; delay(1000); P1_7=1;//Ahora inicia el ciclo de luz única para moverte hacia la izquierda p> retraso(1000); P1_7=0; retraso(1000); P1_6=1; delay(1000); P1_6=0 ; delay(1000); //Y así sucesivamente hasta P1_0 para realizar el desplazamiento a la izquierda //Esta es la realización del desplazamiento de una sola lámpara a la izquierda y una sola lámpara Mover la luz hacia la derecha }