Pines de datos LCD de diferentes puertos

Estoy usando LPC1769 y sus pines de puerto se muestran a continuación.

DB0 a DB15 : pines de puerto de LPC1769 utilizados como pines de datos para LCD

Señales de control para LCD:

C/D: Registrar seleccionar comando o datos

/WR: escribir

/RE: Leer

LCD_OE: Selección de chip

LCD_R: reinicio de LCD

Esquemático

Ya que he usado pines de puerto/datos diferentes (es decir, del puerto 0, 1, 2 y 4), ¿causa algún problema en la funcionalidad de la pantalla LCD?

Gracias de antemano.

¿Por qué estás atando todos tus pines que no son de datos ALTO? ¿No vincular /WR /RE /LCD OE y /LCD R alto a la vez crea una situación imposible de ganar (es decir, si todos están activos en ALTO, entonces está habilitando la lectura, escritura y salida, lo que hace que la lectura/ escribir conflicto, pero luego habilitar el reinicio también, lo que borra todo)?
Además, ¿de qué estás manejando la pantalla LCD? Nos dijo el modelo de LCD, luego nos dijo que está manejando desde diferentes "puertos", pero no a qué puertos están conectados. ¿Es un ATMega? Arduino Uno? ¿ORDENADOR PERSONAL? frambuesa pi? - Sin saber de qué forman parte los 'puertos', no podemos responder a su pregunta directa sobre el uso de "diferentes pines de puerto/datos", excepto para decir que si conecta el cable para que coincida con la codificación de su software, o el código para que coincida con su cableado, puerto #s deben ser intercambiables.
@ RobhercKV5ROB Creo que el LPC1769 es el MCU y no el modelo LCD
/WR,/RE,C/D,LCD_OE,LCD_R son pines de control y se asignan a los pines respectivos de la pantalla LCD a través de pull up. Mi pregunta es que los diferentes pines del puerto son capaces de funcionar en la pantalla LCD sin ningún mal funcionamiento.

Respuestas (1)

Si va a leer datos de 16 bits de la pantalla LCD con su puerto paralelo, porque ha utilizado diferentes puertos LPC para el puerto paralelo, se necesitarán varias líneas de código (lectura de cada registro, cambios de bits y enmascaramiento) para leerlos. cada puerto y combine los datos en un entero de 16 bits. Esto probablemente no será un gran problema ya que todo lo que leerá serán unos pocos registros de control (a menos que decida leer la RAM de gráficos).

Si va a escribir en la pantalla LCD con el mismo puerto paralelo, nuevamente se necesitarán varias líneas de código para escribir un número entero de 16 bits. Esto puede ralentizar la velocidad a la que se dibujan los píxeles en la pantalla, pero puede ser insignificante dependiendo de lo que esté dibujando en la pantalla; imágenes = muchos píxeles diferentes para escribir, por lo que será evidente una frecuencia de actualización lenta. Sin embargo, el texto suele tener unos pocos píxeles escritos sobre un fondo uniforme, por lo que no lo notará tanto. Es posible que todo esto no importe dependiendo del tamaño de la pantalla, por ejemplo, una pantalla de 320x240 tiene menos píxeles que una pantalla de 640x480. Con un reloj periférico lo suficientemente rápido, una pantalla más pequeña funcionará mejor.

Sin embargo, si conecta los pines paralelos de la pantalla LCD a un puerto LPC, puede leer o escribir básicamente una instrucción.

PORTA = 0xFFFF; // write

data = PORTA; // read