20 de mayo de 2008

¡Los registros no son elásticos!

He visto en algunos ejercicios el siguiente error:

TH0=5.536
TL0=45.536

¿Cuál es el problema? Recordad que estamos trabajando con un micro cuyos registros, sus SFR, son de 8 bits. Esto quiere decir que pueden almacenar valores de como máximo 255 (2^8). Por lo tanto no se puede iniciar un registro de 8 bits a un valor mayor como los ejemplos que he puesto arriba.

El número binario que corresponde a 5.536 es: 1010110100000, intenta colocarlo en un registro de 8 bits...si lo consigues, me lo dices!!

Si los registros fueran de 16 bits, el primer valor (mira el valor binario) sí que podrías inicializarlo.

¿De cuántos bits necesitarías que fuera TL0 para inicializarlo a 45536?...

No hay comentarios: