Documentos de Académico
Documentos de Profesional
Documentos de Cultura
F i g u ra 1 . F u e n t e d e vo l t a j e.
1
I N G . F E D E R I C O AL V A R E Z M O N T A O
F i g u ra 2 . S i s t e m a m n i mo c o n P I C 1 6F 8 4 A
F i g ur a 2 . G e n e r a d o r d e p u l s o s
F i g u ra 3 . D i sp l a y L C D c o n P I C 1 6 F 8 4 A
F i g u ra 4 . P C B d el t a c m e t ro c o n P I C 1 6 F 8 4 A .
START
0X05
0X06
0X01
0X02
0X03
0X81
0X0B
PDel0
PDel1
PDel2
PDel01
PDel11
EQU
EQU
EQU
EQU
EQU
0X10
0X11
0X12
0X13
0X14
REG0
REG1
REG2
REG3
REG4
EQU
EQU
EQU
EQU
EQU
0X24
0X23
0X22
0X21
0X20
REGA
EQU
0X0A
0X00
;-----------------------------------------------------------;
SECTOR DE INTERRUPCION
ORG
GOTO
0X04
TEST
;-----------------------------------------------------------;
SECTOR DE INICIO
ORG
0X50
MOVLW
TRIS
MOVLW
TRIS
BSF
MOVLW
MOVWF
BCF
B'00010000'
PORTA
0X00
PORTB
STATUS,5
B'00111000'
OPCION
STATUS,5
START
MOVLW B'10000000'
MOVWF INTCON
;------------------------------------------------------------;
PROGRAMA PRINCIPAL
MAIN
CLRW
MOVWF
MOVWF
MOVWF
MOVWF
MOVWF
REG0
REG1
REG2
REG3
REG4
CALL
BCF
BCF
CALL
T6M
PORTA,3
PORTA,1
INIEX
;RS = 0
;RW = 0
;INICIALIZA EL LCD
MOVLW 0X80
MOVWF PORTB
CALL
HABI
BSF
CALL
;RS = 1
;PRIMER MENSAJE
PORTA,3
M1
BCF
PORTA,3
CALL
INIEXSC
MOVLW 0XC0
;RS = 0
;INICIALIZA EL DISPLAY SIN CLEAR
;SELECCIONA SEGUNDA LINEA 1ER COLUMNA
4
I N G . F E D E R I C O AL V A R E Z M O N T A O
MOVWF PORTB
CALL
HABI
BSF
CALL
PORTA,3
TESE
T1S
INTCON,5
INTCON,2
LEER
CLRW
MOVWF
MOVWF
MOVWF
MOVWF
MOVWF
GOTO
REG0
REG1
REG2
REG3
REG4
CONTA
;RS = 1
;MENSAJE T.E.S.E.2003
;HABILITA EL TMR0
;LLAMA RETARDO DE 1 SEGUNDO
;--------------------------------------------------------------;
RUTINA DE ATENCION A LA INT ERRUPCION
TEST
INCF
REG0,1
MOVF
XORL W
BTFSS
GOTO
CLRF
REG0,0
0X0A
STATUS,2
SALTO
REG0
INCF
MOVF
XORL W
BTFSS
GOTO
CLRF
REG1,1
REG1,0
0X0A
STATUS,2
SALTO
REG1
INCF
MOVF
XORL W
BTFSS
GOTO
CLRF
REG2,1
REG2,0
0X0A
STATUS,2
SALTO
REG2
INCF
MOVF
XORL W
BTFSS
GOTO
CLRF
REG3,1
REG3,0
0X0A
STATUS,2
SALTO
REG3
INCF
MOVF
XORL W
BTFSS
GOTO
CLRF
REG4,1
REG4,0
0X0A
STATUS,2
SALTO
REG4
BCF
BCF
INTCON,2
INTCON,0
SALTO
MOVLW .255
MOVWF TMR0
RETFIE
;--------------------------------------------------------------;--------------------------------------------------------------;
RUTINA PARA LECTURA DE DATOS
5
I N G . F E D E R I C O AL V A R E Z M O N T A O
LEER
WR6
NOP
BCF
CALL
MOVLW
MOVWF
CALL
PORTA,3
INIEXSC
0X85
PORTB
HABI
BSF
MOVF
CALL
MOVWF
CALL
PORTA,3
REG4,0
TABLA
PORTB
HABI
;RS = 1
WR7
BSF
MOVF
CALL
MOVWF
CALL
PORTA,3
REG3,0
TABLA
PORTB
HABI
;RS = 1
WR8
BSF
MOVF
CALL
MOVWF
CALL
PORTA,3
REG2,0
TABLA
PORTB
HABI
;RS = 1
WR9
BSF
MOVF
CALL
MOVWF
CALL
PORTA,3
REG1,0
TABLA
PORTB
HABI
;RS = 1
WR10
BSF
MOVF
CALL
MOVWF
CALL
PORTA,3
REG0,0
TABLA
PORTB
HABI
;RS = 1
;RS = 0
;INICIALIZA EL LCD SIN CLEAR
;SELECCIONA PRIMER LINEA, COLUMNA 6
RETURN
;-----------------------------------------------------------;
TABLA DE CONVERSION, DATO S A CARACTERES ASCII
TABLA
ADDWF
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
PCL,1
"0"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"?"
;------------------------------------------------------------;
MENSAJ E DE INICIO
M1
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"V"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"E"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
PORTA,2
"L"
PORTB
T6M
PORTA,2
6
I N G . F E D E R I C O AL V A R E Z M O N T A O
CALL
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
":"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
" "
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
" "
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
" "
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
" "
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
" "
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
" "
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
" "
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
" "
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"R"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"P"
PORTB
T6M
PORTA,2
T6M
7
I N G . F E D E R I C O AL V A R E Z M O N T A O
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"M"
PORTB
T6M
PORTA,2
T6M
RETURN
;------------------------------------------------------------;------------------------------------------------------------;
T.E.S.E.2003
TESE
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"*"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"*"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"T"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"."
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"E"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"."
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"S"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"."
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"E"
PORTB
T6M
PORTA,2
T6M
8
I N G . F E D E R I C O AL V A R E Z M O N T A O
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"."
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"2"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"0"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"0"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"3"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"*"
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
"*"
PORTB
T6M
PORTA,2
T6M
RETURN
;------------------------------------------------------------;
RUTINA DE INICIALIZACON DEL DISPLAY
INIEX
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
0X38
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
0X38
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
0X06
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
PORTA,2
0X0E
PORTB
T6M
9
I N G . F E D E R I C O AL V A R E Z M O N T A O
BCF
CALL
PORTA,2
T6M
BSF
PORTA,2
MOVLW 0X01
MOVWF PORTB
CALL
T6M
BCF
PORTA,2
CALL
T6M
RETURN
;LIMPIA EL DISPLAY
;------------------------------------------------------------;
RUTINA DE INICIALIZACIN SIN CLEAR
INIEXSC BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
0X38
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
0X38
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
0X06
PORTB
T6M
PORTA,2
T6M
BSF
MOVLW
MOVWF
CALL
BCF
CALL
PORTA,2
0X0E
PORTB
T6M
PORTA,2
T6M
RETURN
;------------------------------------------------------------;
RUTINA PARA HABILITAR EL DISPLAY
HABI
BSF
PORTA,2
CALL
T6M
BCF
PORTA,2
RETURN
;------------------------------------------------------------;
RETARDO DE 6 MILISEGUNDOS
;------------------------------------------------------------T6M
movlw
.7
; 1 set numero de repeticion (B)
movwf
PDel01
; 1 |
PLoop11 movlw
.213
; 1 set numero de repeticion (A)
movwf
PDel11
; 1 |
PLoop21 clrwdt
; 1 clear watchdog
decfsz
PDel11, 1 ; 1 + (1) es el tiempo 0 ? (A)
goto
PLoop21
; 2 no, loop
decfsz
PDel01, 1 ; 1 + (1) es el tiempo 0 ? (B)
goto
PLoop11
; 2 no, loop
PDelL11 goto PDelL21
; 2 ciclos delay
PDelL21 clrwdt
; 1 ciclo delay
return
; 2+2 Fin.
;------------------------------------------------------------;------------------------------------------------------------;
RETARDO DE 1 SEGUNDO
;------------------------------------------------------------T1S
movlw
.14
; 1 set numero de repeticion (C)
movwf
PDel0
; 1 |
PLoop0 movlw
.72
; 1 set numero de repeticion (B)
movwf
PDel1
; 1 |
PLoop1 movlw
.247
; 1 set numero de repetic ion (A)
movwf
PDel2
; 1 |
10
I N G . F E D E R I C O AL V A R E Z M O N T A O
PLoop2 clrwdt
; 1 clear watchdog
decfsz
PDel2, 1 ; 1 + (1) es el tiempo 0 ? (A)
goto
PLoop2
; 2 no, loop
decfsz
PDel1, 1 ; 1 + (1) es el tiempo 0 ? (B)
goto
PLoop1
; 2 no, loop
decfsz
PDel0, 1 ; 1 + (1) es el tiempo 0 ? (C)
goto
PLoop0
; 2 no, loop
PDelL1 goto PDelL2
; 2 ciclos delay
PDelL2 clrwdt
; 1 ciclo delay
return
; 2+2 Fin.
;------------------------------------------------------------;------------------------------------------------------------;
RETARDO DE 1 MINUTO CON EXIBICION AL DISPL AY LCD
T1M
MOVLW
MOVWF
DECFSZ
GOTO
GOTO
.60
REGA
Y1
CALL
CALL
GOTO
T1S
LEER
LAZO
F1
RETURN
LAZO
REGA,1
Y1
F1
;------------------------------------------------------------END
11
I N G . F E D E R I C O AL V A R E Z M O N T A O