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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
| decodeur CLRF reserve_1 ; nettoyage des reserves de flag
CLRF reserve_2
MOVF sauv_4bits_PORTB,0 ; mise du code dans W
SUBLW b'0000' ; soustraction du code avec 0000
BTFSC STATUS,Z ; test du resultat
RETURN ; si la soustraction donne 1 alors partir sinon code suivant
MOVF sauv_4bits_PORTB,0
SUBLW b'0001'
BTFSC STATUS,Z
GOTO decod_1
MOVF sauv_4bits_PORTB,0
SUBLW b'0010'
BTFSC STATUS,Z
GOTO decod_2
MOVF sauv_4bits_PORTB,0
SUBLW b'0011'
BTFSC STATUS,Z
GOTO decod_3
MOVF sauv_4bits_PORTB,0
SUBLW b'0100'
BTFSC STATUS,Z
GOTO decod_4
MOVF sauv_4bits_PORTB,0
SUBLW b'0101'
BTFSC STATUS,Z
GOTO decod_5
MOVF sauv_4bits_PORTB,0
SUBLW b'0110'
BTFSC STATUS,Z
GOTO decod_6
MOVF sauv_4bits_PORTB,0
SUBLW b'0111'
BTFSC STATUS,Z
GOTO decod_7
MOVF sauv_4bits_PORTB,0
SUBLW b'1000'
BTFSC STATUS,Z
GOTO decod_8
MOVF sauv_4bits_PORTB,0
SUBLW b'1001'
BTFSC STATUS,Z
GOTO decod_9
MOVF sauv_4bits_PORTB,0
SUBLW b'1010'
BTFSC STATUS,Z
GOTO decod_10
MOVF sauv_4bits_PORTB,0
SUBLW b'1011'
BTFSC STATUS,Z
GOTO decod_11
MOVF sauv_4bits_PORTB,0
SUBLW b'1100'
BTFSC STATUS,Z
GOTO decod_12
MOVF sauv_4bits_PORTB,0
SUBLW b'1101'
BTFSC STATUS,Z
GOTO decod_13
MOVF sauv_4bits_PORTB,0
SUBLW b'1110'
BTFSC STATUS,Z
GOTO decod_14
MOVF sauv_4bits_PORTB,0
SUBLW b'1111'
BTFSC STATUS,Z
GOTO decod_15
RETURN
decod_1 BSF reserve_1,flag_telec_avant ; si code=0001 alors mettre a 1 flag correspondant
RETURN ; et partir
decod_2 BSF reserve_1,flag_telec_arriere
RETURN
decod_3 BSF reserve_1,flag_telec_gauche
RETURN
decod_4 BSF reserve_1,flag_telec_droite
RETURN
decod_5 BSF reserve_1,flag_telec_stop
RETURN
decod_6 BSF reserve_1,flag_telec_7
RETURN
decod_7 BSF reserve_1,flag_telec_8
RETURN
decod_8 BSF reserve_1,flag_telec_9
RETURN
decod_9 BSF reserve_2,flag_telec_10
RETURN
decod_10 BSF reserve_2,flag_telec_11
RETURN
decod_11 BSF reserve_2,flag_telec_12
RETURN
decod_12 BSF reserve_2,flag_telec_13
RETURN
decod_13 BSF reserve_2,flag_telec_14
RETURN
decod_14 BSF reserve_2,flag_telec_15
RETURN
decod_15 BSF reserve_2,flag_telec_16
RETURN |
Partager