Foro de elhacker.net

Informática => Electrónica => Mensaje iniciado por: Meta en 19 Febrero 2012, 13:44 pm



Título: Señales de vídeos
Publicado por: Meta en 19 Febrero 2012, 13:44 pm
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.

Código:
; 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.