blob: badb5a7cbc18b2fe5928706513330ff6b3814ed1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
init:
clrf PORTA ; make sure port A output latches are low
clrf PORTB ; make sure port B output latches are low
bsf STATUS,RP0 ; select memory bank 1
movlw b'11111111' ; set port A data direction to inputs
movwf TRISA
movlw b'00000000' ; set port B data direction to outputs
movwf TRISB
bcf STATUS,RP0 ; select memory bank 0
BACK equ B4
goto main
volow:
movlw b'00000001'
movwf PORTB
goto main
vomid:
movlw b'00000011'
movwf PORTB
goto main
vohigh:
movlw b'00000111'
movwf PORTB
goto main
vovhigh:
movlw b'00001111'
movwf PORTB
goto main
convert:
andlw b'00001111'
movwf BACK
andlw b'00001100'
btfsc STATUS, Z
goto volow
movf BACK, W
andlw b'00001100'
sublw b'00000100'
btfsc STATUS, Z
goto vomid
movf BACK, W
andlw b'00001100'
sublw b'00001000'
btfsc STATUS, Z
goto vohigh
movf BACK, W
andlw b'00001100'
sublw b'00001100'
btfsc STATUS, Z
goto vovhigh
movf BACK, W
goto main
main:
call readadc0
movf B0, W
goto convert
goto main
end
|