Saludos Alejandro..
Instrucciones privilegiadas? Creo que me equivoque a la hora de plasmar la idea en texto, el pic18F252 de instrucciones privilegiadas utiles para esto solo serial TBLRD* y MOVFF, pero lo que realmente queria decir es que la serie 18F tiene "Registros privilegiados" que permiten el manejo de vectores de manera eficiente.
Los punteros a registros FSR0,FSR1,FS2 de 16 bits, permiten indexar toda la memoria ram
Con los registros POSTINC,PREINC,POSTDEC,PREDEC,PLUSW puedes accesar muy rapidamente la memoria ram.
Ejemplo de convinacion de instrucciones y registros de la serie 18F
MOVFF POSTINC0,TBLPTRL // Leo el num de sprite y lo indexo en FlashMem (TBLPTR)
TBLRD*+ // Leo un byte en FlashMen correspondiente al sprite eh incrementa el puntero TBLPTR
MOVFW TABLAT // Pongo el byte en el registro W para indexar una paleta de colores
MOVFF PLUSW1,PORTB // Presento el byte indexado por una paleta de colores en el puerto B
SWAPF WREG // Intercambio los 4bits inferiores por los superiores para indexar otro pixel.
MOVFF PLUSW1,PORTB // Muevo el color indexado al puerto B
Si te das cuenta, para una rutina asi son necesaria estos registros eh instruccciones, La instruccion MOVFF es muy util porque mueve bytes entre posiciones con una sola instruccion y sin ocupar el registro W.
El registro POSTINC0, regresa un byte, que es indexado por FSR, ademas despues de leerlo incrementa el indice FSR para asi poder leer el siguiente byte en memoria la proxima vez. todo en una sola instruccion.
Espero poder haber aclarado esto.
Porcierto.. Ayer hice pruebas en mi casa con sonidos, resulta ser que no es necesario utilizar un PIC de apoyo para generar el sonido, el mismo PIC18F252 que grafica todo, lo puede hacer, el truco es ocupar la misma interrupcion de 64uS para graficar las lineas horizontales, la forma mas facil es por muestreo. Osea, almaceno en un vector las muestras del sonido que quiero reproducir y cada vez que entra a la interrupcion presento una muestra en un puerto con DAC. No tengo nada de experiencia con sonidos y pics, pero espero tener algo pronto.
Instrucciones privilegiadas? Creo que me equivoque a la hora de plasmar la idea en texto, el pic18F252 de instrucciones privilegiadas utiles para esto solo serial TBLRD* y MOVFF, pero lo que realmente queria decir es que la serie 18F tiene "Registros privilegiados" que permiten el manejo de vectores de manera eficiente.
Los punteros a registros FSR0,FSR1,FS2 de 16 bits, permiten indexar toda la memoria ram
Con los registros POSTINC,PREINC,POSTDEC,PREDEC,PLUSW puedes accesar muy rapidamente la memoria ram.
Ejemplo de convinacion de instrucciones y registros de la serie 18F
MOVFF POSTINC0,TBLPTRL // Leo el num de sprite y lo indexo en FlashMem (TBLPTR)
TBLRD*+ // Leo un byte en FlashMen correspondiente al sprite eh incrementa el puntero TBLPTR
MOVFW TABLAT // Pongo el byte en el registro W para indexar una paleta de colores
MOVFF PLUSW1,PORTB // Presento el byte indexado por una paleta de colores en el puerto B
SWAPF WREG // Intercambio los 4bits inferiores por los superiores para indexar otro pixel.
MOVFF PLUSW1,PORTB // Muevo el color indexado al puerto B
Si te das cuenta, para una rutina asi son necesaria estos registros eh instruccciones, La instruccion MOVFF es muy util porque mueve bytes entre posiciones con una sola instruccion y sin ocupar el registro W.
El registro POSTINC0, regresa un byte, que es indexado por FSR, ademas despues de leerlo incrementa el indice FSR para asi poder leer el siguiente byte en memoria la proxima vez. todo en una sola instruccion.
Espero poder haber aclarado esto.
Porcierto.. Ayer hice pruebas en mi casa con sonidos, resulta ser que no es necesario utilizar un PIC de apoyo para generar el sonido, el mismo PIC18F252 que grafica todo, lo puede hacer, el truco es ocupar la misma interrupcion de 64uS para graficar las lineas horizontales, la forma mas facil es por muestreo. Osea, almaceno en un vector las muestras del sonido que quiero reproducir y cada vez que entra a la interrupcion presento una muestra en un puerto con DAC. No tengo nada de experiencia con sonidos y pics, pero espero tener algo pronto.