Desde el primer momento, estos procesadores no vienen con un gestor de arranque, por lo que no 'saben' nada acerca de los puertos serie estándar en sí, pero sí tienen un modo de programación serie. Se espera que un reloj de cambio externo (SCK) mueva los datos en serie al pin de entrada (MOSI) o lea los datos del pin de salida (MISO).
Para citar de la hoja de datos.
" Algoritmo de programación en serie
Para programar y verificar el AT89S51 en el modo de programación en serie, se recomienda la siguiente secuencia:
-
Secuencia de encendido:
a. Aplique potencia entre los pines VCC y GND.
b. Establezca el pin RST en "H".
Si un cristal no está conectado a través de los pines XTAL1 y XTAL2, aplique un reloj de 3 MHz a 33 MHz al pin XTAL1 y espere al menos 10 milisegundos.
- Habilite la programación en serie enviando la instrucción Habilitar programación en serie al pin MOSI / P1.5.
La frecuencia del reloj de cambio suministrado en el pin SCK / P1.7 debe ser menor
que el reloj de la CPU en XTAL1 dividido por 16.
- La matriz de códigos se programa un byte a la vez en el modo Byte o Página. los
el ciclo de escritura es automático y por lo general toma menos de 0.5 ms a 5V.
-
Se puede verificar cualquier ubicación de la memoria usando la instrucción de Lectura que devuelve el contenido en la dirección seleccionada en la salida serial MISO / P1.6.15
-
Al final de una sesión de programación, RST se puede configurar bajo para comenzar el funcionamiento normal del dispositivo.
Secuencia de apagado (si es necesario):
- Establezca XTAL1 en "L" (si no se usa un cristal).
- Establezca RST en "L".
- Apague el VCC.
Sondeo de datos:
La función de sondeo de datos también está disponible en el modo en serie. En este modo, durante
un ciclo de escritura y un intento de lectura del último byte escrito resultará en el complemento del MSB del byte de salida en serie en MISO ".