Problemas del microcontrolador relacionados con KEIL y la memoria del microcontrolador
1. El registro de función especial del microcontrolador.
2. Utilice la declaración de variables sfr en el software KEIL.
sfr P0=0x80;
Explicación:
1. En el registro de función especial, 0x80 almacena el estado del puerto P0.
2. Esta declaración define P0 como una variable cuyo contenido es el registro 0x80 del registro de función especial.
3. El nombre de P0 se puede cambiar, por ejemplo: sfr PORT0=0x80; de esta manera, cuando se usa en el programa, los datos de PORT0 son los datos del puerto P0 del microcontrolador.
Para obtener más información, consulte el capítulo "Registros de funciones especiales (SFR)" en el Manual de usuario del compilador Keil Software - Cx51.
La siguiente es una breve introducción. Si necesita documentación, póngase en contacto con nosotros.
La serie 1.8051 de microprocesadores proporciona un área de memoria especial llamada Registro de función especial (SFR). Los SFR utilizados en programas controlan temporizadores, contadores, puertos serie, puertos paralelos y periféricos. Los SFR se direccionan en el rango de 0x80 a
0xFF y se puede acceder a ellos como bits, bytes y palabras.
2. sfr
SFR se declara de la misma manera que otras variables de C. La única diferencia es que el tipo de datos es sfr en lugar de char o int.
Ejemplo:
sfr P0 = 0x80; /* Puerto-0, dirección 80h */
sfr P1 = 0x90; 90h */
sfr P2 = 0xA0; /* Puerto-2, dirección 0A0h */
sfr P3 = 0xB0 /* Puerto-3, dirección 0B0h *//p>
P0, P1, P2 y P3 son los nombres SFR declarados. El nombre de la variable sfr se define como otras variables C
Se puede utilizar cualquier nombre simbólico en la declaración sfr.
La dirección especificada después del signo igual = debe ser un valor constante; no se permiten expresiones con operandos
. La serie 8051 heredada admite direcciones SFR de 0x80 a 0xFF. PHILIPS 80C51MX proporciona
espacio SFR extendido adicional, con un rango de direcciones de 0x180 a 0x1FF.