Hola:
Viendo el Tetris con PIC16F84A por todas partes, aquí (http://"www.neoteo.com/videojuegos-con-pic-16f628a-diy") y allá.
Con este trozo de código que encontré hace tiempo y lo tengo conservado para aprender hacer cosas en TV con señales de vídeos tanto PAL donde vivo, y NTSC que también se configura ahora en las TV €uropeas.
¿Alguien que tenga la TV NTSC estandar se su país, tiene la posibilidad de usar la configuración PAL como los €uropeos al NTSC? Esi si, la versión PAL la imagen se ve más nítida, sobre todo en los videojuegos PlayStation, etc... se nota mucho.
; Prueba de sincronización horizontal
; Este código crea líneas verticales
; en el centro se despliega una línea blanca, a las orillas
; dos líneas grises y todo lo demás aparece en negro.
; Se debe utilizar un cristal de 12MHz
; A RB0 se conecta una resistencia de 1K ohm
; A RB1 se conecta una resistencia de 470 ohm
; ---|
; |
; RB0|-/\/\/\--|
; | |
; RB1|-/\/\/\--|---* Salida de video
; |
; -- |
list p=16f88
include p16f88.inc
radix hex
__config _CONFIG1,_CP_OFF&_DEBUG_OFF&_WRT_PROTECT_OFF&_CPD_OFF&_LVP_OFF&_BODEN_OFF&_MCLR_OFF&_PWRTE_OFF&_WDT_OFF&_HS_OSC
cblock 0x20
delaycnt
hrzcnt
stuff
counter1
counter2
endc
COLOR_SYNC EQU 0x00
COLOR_BLACK EQU 0x01
COLOR_GRAY EQU 0X02
COLOR_WHITE EQU 0X03
VIDEO_PORT EQU PORTB
DELAY MACRO
LOCAL LABEL
movwf delaycnt
LABEL decfsz delaycnt,f
goto LABEL
ENDM
dnop MACRO
LOCAL label
label goto label+1
ENDM
org 0x00
goto INICIO
org 0x05
INICIO
bsf STATUS,RP0 ; Cambio al banco 1
clrf ANSEL ; Todos los pines digitales
clrf TRISB ; Puerto B como salida
bcf STATUS,RP0 ; Regreso al banco 0
clrf VIDEO_PORT ; Se limpia el puerto B
clrf TMR2
clrf T2CON
bsf STATUS,RP0
movlw 0xFF
movwf PR2
bcf STATUS,RP0
HORIZONTAL
bsf T2CON,TMR2ON
movlw COLOR_BLACK
; Front Porch
movwf VIDEO_PORT
movlw .1
DELAY
DNOP
movlw COLOR_SYNC
; 5us de sincronización
movwf VIDEO_PORT
movlw .4
DELAY
movlw COLOR_BLACK
; Back Porch por 5us
movwf VIDEO_PORT
movlw .4
DELAY
; 52us de video
movlw COLOR_GRAY
; 4us de gris
movwf VIDEO_PORT
movlw .3
DELAY
movlw COLOR_BLACK
; 20us de negro
movwf VIDEO_PORT
movlw .19
DELAY
movlw COLOR_WHITE
; 4us de blanco
movwf VIDEO_PORT
movlw .3
DELAY
movlw COLOR_BLACK
; 20us de negro
movwf VIDEO_PORT
movlw .19
DELAY
movlw COLOR_GRAY
;4us de gris
movwf VIDEO_PORT
movlw .3
DELAY
goto HORIZONTAL
end
Estoy pendiente de que me llegue por correos una DemoBoard y hacer cosas de estas con ella. En este caso da igual que PIC hacerlos, ya que me vienen estos:
1 x PIC12F508 de la gama baja y 8 patillas
1 x PIC16F88 de la gama media y 18 patillas
1 x PIC16F886 de la gama media y 28 patillas (viene de serie con USB-PIC'SCHOOL, insertado en su zócalo)
1 x PIC16F887 de la gama media y 40 patillas
1 x PIC18F2550 de la gama alta y 28 patillas
1 x PIC18F4550 de la gama alta y 40 patillas
También tengo el PIC16F84A-04 que no debe faltar. Así tengo para rato.
Con esto quiero entender como se hace señales de TV y sonidos tipo beep como los PC al iniciar.
Poco a poco entenderé el código. Los que sepan o hayan hechos proyectos sobre señales de TV, es buena idea poner enlaces por aquí.
Para hacer pruebas primero haré un montaje completo como indica aquí (http://"server-die.alc.upv.es/asignaturas/TEII/2006-07/Web_C05/02.html") sobre el tetris. Luego hexaminar con menos códigos el de arriba para no volverse loco. Documentaciones mucha, explicar abiertamente como se crea dibujitos es un poco lioso.
(http://www.neoteo.com/foro/images/imported/2012/02/32.jpg)
La idea principal de todo es ser capaz de mostrar mensajes en pantalla y ver qué salidas y entradas visualizadas en un Televisor por un PIC.
Un cordial saludo.