MOSI y MISO en 89S52

1

¿Cómo puedo usar MOSI y MISO en 89S52? ¿Puedo usar el puerto serial de la computadora, directamente conectado a estos pines? ¿Algún código de ejemplo para esta función?

Muchas gracias

¿Alguien tiene un ejemplo de código, de las imágenes de arriba?

    
pregunta Rick Ant

2 respuestas

3

No, no puede conectar estos pines al puerto serie de la PC.

La razón principal es que son los pines SPI , y necesitas usar los UART para esto. Los pines de UART se llamarán generalmente RX y TX (aunque la hoja de datos le dirá)

En segundo lugar, los voltajes del puerto serie de la PC son incompatibles con su chip, por lo que necesita algo como el MAX232 Sugerido por AndrejaKo para traducir los niveles.

Sugiero hacer lo siguiente:

  • Lea la página de Wiki en UART (vinculada a arriba)
  • Lea la hoja de datos, al menos la sección UART.
  • Google para ver ejemplos de cómo usar UART para tu chip.

Para el último punto, realicé una búsqueda rápida en "89S52 UART example" y recuperé algunas páginas relevantes.
Aquí hay un código de ejemplo básico para el UART de uno de ellos :

#include <REGX52.h>
#include "delay.h" 
#include <stdio.h>        
unsigned char temperature; 
unsigned char humidity; 
void uartInit(void) 
{ 
 SCON  = 0x52;            
  TMOD  = TMOD|0x20;         
 TH1   = 0xfd;           
 TR1   = 1;        
} 
void main(void) 
 { 
  uartInit(); 
  for(;;) 
  { 
    printf("Temperature : %bu  Humidity : %bu \n", temperature++, humidity++);
    DelayMs(1000); 
  } 
} 

EDITAR: para usar los pines SPI para conectarse a una PC, necesita que la PC tenga una interfaz compatible con SPI (que no es estándar en la mayoría de las máquinas). Para agregar una, necesitará un adaptador de host SPI como < a href="http://www.totalphase.com/products/aardvark_i2cspi/"> this que se puede conectar al puerto USB de la PC.

    
respondido por el Oli Glaser
0

Primero obtenga el nombre exacto del componente y lea su hoja de datos. En él encontrará qué tipo de entrada espera el dispositivo. Por lo general, el puerto serie de la computadora no se puede usar directamente con microcontroladores. Además, los nombres de los puertos sugieren que se trata de un puerto serie síncrono y que también necesitará el pin del reloj (creo que se llama SCK) y alguna forma de conducirlo.

Para resumir: no funcionará directamente con el puerto serie de la computadora, pero se puede hacer un circuito para que la interfaz funcione de alguna manera. Tenga en cuenta que (si recuerdo bien) para este tipo de dispositivo, los pines SCK / MOSI / MISO se utilizan principalmente para la programación. Si tiene un puerto serie, lo más probable es que necesite usar un chip como MAX 232 para traducir los voltajes.

EDITAR: De hecho, la hoja de datos fue lo primero que Google me dio después de una búsqueda. Aquí es el enlace. Desafortunadamente, no tengo tiempo para leerlo (son las 3 AM aquí) y ampliar mi respuesta, pero definitivamente debería leerlo y (al menos) el artículo de Wikipedia en el puerto serie de la PC.

    
respondido por el AndrejaKo

Lea otras preguntas en las etiquetas