Está en la página 1de 71

Prctica #1 U1

Cdigo.
INCLUDE P16F628A.INC
P=16F628A
__CONFIG
_WDT_OFF& _PWRTE_ON&

on

ORG
BSF
CLRF
CLRF
BCF
BSF
BSF
BSF
BSF
BSF
BSF
GOTO
END

_CP_OFF&

05H
STATUS,RP0
TRISA
TRISB
STATUS,RP0
PORTB,1
PORTB,3
PORTB,7
PORTA,4
PORTA,5
PORTA,6
on

Simulacin.

Prctica #2 U1

_XT_OSC

Cdigo.
LIST
#INCLUDE
__CONFIG
BSF

BCF
INICIO

P=16F84
P16F84.INC
_WDT_OFF& _PWRTE_ON&

ORG
00H
STATUS,5
BSF TRISB,0
BSF TRISB,1
CLRF TRISA
STATUS,5
CLRF PORTA
BTFSC
PORTB,0
GOTO ENRB4
GOTO
APRB4

VER

BTFSCPORTB,1
GOTO ENRB5
GOTO APRB5

ENRB4

BSF PORTA,3
GOTO VER
BCF PORTA,3
GOTO VER
BSF PORTA,2
GOTO INICIO
BCF PORTA,2
GOTO INICIO
END

APRB4
ENRB5
APRB5

_CP_OFF&

Simulacin.

Prctica #3 U1
Cdigo.

_XT_OSC

LIST P = 16F84A
#INCLUDE P16F84A.INC
__CONFIG _XT_OSC& _WDT_OFF& _PWRTE_OFF
ORG 00H
BSF STATUS,5
MOVLW 0FH
MOVWF TRISA
CLRF TRISB
BCF STATUS,5
INICIO BTFSC PORTA,0
GOTO DATO1
BTFSC PORTA,1
GOTO DATO2
BTFSC PORTA,2
GOTO DATO3
BTFSC PORTA,3
GOTO DATO4
CLRF PORTB
GOTO INICIO
DATO1
MOVLW 03H
MOVWF PORTB
RETURN
DATO2
MOVLW 0CH
MOVWF PORTB
RETURN
DATO3
MOVLW 0BH
MOVWF PORTB
RETURN
DATO4
MOVLW 05H
MOVWF PORTB
GOTO INICIO
END

Simulacin.

Prctica #4 U1
Cdigo.
LIST
#INCLUDE
__CONFIG

P=16F84
P16F84.INC
_WDT_OFF& _PWRTE_ON&

_CP_OFF&

_XT_OSC

ORG
00H
STATUS,5
MOVLW 07H
MOVWF TRISB
CLRF
TRISA
BCF
STATUS,5
BSF

CLRF PORTB
CLRF PORTA
INICIO BTFSS PORTB,0
GOTO OFF
GOTO ON
CH
BTFSS PORTB,1
GOTO OFF1
GOTO ON1
CH1 BTFSS PORTB,2
GOTO OFF2
GOTO ON2
ON

BSF PORTA,0
GOTO CH
OFF BCF PORTA,0
GOTO CH
ON1 BSF PORTA,1
GOTO CH1
OFF1 BCF PORTA,1
GOTO CH1
ON2 BSF PORTA,2
GOTO INICIO
OFF2 BCF PORTA,2
GOTO INICIO
END

Simulacin.

Prctica #5 U1
Cdigo.
LIST

P=16F84
#INCLUDE P16F84.INC
__CONFIG
_WDT_OFF& _PWRTE_ON&

_CP_OFF&

ORG
BSF

BCF
VER

00H
STATUS,5
MOVLW
0FFH
MOVWF
TRISA
CLRF
TRISB
STATUS,5
CLRF PORTB
BTFSS PORTA,0
GOTO VER
INCF PORTB,F
GOTO VER
END

Simulacin.

Prctica #6 U1

_XT_OSC

Cdigo.
LIST
#INCLUDE
__CONFIG

BSF

BCF
OFF
CH
WAIT

CH1
WAIT1

P=16F84
P16F84.INC
_WDT_OFF& _PWRTE_ON&

ORG 00H
STATUS,5
MOVLW
06H
MOVWF
TRISA
CLRF TRISB
STATUS,5
CLRF PORTA
CLRF PORTB
BTFSS PORTA,1
GOTO CH1
BTFSCPORTA,1
GOTO WAIT
INCF PORTB,F
BTFSS PORTB,3
GOTO CH
GOTO OFF
BTFSS PORTA,2
GOTO CH
BTFSCPORTA,2
GOTO WAIT1
DECF PORTB,F
BTFSS PORTB,3
GOTO CH1
GOTO OFF
END

Simulacin.

_CP_OFF&

_XT_OSC

Prctica #7 U1
Cdigo.
LIST
#INCLUDE
__CONFIG

BSF

BCF
OFF
CH
WAIT

CH1

P=16F84
P16F84.INC
_WDT_OFF& _PWRTE_ON&

ORG 00H
STATUS,5
MOVLW
06H
MOVWF
TRISA
CLRF TRISB
STATUS,5
CLRF PORTA
MOVLW
01H
MOVWF
PORTB
BTFSS PORTA,1
GOTO CH1
BTFSCPORTA,1
GOTO WAIT
RLF PORTB,F
BTFSS PORTB,4
GOTO CH
GOTO OFF
BTFSS PORTA,2
GOTO CH

_CP_OFF&

_XT_OSC

WAIT1

BTFSCPORTA,2
GOTO WAIT1
RRF PORTB,F
BTFSS PORTB,4
GOTO CH1
GOTO OFF
END

Simulacin.

Prctica #1 U2
Cdigo.

C1
C2
C3

LIST P=16F84
#INCLUDE P16F84.INC
__CONFIG _WDT_OFF& _PWRTE_ON& _CP_OFF& _XT_OSC
EQU 0CH
EQU 0DH
EQU 0EH
ORG 00H
BSF STATUS,5
MOVLW 04H
MOVWF TRISA
CLRF TRISB
BCF STATUS,5

IN
CH

CLRF
CLRF
BTFSS
GOTO
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW

PORTA
PORTB
PORTA,2
CH
3FH
PORTB
DELAY
06H
PORTB
DELAY
5BH
PORTB
DELAY
4FH
PORTB
DELAY
66H
PORTB
DELAY
6DH
PORTB
DELAY
7DH
PORTB
DELAY
27H
PORTB
DELAY
7FH
PORTB
DELAY
6FH
PORTB
DELAY
79H

MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
GOTO

PORTB
DELAY
7DH
PORTB
DELAY
31H
PORTB
DELAY
7FH
PORTB
DELAY
IN

DELAY
DE1
DE2
DE3

MOVLW .33
MOVWF C1
MOVLW .91
MOVWF C2
MOVLW .111
MOVWF C3
DECFSZ C3,F
GOTO DE3
DECFSZ C2,F
GOTO DE2
DECFSZ C1,F
GOTO DE1
RETURN
END

Simulacin.

Prctica #2 U2
Cdigo.
LIST P=16F84
#INCLUDE P16F84.INC
__CONFIG _WDT_OFF& _PWRTE_ON& _CP_OFF& _XT_OSC

C1
C2
C3

EQU 0CH
EQU 0DH
EQU 0EH
ORG 00H
BSF STATUS,5
MOVLW 04H
MOVWF TRISA
CLRF TRISB
BCF STATUS,5

IN
CH

CLRF
CLRF
BTFSS
GOTO
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW

PORTA
PORTB
PORTA,2
CH
71H
PORTB
DELAY
79H
PORTB
DELAY
5EH
PORTB
DELAY
39H
PORTB
DELAY
7CH
PORTB
DELAY
77H
PORTB
DELAY
6FH
PORTB
DELAY
7FH
PORTB
DELAY
27H
PORTB
DELAY
7DH
PORTB
DELAY
6DH
PORTB
DELAY
66H

MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
GOTO

PORTB
DELAY
4FH
PORTB
DELAY
5BH
PORTB
DELAY
06H
PORTB
DELAY
3FH
PORTB
DELAY
IN

DELAY
DE1
DE2
DE3

MOVLW .125
MOVWF C1
MOVLW .125
MOVWF C2
MOVLW .10
MOVWF C3
DECFSZ C3,F
GOTO DE3
DECFSZ C2,F
GOTO DE2
DECFSZ C1,F
GOTO DE1
RETURN
END

Simulacin.

Prctica #3 U2
Cdigo.
LIST
#INCLUDE
__CONFIG

IN
BSF
ES

CH
ES1

P=16F84
P16F84.INC
_WDT_OFF& _PWRTE_ON&

ORG
BSF
MOVLW
MOVWF
CLRF
BCF

00H
STATUS,5
0F0H
TRISB
TRISA
STATUS,5

CLRF
CLRF

PORTA
PORTB

PORTB,0
BTFSS
PORTB,4
GOTO
CH
MOVLW
01H
MOVWF
PORTA
BTFSC
PORTB,4
GOTO
ES
BCF
PORTB,4
GOTO
IN
BTFSS
GOTO
MOVLW
MOVWF

PORTB,5
CH1
02H
PORTA

_CP_OFF&

; MUESTRA 1

; MUESTRA 2

_XT_OSC

CH1
ES2

CH2
ES3

CH3

ES4

CH4
ES5

CH5
ES6

CH6
ES7

BCF
BSF

BTFSC
GOTO
GOTO

PORTB,5
ES1
IN

BTFSS
GOTO
MOVLW
MOVWF
BTFSC
GOTO
GOTO

PORTB,6
CH2
03H
PORTA
PORTB,6
ES2
IN

BTFSS
GOTO
MOVLW
MOVWF
BTFSC
GOTO
GOTO

PORTB,7
CH3
b'1010'
PORTA
PORTB,7
ES3
IN

; MUESTRA 3

; MUESTRA A

PORTB,0
PORTB,1
BTFSS
GOTO
MOVLW
MOVWF
BTFSC
GOTO
GOTO

PORTB,4
CH4
04H
PORTA
PORTB,4
ES4
IN

BTFSS
GOTO
MOVLW
MOVWF
BTFSC
GOTO
GOTO

PORTB,5
CH5
05H
PORTA
PORTB,5
ES5
IN

BTFSS
GOTO
MOVLW
MOVWF
BTFSC
GOTO
GOTO

PORTB,6
CH6
06H
PORTA
PORTB,6
ES6
IN

BTFSS
GOTO
MOVLW

PORTB,7
CH7
b'1011'

; MUESTRA 4

; MUESTRA 5

; MUESTRA 6

; MUESTRA B

MOVWF
BTFSC
GOTO
GOTO
CH7

ES8

CH8
ES9

CH9
ES10

CH10
ES11

CH11

ES12

BCF
BSF

PORTA
PORTB,7
ES7
IN

PORTB,1
PORTB,2
BTFSS
GOTO
MOVLW
MOVWF
BTFSC
GOTO
GOTO

PORTB,4
CH8
07H
PORTA
PORTB,4
ES8
IN

BTFSS
GOTO
MOVLW
MOVWF
BTFSC
GOTO
GOTO

PORTB,5
CH9
08H
PORTA
PORTB,5
ES9
IN

BTFSS
GOTO
MOVLW
MOVWF
BTFSC
GOTO
GOTO

PORTB,6
CH10
09H
PORTA
PORTB,6
ES10
IN

BTFSS
GOTO
MOVLW
MOVWF
BTFSC
GOTO
GOTO

PORTB,7
CH11
b'1100'
PORTA
PORTB,7
ES11
IN

BCF
BSF

PORTB,2
PORTB,3

BTFSS
GOTO
MOVLW
MOVWF
BTFSC
GOTO
GOTO

PORTB,4
CH12
b'1111'
PORTA
PORTB,4
ES12
IN

; MUESTRA 7

; MUESTRA 8

; MUESTRA 9

; MUESTRA C

; MUESTRA F

CH12
ES13

CH13
ES14

CH14
ES15

BTFSS
GOTO
CLRF
BTFSC
GOTO
GOTO

PORTB,5
CH13
PORTA
PORTB,5
ES13
IN

BTFSS
GOTO
MOVLW
MOVWF
BTFSC
GOTO
GOTO

PORTB,6
CH14
b'1110'
PORTA
PORTB,6
ES14
IN

BTFSS
GOTO
MOVLW
MOVWF
BTFSC
GOTO
GOTO

PORTB,7
IN
b'1101'
PORTA
PORTB,7
ES15
IN

; MUESTRA 0

; MUESTRA E

;MUESTRA D

END

Simulacin.

Prctica #4 U2
Cdigo.

C1

LIST
#INCLUDE
__CONFIG

P=16F84
P16F84.INC
_WDT_OFF& _PWRTE_ON&

EQU

0CH

_CP_OFF&

_XT_OSC

C2
C3

EQU
EQU

IN

0DH
0EH
ORG
BSF
MOVLW
MOVWF
CLRF
BCF

00H
STATUS,5
0F0H
TRISB
TRISA
STATUS,5

CLRF
CLRF

PORTA
PORTB

BSF
ES

CH
ES1

CH1
ES2

CH2
ES3

CH3

ES4

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,0
PORTB,4
CH
PORTB,4
ES
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5
CH1
PORTB,5
ES1
ER

; TECLA 2

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6
CH2
PORTB,6
ES2
PR

; TECLA 3

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7
CH3
PORTB,7
ES3
ER

; TECLA A

BCF
BSF

; TECLA 1

PORTB,0
PORTB,1
BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,4 ; TECLA 4
CH4
PORTB,4
ES4
ER

CH4
ES5

CH5
ES6

CH6
ES7

CH7

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5 ; TECLA 5
CH5
PORTB,5
ES5
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6 ; TECLA 6
CH6
PORTB,6
ES6
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7 ; TECLA B
CH7
PORTB,7
ES7
ER

BCF
BSF

PORTB,1
PORTB,2
BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,4 ; TECLA 7
CH8
PORTB,4
ES8
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5 ; TECLA 8
CH9
PORTB,5
ES9
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6 ; TECLA 9
CH10
PORTB,6
ES10
ER

ES11

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7 ; TECLA C
CH11
PORTB,7
ES11
ER

CH11

BCF

PORTB,2

ES8

CH8
ES9

CH9
ES10

CH10

ES12

CH12
ES13

CH13
ES14

CH14
ES15

PR

ES16

CH15
ES17

CH16

BCF
BSF

BSF

PORTB,3

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,4 ; TECLA F
CH12
PORTB,4
ES12
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5 ; TECLA 0
CH13
PORTB,5
ES13
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6 ; TECLA E
CH14
PORTB,6
ES14
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7 ; TECLA D
IN
PORTB,7
ES15
ER

PORTB,3
PORTB,0
BTFSS
PORTB,4
GOTO
CH15
BTFSC
PORTB,4
GOTO
ES16
GOTO
ER

; TECLA 1

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5
CH16
PORTB,5
ES17
ER

; TECLA 2

BTFSS
GOTO

PORTB,6
CH17

; TECLA 3

ES18

BTFSC
GOTO
GOTO

PORTB,6
ES18
ER

CH17

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7
CH18
PORTB,7
ES19
ER

BCF
BSF

PORTB,0
PORTB,1

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,4 ; TECLA 4
CH19
PORTB,4
ES20
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5 ; TECLA 5
CH20
PORTB,5
ES21
PR2

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6 ; TECLA 6
CH21
PORTB,6
ES22
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7 ; TECLA B
CH22
PORTB,7
ES23
ER

BCF
BSF

PORTB,1
PORTB,2

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,4 ; TECLA 7
CH23
PORTB,4
ES24
ER

BTFSS
GOTO
BTFSC
GOTO

PORTB,5 ; TECLA 8
CH24
PORTB,5
ES25

ES19

CH18

ES20

CH19
ES21

CH20
ES22

CH21
ES23

CH22

ES24

CH23
ES25

; TECLA A

CH24
ES26

CH25
ES27

CH26

ES28

CH27
ES29

CH28
ES30

CH29
ES31

PR2

ES32

CH30

BCF
BSF

GOTO

ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6 ; TECLA 9
CH25
PORTB,6
ES26
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7 ; TECLA C
CH26
PORTB,7
ES27
ER

BCF
BSF

PORTB,2
PORTB,3

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,4 ; TECLA F
CH27
PORTB,4
ES28
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5 ; TECLA 0
CH28
PORTB,5
ES29
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6
CH29
PORTB,6
ES30
ER

; TECLA E

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7
PR
PORTB,7
ES31
ER

PORTB,3
PORTB,0
BTFSS
PORTB,4
GOTO
CH30
BTFSC
PORTB,4
GOTO
ES32
GOTO
PR3
BTFSS

PORTB,5

TECLA D

; TECLA 1

; TECLA 2

ES33

CH31
ES34

CH32
ES35

CH33

ES36

CH34
ES37

CH35
ES38

CH36
ES39

CH37

ES40

GOTO
BTFSC
GOTO
GOTO

CH31
PORTB,5
ES33
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6
CH32
PORTB,6
ES34
ER

; TECLA 3

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7
CH33
PORTB,7
ES35
ER

; TECLA A

BCF
BSF

PORTB,0
PORTB,1

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,4 ; TECLA 4
CH34
PORTB,4
ES36
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5 ; TECLA 5
CH35
PORTB,5
ES37
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6 ; TECLA 6
CH36
PORTB,6
ES38
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7 ; TECLA B
CH37
PORTB,7
ES39
ER

BCF
BSF

PORTB,1
PORTB,2

BTFSS
GOTO
BTFSC

PORTB,4 ; TECLA 7
CH38
PORTB,4

CH38
ES41

CH39
ES42

CH40
ES43

CH41

ES44

CH42
ES45

CH43
ES46

CH44
ES47

GOTO
GOTO

ES40
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5 ; TECLA 8
CH39
PORTB,5
ES41
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6 ; TECLA 9
CH40
PORTB,6
ES42
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7 ; TECLA C
CH41
PORTB,7
ES43
ER

BCF
BSF

PORTB,2
PORTB,3

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,4 ; TECLA F
CH42
PORTB,4
ES44
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5 ; TECLA 0
CH43
PORTB,5
ES45
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6
CH44
PORTB,6
ES46
ER

; TECLA E

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7
PR2
PORTB,7
ES47
ER

TECLA D

PR3

ES48

CH45
ES49

CH46
ES50

CH47
ES51

CH48

ES52

CH49
ES53

CH50
ES54

BCF
BSF

PORTB,3
PORTB,0
BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,4
CH45
PORTB,4
ES48
ER

; TECLA 1

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5
CH46
PORTB,5
ES49
ER

; TECLA 2

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6
CH47
PORTB,6
ES50
ER

; TECLA 3

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7
CH48
PORTB,7
ES51
ER

; TECLA A

BCF
BSF

PORTB,0
PORTB,1

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,4 ; TECLA 4
CH49
PORTB,4
ES52
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5 ; TECLA 5
CH50
PORTB,5
ES53
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6 ; TECLA 6
CH51
PORTB,6
ES54
ER

CH51
ES55

CH52

ES56

CH53
ES57

CH54
ES58

CH55
ES59

CH56

ES60

CH57
ES61

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7 ; TECLA B
CH52
PORTB,7
ES55
ER

BCF
BSF

PORTB,1
PORTB,2

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,4 ; TECLA 7
CH53
PORTB,4
ES56
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5 ; TECLA 8
CH54
PORTB,5
ES57
ON
;Muestra A

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6 ; TECLA 9
CH55
PORTB,6
ES58
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7 ; TECLA C
CH56
PORTB,7
ES59
ER

BCF
BSF

PORTB,2
PORTB,3

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,4 ; TECLA F
CH57
PORTB,4
ES60
ER

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,5 ; TECLA 0
CH58
PORTB,5
ES61
ER

CH58

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,6
CH59
PORTB,6
ES62
ER

; TECLA E

BTFSS
GOTO
BTFSC
GOTO
GOTO

PORTB,7
PR3
PORTB,7
ES63
ER

ON

MOVLW
MOVWF
GOTO ON

0AH
PORTA

ER

MOVLW
0EH
MOVWF
PORTA
CALL DELAY
GOTO IN

ES62

CH59
ES63

DELAY
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
DECFSZ
GOTO
DECFSZ
GOTO
DECFSZ
GOTO
RETURN

DE1
DE2
DE3

END

Simulacin.

.33
C1
.91
C2
.111
C3
C3,F
DE3
C2,F
DE2
C1,F
DE1

TECLA D

Prctica #5 U2
Cdigo.
LIST P=16F84A
INCLUDE <P16F84A.INC>
__CONFIG
_WDT_OFF& _PWRTE_ON&
CBLOCK
CONT1
CONT2
CONT3
DEC
UNI
ENDC

0CH

ORG
BSF
CLRF
CLRF
BCF

00H
STATUS,5
TRISA
TRISB
STATUS,5

CALL

DELAY_15MS

_CP_OFF&

_XT_OSC

BORRAR

MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL

030H
PORTB
HABILITADOR
DELAY_5MS
030H
PORTB
HABILITADOR
DELAY_100US
030H
PORTB
HABILITADOR
DELAY_100US
030H
PORTB
HABILITADOR
DELAY_50US
00CH
PORTB
HABILITADOR
DELAY_50US
006H ;ENTRY MODE
PORTB
HABILITADOR
DELAY_50US
001H ;LCD Erase
PORTB
HABILITADOR
DELAY_2MS
002H
PORTB
HABILITADOR
DELAY_2MS
'E'
PORTB
ESCRIBIR

MOVLW
MOVWF
CALL

'Q'
PORTB
ESCRIBIR

MOVLW
MOVWF
CALL

'U'
PORTB
ESCRIBIR

MOVLW
MOVWF
CALL

'I'
PORTB
ESCRIBIR

MOVLW
MOVWF

'P'
PORTB

INF
ESCRIBIR

CALL

ESCRIBIR

MOVLW
MOVWF
CALL

'O'
PORTB
ESCRIBIR

MOVLW
MOVWF
CALL

''
PORTB
ESCRIBIR

MOVLW
MOVWF
CALL

'N'
PORTB
ESCRIBIR

MOVLW
MOVWF
CALL

'U'
PORTB
ESCRIBIR

MOVLW
MOVWF
CALL

'M'
PORTB
ESCRIBIR

MOVLW
MOVWF
CALL

''
PORTB
ESCRIBIR

MOVLW
MOVWF
CALL

'4'
PORTB
ESCRIBIR

CALL

INF

BSF

HABILITADOR

BCF
BCF
BSF
BCF

PORTA,0
PORTA,1
PORTA,2
PORTA,2
PORTA,2

BCF
BCF
BCF
BSF
BCF

PORTA,0
PORTA,1
PORTA,2
PORTA,2
PORTA,2

DELAY_50US MOVLW
MOVWF
CICLO_50US DECFSZ

.16
CONT1
CONT1,F

GOTO
RETURN

CICLO_50US

MOVLW
MOVWF
DECFSZ
GOTO
RETURN

.33
CONT1
CONT1,F
CICLO_100US

DELAY_2MS MOVLW
MOVWF
CICLO2_2MS MOVLW
MOVWF
CICLO1_2MS DECFSZ
GOTO
DECFSZ
GOTO
RETURN

.3
CONT2
.255
CONT1
CONT1
CICLO1_2MS
CONT2,F
CICLO2_2MS

DELAY_5MS MOVLW
MOVWF
CICLO2_5MS MOVLW
MOVWF
CICLO1_5MS DECFSZ
GOTO
DECFSZ
GOTO
RETURN

.7
CONT2
.255
CONT1
CONT1
CICLO1_5MS
CONT2,F
CICLO2_5MS

DELAY_15MS

MOVLW
MOVWF
MOVLW
MOVWF
DECFSZ
GOTO
DECFSZ
GOTO
RETURN

.20
CONT2
.255
CONT1
CONT1
CICLO1_15MS
CONT2,F
CICLO2_15MS

MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
DECFSZ
GOTO
DECFSZ
GOTO

.5
CONT3
.40
CONT2
.40
CONT1
CONT1,F
CICLO1_1S
CONT2,F
CICLO2_1S

DELAY_100US
CICLO_100US

CICLO2_15MS
CICLO1_15MS

DELAY_1S
CICLO3_1S
CICLO2_1S
CICLO1_1S

DECFSZ
GOTO
RETURN

CONT3,F
CICLO3_1S

END

Simulacin.

Prctica #6 U2
Cdigo.
LIST P=16F84A
INCLUDE <P16F84A.INC>
ORG 00H

CBLOCK
CONT1
CONT2
CONT3
DEC
UNI
ENDC
BSF
CLRF
CLRF
BCF
;;INICIO DEL PROGRAMA;;
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
BORRAR
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL

0CH

STATUS,RP0
TRISA
TRISB
STATUS,RP0
DELAY_15MS
030H
PORTB
HABILITADOR
DELAY_5MS
030H
PORTB
HABILITADOR
DELAY_100US
030H
PORTB
HABILITADOR
DELAY_100US
030H
PORTB
HABILITADOR
DELAY_50US
00CH
PORTB
HABILITADOR
DELAY_50US
006H ;ENTRY MODE
PORTB
HABILITADOR
DELAY_50US
001H ;BORRA EL DISPLAY
PORTB
HABILITADOR
DELAY_2MS
002H
PORTB
HABILITADOR
DELAY_2MS
b'01010100' ;LETRA T
PORTB
ESCRIBIR

CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL
MOVLW
MOVWF
CALL
CALL

DELAY_50US
b'01001001' ;LETRA I
PORTB
ESCRIBIR
DELAY_50US
b'01000101' ;LETRA E
PORTB
ESCRIBIR
DELAY_50US
b'01001101' ;LETRA M
PORTB
ESCRIBIR
DELAY_50US
b'01010000' ;LETRA P
PORTB
ESCRIBIR
DELAY_50US
b'01001111' ;LETRA O
PORTB
ESCRIBIR
DELAY_50US
b'00100000' ;ESPACIO
PORTB
ESCRIBIR
DELAY_50US
b'00111101' ;SIMBOLO =
PORTB
ESCRIBIR
DELAY_50US
b'00100000' ;ESPACIO
PORTB
ESCRIBIR
DELAY_50US

MOVF
CALL
MOVWF
CALL
CALL

DEC,W
TABLA_DEC
PORTB
ESCRIBIR
DELAY_50US

MOVF
CALL
MOVWF
CALL
CALL
CALL
INCF
MOVF
XORLW
BTFSS

UNI,W
TABLA_UNI
PORTB
ESCRIBIR
DELAY_50US
DELAY_1S
UNI,F
UNI,W
00AH
STATUS,Z

;;DECENAS

;;UNIDADES

GOTO
INCF
CLRW
CLRF
BTFSS
GOTO
BTFSS
GOTO
CLRF
GOTO
;;FIN DE CONTADOR
INF
CALL
;;ESCRIBIR;;
ESCRIBIR
BSF
BCF
BCF
BSF
BCF

BORRAR
DEC,1
UNI
DEC,1
BORRAR
DEC,2
BORRAR
DEC
BORRAR
INF
PORTA,0
PORTA,1
PORTA,2
PORTA,2
PORTA,2

;;FIN DE ESCRIBIR;;
;;HABILITADOR;;
HABILITADOR
BCF
BCF
BCF
BSF
BCF
;;FIN DE HABILITADOR;;
;;DELAY DE 50US;;
DELAY_50US MOVLW
MOVWF
CICLO_50US DECFSZ
GOTO
RETURN
;;FIN DELAY 50US;;
;;DELAY DE 100US;;
DELAY_100US
MOVLW
MOVWF
CICLO_100US
DECFSZ
GOTO
RETURN
;;FIN DELAY 100US;;
;;DELAY DE 2 MS;;
DELAY_2MS MOVLW
MOVWF
CICLO2_2MS MOVLW
MOVWF
CICLO1_2MS DECFSZ
GOTO
DECFSZ
GOTO

PORTA,0
PORTA,1
PORTA,2
PORTA,2
PORTA,2
.16
CONT1
CONT1,F
CICLO_50US

.33
CONT1
CONT1,F
CICLO_100US

.3
CONT2
.255
CONT1
CONT1
CICLO1_2MS
CONT2,F
CICLO2_2MS

RETURN
;;FIN DELAY 2 MS;;
;;DELAY DE 5 MS;;
DELAY_5MS MOVLW
MOVWF
CICLO2_5MS MOVLW
MOVWF
CICLO1_5MS DECFSZ
GOTO
DECFSZ
GOTO
RETURN
;;FIN DELAY 5 MS;;
;;DELAY DE 15 MS;;
DELAY_15MS
MOVLW
MOVWF
CICLO2_15MS
MOVLW
MOVWF
CICLO1_15MS
DECFSZ
GOTO
DECFSZ
GOTO
RETURN
;;FIN DELAY 15 MS;;
;;DELAY DE 1 S;;
;;FIN DELAY 1 S;;
DELAY_1S MOVLW
MOVWF
CICLO3_1S MOVLW
MOVWF
CICLO2_1S MOVLW
MOVWF
CICLO1_1S DECFSZ
GOTO
DECFSZ
GOTO
DECFSZ
GOTO
RETURN
;;TABLAS;;
TABLA_DEC ADDWF
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW

.7
CONT2
.255
CONT1
CONT1
CICLO1_5MS
CONT2,F
CICLO2_5MS

.20
CONT2
.255
CONT1
CONT1
CICLO1_15MS
CONT2,F
CICLO2_15MS

.5
CONT3
.40
CONT2
.40
CONT1
CONT1,F
CICLO1_1S
CONT2,F
CICLO2_1S
CONT3,F
CICLO3_1S
PCL,F
b'00110000'
b'00110001'
b'00110010'
b'00110011'
b'00110100'
b'00110101'
b'00110110'
b'00110111'
b'00111000'

;
;
;
;
;
;
;
;
;

0
1
2
3
4
5
6
7
8

RETLW
ADDWF
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
;;FIN DE TABLAS;;
END
TABLA_UNI

Simulacin.

b'00111001' ; 9
PCL,F
b'00110000'
b'00110001'
b'00110010'
b'00110011'
b'00110100'
b'00110101'
b'00110110'
b'00110111'
b'00111000'
b'00111001'

;
;
;
;
;
;
;
;
;
;

0
1
2
3
4
5
6
7
8
9

Prctica #7 U2
Cdigo.
LIST
#INCLUDE
__CONFIG
CBLOCK
CONT1
CONT2
CONT3
ENDC

P=16F84
P16F84.INC
_WDT_OFF& _PWRTE_ON&
0x0C

ORG
00H
BSF
STATUS,5
MOVLW
0FFH
MOVWF
TRISA
CLRF TRISB
BCF
STATUS,5
CLRF PORTB
ON0

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON1
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON1
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON1
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY1

;DERECHA

_CP_OFF&

_XT_OSC

BTFSCPORTA,0
GOTO ON1
GOTO ON0
ON1

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON2
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON2
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON2
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON2
BTFSCPORTA,4
GOTO IZ
GOTO ON1

;DERECHA

ON2

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON3
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON3
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'

;DERECHA

MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON3
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON3
BTFSCPORTA,4
GOTO IZ
GOTO ON2
ON3

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON4
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON4
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON4
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON4
BTFSCPORTA,4
GOTO IZ
GOTO ON3

;DERECHA

ON4

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON5

;DERECHA

BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON5
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON5
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON5
BTFSCPORTA,4
GOTO IZ
GOTO ON4
ON5

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON6
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON6
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON6
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY2
BTFSCPORTA,0

;DERECHA

GOTO ON6
BTFSCPORTA,4
GOTO IZ
GOTO ON5
ON6

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON7
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON7
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON7
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON7
BTFSCPORTA,4
GOTO IZ
GOTO ON6

;DERECHA

ON7

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON8
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON8
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'

;DERECHA

MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON8
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON8
BTFSCPORTA,4
GOTO IZ
GOTO ON7
ON8

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON9
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON9
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON9
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON9
BTFSCPORTA,4
GOTO IZ
GOTO ON8

;DERECHA

ON9

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON10

;DERECHA

BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON10
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON10
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON10
BTFSCPORTA,4
GOTO IZ
GOTO ON9
ON10

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON11
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON11
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON11
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY3
BTFSCPORTA,0

;DERECHA

GOTO ON11
BTFSCPORTA,4
GOTO IZ
GOTO ON10
ON11

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON12
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON12
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON12
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON12
BTFSCPORTA,4
GOTO IZ
GOTO ON11

;DERECHA

ON12 MOVLW b'00111001'


;DERECHA
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON13
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON13
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'

MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON13
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON13
BTFSCPORTA,4
GOTO IZ
GOTO ON12
ON13

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON14
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON14
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON14
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON14
BTFSCPORTA,4
GOTO IZ
GOTO ON13

;DERECHA

ON14

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON15

;DERECHA

BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON15
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON15
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON15
BTFSCPORTA,4
GOTO IZ
GOTO ON14
ON15

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON16
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON16
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON16
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY4
BTFSCPORTA,0

;DERECHA

GOTO ON16
BTFSCPORTA,4
GOTO IZ
GOTO ON15
ON16

MOVLW b'00111001'
MOVWF PORTB
CALL DELAY5
BTFSCPORTA,0
GOTO ON16
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110011'
MOVWF PORTB
CALL DELAY5
BTFSCPORTA,0
GOTO ON16
BTFSCPORTA,4
GOTO IZ
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY5
BTFSCPORTA,0
GOTO ON16
BTFSCPORTA,4
GOTO IZ
MOVLW b'00111100'
MOVWF
PORTB
CALL DELAY5
BTFSCPORTA,0
GOTO ON16
BTFSCPORTA,4
GOTO IZ
GOTO ON16

IZ
ON17 MOVLW b'00111001'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON18
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0

;DERECHA

;IZQUIERDA

GOTO ON18
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON18
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON18
BTFSS PORTA,4
GOTO ON0
GOTO ON17
ON18 MOVLW b'00111001'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON19
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON19
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON19
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON19
BTFSS PORTA,4
GOTO ON0
GOTO ON18

;IZQUIERDA

ON19 MOVLW b'00111001'

;IZQUIERDA

MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON20
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON20
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON20
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY1
BTFSCPORTA,0
GOTO ON20
BTFSS PORTA,4
GOTO ON0
GOTO ON19
ON20 MOVLW b'00111001'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON21
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON21
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON21
BTFSS PORTA,4
GOTO ON0

;IZQUIERDA

MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON21
BTFSS PORTA,4
GOTO ON0
GOTO ON20
ON21 MOVLW b'00111001'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON22
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON22
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON22
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON22
BTFSS PORTA,4
GOTO ON0
GOTO ON21

;IZQUIERDA

ON22 MOVLW b'00111001'


MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON23
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB

;IZQUIERDA

CALL DELAY2
BTFSCPORTA,0
GOTO ON23
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON23
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY2
BTFSCPORTA,0
GOTO ON23
BTFSS PORTA,4
GOTO ON0
GOTO ON22
ON23 MOVLW b'00111001'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON24
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON24
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON24
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON24
BTFSS PORTA,4
GOTO ON0

;IZQUIERDA

GOTO ON23
ON24 MOVLW b'00111001'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON25
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON25
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON25
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON25
BTFSS PORTA,4
GOTO ON0
GOTO ON24

;IZQUIERDA

ON25 MOVLW b'00111001'


MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON26
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON26
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB

;IZQUIERDA

CALL DELAY3
BTFSCPORTA,0
GOTO ON26
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON26
BTFSS PORTA,4
GOTO ON0
GOTO ON25
ON26 MOVLW b'00111001'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON27
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON27
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON27
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON27
BTFSS PORTA,4
GOTO ON0
GOTO ON26

;IZQUIERDA

ON27 MOVLW b'00111001'


MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0

;IZQUIERDA

GOTO ON28
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON28
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON28
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY3
BTFSCPORTA,0
GOTO ON28
BTFSS PORTA,4
GOTO ON0
GOTO ON27
ON28 MOVLW b'00111001'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON29
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON29
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON29
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY4

;IZQUIERDA

BTFSCPORTA,0
GOTO ON29
BTFSS PORTA,4
GOTO ON0
GOTO ON28
ON29 MOVLW b'00111001'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON30
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON30
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON30
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON30
BTFSS PORTA,4
GOTO ON0
GOTO ON29

;IZQUIERDA

ON30 MOVLW b'00111001'


MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON31
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON31

;IZQUIERDA

BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON31
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON31
BTFSS PORTA,4
GOTO ON0
GOTO ON30
ON31 MOVLW b'00111001'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON32
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON32
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON32
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON32
BTFSS PORTA,4
GOTO ON0
GOTO ON31

;IZQUIERDA

ON32 MOVLW b'00111001'

;IZQUIERDA

MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON33
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON33
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON33
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY4
BTFSCPORTA,0
GOTO ON33
BTFSS PORTA,4
GOTO ON0
GOTO ON32
ON33 MOVLW b'00111001'
MOVWF PORTB
CALL DELAY5
BTFSCPORTA,0
GOTO ON33
BTFSS PORTA,4
GOTO ON0
MOVLW b'00111100'
MOVWF PORTB
CALL DELAY5
BTFSCPORTA,0
GOTO ON33
BTFSS PORTA,4
GOTO ON0
MOVLW b'00110110'
MOVWF PORTB
CALL DELAY5
BTFSCPORTA,0
GOTO ON33
BTFSS PORTA,4

;IZQUIERDA

GOTO ON0
MOVLW b'00110011'
MOVWF
PORTB
CALL DELAY5
BTFSCPORTA,0
GOTO ON33
BTFSS PORTA,4
GOTO ON0
GOTO ON33

DELAY1

CALL
CALL
Return

DELAY2
DELAY4

DELAY2

MOVLW
MOVWF
MOVLW
MOVWF
DECFSZ
GOTO
DECFSZ
GOTO
Return

.80
CONT2
.200
CONT1
CONT1
CICLO1_15MS
CONT2,F
CICLO2_15MS

CALL
CALL
Return

DELAY4
DELAY4

CICLO2_15MS
CICLO1_15MS

DELAY3

DELAY4

MOVLW
MOVWF
CICLO2_5MS MOVLW
MOVWF
CICLO1_5MS DECFSZ
GOTO
DECFSZ
GOTO
Return
MOVLW
MOVWF
CICLO2_1MS MOVLW
MOVWF
CICLO1_1MS DECFSZ
GOTO
DECFSZ

.20
CONT2

; 20ms

;15ms

;10ms

;5ms

.200
CONT1
CONT1
CICLO1_5MS
CONT2,F
CICLO2_5MS

DELAY5

.10
CONT2
.200
CONT1
CONT1
CICLO1_1MS
CONT2,F

;1ms

GOTO
Return

CICLO2_1MS

END

Simulacin.

Prctica #8 U2
Cdigo.
LIST P=16F84A
INCLUDE <P16F84A.INC>
__CONFIG _XT_OSC &_WDT_OFF & _PWRTE_ON
ERRORLEVEL

CBLOCK 0X0C
ENDC
ORG 0
;CONFIGURACION DE PUERTOS

BSF STATUS,RP0
;CONFIGURACION DE RBO PARA SALIDA PWM
BCF TRISB,0
BCF TRISA,3
;CONFICURACION DE RBA0,1,2 PARA CAMBIAR POSICION
BSF TRISA,0
BSF TRISA,1
BSF TRISA,2
BSF TRISB,4
BSF TRISB,5
BSF TRISB,6
;TIMER 0 ASIGNACION DE PRESCALER DE 64
MOVLW
B'00000101'
MOVWF
OPTION_REG
;FIN DE CONFIGURACION
BCF STATUS,RP0
;INICIO DE PROGRAMA
GOTO HOME
;**** TIEMPOS **
;** 0.5 MS
TIME_500US EQU

D'248'

TIMEOF_500US

MOVLW
TIME_500US
MOVWF
TMR0
BCF
INTCON,T0IF
BTFSS INTCON,T0IF;DETECTA SI SE DESBORDO EL

TIME_REB
TEMPORIZADOR

GOTO TIME_REB
RETURN
;*** 1MS ****
TIME_1MS

EQU

TIMEOF_1MS
TIME_REB2

;*** 2MS ****

D'240'
MOVLW
TIME_1MS
MOVWF
TMR0
BCF
INTCON,T0IF
BTFSS INTCON,T0IF
GOTO TIME_REB2
RETURN

TIME_2MS

EQU

D'225'

TIMEOF_2MSMOVLW
TIME_2MS
MOVWF
TMR0
BCF
INTCON,T0IF
TIME_REB3 BTFSS INTCON,T0IF
GOTO TIME_REB3
RETURN
;*** 4MS ****
TIME_4MS

EQU

D'193'

TIMEOF_4MSMOVLW
TIME_4MS
MOVWF
TMR0
BCF
INTCON,T0IF
TIME_REB4 BTFSS INTCON,T0IF
GOTO TIME_REB4
RETURN
; *** 15 MS ****
TIME_15MS EQU D'21'
TIMEOF_15MS

MOVLW
TIME_15MS
MOVWF
TMR0
BCF
INTCON,T0IF
TIME_REB5 BTFSS INTCON,T0IF
GOTO TIME_REB5
RETURN
;*** 16 MS ***
TIME_16MS EQU

D'6'

TIMEOF_16MS

MOVLW
TIME_16MS
MOVWF
TMR0
BCF
INTCON,T0IF
TIME_REB6 BTFSS INTCON,T0IF
GOTO TIME_REB6
RETURN
;** DEFINICION DE POSICIONES **
;CERO GRADOS
HOME
BTFSS PORTA,0
GOTO HOME_2
ZER
BSF PORTA,3

CALL TIMEOF_500US
BCF PORTA,3
CALL TIMEOF_15MS
CALL TIMEOF_4MS
CALL TIMEOF_500US
;NOVENTA GRADOS
HOME_2
BTFSS PORTA,1
GOTO HOME_3
NOV
BSF PORTA,3
CALL TIMEOF_1MS
CALL TIMEOF_500US
BCF PORTA,3
CALL TIMEOF_16MS
CALL TIMEOF_2MS
CALL TIMEOF_500US
GOTO HOME
;180
;----Pulso de 2,2 ms para poner el servo en 180
HOME_3
BTFSS PORTA,2
GOTO HOME_4
dec
BSF PORTA,3
call
TIMEOF_2MS
call
TIMEOF_500US
BCF PORTA,3
CALL TIMEOF_16MS
CALL TIMEOF_2MS
CALL TIMEOF_500US
GOTO HOME
;; AGREGANDO PARA DOS SERVOS
;; CERO GRADOS
HOME_4
BTFSS PORTB,4
GOTO HOME_5
VER1 BSF
PORTB,0
CALL TIMEOF_500US
BCF PORTB,0
CALL TIMEOF_15MS
CALL TIMEOF_4MS
CALL TIMEOF_500US
;; 90 GRADIOS
HOME_5
BTFSS PORTB,5
GOTO HOME_6
CENTR
BSF
PORTB,0
CALL TIMEOF_1MS
CALL TIMEOF_500US
BCF PORTB,0
CALL TIMEOF_16MS
CALL TIMEOF_2MS

CALL TIMEOF_500US
GOTO HOME
; 180 GRADOS
HOME_6
BTFSS PORTB,6
GOTO HOME
VER2 BSF
PORTB,0
call
TIMEOF_2MS
call
TIMEOF_500US
BCF PORTB,0
CALL TIMEOF_16MS
CALL TIMEOF_2MS
CALL TIMEOF_500US
GOTO HOME
END

Simulacin.

Prctica #9 U2
Cdigo.
_CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST
INCLUDE

P=16F84A
<P16F84A.INC>

ERRORLEVEL
#DEFINE
#DEFINE
CBLOCK
YEAH
FASE
Guardar_W
Guardar_STATUS
SERVOS
ENDC
ORG
goto
ORG
goto
ORALE
bsf

1;-302

SERVO1
SERVO2

;EVITAR ERRORES DE CAMBIO DE BANCO

PORTB,6
PORTB,7

0x0C

0x000
ORALE
0x004
Interrupcion
STATUS,RP0

movlw
b'00011111'
;TRISA como entrada
movwf
TRISA
clrf
TRISB
;TRISB como salida
bcf
STATUS,RP0
bcf
STATUS,RP1
clrf
PORTB
movlw
b'10100000'
movwf
INTCON
;Habilitar interrupciones
generales
clrf
PORTB
clrf
FASE
INICIO
movf FASE,f
;Revisa en que fase del programa se encuentra
bz
SIGUE
;si no es en la fase 0 se hace un bucle
infinito
btfss PORTB,0
;Salta si es uno, interruptor pala abajo
goto VAMOS
bsf
PORTB,3
bcf
PORTB,4
VAMOS
movf PORTA,0
;------------------------------------------------------xorlw b'00001111'
andlw b'00001100'
xorlw d'12'
bz
subir
movf PORTA,1
xorlw b'00001111'
andlw b'00000011'
xorlw d'3'
bz
bajar
goto INICIO
subir
bsf
PORTB,2
bcf
PORTB,3
esperar
btfss PORTB,0
goto esperar
call
parar
goto INICIO

;Salta si es uno

bajar
bcf
PORTB,2
bsf
PORTB,3
btfss PORTB,1
goto bajar
goto activar.brocha
activar.brocha

;Salta si es uno, interruptor pala abajo

bcf
PORTB,2
bsf
PORTB,3
bcf
PORTB,4
goto INICIO
parar
bcf
bcf
return

PORTB,2
PORTB,3

SIGUE
;---------------------------------------------------------------------------movf PORTA,0
;El contenido del puerto A se pasa a W
xorlw b'00001111'
;Invertimos el valor de las entradas ya que el
receptor de control remoto trabajo en bajo
andlw b'00001111'
;Se enmascara el valor obtenido
call
tablaVERDAD
;Se llama a la tabla para obtener el
tiempo de cada servo
movwf
SERVOS
;
bsf
SERVO1
bsf
SERVO2
timer_900
bsf
STATUS,RP0 ;Se cambia al banco 1
movlw
b'00000001'
;Se modifica el preescaler
movwf
OPTION_REG;a 1:4 del TMR0
bcf
STATUS,RP0 ;Se regresa al banco 0
bcf
STATUS,RP1
movlw
d'40'
;Se carga 31 en TMR0
movwf
TMR0
;para obtener un tiempo de 900us aprox.
bcf
INTCON,T0IF ;Reseteamos el bit de desbordamiento del
timer
movlw
b'00000001'
;El programa pasa a la fase 1
movwf
FASE
goto INICIO
Interrupcion
bcf
INTCON,T0IE
movwf
Guardar_W
swapf STATUS,W
movwf
Guardar_STATUS

;Deshabilitamos interrupciones

Distribuidor
movf
xorlw
bz
movf
xorlw

FASE,W
;La interrupcion revisa en que fase del programa est
0x01
FASE1
FASE,W
0x02

bz
movf
xorlw
bz
movf
xorlw
bz

FASE2
FASE,W
0x03
FASE3
FASE,W
0x04
FASE4

FASE1
movlw
0x02
movwf
FASE
movf SERVOS,0
;Primero se revisa el servo1
andlw b'00111000'
;Enmascaramos para revisar solo el servo1
xorlw b'00010000'
;Se invierte W para saber si hay un 1 en el bit
que indica
bz
servo1.limpiar
;que el servo1 requiere un tiempo de
900us
goto continua1
servo1.limpiar
bcf

SERVO1

continua1
movf SERVOS,0
;Primero se revisa el servo1
andlw b'00000111'
;Enmascaramos para revisar solo el servo1
xorlw b'00000010'
;Se invierte W para saber si hay un 1 en el bit
que indica
bz
servo2.limpiar1
;que el servo1 requiere un tiempo de
900us
goto continua2
servo2.limpiar1
bcf

SERVO2

continua2
bsf
STATUS,RP0 ;Configuramos todo para detenernos en 1.5ms
movlw
b'00000001'
;Seleccionamos preescaler de 1:4
para TMR0
movwf
OPTION_REG
bcf
STATUS,RP0
bcf
STATUS,RP1
movlw
d'106'
;Con 106 en TMR0 obtenemos 600us que
es lo que restamos
movwf
TMR0
;para lograr los1.5ms deseados
goto salir
FASE2
movlw
movwf

0x03
FASE

movf SERVOS,0
;Primero se revisa el servo1
andlw b'00111000'
;Enmascaramos para revisar solo el servo1
xorlw b'00001000'
;Se invierte W para saber si hay un 1 en el bit
que indica
bz
servo1.limpiar2
;que el servo1 requiere un tiempo de
1500us
goto continuacion
servo1.limpiar2
bcf

SERVO1

continuacion
movf SERVOS,0
;Primero se revisa el servo1
andlw b'00000111'
;Enmascaramos para revisar solo el servo1
xorlw b'00000001'
;Se invierte W para saber si hay un 1 en el bit
que indica
bz
servo2.limpia2
;que el servo1 requiere un tiempo de
1500us
goto continuar
servo2.limpia2
bcf

SERVO2

continuar
bsf
STATUS,RP0 ;Configuramos todo para detenernos en 2.1ms
movlw
b'00000001'
;Seleccionamos preescaler de 1:4 para
TMR0
movwf
OPTION_REG
bcf
STATUS,RP0
bcf
STATUS,RP1
movlw
d'108'
;Con 106 en TMR0 obtenemos 600us que
es lo que restamos
movwf
TMR0
;para lograr los 2.1ms deseados
goto salir
FASE3
movlw
0x04
movwf
FASE
movf SERVOS,0
;Primero se revisa el servo1
andlw b'00111000'
;Enmascaramos para revisar solo el servo1
xorlw b'00100000'
;Se invierte W para saber si hay un 1 en el bit
que indica
bz
servo1.limpiar3
;
goto continue
servo1.limpiar3
bcf

SERVO1

continue
movf SERVOS,0

;Primero se revisa el servo1

andlw b'00000111'
;Enmascaramos para revisar solo el servo1
xorlw b'00000100'
;Se invierte W para saber si hay un 1 en el bit
que indica
bz
servo2.limpia3
;
goto continueNOW
servo2.limpia3
bcf

SERVO2

continueNOW
bsf
STATUS,RP0 ;Configuramos todo para detenernos en 20ms
para obtener un periodo
movlw
b'00000111'
;Seleccionamos preescaler de 1:256 para
TMR0
movwf
OPTION_REG
bcf
STATUS,RP0
bcf
STATUS,RP1
movlw
d'190'
;Con 190 en TMR0 obtenemos
17,900us que es lo que restamos
movwf
TMR0
;para lograr los 20ms deseados
goto salir
FASE4
clrf
FASE;
regresamos a la fase1

;Se ha conseguido un periodo por lo que

salir
bcf
INTCON,T0IF
desbordamiento de TMR0
swapf Guardar_STATUS, W
movwf
STATUS
swapf Guardar_W, f
swapf Guardar_W, w
bsf
INTCON,T0IE
retfie
tablaVERDAD
addwf PCL,F
TABLAretlw b'00001001'
retlw b'00100100'
retlw b'00010010'
retlw b'00001001'
retlw b'00010100'
retlw b'00010001'
retlw b'00001100'
retlw b'00001001'
retlw b'00010010'
retlw b'10100001'
retlw b'00001010'
retlw b'00001001'

;Se limpia el flag de

;Se reactiva interrupcion por TMR0

;0011
;
;
;0110
;0111
;1000
;1001
;1010
;1011

retlw
retlw
retlw
retlw

b'00001001'
b'00001001'
b'00001001'
b'00001001'

END

Simulacin.

;1100
;1101
;1110
;1111

Instituto Tecnolgico de Hermosillo

Ingeniera Mecatrnica
Trabajo de Nivelacin.

Alumno(s):
Labrada Prez Daniel Alberto.
Quionez Arredondo Abraham.
Cedano Coronado .

Materia:
Microcontroladores

Grupo:

T6B

Hermosillo, Son. Mircoles 31 de Mayo de 2016.

También podría gustarte