hier ist eine basprogramm mit den zeitplan aus diesem forum, dazwischen können die adc-werte evtl rausgezogen werden. man muss die adc-routinen nur geschickt dort einbauen :

Code:
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 64
$crystal = 8000000
$baud = 19200


Declare Sub Tv_asm()

Config Pinb.7 = Output
Config Pind.7 = Output

Sync Alias Portb                        '-[ 1,2K ]- Sync Ausgang
Video Alias Portd                       '-[ 560  ]- Video Ausgang
Const Syn = 7
Const Vid = 7

Disable Interrupts

Waitms 200

Call Tv_asm()

End

Sub Tv_asm()
$asm

ldi     r16,168                         'bei internem RC Takt, unbedingt
Out Osccal , R16                        'Kallibrieren !!!

'**************** Hauptschleife **************************************
'  bei 8 MHz ( 1 Takt = 0,125µs )
'  die Zeiten im Hauptprogramm zählen immer von "cbi sync,syn" (Sync auf Low)
'  bis "sbi sync,syn" (Sync auf High) oder eben von High nach Low
'*********************************************************************


'            __         ___         ___
'  V-Sync      |_______|   |_______|   |  ---> die ersten 2,5 Zeilen
'                27,5   4,5  27,5   4,5

Main:

   ldi   r16,5
Syn_0:

   cbi   sync,syn
   cbi   video,vid

   ldi   r23,$49                        '27,5 µs
Syn_1:
   dec   r23
   brne   syn_1

   sbi   sync,syn

   ldi   r23,12                         '4,5 µs
Syn_2:
   dec   r23
   brne   syn_2
   nop

   dec   r16
   brne   syn_0                         'Schleife 5 x 32µs = 160µs


'                  __    ________    _________
'  Nachtrabanten     |__|        |__|         |   ---> wieder 2,5 Zeilen
'                    2,25 29,75  2,25  29,75

   ldi   r16,5
Sync2:

   cbi   sync,syn                       'Nachtrabanten
   cbi   video,vid

   ldi   r23,6                          '2,25 µs
Syn_3:
   dec   r23
   brne   syn_3

   sbi   sync,syn

   ldi   r23,$4f                        '29,75 µs
Syn_4:
   dec   r23
   brne   syn_4

   dec   r16
   brne   sync2                         'Schleife 5 x 32µs = 160µs
                                        'zusammen 320µs = 5 Zeilen

'************************ Zeile 6-156 *******************************
'
'                         _______________________
'            __      ____|                       |___   ---> 307 Zeilen mit Bildinhalt
'  H-Sync      |____|
'               4,5    6     52µs Bildinhalt      1,5 µs
'
'********************************************************************

   ldi   r16,151                        'Schleife für 151 Zeilen
Hsyn_0:

   cbi   sync,syn
   cbi   video,vid

   ldi   r23,12                         '4,5 µs
Hsyn_1:
   dec   r23
   brne   hsyn_1

   sbi   sync,syn
   cbi   video,vid

   ldi   r23,$9e                        '59,5 µs ( 6 + 52 + 1,5µs )
Hsyn_2:                                 'da die Pegel für Bildinhalt schwarz sind
   dec   r23                            'wurde es hier zusammnegefasst
   brne   hsyn_2
   nop
   nop

   dec   r16
   brne   hsyn_0

'************************ Zeile 157 *********************************

   nop
Hsyn_3:
   cbi   sync,syn                       '1 Zeile
   cbi   video,vid

   ldi   r23,12                         '4,5 µs
Hsyn_4:
   dec   r23
   brne   hsyn_4

   sbi   sync,syn
   cbi   video,vid

   ldi  R23, 16                         '6,0 µs
Hsyn_44:
   dec  R23
   brne Hsyn_44

   sbi   sync,syn
   sbi   video,vid

   ldi   r23,$8a                        '52,0 µs  Bild
Hsyn_5:
   dec   r23
   brne   hsyn_5
   nop
   nop

   sbi   sync,syn
   cbi   video,vid

   ldi   r23,4                          '1,5 µs Nachsync
Hsyn_6:
   dec   r23
   brne   hsyn_6

'************************Zeile 158-312 *******************************

   ldi   r16,155                        'Schleife für 155 Zeilen
Hsyn_8:

   cbi   sync,syn

   ldi   r23,12                         '4,5 µs
Hsyn_9:
   dec   r23
   brne   hsyn_9

   sbi   sync,syn

   ldi   r23,$9e                        '59,5 µs ( 6 + 52 + 1,5µs )
Hsyn_10:                                'da die Pegel für Bildinhalt schwarz
   dec   r23                            'bleiben wurde es zusammnegefasst
   brne   hsyn_10
   nop
   nop
   dec   r16
   breq   ende                          'der Sprung zu "ende" spart 5 Takte
   nop
   nop
   nop                                  'Ausgleichs nop's, da der
   nop                                  'Sprung zu main mehr Takte benötigt
   nop
   nop
   nop
   nop
   nop
   nop
   brne   hsyn_8
Ende:
   jmp   main
$end Asm
End Sub**