Red de conocimiento informático - Computadora portátil - Programa en lenguaje C para que cada una de las 8 luces del microcontrolador 51 se encienda al mismo tiempo

Programa en lenguaje C para que cada una de las 8 luces del microcontrolador 51 se encienda al mismo tiempo

//Suponiendo que el oscilador de cristal es de 12 MHZ, P1 controla el LED para que se ilumine a un nivel bajo

#include "reg51.h"

unsigned int YSJS= 0;

unsigned int P1BUF=0X03;

void main(void)

{

TMOD |= 0X10; 1 funciona en modo 1, temporizador de 16 bits

TH1 = 0XFF; //Tiempo de temporización del temporizador 1 = 500uS

TL1 = 0X06;

ET1 = 1 ; // Habilitar interrupción del temporizador 1

EA =1; //Habilitar interrupción total

P1 = P1BUF;

while(1)

{

}

}

void TIMER1(void) interrupción 3 //La función de interrupción del temporizador 1 utiliza el grupo de registros predeterminado

{

TH1 = 0XFF; //Tiempo de temporización del temporizador 1=500us

TL1 = 0X06;

YSJS++;

if( YSJS==2000) //500uS*2000=1000000us=1s

{

P1 = P1BUF;

YSJS = 0

P1BUF = P1BUF<<2;

IF(P1BUF==0)P1BUF=0X03;

}

}