Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Equipo #: 3
Integrantes:
1. Srta. Josselyn Valenzuela
2. Sr. Fernando Lara
3. Capt. Pal Machado
Bas
e
3.5
Informe
4.5
Funcionamien
to
2.0
Defensa
Aspectos de evaluacin
0.2 Fundamento terico
5
(Cdigos para inicializacin LCD )
0.2
5
Diagrama de bloques
0.5
0
Tabla de asignacin de variables
Diagrama de flujo
0.7
(Programa estructurado
5
Interrupciones)
0.7
5
Clculo de retardo por timer 0
0.5
0
Programa
0.2
5
Conclusiones
0.2
Diagrama electrnico
5
0.5
Presentacin del circuito
0
1.0 Inicializacin del LCD
Visualizacin de la temporizacin
1.0 en LCD
(HH:MM:SS)
1.0 Error de temporizacin.
Asignacin de funciones del
1.0 teclado
(Inicio, pausa, reestablecer)
Calificaci
n
1. Tema:
LABORATORIO N 3.1
Manejo de Interrupciones
2. Objetivos:
2.1.Objetivo General:
WDT
000
1:2
1:1
001
1:4
1:2
010
1:8
1:4
011
1:16
1:8
100
1:32
1:16
101
1:64
1:32
110
111
TMR0
1:128
1:256
1:64
1:128
Carga y temporizacin
En modo temporizador el Timer 0 incrementa su cuenta en cada ciclo de
instruccin. Este modo sirve para generar temporizaciones y bases de tiempo de la
misma forma que los retardos por software, sin embargo las temporizaciones con
Registiro: OPTION_REG
El registro OPTION_REG contiene varios bits de control para configurar el pre - escalador del
Temporizador 0/WDT, el temporizador Timer0, la interrupcin externa y las resistencias pull-up
en el puerto PORTB.
RBPU - Port B Pull up Enable bit (resistencia Pull Up Puerto B)
1 - Desactivadas.
0 - Activadas.
INTEDG - Interrupt Edge Select bit (bit selector de flanco activo de la
interrupcin externa)
1 - Interrupcin por flanco ascendente en el RB0/INT.
0 - Interrupcin por flanco descendente en el RB0/INT.
T0CS - TMR0 Clock Source Select bit (bit selector de tipo de reloj para el
Timer0)
1 - Pulsos introducidos a travs del TOCKI (contador).
0 - Pulsos de reloj internos Fosc/4 (temporizador).
T0SE - TMR0 Source Edge Select bit (bit selector de tipo de flanco en TOCKI)
selecciona el flanco (ascendente o descendente) contado por el
temporizador Timer0 por el pin RA4/T0CKI.
1 - Incrementa en flanco descendente en el pin TOCKI.
0 - Incrementa en flanco ascendente en el pinTOCKI.
PSA - Prescaler Assignment bit asigna el pre-escalador (hay slo uno) al
temporizador o al WDT.
1 - Pre - escalador se le asigna al WDT.
0 - Pre - escalador se le asigna al temporizador Timer0.
Registro: INTCON
El registro INTCON es un registro legible y escribible que contiene las llaves
para habilitar las fuentes de interrupcin. Nota: las banderas de interrupcin
se setearn independientemente de la forma en que est seteado el
INTCON, pero si el GIE no est habilitado la interrupcin no se provocar.
Lgica de Interrupcin
bit 7
bit 6
bit 5
0.
bit 4
bit 3
puerto B.
bit 2
bit 1
bit 0
Registro PIE1
El registro PIE1 contiene los bits de habilitacin de interrupciones perifricas.
ADIE - A/D
Converter Interrupt Enable bit (bit de habilitacin de
interrupciones del convertidor A/D).
1 - Habilita la interrupcin ADC.
0 - Deshabilita la interrupcin ADC.
RCIE-Eusart
Receive Interrupt Enable bit (bit de habilitacin de
interrupciones de recepcin del EUSART).
1 - Habilita la interrupcin de recepcin del EUSART.
0 - Deshabilita la interrupcin de recepcin del EUSART.
TXIE-Eusart
Transmit Interrupt Enable bit (bit de habilitacin de
interrupciones de transmisin del EUSART).
1 - Habilita la interrupcin de transmisin del EUSART.
0 - Deshabilita la interrupcin de transmisin del EUSART.
SSPIE - Master Synchronous Serial Port (MSSP) Interrupt Enable bit - (bit de
habilitacin de la interrupcin del puerto serie sncrono maestro (MSSP)
habilita generar una peticin de interrupcin despus de cada transmisin
de datos por el mdulo de comunicacin serie sncrona (modo SPI o I2C).
1 - Habilita la interrupcin del MSSP.
0 - Deshabilita la interrupcin del MSSP.
CCP1IE - CCP1 Interrupt Enable bit (bit de habilitacin de la interrupcin del
mdulo 1 de Comparacin/Captura/PWM - CCP1) permite generar una
peticin de interrupcin en el mdulo CCP1 utilizado para procesamiento de
la seal PWM.
1 - Habilita la interrupcin CCP1.
0 - Deshabilita la interrupcin CCP1.
TMR2IE - TMR2 to PR2 Match Interrupt Enable bit (bit de habilitacin de la
interrupcin de igualdad entre TMR2 y PR2)
1 - Habilita la interrupcin de igualdad entre TMR2 y PR2.
0 - Deshabilita la interrupcin de igualdad entre TMR2 y PR2.
TMR1IE - TMR1 Overflow Interrupt Enable bit (bit de habilitacin de la
interrupcin de desbordamiento del temporizador Timer1) habilita generar
una peticin de interrupcin despus de cada desbordamiento en el registro
del temporizador Timer1, o sea el contador se pone a cero.
Registro PIE2
Cmo es su conexionado?
Pines de alimentacin:
Vss: Gnd
Vdd: +5 voltios
Vee: corresponde al pin de contraste, lo regularemos con un
potencimetro de 10K conectado a Vdd.
Pines de control:
RS: Corresponde al pin de seleccin de registro de control de datos (0) o registro
de datos(1). Es decir el pin RS funciona paralelamente a los pines del bus de
datos. Cuando RS es 0 el dato presente en el bus pertenece a un registro de
control/instruccin. y cuando RS es 1 el dato presente en el bus de datos
pertenece
a
un
registro
de
datos
o
un carcter.
RW: Corresponde al pin de Escritura(0) o de Lectura(1). Nos permite escribir un
dato en la pantalla o leer un dato desde la pantalla.
E: Corresponde al pin Enable o de habilitacin. Si E(0) esto quiere decir que el
LCD no esta activado para recibir datos, pero si E(1) se encuentra activo y
podemos escribir o leer desde el LCD.
Pines de Bus de datos:
El Bus de datos bidireccional comprende desde los pines D0 a D7. Para realizar
la comunicacin con el LCD podemos hacerlo utilizando los 8 bits del bus de
datos(D0 a D7) o empleando los 4 bits mas significativos del bus de datos(D4 a
D7). En este caso vamos a explicar la comunicacin con el bus de 4 bits.
DDRAM y CGROM
Son las dos zonas de memoria del LCD.
La memoria DDRAM(Data Display Ram): corresponde a una zona de memoria
donde se almacenan los caracteres que se van a representar en pantalla. Es
decir es la memoria donde se almacenan los caracteres a mostrar con su
correspondiente posicin.
La memoria CGROM es una memoria interna donde se almacena una tabla con
los caracteres que podemos visualizar en el lcd. En la imagen podemos ver un
ejemplo de la tabla con un contenido de 192 caracteres.
Funcionamiento:
Instrucciones
Cdigos
Limpiar
Clear display
Salto de lnea
Set dd ram
Puerto B
PIC 16F628
(Decodificado
r)
ENTRADAS
6
(Teclado )
Puerto A
Puerto C
B
Puerto
PIC 16F877A
(Cronmetro)
SALIDAS
(LCD)
Oscilador
Smbolo
Valor
Accin
TRIS B
00H
Configuracin
TRIS C
FFH
Configuracin
INTCON
30H
Configuracin
OPTION_REG
C5H
Configuracin
TMR0
EQU SEG
.100
30H
Configuracin
Configuracin
EQU SEG1
31H
Configuracin
EQU MIN1
32H
Configuracin
EQU HOR1
33H
Configuracin
45H
Configuracin
48H
Configuracin
EQU Decena
4CH
Configuracin
EQU Unidad
4DH
Configuracin
EQU DECE
4EH
Configuracin
EQU UNID
4FH
Configuracin
EQU tecla
50H
Configuracin
EQU unit
51H
Configuracin
EQU
BANDERA
EQU
Binario_a
6. Registros de Configuracin:
Registro
TRISB
TRISC
OPTION_REG
INTCON
7. Diagrama de Flujo:
Valor
00H
FFH
C5H
30H
tiempo de 9.984ms, lo que da un error de los 10ms estimados de 0.16%, este tiempo
compensaremos con el tiempo que se demora en ejecutar la instruccin.
Antes de completar las 99 cuentas necesarias para llegar al segundo la interrupcin
tarda 9us lo que da un tiempo de 0,989604 de segundo, pero en el salto de la cuenta
100 la interrupcin tarda 0,010004, lo que da un tiempo de 0,999608 lo que da un
error de 0,0392% en cada segundo y para disminuir este error este se compensa
cuando se cumple un minuto dando un error total de 0,0385%
CODIGO INTERRUPCION TMR0
TIMER_0
BCF INTCON, TMR0IF
INCF SEG, 1
MOVF SEG, 0
SUBLW .100
BTFSC STATUS, Z
GOTO INC_TI
GOTO OUT_TO
INC_TI
MOVLW 0X00
MOVWF SEG
INCF SEG1, 1
MOVF SEG1, 0
SUBLW .60
BTFSS STATUS, Z
GOTO OUT_TO
MOVLW 0X00
MOVWF SEG1
INCF MIN1, 1
MOVF MIN1, 0
SUBLW .60
BTFSS STATUS, Z
GOTO OUT_TO
MOVLW 0X00
MOVWF MIN1
INCF HOR1, 1
OUT_TO
MOVLW .100
MOVWF TMR0
RETFIE
2
1
1
1
1,2
2
2
1
1
1
1
1,2
2
1
1
1
1
1
1,2
1
1
1
1
1
2
9. Programa:
LIST
P=16F877A;TIPO
PROCESADOR
DE
INCLUDE
"P16F877A.INC"; LIBRERIAS DEL
REGISTRO DEL PIC
__CONFIG(0X3F71);GRABAR
DESDE EL PROGRAMA DEL PICKIT
;__________________________DEFINO
CONSTANTES_______________________
_____________
UnidadMil
EQU 0X4A
Centena
EQU 0X4B
Decena
EQU 0X4C
UnidadEQU 0X4D
RTR1
EQU 0X47
RTR2
EQU 0X48
EQU 0X20
EQU 0X21
CONT1
EQU 0X22
ORG
CONT2
EQU 0X23
GOTO CONFIGURACION
DATO_LCD
EQU 0X27
LCD_RS
EQU 2
LCD_E
EQU 3
00H
ORG 0X04
;____INTERRUPCIONES
BTFSC INTCON, INTF
GOTO TIMER_0
HOR1 EQU 0X33
RETFIE
P_TECLA
BANDERA
EQU 0X45
ACUMULADOR
EQU 0X46
CALL RETRASO1
EQU 0X48
MOVLW 0x00
DecenaMil
EQU 0X49
MOVWF
INITE
SWAPF PORTB, 0
GOTO C_TECLA
ANDLW 0X0F
MOVWF TECLA
GOTO F_TECLA
SUBLW 0x0F
C_TECLA
BTFSS STATUS, Z
MOVF TECLA, 0
GOTO S_TECLA
SUBLW 0x03
MOVLW 0XFF
BTFSS STATUS, Z
MOVWF INITE
GOTO F_TECLA
GOTO F_TECLA
S_TECLA
MOVWF TMR0
MOVF TECLA, 0
GOTO F_TECLA
SUBLW 0x01
BTFSS STATUS, Z
F_TECLA
GOTO T_TECLA
MOVLW 0X00
RETFIE
MOVWF
SEG
MOVWF
SEG1
TIMER_0
MOVWF
MIN1
MOVWF
HOR1
INCF SEG, 1
GOTO F_TECLA
MOVF SEG, 0
T_TECLA
SUBLW .100
MOVF TECLA, 0
BTFSC STATUS, Z
SUBLW 0x02
GOTO INC_TI
BTFSS STATUS, Z
GOTO OUT_TO
INC_TI
MOVLW 0X00
RETFIE
MOVWF SEG
;
__________CONFIGURACIN__________
_
INCF SEG1, 1
CONFIGURACION
MOVF SEG1, 0
SUBLW .60
BTFSS STATUS, Z
GOTO OUT_TO
CLRF
STATUS
BCF
STATUS,RP1
AL BANCO 0
BSF
STATUS,RP0
;SALTO AL BANCO 1
MOVLW
CALL LIMPIAR_LCDR
;REGRESO
0XFF
;ENTRADA
MOVWF
TRISB
;PUERTO C TECLADO
MOVLW 0X00
MOVWF SEG1
INCF MIN1, 1
MOVF MIN1, 0
SUBLW .60
MOVLW
;SALIDA
0X00
MOVWF
TRISC
;PUERTO B CONTROL Y DATOS
LCD
BTFSS STATUS, Z
GOTO OUT_TO
MOVLW 0X00
MOVLW
;SALIDA
0X00
MOVWF
TRISD
;PUERTO B CONTROL Y DATOS
LCD
MOVWF MIN1
INCF HOR1, 1
;MOVLW 0X8E
;b'10000000'
;MOVWF ADCON1
OUT_TO
MOVLW .100
MOVWF TMR0
;BCF
OPTION_REG,7 ;PULL UP
MOVLW
b'11000101'
;ASIGNACION PRESCALA 101 = 64
MOVWF OPTION_REG
MOVLW
MOVLW b'00110000'
CALL
MOVWF INTCON
MOVLW
CALL
ENVIARDATO_LCD
;REGRESO
BCF
STATUS,RP1
AL BANCO 0
;REGRESO
CALL
CALL
;MOVWF ADCON0
MOVLW
CALL
PORTC
CLRF
PORTB
CALL
CALL LIMPIAR_LCDR
;LIMPIAMOS EL LCD
;ESCRIBIMOS EN EL LCD
MOVLW
20H
CALL UBICAR_LCD
;UBICAMOS EL CURSOR
MOVLW
CALL
ENVIARDATO_LCD
MOVLW
CALL
''
''
ENVIARDATO_LCD
CALL
'O'
ENVIARDATO_LCD
''
ENVIARDATO_LCD
MOVLW
CALL
'R'
ENVIARDATO_LCD
MOVLW
CALL
'T'
ENVIARDATO_LCD
MOVLW
CALL
'E'
ENVIARDATO_LCD
MOVLW
CALL
'M'
ENVIARDATO_LCD
MOVLW
CALL INICIAR_LCD
;CONFIGURA EL LCD
'O'
ENVIARDATO_LCD
MOVLW
CLRF
'N'
ENVIARDATO_LCD
MOVLW
BCF
INTCON,T0IF
;CONTROL
DE TIMER0 DESBORDAMIENTO
'O'
ENVIARDATO_LCD
MOVLW
CALL
'R'
ENVIARDATO_LCD
MOVLW
BCF
STATUS,RP0
AL BANCO 0
'C'
'='
ENVIARDATO_LCD
MOVLW
')'
CALL
ENVIARDATO_LCD
MOVLW
CALL
;UBICAMOS
CONTADOR
PARA
IMPRIMIR
ENVIARDATO_LCD
MOVLW
CALL
CALL
INICIO
':' ;W=20
ENVIARDATO_LCD
MOVLW
____________MAIN___________________
_
'0' ;W=20
'0' ;W=20
ENVIARDATO_LCD
MOVLW
MOVLW 0x00
CALL
MOVWF Binario_b
MOVLW
MOVLW 0x00
CALL
MOVWF Binario_a
MOVLW
MOVLW 0x00
CALL
MOVWF SEG
MOVLW
MOVLW 0x00
CALL
'0' ;W=20
ENVIARDATO_LCD
'-' ;W=20
ENVIARDATO_LCD
'0' ;W=20
ENVIARDATO_LCD
'0' ;W=20
ENVIARDATO_LCD
MOVWF SEG1
MOVLW 0x00
MOVLW 0X00
MOVWF MIN1
MOVWF INITE
MOVLW 0x00
MOVWF HOR1
MOVLW b'10110000'
MOVWF INTCON
MOVLW
CALL
UBICAR_LCD
MOVLW
CALL
14H
'0' ;W=20
ENVIARDATO_LCD
INITE2
MOVF INITE, 0
SUBLW 0XFF
BTFSS STATUS, Z
GOTO INITE2
CALL
ENVIARDATO_LCD
MOVLW
MOVLW 0X00
CALL
MOVWF
SEG
MOVLW
MOVWF
SEG1
CALL
MOVWF
MIN1
MOVLW
MOVWF
HOR1
CALL
ENVIARDATO_LCD
MOVWF TMR0
CALL
MOVLW
20H
CALL UBICAR_LCD
;UBICAMOS EL CURSOR
MOVLW
''
''
CALL
ENVIARDATO_LCD
MOVLW
'C'
CALL
ENVIARDATO_LCD
MOVLW
''
ENVIARDATO_LCD
MOVLW
CALL
')'
ENVIARDATO_LCD
MOVLW
CALL
'='
ENVIARDATO_LCD
MOVLW
CALL
''
ENVIARDATO_LCD
MOVLW
CALL
'O'
ENVIARDATO_LCD
MOVLW
CALL
'R'
ENVIARDATO_LCD
MOVLW
CALL
'T'
ENVIARDATO_LCD
MOVLW
;ESCRIBIMOS EN EL LCD
'E'
ENVIARDATO_LCD
MOVLW
CALL
'M'
ENVIARDATO_LCD
MOVLW
CICLO
'O'
ENVIARDATO_LCD
MOVLW .100
CALL
'N'
'R'
CALL
ENVIARDATO_LCD
ENVIARDATO_LCD
MOVLW
'O'
MOVLW
14H
CALL
UBICAR_LCD
CALL
ENVIARDATO_LCD
MOVF HOR1, 0
MOVWF Binario_a
;MOVLW
CALL BINBCD
;CALL UBICAR_LCD
MOVLW '0'
MOVF SEG1, 0
ADDWF DECE, 0
MOVWF Binario_a
CALL
CALL BINBCD
ENVIARDATO_LCD
20H
MOVLW '0'
MOVLW '0'
ADDWF UNID, 0
ADDWF DECE, 0
CALL
CALL
ENVIARDATO_LCD
ENVIARDATO_LCD
MOVLW ':'
MOVLW '0'
CALL
ADDWF UNID, 0
ENVIARDATO_LCD
CALL
;MOVLW
ENVIARDATO_LCD
17H
;CALL UBICAR_LCD
MOVLW
MOVF MIN1, 0
CALL
MOVWF Binario_a
MOVLW
CALL BINBCD
CALL
MOVLW '0'
MOVLW
ADDWF DECE, 0
CALL
CALL
MOVLW
ENVIARDATO_LCD
MOVLW '0'
ADDWF UNID, 0
CALL
ENVIARDATO_LCD
MOVLW '-'
CALL
''
ENVIARDATO_LCD
''
ENVIARDATO_LCD
''
ENVIARDATO_LCD
'|'
ENVIARDATO_LCD
GOTO CICLO
;
____________TIMER0_________________
_
GOTO RAT3
SI NO ES CERO
EXTERNO
REPITE
;(2)
CICLO
RETURN
;(2) REGRESA
DE ESTA SUBRUTINA
;RETARDO
RETRASO
;EL RETRASO
TIENE UNA DEMORA DE 40us
;_____________LCD__________________
MOVWF RTR1
INICIAR_LCD
RAT1:
MOVLW .10
BSF
PORTC,LCD_E
;SE ACTIVA EL ENABLE DE LA
LCD
MOVWF RTR2
RAT2:
DECFSZ RTR2,1
CALL
RETRASO
GOTO RAT2
MOVLW
DECFSZ RTR1,1
GOTO RAT1
SI NO ES CERO
EXTERNO
CALL
REPITE
;(2)
CICLO
ENVIARSET_LCD
MOVLW
CALL
02H
28H;
ENVIARSET_LCD
RETURN
RETRASO1
;EL
RETRASO TIENE UNA DEMORA DE
40us
MOVLW .254 ;AQUI VA.5 ;255
MOVLW
06H
;PARA
CONFIGURAR QUE DISPLAY NO SE
DESPLAZA
Y
EL
CURSOS
INCREMENTA
CALL
ENVIARSET_LCD
MOVWF RTR1
RAT3:
MOVLW .254
MOVWF RTR2
RAT4:
DECFSZ RTR2,1
GOTO RAT4
DECFSZ RTR1,1
MOVLW
CURSOR 0EH
0CH
;PARA
CALL ENVIARSET_LCD
;PARA
ENCENDER
LA
PANTALLA,
ACTIVAR
CURSOR,PARPADEE EL CARACTER
CALL
LIMPIAR_LCDR
RETURN
;LIMPIAR LCD
MOVLW
0FH
LIMPIAR_LCDR
MOVLW
ANDWF PORTC ,1
PARTE ALTA
01H
CALL
ENVIARSET_LCD
MOVF
CALL
RETRASO
ANDLW .240
CALL
;ENVIAR UN DATO
RETRASO
BSF
PORTC,LCD_E
PARA VALIDAR INGRESO
ENVIARDATO_LCD
PORTC,LCD_RS
CALL
DATO_LCD,0
IORWF PORTC,1
RETURN
BSF
;FILTRANDO
LCD_ENVIA_BYTE
RETURN
CALL
RETRASO
BCF
PORTC,LCD_E
CALL
RETRASO
;E=1
;E=0
ENVIARSET_LCD
BCF
PORTC,LCD_RS
RS=0 MODO INSTRUCCION
CALL
MOVLW
0FH
ANDWF PORTC,1
LCD_ENVIA_BYTE
SWAPF DATO_LCD,W
RETURN
ANDLW 0F0H
;SUBRUTINA
BYTES
PARA
ENVIAR
LOS
IORWF PORTC,1
CALL
RETRASO
LCD_ENVIA_BYTE
BSF
PORTC,LCD_E
PARA VALIDAR INGRESO
MOVWF
DATO_LCD
CALL
RETRASO
BCF
;E=0
PORTC,LCD_E
;E=1
CALL
RETRASO
movwf
UnidadMil
addwf UnidadMil,f
RETURN
addlw 0xE2
;UBICAR CURSOR
movwf
UBICAR_LCD
addlw 0x32
MOVWF
DATO_LCD+0
;DATO_LCD=W
movwf
MOVLW
movf
80H
MOVWF
DATO_LCD+1
0FH
IORWF
DATO_LCD+1,F
BTFSC DATO_LCD+0,4
BSF
DATO_LCD+1,6
MOVF DATO_LCD+1,W
CALL
Unidad
Binario_b,w
andlw 0x0F
addwf Centena,f
MOVF DATO_LCD+0,W
ANDLW
Centena
ENVIARSET_LCD
addwf Centena,f
addwf Unidad,f
addlw 0xE9
movwf
Decena
addwf Decena,f
addwf Decena,f
swapf Binario_a,w
andlw 0x0F
addwf Decena,f
RETURN
BINBCD:
;Rutina
swapf Binario_b,w
andlw 0x0F
addlw 0xF0
addwf Unidad,f
rlf
Decena,f
rlf
Unidad,f
comf
Unidad,f
rlf
Unidad,f
movf
Binario_a,w
andlw 0x0F
addwf Unidad,f
decf
UnidadMil,f
rlf
btfss
STATUS,C
goto
Lb3
UnidadMil,f
movlw
0x07
movwf
DecenaMil
movlw
0x0A
Lb1
Lb4
addwf UnidadMil,f
decf
DecenaMil,f
addwf Unidad,f
btfss
STATUS,C
decf
Decena,f
goto
Lb4
btfss
STATUS,C
goto
Lb1
Lb2
MOVF Unidad, 0
MOVWF UNID
addwf Decena,f
MOVF Decena, 0
decf
Centena,f
MOVWF DECE
btfss
STATUS,C
goto
Lb2
Lb3
addwf Centena,f
RETURN
END
10.Diagrama Electrnico:
OSCILADOR
MICROCONTROLADOR
C3
U1
13
14
22pF
2
3
4
5
6
7
X2
CRYSTAL
C4
8
9
10
22pF
RESET
RV2(2)
OSC1/CLKIN
OSC2/CLKOUT
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
RE0/AN5/RD
RC1/T1OSI/CCP2
RE1/AN6/WR
RC2/CCP1
RE2/AN7/CS
RC3/SCK/SCL
RC4/SDI/SDA
MCLR/Vpp/THV
RC5/SDO
RC6/TX/CK
RC7/RX/DT
RV2
100%
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
1k
33
34
35
36
37
38
39
40
RC4
RC5
RC6
RC7
RC0
RC1
RC2
RC3
R9
RC7
1k
R10
RC6
1k
R11
RC5
15
16
17
18
23
24
25
26
1k
RS
E
D4
D5
D6
D7
19
20
21
22
27
28
29
30
PIC16F877A
R28(1)
RC0
RC1
RC2
RC3
RC4
R19(2)
R28
R19
R20
R21
R22
10k
10k
10k
10k
220
330R
330R
330R
330R
C2
D17 D13 D14 D15 D16
X1
LED-BLUE
LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN
22p
ON
C
D9
22p
C1
CRYSTAL
U2
16
15
4
DIODE
RA7/OSC1/CLKIN
RA6/OSC2/CLKOUT
RA5/MCLR
R18
RA0/AN0
RA1/AN1
RA2/AN2/VREF
RA3/AN3/CMP1
RA4/T0CKI/CMP2
RB0/INT
RB1/RX/DT
RB2/TX/CK
RB3/CCP1
RB4
RB5
RB6/T1OSO/T1CKI
RB7/T1OSI
1k
R18(1)
PIC16F627A
17
18
1
2
3
6
7
8
9
10
11
12
13
RC0
RC1
RC2
RC3
RC4
D10
DIODE
D11
DIODE
D12
DIODE
CIRCUITO RESET
LCD1
LM016L
Salidas
D0
D1
D2
D3
D4
D5
D6
D7
7
8
9
10
11
12
13
14
RS
RW
E
4
5
6
1
2
3
VSS
VDD
VEE
VCC
RV1
R1
10k
RS
86%
D4
D5
D6
D7
RESET
RV1(1)
1k
11.Conclusiones