Cómo escribir un programa para atenuar luces LED en lenguaje C
/Configura la CPU en la serie 8051 y la frecuencia del reloj en 12MHz
data?unsigned?char?ms;
sbit ?K1 =P0^0;
void?SetupTimer0()
{TMOD?amp;=?0XF0;? p>
{
TMOD?amp;=?0XF0;?//Solo mantiene información de T1
TMOD?|=?0X02;?//Establecer T0:?Función de temporización, modo 2, recarga automática de 8 bits timer /Counter
TH0?=?256-250; //Interrupción del temporizador cada 0,25 ms
TL0?=?256-250;
TR0?= ? 1;?//Abrir temporizador
ET0?=?1;?
void Timer0_ISR()?interrupt?1?//interrumpir programa de servicio
{
¿estático?datos?unsigned?char?us250;
if( us250 gt;=4)?{ ms;?us250=0;}
}
void?p1,p2;
ms=0;
SetupTimer0();
EA??=?1; //La interrupción global está habilitada
K1?=?1;
while(1)
{
if?(K1) ?{P1=p1=0XFF;?P2=p2=0x00;?ms=0;?continuar;}
if?(mslt;150)?continuar;
ms=? 0 ;
p1lt;lt;=1;;P1=p1;
p2lt;lt;=1;??p2|=1;?P2=p2;
}
}
}
}