Du kan väl börja med det här. Kod och schema för en monitor-testare, byggt kring en PIC16F84:
Kod: Markera allt
;
list p=16c84, f=inhx8m ;Enter device name
;printed on the probe
;connected to your pod.
include <P16C84.INC>
org 0 ;start address 0
goto Start
org 0x50
Start clrf PORTB
bsf STATUS, RP0
movlw 0x00
movwf TRISB
bcf STATUS, RP0
clrf PORTB
bsf PORTB, 2 ;vert sync
LoopV
movlw D'132'
movwf 0x0C
movwf 0x0D
movlw D'15'
movwf 0x10
movwf 0x11
movwf 0x12
movwf 0x13
movwf 0x14
movwf 0x15
movwf 0x16
bcf PORTB, 2 ;vert sync
nop
nop
nop
nop
nop
bsf PORTB, 2; vert sync
;now, the blank area at the top
BlankLoopTop
bcf PORTB, 0 ; 01
nop ; 02
nop ; 03
call delay10ms ; 13
call delay10ms ; 23
call delay10ms ; 33
call delay10ms ; 43
call delay10ms ; 53
bsf PORTB, 1 ; 54 horiz sync
nop ; 55
nop ; 56
nop ; 57
bcf PORTB, 1 ; 58
decfsz 0x0C,1 ; 51
goto BlankLoopTop ; 52
nop
Loop0
bcf PORTB, 0 ; 1
nop ; 2
bcf PORTB, 0 ; 3
nop ; 4
bcf PORTB, 0 ; 5
nop ; 6
bcf PORTB, 0 ; 7
nop ; 8
bcf PORTB, 0 ; 9
nop ; 10
bsf PORTB, 0 ; 11 '
nop ; 12
bcf PORTB, 0 ; 13
nop ; 14
bcf PORTB, 0 ; 15
nop ; 16
bsf PORTB, 0 ; 17 '
nop ; 18
bcf PORTB, 0 ; 19
nop ; 20
bcf PORTB, 0 ; 21
nop ; 22
bcf PORTB, 0 ; 23
nop ; 24
bcf PORTB, 0 ; 25
nop ; 26
bcf PORTB, 0 ; 27
nop ; 28
bcf PORTB, 0 ; 29
nop ; 30
bsf PORTB, 0 ; 31 '
nop ; 32
bsf PORTB, 0 ; 33 '
nop ; 34
bsf PORTB, 0 ; 35 '
nop ; 36
bsf PORTB, 0 ; 37 '
nop ; 38
bsf PORTB, 0 ; 39 '
nop ; 40
bcf PORTB, 0 ; 41
nop ; 42
bsf PORTB, 0 ; 43 '
nop ; 44
bsf PORTB, 0 ; 45 '
nop ; 46
bsf PORTB, 0 ; 47 '
nop ; 48
bsf PORTB, 0 ; 49 '
nop ; 50
bcf PORTB, 0 ; 51
nop ; 52
nop ; 53
bsf PORTB, 1 ; 54 horiz sync
nop ; 55
nop ; 57
nop ; 58
bcf PORTB, 1 ; 59
decfsz 0x10,1 ; 51
goto Loop0 ; 52
nop
Loop1
bcf PORTB, 0 ; 1
nop ; 2
bcf PORTB, 0 ; 3
nop ; 4
bcf PORTB, 0 ; 5
nop ; 6
bcf PORTB, 0 ; 7
nop ; 8
bcf PORTB, 0 ; 9
nop ; 10
bsf PORTB, 0 ; 11 '
nop ; 12
bcf PORTB, 0 ; 13
nop ; 14
bcf PORTB, 0 ; 15
nop ; 16
bsf PORTB, 0 ; 17 '
nop ; 18
bcf PORTB, 0 ; 19
nop ; 20
bcf PORTB, 0 ; 21
nop ; 22
bcf PORTB, 0 ; 23
nop ; 24
bcf PORTB, 0 ; 25
nop ; 26
bcf PORTB, 0 ; 27
nop ; 28
bcf PORTB, 0 ; 29
nop ; 30
bsf PORTB, 0 ; 31 '
nop ; 32
bcf PORTB, 0 ; 33
nop ; 34
bcf PORTB, 0 ; 35
nop ; 36
bcf PORTB, 0 ; 37
nop ; 38
bcf PORTB, 0 ; 39
nop ; 40
bcf PORTB, 0 ; 41
nop ; 42
bcf PORTB, 0 ; 43
nop ; 44
bcf PORTB, 0 ; 45
nop ; 46
bcf PORTB, 0 ; 47
nop ; 48
bsf PORTB, 0 ; 49 '
nop ; 50
bcf PORTB, 0 ; 51
nop ; 52
nop ; 53
bsf PORTB, 1 ; 54 horiz sync
nop ; 55
nop ; 57
nop ; 58
bcf PORTB, 1 ; 59
decfsz 0x11,1 ; 51
goto Loop1 ; 52
nop
Loop2
bcf PORTB, 0 ; 1
nop ; 2
bcf PORTB, 0 ; 3
nop ; 4
bcf PORTB, 0 ; 5
nop ; 6
bcf PORTB, 0 ; 7
nop ; 8
bcf PORTB, 0 ; 9
nop ; 10
bsf PORTB, 0 ; 11 '
nop ; 12
bcf PORTB, 0 ; 13
nop ; 14
bcf PORTB, 0 ; 15
nop ; 16
bsf PORTB, 0 ; 17 '
nop ; 18
bcf PORTB, 0 ; 19
nop ; 20
bcf PORTB, 0 ; 21
nop ; 22
bcf PORTB, 0 ; 23
nop ; 24
bsf PORTB, 0 ; 25 '
nop ; 26
bcf PORTB, 0 ; 27
nop ; 28
bcf PORTB, 0 ; 29
nop ; 30
bsf PORTB, 0 ; 31 '
nop ; 32
bcf PORTB, 0 ; 33
nop ; 34
bcf PORTB, 0 ; 35
nop ; 36
bcf PORTB, 0 ; 37
nop ; 38
bcf PORTB, 0 ; 39
nop ; 40
bcf PORTB, 0 ; 41
nop ; 42
bcf PORTB, 0 ; 43
nop ; 44
bcf PORTB, 0 ; 45
nop ; 46
bcf PORTB, 0 ; 47
nop ; 48
bsf PORTB, 0 ; 49 '
nop ; 50
bcf PORTB, 0 ; 51
nop ; 52
nop ; 53
bsf PORTB, 1 ; 54 horiz sync
nop ; 55
nop ; 57
nop ; 58
bcf PORTB, 1 ; 59
decfsz 0x12,1 ; 51
goto Loop2 ; 52
nop
Loop3
bcf PORTB, 0 ; 1
nop ; 2
bcf PORTB, 0 ; 3
nop ; 4
bcf PORTB, 0 ; 5
nop ; 6
bcf PORTB, 0 ; 7
nop ; 8
bcf PORTB, 0 ; 9
nop ; 10
bsf PORTB, 0 ; 11 '
nop ; 12
bsf PORTB, 0 ; 13 '
nop ; 14
bsf PORTB, 0 ; 15 '
nop ; 16
bsf PORTB, 0 ; 17 '
nop ; 18
bsf PORTB, 0 ; 19 '
nop ; 20
bcf PORTB, 0 ; 21
nop ; 22
bcf PORTB, 0 ; 23
nop ; 24
bcf PORTB, 0 ; 25
nop ; 26
bcf PORTB, 0 ; 27
nop ; 28
bcf PORTB, 0 ; 29
nop ; 30
bsf PORTB, 0 ; 31 '
nop ; 32
bsf PORTB, 0 ; 33 '
nop ; 34
bsf PORTB, 0 ; 35 '
nop ; 36
bsf PORTB, 0 ; 37 '
nop ; 38
bcf PORTB, 0 ; 39
nop ; 40
bcf PORTB, 0 ; 41
nop ; 42
bcf PORTB, 0 ; 43
nop ; 44
bcf PORTB, 0 ; 45
nop ; 46
bcf PORTB, 0 ; 47
nop ; 48
bsf PORTB, 0 ; 49 '
nop ; 50
bcf PORTB, 0 ; 51
nop ; 52
nop ; 53
bsf PORTB, 1 ; 54 horiz sync
nop ; 55
nop ; 57
nop ; 58
bcf PORTB, 1 ; 59
decfsz 0x13,1 ; 51
goto Loop3 ; 52
nop
Loop4
bcf PORTB, 0 ; 1
nop ; 2
bcf PORTB, 0 ; 3
nop ; 4
bcf PORTB, 0 ; 5
nop ; 6
bcf PORTB, 0 ; 7
nop ; 8
bcf PORTB, 0 ; 9
nop ; 10
bcf PORTB, 0 ; 11
nop ; 12
bcf PORTB, 0 ; 13
nop ; 14
bcf PORTB, 0 ; 15
nop ; 16
bsf PORTB, 0 ; 17 '
nop ; 18
bcf PORTB, 0 ; 19
nop ; 20
bcf PORTB, 0 ; 21
nop ; 22
bcf PORTB, 0 ; 23
nop ; 24
bsf PORTB, 0 ; 25 '
nop ; 26
bcf PORTB, 0 ; 27
nop ; 28
bcf PORTB, 0 ; 29
nop ; 30
bcf PORTB, 0 ; 31
nop ; 32
bcf PORTB, 0 ; 33
nop ; 34
bcf PORTB, 0 ; 35
nop ; 36
bcf PORTB, 0 ; 37
nop ; 38
bsf PORTB, 0 ; 39 '
nop ; 40
bcf PORTB, 0 ; 41
nop ; 42
bcf PORTB, 0 ; 43
nop ; 44
bcf PORTB, 0 ; 45
nop ; 46
bcf PORTB, 0 ; 47
nop ; 48
bsf PORTB, 0 ; 49 '
nop ; 50
bcf PORTB, 0 ; 51
nop ; 52
nop ; 53
bsf PORTB, 1 ; 54 horiz sync
nop ; 55
nop ; 57
nop ; 58
bcf PORTB, 1 ; 59
decfsz 0x14,1 ; 51
goto Loop4 ; 52
nop
Loop5
bcf PORTB, 0 ; 1
nop ; 2
bcf PORTB, 0 ; 3
nop ; 4
bcf PORTB, 0 ; 5
nop ; 6
bcf PORTB, 0 ; 7
nop ; 8
bcf PORTB, 0 ; 9
nop ; 10
bcf PORTB, 0 ; 11
nop ; 12
bcf PORTB, 0 ; 13
nop ; 14
bcf PORTB, 0 ; 15
nop ; 16
bsf PORTB, 0 ; 17 '
nop ; 18
bcf PORTB, 0 ; 19
nop ; 20
bcf PORTB, 0 ; 21
nop ; 22
bcf PORTB, 0 ; 23
nop ; 24
bcf PORTB, 0 ; 25
nop ; 26
bcf PORTB, 0 ; 27
nop ; 28
bcf PORTB, 0 ; 29
nop ; 30
bsf PORTB, 0 ; 31 '
nop ; 32
bcf PORTB, 0 ; 33
nop ; 34
bcf PORTB, 0 ; 35
nop ; 36
bcf PORTB, 0 ; 37
nop ; 38
bsf PORTB, 0 ; 39 '
nop ; 40
bcf PORTB, 0 ; 41
nop ; 42
bcf PORTB, 0 ; 43
nop ; 44
bcf PORTB, 0 ; 45
nop ; 46
bcf PORTB, 0 ; 47
nop ; 48
bsf PORTB, 0 ; 49 '
nop ; 50
bcf PORTB, 0 ; 51
nop ; 52
nop ; 53
bsf PORTB, 1 ; 54 horiz sync
nop ; 55
nop ; 57
nop ; 58
bcf PORTB, 1 ; 59
decfsz 0x15,1 ; 51
goto Loop5 ; 52
nop
Loop6
bcf PORTB, 0 ; 1
nop ; 2
bcf PORTB, 0 ; 3
nop ; 4
bcf PORTB, 0 ; 5
nop ; 6
bcf PORTB, 0 ; 7
nop ; 8
bcf PORTB, 0 ; 9
nop ; 10
bcf PORTB, 0 ; 11
nop ; 12
bcf PORTB, 0 ; 13
nop ; 14
bcf PORTB, 0 ; 15
nop ; 16
bsf PORTB, 0 ; 17 '
nop ; 18
bcf PORTB, 0 ; 19
nop ; 20
bcf PORTB, 0 ; 21
nop ; 22
bcf PORTB, 0 ; 23
nop ; 24
bcf PORTB, 0 ; 25
nop ; 26
bcf PORTB, 0 ; 27
nop ; 28
bcf PORTB, 0 ; 29
nop ; 30
bcf PORTB, 0 ; 31
nop ; 32
bsf PORTB, 0 ; 33 '
nop ; 34
bsf PORTB, 0 ; 35 '
nop ; 36
bsf PORTB, 0 ; 37 '
nop ; 38
bcf PORTB, 0 ; 39
nop ; 40
bcf PORTB, 0 ; 41
nop ; 42
bcf PORTB, 0 ; 43
nop ; 44
bcf PORTB, 0 ; 45
nop ; 46
bcf PORTB, 0 ; 47
nop ; 48
bsf PORTB, 0 ; 49 '
nop ; 50
bcf PORTB, 0 ; 51
nop ; 52
nop ; 53
bsf PORTB, 1 ; 54 horiz sync
nop ; 55
nop ; 57
nop ; 58
bcf PORTB, 1 ; 59
decfsz 0x16,1 ; 51
goto Loop6 ; 52
nop
;now, the blank area at the bottom
BlankLoopBot
bcf PORTB, 0 ; 01
nop ; 02
nop ; 03
call delay10ms ; 13
call delay10ms ; 23
call delay10ms ; 33
call delay10ms ; 43
call delay10ms ; 53
bsf PORTB, 1 ; 54 horiz sync
nop ; 55
nop ; 56
nop ; 57
bcf PORTB, 1 ; 58
decfsz 0x0D,1 ; 51
goto BlankLoopBot ; 52
goto LoopV
delay10ms
nop
nop
nop
nop
nop
nop
return
end
Återkom när du lyckats med det där.