[elektro] VGA jel generálás PIC-kel hogyan???

pilt down piltdownman at freemail.hu
Tue Jan 20 23:13:16 CET 2009


Legyen 640x480 pixeles,524soros,60Hz képfrekvenciás VGA.
Ennek sorideje kerekítve 32us,ebből 25,6us a hasznos soridő,6,4us a kioltás,
így egy pixel idő 25,6us/640=40ns.
Járjon egy PIC 20MHz-s kvarcról,azaz egy utasítás 0,2us lesz,igy 25,6us/0,2us=128
képelem lehet egy sorban.
Legyen a videojel az rb7 (ez egy 150 ohm-on keresztül ráköthető pl. a zöld bemenetre),
a sorszinron az ra0,a függőleges szinkron az ra1 (ezek közvetlenül mehetnek a monitor
csatlakozójára).
Reset után : ra0:"1",ra1:"1",rb7:"0"
A fő hurok ennyi:
loop    goto    loop    

Legyen egy 32us-s interrupt,nincs szükség "push"-ra ill. "pop"-ra. 
Minden interrupt így indul:
    nop        ;előváll
    nop
    nop        ;
    bcf    ra0    ;sorszinkron kezdet
    nop        ;19 nop  
    .    .
    bsf    ra0    ;sorszinkron vég    
    nop        ;10 nop 
    .
    nop        ;kezdődhet a videojel

Például függőleges vonal látszik,ha néhány nop után    
    bsf    rb7
    bcf    rb7
    retfie
következik.

A képszinkron előállításához kell egy 524-es számláló (vert_counter), amely 
3 sorideig "0"-ra teszi a ra1-t,megcsinálja a képirányú elő- és utóvállat.
A számlálót célszerű a sorszinron nop-jai helyett léptetni.

A szokásos teszt ábrák (háló,sakktábla,szinsáv,kereszt+keret)könnyen előállíthatók
az alábbi sorokkal:
    movf    vert_counter,0
    addwf    pcl,1
    goto    pattern1
    goto    pattern2
    etc
A kör zavaróan torz lesz a kis bontás miatt.
Karakterek kiírásához:
    movf    reg,w
    movwf    portb
    rlf    portb,1
    rlf    portb,1
    etc
Csak néhány karaktert lehet kiírni,kell idő a "reg" feltöltéséhez a következő sor megjelenítéséhez.. 
Sebesség mellett a ram mérete jelent korlátot.
Jó szórakozást!

A Hercules kártyát (na mi ez?) könnyű PIC-hez illeszteni,a Motorola 6845-t kell ismerni.
Magát a "Webpack"-et az itt lévők többsége szerintem egy nap alatt megeszi.
    
Üdv
PDM




________________________________________________________
Nyári nyaralások, fantasztikus előfoglalási kedvezménnyel.
Spóroljon meg akár 16%-ot vagy vegye igénybe 1. gyermek INGYEN utazik kedvezményünket. Horvát üdüléseknél illetve társas körutaknál 1,5% ONLINE KEDVEZMÉNY.
http://ad.adverticum.net/b/cl,1,6022,309206,379469/click.prm


More information about the Elektro mailing list