Justamente es para un proyecto de estudio por el cual el codigo no creo que te lo vayan a dar facilmente, ya que estarian haciendo tu tarea.
Si tenes algo implementado seria bueno que lo pongas de esa forma es mas facil de decirte que necesitas cambiar para que luego vos lo hagas.
----------------------------
Como hacer el programa que pedis? Y depende.
Primero que nada va a depender de que lenguaje estes usando, si es C o ASM o BASIC. De eso va a depender la ayuda, la facilidad de codigo, etc. Y tambien hay que nombrar el compilador, ya que no es lo mismo usar XC8 que CCS para cuando programas en C.
Lo que se te pide es MUY simple. Y podes hacerlo de 2 formas.
Creando un SPI por software, o usando el SPI por hardware, lo bueno que cualquier que uses estos envian 8 bits.
A mi gusto usaria el SPI por hardware, se complicara un poco mas la configuracion, pero es muy simple luego para enviar datos.
Y si no queres meterte en aprender como configurar un modulo, entonces usas un SPI por software, para esto tal ves necesites un poco mas de conocimiento de programacion para entenderle, aunque no mucho.
------------------------
Hay algo que aun en la consigna no quedo claro:
Cuando OE se pone a 0 ? Ya que ACCION lo pone a 1, cuando o como se pone a 0 ?
PD: Todo esto es para que investigues y no que pienses que se te va a dar el codigo. El programa en el PIC es muy simple, solo tenes que hacer llenar casi una plantilla y funciona. Supongamos que estas en C y XC8
;Aca include
;Aca fuses ( te los hace solo el MPLAB)
main() {
;Aca configuracion de modulos ( I/O , SPI, ADC , etc ) //Mira el datasheet o ejemplos y lo vas a sacar
while(1)
{
;Aca programa principal (Leer entradas, esperar, enviar dato)
}
}
eso es todo ...