SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
 Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                   Teléfono 0264-2415680


                                 SISTEMA DE ACCESO

Objetivo: Construir un Sistema de Acceso utilizando el Comunicación Serial.

Operación del Sistema: El proyecto planteado consiste en Sistema de Acceso, el
cual recibirá la clave del usuario mediante el teclado matricial. La clave será
transmitida a un Computador mediante el Puerto Serial, el cual establecerá si la
clave es correcta (1) o incorrecta (0).

Algoritmo General

                               Inicio


                        Configurar Puertos


                           Configurar LCD
          α
                      Mostrar “Saludo” en LCD



                      No         Clave
                                   ?

                                        Si

                        Transmitir Clave al PC




                                Valida        No
                                                       Mostrar “Invalida” en LCD
                                  ?

                                         Si
                                                                    α
         α             Mostrar “Valida” en LCD




                                                                        Ing. Yudith Ontiveros
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                  Teléfono 0264-2415680




                               Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
                       Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                                         Teléfono 0264-2415680


Anexo

;***SISTEMA DE CONTROL DE ACCESO USANDO COMUNICACION SERIAL ***
;*******PANTALLA LCD Y EL TECLADO MATRICIAL **************

                                                             LIST P=16F84
;****declaracion de registros**************
STATUS                                                    EQU 03h ;declara registro de estado
PCL                                                       EQU 02h ;registro contador de programa
PORTA                                                     EQU 05h ;declara el puerto a
TRISA                                                     EQU 05h ;registro conf del puerto a
PORTB                                                     EQU 06h ;declara el puerto b
TRISB                                                     EQU 06h ;registro conf del puerto b
INTCON EQU 0Bh                                            ;registro INTCON
OPCION EQU 01h                                            ;registro OPCION

;declaracion de bits
Z                                                         EQU 02h ;declara bit Z de Status
CARRY                                                     EQU 00h ;declara bit Carry de Status
RP0                                                       EQU 05h ;declara bit RP0 de Status

                                                          ORG 0Ch
CONT                                                      RES 1      ;registro para retardo
CONT1                                                     RES 1      ;registro para retardo
CONT2                                                     RES 1      ;registro para retardo
REGIS                                                     RES 1      ;registro respaldo para LCD
TECL1                                                     RES 1      ;registro para teclas
REPET                                                     RES 1      ;registro contador
TXREG                                                     RES 1      ;registro para dato TX
RCREG                                                     RES 1      ;registro para dato RX



                                                      Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
                Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                                  Teléfono 0264-2415680


REPET1                                             RES 1      ;numero bits a transmitir

                                                    ORG 00h      ;vector de reset
;*****rutina para configurar puertos del PIC********************
CONF                                                BSF STATUS,RP0       ;cambia a pagina 1
                                                    MOVLW 0Fh    ;carga W con 0Fh
                                                    MOVWF TRISB ;RD4-RD7 salida, RD0-RD3 entrada
                                                    MOVLW 00h    ;carga W con 80h
                                                    MOVWF TRISA ;RC7 entrada, resto salida
                                                    BCF STATUS,RP0       ;cambia a pagina 0

;*******RUTINA CONFIGURACION DE LA LCD
LCDCONF                                CLRF PORTB ;limpia puerto b
                                       MOVLW 04h   ;carga w con 04h
                                       MOVWF PORTA ;mueve w al PA (TX=1)
                                       CALL RETARDO        ;llama retardo
                                       CALL RETARDO        ;llama retardo
                                       CALL RETARDO        ;llama retardo
                                       MOVLW 02h   ;carga w con 02h
                                       CALL SEND   ;cursor a la direccion 0
                                       MOVLW 28h   ;carga w con 28h
                                       CALL SEND   ;bus de datos 4 bits, 2 lineas
                                       MOVLW 0Fh   ;carga w con 0Fh
                                       CALL SEND   ;prende LCD, activa cursor
                                       MOVLW 06h   ;carga w con 06h
                                       CALL SEND   ;cursor incrementa, texto no desplaza

;*******RUTINA PRINCIPAL*********
INICIO                                             MOVLW 01h         ;carga w con 01h
                                                   CALL SEND         ;borra LCD



                                               Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
         Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                           Teléfono 0264-2415680


                                            CALL SALUDO ;muestra saludo en LCD
INI1                                        CALL ACTIVA ;activa filas teclado
                                            MOVF PORTB,W         ;lee Pb
                                            ANDLW 0Eh    ;depura informacion columnas
                                            BTFSC STATUS,Z       ;verifica si activaron tecla, salta si es v
                                            GOTO INI1    ;sino activaron salta a INI1
                                            CALL TECLA ;lee teclado
                                            SUBLW 0Fh    ;verifica si activo #
                                            BTFSS STATUS,Z       ;salta inst si activo #
                                            GOTO INI1    ;sino activo # salta a INI1
                                            CALL BORRA ;borra LCD
                                            CALL INGRESE ;muestra msg "Ingrese Clave"
                                            CALL SALTO ;salta a 2da linea
                                            CALL RETARDO         ;retardo 500mseg
                                            MOVLW 'I'    ;carga w con asci "I"
                                            CALL T_PC    ;transmite "I" al PC
                                            CALL RETARDO         ;retardo 500mseg
                                            CALL CLAVE ;llama rutina que recibe clave
                                            MOVLW 'F'    ;carga w con asci "F"
                                            CALL T_PC    ;transmite "F" al PC
                                            CALL RECEP ;llama rutina que recibe dato serial
                                            MOVF RCREG,W         ;mueve dato recibido a w
                                            ANDLW 0Fh    ;elimina decenas
                                            SUBLW 01h    ;verifica si llego 1 (**valida**)
                                            BTFSS STATUS,Z       ;si llego 1 salta inst
                                            GOTO INVAL ;sino llego 1 salta a INVAL
VALIDA                                      CALL BORRA ;borra lcd
                                            CALL POSITIVA        ;muestra "Clave Valida"
                                            CALL RETARDO         ;retardo 500mseg
                                            CALL RETARDO         ;retardo 500mseg



                                        Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
                  Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                                    Teléfono 0264-2415680


                                                     CALL RETARDO         ;retardo 500mseg
                                                     CALL RETARDO         ;retardo 500mseg
                                                     GOTO INICIO ;salta a INICIO
INVAL                                                CALL BORRA ;borra LCD
                                                     CALL DENEGADO        ;muestra "Clave Invalida"
                                                     CALL RETARDO         ;retardo 500mseg
                                                     CALL RETARDO         ;retardo 500mseg
                                                     CALL RETARDO         ;retardo 500mseg
                                                     CALL RETARDO         ;retardo 500mseg
                                                     GOTO INICIO ;salta a INICIO

;*****Rutina de recepcion************************
RECEP                                           CLRF RCREG ;limpia registro recepcion
                                                MOVLW 08h     ;carga w con 08 (bits a recibir)
                                                MOVWF REPET1           ;mueve w a REPET1
RECE1                                           BTFSC PORTB,0 ;verifica si llego bit de Inicio
                                                GOTO RECE1 ;sino ha llegado salta a RECE1
                                                CALL DEMO     ;si llego llama retardo (2400bps)
RECEP1                                          BSF STATUS,CARRY ;CARRY=1
                                                BTFSS PORTB,0 ;si llego 1 salta instruccion
                                                BCF STATUS,CARRY ;si llego 0 limpia carry
                                                RRF RCREG,1 ;rota registro recepcion a la derecha
                                                CALL DEMO     ;retardo (2400bps)
                                                DECFSZ REPET1,1        ;decrementa a REPET1, salta si es 0
                                                GOTO RECEP1 ;sino han llegado todos los datos salta a RECEP1
                                                CALL DEMO     ;retardo para esperar FIN TX
                                                RETURN        ;retorna

;******Rutina que recibe 6 valores de Clave*****
CLAVE                                                MOVLW 06h         ;carga w con 6



                                                 Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
                  Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                                    Teléfono 0264-2415680


                                                     MOVWF REPET ;mueve w a repet (6 valores clave)
CLAVE1                                               CALL ACTIVA ;activa filas teclado
                                                     MOVF PORTB,W         ;lee Pb
                                                     ANDLW 0Eh    ;depura columnas
                                                     BTFSC STATUS,Z       ;si se activo columna salta
                                                     GOTO CLAVE1 ;sino se activo salta a CLAVE1
                                                     CALL TECLA ;lee teclado
                                                     MOVWF CONT ;mueve w a CONT
                                                     SUBLW 0Eh    ;verifica si activo *
                                                     BTFSC STATUS,Z       ;sino activo * salta inst
                                                     GOTO CLAVE1 ;si activo * salta a CLAVE1
                                                     MOVF CONT,W ;mueve valor de tecla a W
                                                     SUBLW 0Fh    ;verifica si activo #
                                                     BTFSC STATUS,Z       ;sino activo # salta inst
                                                     GOTO CLAVE1 ;si activo # salta a CLAVE1
                                                     MOVF CONT,W ;mueve valor de tecla a W
                                                     ADDLW 30h    ;suma 30 a w (coverion a asci)
                                                     CALL T_PC    ;transmite codigo asci al PC
                                                     MOVLW '*'    ;codigo asci de *
                                                     CALL DATO    ;muestra dato en LCD
                                                     CALL RETARDO         ;retardo de 500mseg
                                                     DECFSZ REPET,1       ;decrementa a REPET, salta si es 0
                                                     GOTO CLAVE1 ;sino es 0 salta a CLAVE1 (proximo nro)
                                                     RETURN       ;retorna a llamado

;*****Rutina que transmite valores al PC***
T_PC                                                 MOVWF TXREG        ;mueve w al registro de TX
                                                     MOVLW 08h   ;carga w con 08 (bits a transmitir)
                                                     MOVWF REPET1       ;mueve w a REPET1
START                                                BCF PORTA,2 ;limpia linea de TX (bit de inicio)



                                                 Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
                 Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                                   Teléfono 0264-2415680


T_PC1                                               CALL DEMO    ;retardo (2400bps)
                                                    RRF TXREG,1 ;rota registro TX a la derecha
                                                    BTFSC STATUS,CARRY ;si carry=0 salta inst
                                                    GOTO TX_1    ;si carry=1 salta a TX_1
TX_0                                                BCF PORTA,2 ;**transmite 0**
                                                    GOTO T_PC2   ;salta a T_PC2
TX_1                                                BSF PORTA,2 ;**transmite 1**
T_PC2                                               DECFSZ REPET1,1       ;decrementa a REPET1, salta si es 0
                                                    GOTO T_PC1   ;sino ha finalizado tx SALTA A t_PC1
STOP                                                CALL DEMO    ;retardo (2400bps)
                                                    BSF PORTA,2 ;trsnmite 1 (bit de fin)
                                                    CALL DEMO    ;retardo (2400bps)
                                                    RETURN       ;retorna a llamado

;*****Retardo de 416micro seg*****
DEMO                                                MOVLW D'137' ;carga W con 137
                                                    MOVWF CONT ;mueve W al registro CONT
DEMO1                                               DECFSZ CONT,1         ;decrementa CONT, si es cero salta
                                                    GOTO DEMO1 ;si no es cero salta a DEMO1
                                                    RETURN       ;si es 0 retorna

;****RUTINAS QUE NO SUFRIERON CAMBIOS************
;******rutina que lee teclado matricial*********
TECLA                                            BTFSC PORTB,1 ;verifica Columna1, salta si es 0
                                                 GOTO COLU1 ;si es 1 salta a COLU1
                                                 BTFSC PORTB,2 ;verifica Columna2, salta si es 0
                                                 GOTO COLU2 ;si es 1 salta a COLU2
                                                 BTFSC PORTB,3 ;verifica Columna3, salta si es 0
                                                 GOTO COLU3 ;si es 1 salta a COLU3
                                                 GOTO EXIT     ;salta a EXIT



                                                Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
          Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                            Teléfono 0264-2415680


COLU1                                        CALL FILA1    ;activa FILA1**
                                             BTFSS PORTB,1 ;verifica COLU1, salta si esta activa (1)
                                             GOTO CUATRO ;salta a CUATRO
UNO                                          MOVLW 01h     ;carga w con 01
                                             RETURN        ;retorna a llamado
CUATRO                                       CALL FILA2    ;activa FILA2**
                                             BTFSS PORTB,1 ;verifica COLU1, salta si esta activa (1)
                                             GOTO SIETE    ;salta a SIETE
                                             MOVLW 04h     ;carga w con 04
                                             RETURN        ;retorna a llamado
SIETE                                        CALL FILA3    ;activa FILA3**
                                             BTFSS PORTB,1 ;verifica COLU1, salta si esta activa (1)
                                             GOTO ASTERIS ;salta a ASTERIS
                                             MOVLW 07h     ;carga w con 07
                                             RETURN        ;retorna a llamado
ASTERIS                                      CALL FILA4    ;activa FILA4**
                                             BTFSS PORTB,1 ;verifica COLU1, salta si esta activa (1)
                                             GOTO EXIT     ;salta a EXIT
                                             MOVLW 0Eh     ;carga w con 0E
                                             RETURN        ;retorna a llamado
COLU2                                        CALL FILA1    ;activa FILA1**
                                             BTFSS PORTB,2 ;verifica COLU2, salta si esta activa (1)
                                             GOTO CINCO ;salta a CINCO
DOS                                          MOVLW 02h     ;carga w con 02
                                             RETURN        ;retorna a llamado
CINCO                                        CALL FILA2    ;activa FILA2**
                                             BTFSS PORTB,2 ;verifica COLU2, salta si esta activa (1)
                                             GOTO OCHO     ;salta a OCHO
                                             MOVLW 05h     ;carga w con 05
                                             RETURN        ;retorna a llamado



                                         Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
          Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                            Teléfono 0264-2415680


OCHO                                         CALL FILA3    ;activa FILA3**
                                             BTFSS PORTB,2 ;verifica COLU2, salta si esta activa (1)
                                             GOTO CERO     ;salta a CERO
                                             MOVLW 08h     ;carga w con 08
                                             RETURN        ;retorna a llamado
CERO                                         CALL FILA4    ;activa FILA4**
                                             BTFSS PORTB,2 ;verifica COLU2, salta si esta activa (1)
                                             GOTO EXIT     ;salta a EXIT
                                             MOVLW 00h     ;carga w con 00
                                             RETURN        ;retorna a llamado
COLU3                                        CALL FILA1    ;activa FILA1**
                                             BTFSS PORTB,3 ;verifica COLU3, salta si esta activa (1)
                                             GOTO SEIS     ;salta a SEIS
TRES                                         MOVLW 03h     ;carga w con 03
                                             RETURN        ;retorna a llamado
SEIS                                         CALL FILA2    ;activa FILA2**
                                             BTFSS PORTB,3 ;verifica COLU3, salta si esta activa (1)
                                             GOTO NUEVE ;salta a NUEVE
                                             MOVLW 06h     ;carga w con 06
                                             RETURN        ;retorna a llamado
NUEVE                                        CALL FILA3    ;activa FILA3**
                                             BTFSS PORTB,3 ;verifica COLU3, salta si esta activa (1)
                                             GOTO NUMERAL           ;salta a NUMERAL
                                             MOVLW 09h     ;carga w con 09
                                             RETURN        ;retorna a llamado
NUMERAL                                      CALL FILA4    ;activa FILA4**
                                             BTFSS PORTB,3 ;verifica COLU3, salta si esta activa (1)
                                             GOTO EXIT     ;salta a EXIT
                                             MOVLW 0Fh     ;carga w con 0F
                                             RETURN        ;retorna a llamado



                                         Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
                 Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                                   Teléfono 0264-2415680


EXIT                                                MOVLW 10h         ;carga w con 10
                                                    RETURN            ;retorna a llamado

FILA1                                               BSF PORTB,4 ;activa Fila1
                                                    BCF PORTB,5 ;desactiva fila2
                                                    BCF PORTB,6 ;desactiva fila3
                                                    BCF PORTB,7 ;desactiva fila4
                                                    RETURN      ;retorna a llamado
FILA2                                               BCF PORTB,4 ;desactiva fila1
                                                    BSF PORTB,5 ;activa Fila2
                                                    BCF PORTB,6 ;desactiva fila3
                                                    BCF PORTB,7 ;desactiva fila4
                                                    RETURN      ;retorna a llamado
FILA3                                               BCF PORTB,4 ;desactiva fila1
                                                    BCF PORTB,5 ;desactiva fila2
                                                    BSF PORTB,6 ;activa Fila3
                                                    BCF PORTB,7 ;desactiva fila4
                                                    RETURN      ;retorna a llamado
FILA4                                               BCF PORTB,4 ;desactiva fila1
                                                    BCF PORTB,5 ;desactiva fila2
                                                    BCF PORTB,6 ;desactiva fila3
                                                    BSF PORTB,7 ;activa Fila4
                                                    RETURN      ;retorna a llamado
ACTIVA                                              MOVLW 0F0h ;carga w con 0Fh
                                                    MOVWF PORTB ;mueve w a PB
                                                    RETURN      ;retorna a llamado

;*****Rutina que envia caracteres para LCD*****
DATO                                                MOVWF REGIS ;mueve w a Regis
                                                    ANDLW 0F0h ;elimina parte menos significativa



                                                Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
                 Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                                   Teléfono 0264-2415680


                                                    MOVWF PORTB ;mueve W al Pa
                                                    BSF PORTA,0 ;RS=1 (caracter)
                                                    BSF PORTA,1 ;E=1 (habilita LCD)
                                                    CALL DELAY ;retardo
                                                    CALL DELAY ;retardo
                                                    BCF PORTA,1 ;E=0 (deshabilita LCD)
                                                    CALL DELAY ;llama delay
                                                    SWAPF REGIS,1 ;invierte nibbles es Regis
                                                    MOVF REGIS,W ;mueve regis A W
                                                    ANDLW 0F0h ;elimina parte menos significativa
                                                    MOVWF PORTB ;mueve W al Pa
                                                    BSF PORTA,1 ;E=1 (habilita LCD)
                                                    CALL DELAY ;retardo
                                                    CALL DELAY ;retardo
                                                    BCF PORTA,1 ;E=0 (deshabilita LCD)
                                                    CALL DELAY ;llama delay
                                                    CALL ACTIVA ;ACTIVA FILAS TECLADO**
                                                    RETURN        ;retorna

;*****Rutina que ejecuta Instrucciones para LCD*****
SEND                                               MOVWF REGIS ;mueve w a Regis
                                                   ANDLW 0F0h ;elimina parte menos significativa
                                                   MOVWF PORTB ;mueve W al PB
                                                   BCF PORTA,0 ;RS=0 (instruccion)
                                                   BSF PORTA,1 ;E=1 (habilita LCD)
                                                   CALL DELAY ;retardo
                                                   CALL DELAY ;retardo
                                                   BCF PORTA,1 ;E=0 (deshabilita LCD)
                                                   CALL DELAY ;llama delay
                                                   SWAPF REGIS,1 ;invierte nibbles es Regis



                                                Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
        Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                          Teléfono 0264-2415680


                                           MOVF REGIS,W ;mueve regis A W
                                           ANDLW 0F0h ;elimina parte menos significativa
                                           MOVWF PORTB ;mueve W al Pa
                                           BSF PORTA,1 ;E=1 (habilita LCD)
                                           CALL DELAY ;retardo
                                           CALL DELAY ;retardo
                                           BCF PORTA,1 ;E=0 (deshabilita LCD)
                                           CALL DELAY ;llama delay
                                           CALL ACTIVA ;ACTIVA FILAS TECLADO**
                                           RETURN       ;retorna

SALTO                                      MOVLW 0C0h        ;***instruccion para saltar a 2da linea***
                                           CALL SEND
                                           RETURN

BORRA                                      MOVLW 01h         ;***instruccion para borrar LCD***
                                           CALL SEND
                                           RETURN

DOS_P                                      MOVLW ':'         ;carga w con asci de :
                                           CALL DATO         ;muestra caracter en lcd
                                           RETURN

ASCI1                                      MOVWF CONT        ;respalda w en CONT
                                           SWAPF CONT,1      ;invierte nibles de CONT
                                           MOVF CONT,W       ;mueve valor de CONT a W
                                           ANDLW 0Fh         ;elimina decenas
                                           ADDLW 30h         ;suma 30h a W
                                           CALL DATO         ;escribe caracter en LCD
                                           RETURN            ;retorna a llamado



                                       Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
                Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                                  Teléfono 0264-2415680


ASCI2                                              ANDLW 0Fh         ;elimina decenas
                                                   ADDLW 30h         ;suma 30h a W
                                                   CALL DATO         ;escribe caracter en LCD
                                                   RETURN            ;retorna a llamado

;******Rutinas de Retardo*******************
DELAY                                              MOVLW 0FFh ;carga W con FFh
                                                   MOVWF CONT ;mueve W al registro CONT
DELAY1                                             DECFSZ CONT,1        ;decrementa CONT, si es cero salta
                                                   GOTO DELAY1 ;si no es cero salta a DELAY1
                                                   RETURN       ;retorna

RETARDO                                            MOVLW 05h    ;carga W con 05h
                                                   MOVWF CONT2 ;mueve W al registro CONT2
RET1                                               MOVLW 81h    ;carga W con 81h
                                                   MOVWF CONT1 ;mueve W al registro CONT1
RET2                                               MOVLW 0FFh ;carga W con FFh
                                                   MOVWF CONT ;mueve W al registro CONT
RET3                                               DECFSZ CONT,1        ;decrementa CONT, si es cero salta
                                                   GOTO RET3    ;si no es cero salta a RET3
                                                   DECFSZ CONT1,1       ;decrementa CONT1, si es cero salta
                                                   GOTO RET2    ;si no es cero salta a RET2
                                                   DECFSZ CONT2,1       ;decrementa CONT2, si es cero salta
                                                   GOTO RET1    ;si no es cero salta a RET1
                                                   RETURN       ;retorna

SALUDO                                             MOVLW 'B'
                                                   CALL DATO
                                                   MOVLW 'i'
                                                   CALL DATO



                                               Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                  Teléfono 0264-2415680


                                   MOVLW 'e'
                                   CALL DATO
                                   MOVLW 'n'
                                   CALL DATO
                                   MOVLW 'v'
                                   CALL DATO
                                   MOVLW 'e'
                                   CALL DATO
                                   MOVLW 'n'
                                   CALL DATO
                                   MOVLW 'i'
                                   CALL DATO
                                   MOVLW 'd'
                                   CALL DATO
                                   MOVLW 'o'
                                   CALL DATO
                                   MOVLW ' '
                                   CALL DATO
                                   MOVLW 'a'
                                   CALL DATO
                                   MOVLW ' '
                                   CALL DATO
                                   MOVLW 'O'
                                   CALL DATO
                                   MOVLW 'L'
                                   CALL DATO
                                   MOVLW 'G'
                                   CALL DATO
                                   RETURN




                               Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
              Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                                Teléfono 0264-2415680


INGRESE MOVLW 'I'
                                                 CALL DATO
                                                 MOVLW 'n'
                                                 CALL DATO
                                                 MOVLW 'g'
                                                 CALL DATO
                                                 MOVLW 'r'
                                                 CALL DATO
                                                 MOVLW 'e'
                                                 CALL DATO
                                                 MOVLW 's'
                                                 CALL DATO
                                                 MOVLW 'e'
                                                 CALL DATO
                                                 MOVLW ' '
                                                 CALL DATO
                                                 MOVLW 'S'
                                                 CALL DATO
                                                 MOVLW 'u'
                                                 CALL DATO
                                                 MOVLW ' '
                                                 CALL DATO
                                                 MOVLW 'C'
                                                 CALL DATO
                                                 MOVLW 'l'
                                                 CALL DATO
                                                 MOVLW 'a'
                                                 CALL DATO
                                                 MOVLW 'v'
                                                 CALL DATO



                                             Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
             Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                               Teléfono 0264-2415680


                                                MOVLW 'e'
                                                CALL DATO
                                                RETURN

POSITIVA MOVLW 'A'
                                                CALL DATO
                                                MOVLW 'c'
                                                CALL DATO
                                                MOVLW 'c'
                                                CALL DATO
                                                MOVLW 'e'
                                                CALL DATO
                                                MOVLW 's'
                                                CALL DATO
                                                MOVLW 'o'
                                                CALL DATO
                                                MOVLW ' '
                                                CALL DATO
                                                MOVLW 'P'
                                                CALL DATO
                                                MOVLW 'e'
                                                CALL DATO
                                                MOVLW 'r'
                                                CALL DATO
                                                MOVLW 'm'
                                                CALL DATO
                                                MOVLW 'i'
                                                CALL DATO
                                                MOVLW 't'
                                                CALL DATO



                                            Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
            Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                              Teléfono 0264-2415680


                                               MOVLW 'i'
                                               CALL DATO
                                               MOVLW 'd'
                                               CALL DATO
                                               MOVLW 'o'
                                               CALL DATO
                                               RETURN

DENEGADO MOVLW 'A'
                                               CALL DATO
                                               MOVLW 'c'
                                               CALL DATO
                                               MOVLW 'c'
                                               CALL DATO
                                               MOVLW 'e'
                                               CALL DATO
                                               MOVLW 's'
                                               CALL DATO
                                               MOVLW 'o'
                                               CALL DATO
                                               MOVLW ' '
                                               CALL DATO
                                               MOVLW 'D'
                                               CALL DATO
                                               MOVLW 'e'
                                               CALL DATO
                                               MOVLW 'n'
                                               CALL DATO
                                               MOVLW 'e'
                                               CALL DATO



                                           Ing. Yudith S. Ontiveros M
www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com
      Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia
                                        Teléfono 0264-2415680


                                         MOVLW 'g'
                                         CALL DATO
                                         MOVLW 'a'
                                         CALL DATO
                                         MOVLW 'd'
                                         CALL DATO
                                         MOVLW 'o'
                                         CALL DATO
                                         RETURN
END




                                     Ing. Yudith S. Ontiveros M

Más contenido relacionado

La actualidad más candente

EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CEJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CLuis Zurita
 
Transistores juan villacorta
Transistores juan villacortaTransistores juan villacorta
Transistores juan villacortaDSI Salud Perú
 
Uso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorUso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorLuis Zurita
 
Laboratorio de Microcomputadoras - Práctica 06
 Laboratorio de Microcomputadoras - Práctica 06 Laboratorio de Microcomputadoras - Práctica 06
Laboratorio de Microcomputadoras - Práctica 06Cristian Ortiz Gómez
 
Comunicación serial PIC16F877A
Comunicación serial PIC16F877AComunicación serial PIC16F877A
Comunicación serial PIC16F877ALiliana Rodríguez
 
Laboratorio de Microcomputadoras - Práctica 04
 Laboratorio de Microcomputadoras - Práctica 04 Laboratorio de Microcomputadoras - Práctica 04
Laboratorio de Microcomputadoras - Práctica 04Cristian Ortiz Gómez
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Luis Zurita
 
Laboratorio de Microcomputadoras - Práctica 05
 Laboratorio de Microcomputadoras - Práctica 05 Laboratorio de Microcomputadoras - Práctica 05
Laboratorio de Microcomputadoras - Práctica 05Cristian Ortiz Gómez
 
Laboratorio de Microcomputadoras - Práctica 03
 Laboratorio de Microcomputadoras - Práctica 03 Laboratorio de Microcomputadoras - Práctica 03
Laboratorio de Microcomputadoras - Práctica 03Cristian Ortiz Gómez
 
Curso Micro Tema 3
Curso Micro Tema 3Curso Micro Tema 3
Curso Micro Tema 3Luis Zurita
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Luis Zurita
 
Ejercicios 06 subrutinas con LCD
Ejercicios 06 subrutinas con LCDEjercicios 06 subrutinas con LCD
Ejercicios 06 subrutinas con LCDJaime E. Velarde
 
MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5Luis Zurita
 
MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2Luis Zurita
 

La actualidad más candente (20)

El asesino del port-channel
El asesino del port-channelEl asesino del port-channel
El asesino del port-channel
 
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CEJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
 
Transistores juan villacorta
Transistores juan villacortaTransistores juan villacorta
Transistores juan villacorta
 
19 Conversor A/D
19 Conversor A/D19 Conversor A/D
19 Conversor A/D
 
Clase 4 pro
Clase 4 proClase 4 pro
Clase 4 pro
 
Uso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorUso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensamblador
 
Laboratorio de Microcomputadoras - Práctica 06
 Laboratorio de Microcomputadoras - Práctica 06 Laboratorio de Microcomputadoras - Práctica 06
Laboratorio de Microcomputadoras - Práctica 06
 
Comunicación serial PIC16F877A
Comunicación serial PIC16F877AComunicación serial PIC16F877A
Comunicación serial PIC16F877A
 
Ejercicio 08 CAD
Ejercicio 08 CADEjercicio 08 CAD
Ejercicio 08 CAD
 
Laboratorio de Microcomputadoras - Práctica 04
 Laboratorio de Microcomputadoras - Práctica 04 Laboratorio de Microcomputadoras - Práctica 04
Laboratorio de Microcomputadoras - Práctica 04
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4
 
Laboratorio de Microcomputadoras - Práctica 05
 Laboratorio de Microcomputadoras - Práctica 05 Laboratorio de Microcomputadoras - Práctica 05
Laboratorio de Microcomputadoras - Práctica 05
 
Laboratorio de Microcomputadoras - Práctica 03
 Laboratorio de Microcomputadoras - Práctica 03 Laboratorio de Microcomputadoras - Práctica 03
Laboratorio de Microcomputadoras - Práctica 03
 
Curso Micro Tema 3
Curso Micro Tema 3Curso Micro Tema 3
Curso Micro Tema 3
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2
 
Funcionamiento del USART
Funcionamiento del USARTFuncionamiento del USART
Funcionamiento del USART
 
Ejercicios 06 subrutinas con LCD
Ejercicios 06 subrutinas con LCDEjercicios 06 subrutinas con LCD
Ejercicios 06 subrutinas con LCD
 
MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5MICROCONTROLADORES II EN C. TEMA 5
MICROCONTROLADORES II EN C. TEMA 5
 
Micro2 tema 4
Micro2 tema 4Micro2 tema 4
Micro2 tema 4
 
MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2
 

Destacado

Winner APA National Capital Area Chapter Award for an Outstanding Neighborhoo...
Winner APA National Capital Area Chapter Award for an Outstanding Neighborhoo...Winner APA National Capital Area Chapter Award for an Outstanding Neighborhoo...
Winner APA National Capital Area Chapter Award for an Outstanding Neighborhoo...Susana Arissó
 
復修Vs拆卸重建(彻
復修Vs拆卸重建(彻復修Vs拆卸重建(彻
復修Vs拆卸重建(彻akolamlam
 
研究Introduction part
研究Introduction part研究Introduction part
研究Introduction partakolamlam
 
飛輪海汪東城
飛輪海汪東城飛輪海汪東城
飛輪海汪東城NARU72
 
LowCountryVolkswagen.com_AAA Traffic Safety Index
LowCountryVolkswagen.com_AAA Traffic Safety IndexLowCountryVolkswagen.com_AAA Traffic Safety Index
LowCountryVolkswagen.com_AAA Traffic Safety IndexLowCountry Volkswagen
 
How do organisms maintain body temperature
How do organisms maintain body temperatureHow do organisms maintain body temperature
How do organisms maintain body temperaturecarnaths
 
Own this business
Own this businessOwn this business
Own this businessKenny Chin
 
PROGNOSIS for Web Applications
PROGNOSIS for Web ApplicationsPROGNOSIS for Web Applications
PROGNOSIS for Web Applicationsantoni0martin
 
Presentasjon
PresentasjonPresentasjon
PresentasjonUNSW
 
MI Retail *** our offer
MI Retail *** our offerMI Retail *** our offer
MI Retail *** our offerMoupi
 
Rallye motors 2009 aaa aggressive driving research update
Rallye motors 2009 aaa aggressive driving research updateRallye motors 2009 aaa aggressive driving research update
Rallye motors 2009 aaa aggressive driving research updaterallyemotors
 
Basics Of SEO - For Beginners
Basics Of SEO - For BeginnersBasics Of SEO - For Beginners
Basics Of SEO - For BeginnersTraffic Expert
 

Destacado (17)

Winner APA National Capital Area Chapter Award for an Outstanding Neighborhoo...
Winner APA National Capital Area Chapter Award for an Outstanding Neighborhoo...Winner APA National Capital Area Chapter Award for an Outstanding Neighborhoo...
Winner APA National Capital Area Chapter Award for an Outstanding Neighborhoo...
 
Advice
AdviceAdvice
Advice
 
復修Vs拆卸重建(彻
復修Vs拆卸重建(彻復修Vs拆卸重建(彻
復修Vs拆卸重建(彻
 
研究Introduction part
研究Introduction part研究Introduction part
研究Introduction part
 
飛輪海汪東城
飛輪海汪東城飛輪海汪東城
飛輪海汪東城
 
Intro nsl-sc-july
Intro nsl-sc-julyIntro nsl-sc-july
Intro nsl-sc-july
 
LowCountryVolkswagen.com_AAA Traffic Safety Index
LowCountryVolkswagen.com_AAA Traffic Safety IndexLowCountryVolkswagen.com_AAA Traffic Safety Index
LowCountryVolkswagen.com_AAA Traffic Safety Index
 
How do organisms maintain body temperature
How do organisms maintain body temperatureHow do organisms maintain body temperature
How do organisms maintain body temperature
 
Own this business
Own this businessOwn this business
Own this business
 
PROGNOSIS for Web Applications
PROGNOSIS for Web ApplicationsPROGNOSIS for Web Applications
PROGNOSIS for Web Applications
 
Presentasjon
PresentasjonPresentasjon
Presentasjon
 
Final project group 3
Final project  group 3Final project  group 3
Final project group 3
 
Have a girl
Have a girlHave a girl
Have a girl
 
Blogging
BloggingBlogging
Blogging
 
MI Retail *** our offer
MI Retail *** our offerMI Retail *** our offer
MI Retail *** our offer
 
Rallye motors 2009 aaa aggressive driving research update
Rallye motors 2009 aaa aggressive driving research updateRallye motors 2009 aaa aggressive driving research update
Rallye motors 2009 aaa aggressive driving research update
 
Basics Of SEO - For Beginners
Basics Of SEO - For BeginnersBasics Of SEO - For Beginners
Basics Of SEO - For Beginners
 

Similar a Sistema de acceso comunicacion serial

Picprimerospasos
PicprimerospasosPicprimerospasos
PicprimerospasosMicroPart
 
Curso Micro Tema 3 2
Curso Micro Tema 3 2Curso Micro Tema 3 2
Curso Micro Tema 3 2Luis Zurita
 
Ejercicios 06 subrutinas con LCD continuación
Ejercicios 06 subrutinas con LCD continuaciónEjercicios 06 subrutinas con LCD continuación
Ejercicios 06 subrutinas con LCD continuaciónJaime E. Velarde
 
Finite state machine
Finite state machineFinite state machine
Finite state machineyhap
 
Manejo de teclado 4x4 con pic 16 f84a
Manejo de teclado 4x4 con pic 16 f84aManejo de teclado 4x4 con pic 16 f84a
Manejo de teclado 4x4 con pic 16 f84axeleta
 
Ejemplo varias interrupciones
Ejemplo varias interrupcionesEjemplo varias interrupciones
Ejemplo varias interrupcionesLuis Zurita
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersmarco calderon layme
 
Ejercicio pic assembler
Ejercicio pic assemblerEjercicio pic assembler
Ejercicio pic assemblerAlexis Rivera
 
Finite state machine
Finite state machineFinite state machine
Finite state machineyhap
 
Puertos de entrada/salida
Puertos de entrada/salidaPuertos de entrada/salida
Puertos de entrada/salidatecautind
 
Puertos de entrada diapositivas
Puertos de entrada diapositivasPuertos de entrada diapositivas
Puertos de entrada diapositivastecautind
 
Ejemplos De Timer E Interrupcion
Ejemplos De Timer E InterrupcionEjemplos De Timer E Interrupcion
Ejemplos De Timer E InterrupcionLuis Zurita
 
Programación del microcontrolador
Programación del microcontroladorProgramación del microcontrolador
Programación del microcontroladorJuan Gamboa P
 

Similar a Sistema de acceso comunicacion serial (20)

Proye84
Proye84Proye84
Proye84
 
Picprimerospasos
PicprimerospasosPicprimerospasos
Picprimerospasos
 
Curso Micro Tema 3 2
Curso Micro Tema 3 2Curso Micro Tema 3 2
Curso Micro Tema 3 2
 
Ejercicios 06 subrutinas con LCD continuación
Ejercicios 06 subrutinas con LCD continuaciónEjercicios 06 subrutinas con LCD continuación
Ejercicios 06 subrutinas con LCD continuación
 
Tarea final
Tarea finalTarea final
Tarea final
 
Subrutinas pic
Subrutinas picSubrutinas pic
Subrutinas pic
 
Finite state machine
Finite state machineFinite state machine
Finite state machine
 
Manejo de teclado 4x4 con pic 16 f84a
Manejo de teclado 4x4 con pic 16 f84aManejo de teclado 4x4 con pic 16 f84a
Manejo de teclado 4x4 con pic 16 f84a
 
Ejemplo varias interrupciones
Ejemplo varias interrupcionesEjemplo varias interrupciones
Ejemplo varias interrupciones
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timers
 
Informe sensor presion
Informe sensor presionInforme sensor presion
Informe sensor presion
 
Ejercicio pic assembler
Ejercicio pic assemblerEjercicio pic assembler
Ejercicio pic assembler
 
Informe n1 micro
Informe n1 microInforme n1 micro
Informe n1 micro
 
Finite state machine
Finite state machineFinite state machine
Finite state machine
 
Puertos de entrada/salida
Puertos de entrada/salidaPuertos de entrada/salida
Puertos de entrada/salida
 
Uso del tmr0
Uso del tmr0Uso del tmr0
Uso del tmr0
 
Puertos de entrada diapositivas
Puertos de entrada diapositivasPuertos de entrada diapositivas
Puertos de entrada diapositivas
 
Ejemplos De Timer E Interrupcion
Ejemplos De Timer E InterrupcionEjemplos De Timer E Interrupcion
Ejemplos De Timer E Interrupcion
 
Semaforos
SemaforosSemaforos
Semaforos
 
Programación del microcontrolador
Programación del microcontroladorProgramación del microcontrolador
Programación del microcontrolador
 

Sistema de acceso comunicacion serial

  • 1. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 SISTEMA DE ACCESO Objetivo: Construir un Sistema de Acceso utilizando el Comunicación Serial. Operación del Sistema: El proyecto planteado consiste en Sistema de Acceso, el cual recibirá la clave del usuario mediante el teclado matricial. La clave será transmitida a un Computador mediante el Puerto Serial, el cual establecerá si la clave es correcta (1) o incorrecta (0). Algoritmo General Inicio Configurar Puertos Configurar LCD α Mostrar “Saludo” en LCD No Clave ? Si Transmitir Clave al PC Valida No Mostrar “Invalida” en LCD ? Si α α Mostrar “Valida” en LCD Ing. Yudith Ontiveros
  • 2. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 Ing. Yudith S. Ontiveros M
  • 3. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 Anexo ;***SISTEMA DE CONTROL DE ACCESO USANDO COMUNICACION SERIAL *** ;*******PANTALLA LCD Y EL TECLADO MATRICIAL ************** LIST P=16F84 ;****declaracion de registros************** STATUS EQU 03h ;declara registro de estado PCL EQU 02h ;registro contador de programa PORTA EQU 05h ;declara el puerto a TRISA EQU 05h ;registro conf del puerto a PORTB EQU 06h ;declara el puerto b TRISB EQU 06h ;registro conf del puerto b INTCON EQU 0Bh ;registro INTCON OPCION EQU 01h ;registro OPCION ;declaracion de bits Z EQU 02h ;declara bit Z de Status CARRY EQU 00h ;declara bit Carry de Status RP0 EQU 05h ;declara bit RP0 de Status ORG 0Ch CONT RES 1 ;registro para retardo CONT1 RES 1 ;registro para retardo CONT2 RES 1 ;registro para retardo REGIS RES 1 ;registro respaldo para LCD TECL1 RES 1 ;registro para teclas REPET RES 1 ;registro contador TXREG RES 1 ;registro para dato TX RCREG RES 1 ;registro para dato RX Ing. Yudith S. Ontiveros M
  • 4. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 REPET1 RES 1 ;numero bits a transmitir ORG 00h ;vector de reset ;*****rutina para configurar puertos del PIC******************** CONF BSF STATUS,RP0 ;cambia a pagina 1 MOVLW 0Fh ;carga W con 0Fh MOVWF TRISB ;RD4-RD7 salida, RD0-RD3 entrada MOVLW 00h ;carga W con 80h MOVWF TRISA ;RC7 entrada, resto salida BCF STATUS,RP0 ;cambia a pagina 0 ;*******RUTINA CONFIGURACION DE LA LCD LCDCONF CLRF PORTB ;limpia puerto b MOVLW 04h ;carga w con 04h MOVWF PORTA ;mueve w al PA (TX=1) CALL RETARDO ;llama retardo CALL RETARDO ;llama retardo CALL RETARDO ;llama retardo MOVLW 02h ;carga w con 02h CALL SEND ;cursor a la direccion 0 MOVLW 28h ;carga w con 28h CALL SEND ;bus de datos 4 bits, 2 lineas MOVLW 0Fh ;carga w con 0Fh CALL SEND ;prende LCD, activa cursor MOVLW 06h ;carga w con 06h CALL SEND ;cursor incrementa, texto no desplaza ;*******RUTINA PRINCIPAL********* INICIO MOVLW 01h ;carga w con 01h CALL SEND ;borra LCD Ing. Yudith S. Ontiveros M
  • 5. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 CALL SALUDO ;muestra saludo en LCD INI1 CALL ACTIVA ;activa filas teclado MOVF PORTB,W ;lee Pb ANDLW 0Eh ;depura informacion columnas BTFSC STATUS,Z ;verifica si activaron tecla, salta si es v GOTO INI1 ;sino activaron salta a INI1 CALL TECLA ;lee teclado SUBLW 0Fh ;verifica si activo # BTFSS STATUS,Z ;salta inst si activo # GOTO INI1 ;sino activo # salta a INI1 CALL BORRA ;borra LCD CALL INGRESE ;muestra msg "Ingrese Clave" CALL SALTO ;salta a 2da linea CALL RETARDO ;retardo 500mseg MOVLW 'I' ;carga w con asci "I" CALL T_PC ;transmite "I" al PC CALL RETARDO ;retardo 500mseg CALL CLAVE ;llama rutina que recibe clave MOVLW 'F' ;carga w con asci "F" CALL T_PC ;transmite "F" al PC CALL RECEP ;llama rutina que recibe dato serial MOVF RCREG,W ;mueve dato recibido a w ANDLW 0Fh ;elimina decenas SUBLW 01h ;verifica si llego 1 (**valida**) BTFSS STATUS,Z ;si llego 1 salta inst GOTO INVAL ;sino llego 1 salta a INVAL VALIDA CALL BORRA ;borra lcd CALL POSITIVA ;muestra "Clave Valida" CALL RETARDO ;retardo 500mseg CALL RETARDO ;retardo 500mseg Ing. Yudith S. Ontiveros M
  • 6. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 CALL RETARDO ;retardo 500mseg CALL RETARDO ;retardo 500mseg GOTO INICIO ;salta a INICIO INVAL CALL BORRA ;borra LCD CALL DENEGADO ;muestra "Clave Invalida" CALL RETARDO ;retardo 500mseg CALL RETARDO ;retardo 500mseg CALL RETARDO ;retardo 500mseg CALL RETARDO ;retardo 500mseg GOTO INICIO ;salta a INICIO ;*****Rutina de recepcion************************ RECEP CLRF RCREG ;limpia registro recepcion MOVLW 08h ;carga w con 08 (bits a recibir) MOVWF REPET1 ;mueve w a REPET1 RECE1 BTFSC PORTB,0 ;verifica si llego bit de Inicio GOTO RECE1 ;sino ha llegado salta a RECE1 CALL DEMO ;si llego llama retardo (2400bps) RECEP1 BSF STATUS,CARRY ;CARRY=1 BTFSS PORTB,0 ;si llego 1 salta instruccion BCF STATUS,CARRY ;si llego 0 limpia carry RRF RCREG,1 ;rota registro recepcion a la derecha CALL DEMO ;retardo (2400bps) DECFSZ REPET1,1 ;decrementa a REPET1, salta si es 0 GOTO RECEP1 ;sino han llegado todos los datos salta a RECEP1 CALL DEMO ;retardo para esperar FIN TX RETURN ;retorna ;******Rutina que recibe 6 valores de Clave***** CLAVE MOVLW 06h ;carga w con 6 Ing. Yudith S. Ontiveros M
  • 7. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 MOVWF REPET ;mueve w a repet (6 valores clave) CLAVE1 CALL ACTIVA ;activa filas teclado MOVF PORTB,W ;lee Pb ANDLW 0Eh ;depura columnas BTFSC STATUS,Z ;si se activo columna salta GOTO CLAVE1 ;sino se activo salta a CLAVE1 CALL TECLA ;lee teclado MOVWF CONT ;mueve w a CONT SUBLW 0Eh ;verifica si activo * BTFSC STATUS,Z ;sino activo * salta inst GOTO CLAVE1 ;si activo * salta a CLAVE1 MOVF CONT,W ;mueve valor de tecla a W SUBLW 0Fh ;verifica si activo # BTFSC STATUS,Z ;sino activo # salta inst GOTO CLAVE1 ;si activo # salta a CLAVE1 MOVF CONT,W ;mueve valor de tecla a W ADDLW 30h ;suma 30 a w (coverion a asci) CALL T_PC ;transmite codigo asci al PC MOVLW '*' ;codigo asci de * CALL DATO ;muestra dato en LCD CALL RETARDO ;retardo de 500mseg DECFSZ REPET,1 ;decrementa a REPET, salta si es 0 GOTO CLAVE1 ;sino es 0 salta a CLAVE1 (proximo nro) RETURN ;retorna a llamado ;*****Rutina que transmite valores al PC*** T_PC MOVWF TXREG ;mueve w al registro de TX MOVLW 08h ;carga w con 08 (bits a transmitir) MOVWF REPET1 ;mueve w a REPET1 START BCF PORTA,2 ;limpia linea de TX (bit de inicio) Ing. Yudith S. Ontiveros M
  • 8. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 T_PC1 CALL DEMO ;retardo (2400bps) RRF TXREG,1 ;rota registro TX a la derecha BTFSC STATUS,CARRY ;si carry=0 salta inst GOTO TX_1 ;si carry=1 salta a TX_1 TX_0 BCF PORTA,2 ;**transmite 0** GOTO T_PC2 ;salta a T_PC2 TX_1 BSF PORTA,2 ;**transmite 1** T_PC2 DECFSZ REPET1,1 ;decrementa a REPET1, salta si es 0 GOTO T_PC1 ;sino ha finalizado tx SALTA A t_PC1 STOP CALL DEMO ;retardo (2400bps) BSF PORTA,2 ;trsnmite 1 (bit de fin) CALL DEMO ;retardo (2400bps) RETURN ;retorna a llamado ;*****Retardo de 416micro seg***** DEMO MOVLW D'137' ;carga W con 137 MOVWF CONT ;mueve W al registro CONT DEMO1 DECFSZ CONT,1 ;decrementa CONT, si es cero salta GOTO DEMO1 ;si no es cero salta a DEMO1 RETURN ;si es 0 retorna ;****RUTINAS QUE NO SUFRIERON CAMBIOS************ ;******rutina que lee teclado matricial********* TECLA BTFSC PORTB,1 ;verifica Columna1, salta si es 0 GOTO COLU1 ;si es 1 salta a COLU1 BTFSC PORTB,2 ;verifica Columna2, salta si es 0 GOTO COLU2 ;si es 1 salta a COLU2 BTFSC PORTB,3 ;verifica Columna3, salta si es 0 GOTO COLU3 ;si es 1 salta a COLU3 GOTO EXIT ;salta a EXIT Ing. Yudith S. Ontiveros M
  • 9. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 COLU1 CALL FILA1 ;activa FILA1** BTFSS PORTB,1 ;verifica COLU1, salta si esta activa (1) GOTO CUATRO ;salta a CUATRO UNO MOVLW 01h ;carga w con 01 RETURN ;retorna a llamado CUATRO CALL FILA2 ;activa FILA2** BTFSS PORTB,1 ;verifica COLU1, salta si esta activa (1) GOTO SIETE ;salta a SIETE MOVLW 04h ;carga w con 04 RETURN ;retorna a llamado SIETE CALL FILA3 ;activa FILA3** BTFSS PORTB,1 ;verifica COLU1, salta si esta activa (1) GOTO ASTERIS ;salta a ASTERIS MOVLW 07h ;carga w con 07 RETURN ;retorna a llamado ASTERIS CALL FILA4 ;activa FILA4** BTFSS PORTB,1 ;verifica COLU1, salta si esta activa (1) GOTO EXIT ;salta a EXIT MOVLW 0Eh ;carga w con 0E RETURN ;retorna a llamado COLU2 CALL FILA1 ;activa FILA1** BTFSS PORTB,2 ;verifica COLU2, salta si esta activa (1) GOTO CINCO ;salta a CINCO DOS MOVLW 02h ;carga w con 02 RETURN ;retorna a llamado CINCO CALL FILA2 ;activa FILA2** BTFSS PORTB,2 ;verifica COLU2, salta si esta activa (1) GOTO OCHO ;salta a OCHO MOVLW 05h ;carga w con 05 RETURN ;retorna a llamado Ing. Yudith S. Ontiveros M
  • 10. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 OCHO CALL FILA3 ;activa FILA3** BTFSS PORTB,2 ;verifica COLU2, salta si esta activa (1) GOTO CERO ;salta a CERO MOVLW 08h ;carga w con 08 RETURN ;retorna a llamado CERO CALL FILA4 ;activa FILA4** BTFSS PORTB,2 ;verifica COLU2, salta si esta activa (1) GOTO EXIT ;salta a EXIT MOVLW 00h ;carga w con 00 RETURN ;retorna a llamado COLU3 CALL FILA1 ;activa FILA1** BTFSS PORTB,3 ;verifica COLU3, salta si esta activa (1) GOTO SEIS ;salta a SEIS TRES MOVLW 03h ;carga w con 03 RETURN ;retorna a llamado SEIS CALL FILA2 ;activa FILA2** BTFSS PORTB,3 ;verifica COLU3, salta si esta activa (1) GOTO NUEVE ;salta a NUEVE MOVLW 06h ;carga w con 06 RETURN ;retorna a llamado NUEVE CALL FILA3 ;activa FILA3** BTFSS PORTB,3 ;verifica COLU3, salta si esta activa (1) GOTO NUMERAL ;salta a NUMERAL MOVLW 09h ;carga w con 09 RETURN ;retorna a llamado NUMERAL CALL FILA4 ;activa FILA4** BTFSS PORTB,3 ;verifica COLU3, salta si esta activa (1) GOTO EXIT ;salta a EXIT MOVLW 0Fh ;carga w con 0F RETURN ;retorna a llamado Ing. Yudith S. Ontiveros M
  • 11. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 EXIT MOVLW 10h ;carga w con 10 RETURN ;retorna a llamado FILA1 BSF PORTB,4 ;activa Fila1 BCF PORTB,5 ;desactiva fila2 BCF PORTB,6 ;desactiva fila3 BCF PORTB,7 ;desactiva fila4 RETURN ;retorna a llamado FILA2 BCF PORTB,4 ;desactiva fila1 BSF PORTB,5 ;activa Fila2 BCF PORTB,6 ;desactiva fila3 BCF PORTB,7 ;desactiva fila4 RETURN ;retorna a llamado FILA3 BCF PORTB,4 ;desactiva fila1 BCF PORTB,5 ;desactiva fila2 BSF PORTB,6 ;activa Fila3 BCF PORTB,7 ;desactiva fila4 RETURN ;retorna a llamado FILA4 BCF PORTB,4 ;desactiva fila1 BCF PORTB,5 ;desactiva fila2 BCF PORTB,6 ;desactiva fila3 BSF PORTB,7 ;activa Fila4 RETURN ;retorna a llamado ACTIVA MOVLW 0F0h ;carga w con 0Fh MOVWF PORTB ;mueve w a PB RETURN ;retorna a llamado ;*****Rutina que envia caracteres para LCD***** DATO MOVWF REGIS ;mueve w a Regis ANDLW 0F0h ;elimina parte menos significativa Ing. Yudith S. Ontiveros M
  • 12. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 MOVWF PORTB ;mueve W al Pa BSF PORTA,0 ;RS=1 (caracter) BSF PORTA,1 ;E=1 (habilita LCD) CALL DELAY ;retardo CALL DELAY ;retardo BCF PORTA,1 ;E=0 (deshabilita LCD) CALL DELAY ;llama delay SWAPF REGIS,1 ;invierte nibbles es Regis MOVF REGIS,W ;mueve regis A W ANDLW 0F0h ;elimina parte menos significativa MOVWF PORTB ;mueve W al Pa BSF PORTA,1 ;E=1 (habilita LCD) CALL DELAY ;retardo CALL DELAY ;retardo BCF PORTA,1 ;E=0 (deshabilita LCD) CALL DELAY ;llama delay CALL ACTIVA ;ACTIVA FILAS TECLADO** RETURN ;retorna ;*****Rutina que ejecuta Instrucciones para LCD***** SEND MOVWF REGIS ;mueve w a Regis ANDLW 0F0h ;elimina parte menos significativa MOVWF PORTB ;mueve W al PB BCF PORTA,0 ;RS=0 (instruccion) BSF PORTA,1 ;E=1 (habilita LCD) CALL DELAY ;retardo CALL DELAY ;retardo BCF PORTA,1 ;E=0 (deshabilita LCD) CALL DELAY ;llama delay SWAPF REGIS,1 ;invierte nibbles es Regis Ing. Yudith S. Ontiveros M
  • 13. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 MOVF REGIS,W ;mueve regis A W ANDLW 0F0h ;elimina parte menos significativa MOVWF PORTB ;mueve W al Pa BSF PORTA,1 ;E=1 (habilita LCD) CALL DELAY ;retardo CALL DELAY ;retardo BCF PORTA,1 ;E=0 (deshabilita LCD) CALL DELAY ;llama delay CALL ACTIVA ;ACTIVA FILAS TECLADO** RETURN ;retorna SALTO MOVLW 0C0h ;***instruccion para saltar a 2da linea*** CALL SEND RETURN BORRA MOVLW 01h ;***instruccion para borrar LCD*** CALL SEND RETURN DOS_P MOVLW ':' ;carga w con asci de : CALL DATO ;muestra caracter en lcd RETURN ASCI1 MOVWF CONT ;respalda w en CONT SWAPF CONT,1 ;invierte nibles de CONT MOVF CONT,W ;mueve valor de CONT a W ANDLW 0Fh ;elimina decenas ADDLW 30h ;suma 30h a W CALL DATO ;escribe caracter en LCD RETURN ;retorna a llamado Ing. Yudith S. Ontiveros M
  • 14. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 ASCI2 ANDLW 0Fh ;elimina decenas ADDLW 30h ;suma 30h a W CALL DATO ;escribe caracter en LCD RETURN ;retorna a llamado ;******Rutinas de Retardo******************* DELAY MOVLW 0FFh ;carga W con FFh MOVWF CONT ;mueve W al registro CONT DELAY1 DECFSZ CONT,1 ;decrementa CONT, si es cero salta GOTO DELAY1 ;si no es cero salta a DELAY1 RETURN ;retorna RETARDO MOVLW 05h ;carga W con 05h MOVWF CONT2 ;mueve W al registro CONT2 RET1 MOVLW 81h ;carga W con 81h MOVWF CONT1 ;mueve W al registro CONT1 RET2 MOVLW 0FFh ;carga W con FFh MOVWF CONT ;mueve W al registro CONT RET3 DECFSZ CONT,1 ;decrementa CONT, si es cero salta GOTO RET3 ;si no es cero salta a RET3 DECFSZ CONT1,1 ;decrementa CONT1, si es cero salta GOTO RET2 ;si no es cero salta a RET2 DECFSZ CONT2,1 ;decrementa CONT2, si es cero salta GOTO RET1 ;si no es cero salta a RET1 RETURN ;retorna SALUDO MOVLW 'B' CALL DATO MOVLW 'i' CALL DATO Ing. Yudith S. Ontiveros M
  • 15. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 MOVLW 'e' CALL DATO MOVLW 'n' CALL DATO MOVLW 'v' CALL DATO MOVLW 'e' CALL DATO MOVLW 'n' CALL DATO MOVLW 'i' CALL DATO MOVLW 'd' CALL DATO MOVLW 'o' CALL DATO MOVLW ' ' CALL DATO MOVLW 'a' CALL DATO MOVLW ' ' CALL DATO MOVLW 'O' CALL DATO MOVLW 'L' CALL DATO MOVLW 'G' CALL DATO RETURN Ing. Yudith S. Ontiveros M
  • 16. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 INGRESE MOVLW 'I' CALL DATO MOVLW 'n' CALL DATO MOVLW 'g' CALL DATO MOVLW 'r' CALL DATO MOVLW 'e' CALL DATO MOVLW 's' CALL DATO MOVLW 'e' CALL DATO MOVLW ' ' CALL DATO MOVLW 'S' CALL DATO MOVLW 'u' CALL DATO MOVLW ' ' CALL DATO MOVLW 'C' CALL DATO MOVLW 'l' CALL DATO MOVLW 'a' CALL DATO MOVLW 'v' CALL DATO Ing. Yudith S. Ontiveros M
  • 17. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 MOVLW 'e' CALL DATO RETURN POSITIVA MOVLW 'A' CALL DATO MOVLW 'c' CALL DATO MOVLW 'c' CALL DATO MOVLW 'e' CALL DATO MOVLW 's' CALL DATO MOVLW 'o' CALL DATO MOVLW ' ' CALL DATO MOVLW 'P' CALL DATO MOVLW 'e' CALL DATO MOVLW 'r' CALL DATO MOVLW 'm' CALL DATO MOVLW 'i' CALL DATO MOVLW 't' CALL DATO Ing. Yudith S. Ontiveros M
  • 18. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 MOVLW 'i' CALL DATO MOVLW 'd' CALL DATO MOVLW 'o' CALL DATO RETURN DENEGADO MOVLW 'A' CALL DATO MOVLW 'c' CALL DATO MOVLW 'c' CALL DATO MOVLW 'e' CALL DATO MOVLW 's' CALL DATO MOVLW 'o' CALL DATO MOVLW ' ' CALL DATO MOVLW 'D' CALL DATO MOVLW 'e' CALL DATO MOVLW 'n' CALL DATO MOVLW 'e' CALL DATO Ing. Yudith S. Ontiveros M
  • 19. www.ditiveca.com.ve / ditiveca@gmail.com/www.ditiveca.wordpress.com Av. Intercomunal, calle la estrella sector bello monte casa núm. 109 Cabimas Estado Zulia Teléfono 0264-2415680 MOVLW 'g' CALL DATO MOVLW 'a' CALL DATO MOVLW 'd' CALL DATO MOVLW 'o' CALL DATO RETURN END Ing. Yudith S. Ontiveros M