de ensamblador no se mucho
pero en c "no precisamente debe ser c puede ser asm ,basic ,etc."
el algoritmo es simple
Código:
unsigned int contador;
unsigned char segundos1,segundos2,segundos3;
timer0 "puede ser 1 2 ,3 etc."
{
desbordar timer x segundos "1ms para el ejemplo"
contador++; //incrementara 1ms
[b]if(contador>=1000)[/b] //mil milisegundos es un segundo
{
contador=0; //reseteamos contador
segundos1++;
segundos2++;
segundos3++;
}
}
void main()
{
//prendemos un led cada 2 segundos
if(segundos1>=2)
{
segundos1=0; //reseteamos el segundo1
[b]//prende led[/b]
}
else
{
[b]//apaga led[/b]
}
//prendemos un rele cada 10 segundos
if(segundos2>=10)
{
segundos2=0; //reseteamos segundos2
//rele on
}
else
{
//rele off
}
}//fin del main
si he visto gente que soluciona sus problemas de multitarea o varios pwm con varios micros pero yo creo que son soluciones bastante marranas