Los programas incluidos en el libro se han escrito para el compilador IAR. Usar cualquier otro compilador para la familia MCS-51 suele ser inmediato.
El compilador de la empresa Keil es uno de los más completos y mejor adaptados a distintas versiones del 51, además, su versión de evaluación es adecuada para aprender a usar este tipo de herramientas. Estos y otros motivos han hecho que se haya optado por cambiar de compilador.
Este apartado da unas pautas para adaptar los programas IAR incluidos en el libro a sus equivalentes IAR.
Para la definición de bits se emplea el tipo sbit
en la zona SFR y bit
en la zona baja de la memoria directa.
La notación sfr.bit
se sustituye por la notación sfr^bit
. Por ejemplo P1.5
se escribirá como P1^5
. Además, solo se permite esta notación en las definiciones de variables, no en el código.
Por ejemplo, en IAR se puede hacer:
sfr P0 = 0x80;
...
P0.2 = 1;
Su equivalente Keil será;
sfr P0=0x80;
P0_2 = P0^2;
...
P0_2 = 1;
Para los servicios de interrupción se emplea la notación:
void nombre_funcion(void) interrupt N;
En lugar de la notación IAR
interrupt [vector] void nombre_funcion(void);
La siguiente tabla indica las equivalencias.
Dirección (vector) | Número de interrupción (N) |
0003h | 0 |
000Bh | 1 |
0013h | 2 |
... |