viernes, 3 de abril de 2009

Acelerando x4 el 450

Rutina para multiplicar la frecuencia de ejecucion de instrucciones en el 89c450

void MultiplicaXTAL(){
// PMR
// 7 6 5 4 3 2 1 0
// CD1 CD0 SWB CTM 4x/2x ALEON DME1 DME0
PMR |= 0x80; // CD1:CD0 = 10b
EXIF &= 0xFD; // RGMD = 0

PMR &= 0xEF; // CTM = 0
PMR |= 0x08; // XTAL x 4
PMR |= 0x10; // CTM = 1

while( !(EXIF&0x08) );
PMR &= 0x3F; // CD1:CD0 = 00b
}

No hay comentarios: