El documento explica cómo programar un PIC16F84 para encender y apagar un LED conectado a RB0 dependiendo del estado de un interruptor conectado a RA0. Primero se especifica el tipo de PIC y las direcciones de los puertos y registros a utilizar. Luego, se programa el puerto A como entrada y el B como salida accediendo al banco 1. Finalmente, se crea un bucle que revisa constantemente el estado del interruptor y enciende o apaga el LED según sea necesario.
5. EL PROGRAMA QUE VAMOS HACER DEBE ACTIVAR UN LED CONECTADO A RB0 SIEMPRE QUE UN INTERRUPTOR CONECTADO EN RA0 ESTE CERRADO. PARA ELLO VAMOS A CONSIDERAR EL SIGUIENTE CIRCUITOS
7. COMO PODRÁS DARTE CUENTA TENEMOS QUE PROGRAMAR A RA0 COMO ENTRADA Y A RB0 COMO SALIDA PARA HACER ESTO DEBEMOS TRABAJAR EN EL BANCO1 DE LA MEMORIA DE DATOS
8. CUANDO ALIMENTAMOS AL PIC SE ENCUENTRA EN EL BANCO 0, QUE ES DONDE SE TRABAJA PERO SE DEBE ACCESAR AL BANCO 1 PARA PROGRAMAR LOS PUERTOS A Y B YA SEA COMO ENTRADAS O SALIDAS Y DESPUÉS REGRESARNOS AL BANCO 0 PARA CONTINUAR PROGRAMANDO NUESTRO PIC
9. ANTES DE EMPEZAR A PROGRAMAR DEBES SABER EL MANEJO DE LOS BITS DEL REGISTRO ESTADO (STATUS) QUE SE ENCUENTRA EN LA DIRECCIÓN 03H Y 83H
10. COMO PODRÁS VER EL PUERTO A Y B ESTAN EN LA DIRECCIÓN 05H Y O6H
11. TE INVITO A QUE ANALICEMOS EL REGISTRO ESTADO ANTES DE EMPEZAR A PROGRAMAR , YA QUE ÉSTE NOS VA PERMITIR PASARNOS DEL BANCO 0AL BANCO 1
12. A CONTINUACIÓN SE MUESTRA EL REGISTRO ESTADO EL CUAL ESTA COMPUESTO POR 8 BITS 7 6 5 4 3 2 1 0 03H
13. DE LOS CUALES SOLO USAREMOS PARA NUESTRO PROPÓSITO EL BIT 5 QUE ES NOMBRADO COMO RP0 7 6 5 4 3 2 1 0 03H
14. A CONTINUACIÓN SE MUESTRA ELREGISTRO ESTADO EL CUAL ESTA COMPUESTO POR 7 BITS DE LOS CUALES SOLO USAREMOS PARA NUESTRO PROPÓSITO EL BIT 5 QUE ES NOMBRADO COMO RP0 SI EL BIT PRP0 = 1 SE DA LA ORDEN DE PASAR AL BANCO 1 SI EL BIT PRP0 = 0 SE DA LA ORDEN DE REGRESAR AL BANCO 0 7 6 5 4 3 2 1 0 1 0 03H
15. SI EL BIT PRP0 = 1 SE DA LA ORDEN DE PASAR AL BANCO 1 7 6 5 4 3 2 1 0 1 03H
16. BIEN PUES AHORA YA SABEMOS QUE PARA TRABAJAR EN EL BANCO 1RP0 DEBE SER PROGRAMADO CON EL NÚMERO 1 7 6 5 4 3 2 1 0 03H
17. Y PARA REGRESAR AL BANCO 0RP0 DEBE SER PROGRAMADO CON EL NÚMERO 0 7 6 5 4 3 2 1 0 03H
18. BIEN PUES AHORA YA SABES LA FUNCIÓN DEL REGISTRO ESTADO ENTONCES YA PODEMOS EMPEZAR A ELABORAR NUESTRO PROGRAMA TEN A LA MANO LA LISTA DE INSTRUCCIONES DEL PIC 16F84 LAS CUALES ANALIZASTE CON TÚ PROFESOR, ASÍ QUE YA SABES COMO UTILIZARLAS
19. LIST P= 16F84 ESTADO EQU 0X03 PORTA EQU 0X05 PORTB EQU 0X06 LO PRIMERO QUE TENEMOS QUE HACER ES ESPECIFICAR EL TIPO DE PIC QUE VAMOS A UTILIZAR DESPUÉS A LAS ETIQUETAS QUE VAMOS A UTILIZAR LES ASIGNAMOS LA DIRECCIÓN QUE LES CORRESPONDE COMO SE MUESTRA
20. LIST P= 16F84 ESTADO EQU 0X03 PORTA EQU 0X05 PORTB EQU 0X06 ORG 0X00 EL PUERTO A Y EL B QUE ESTAN EN LAS DIRECCIONES 05 Y 06 RESPECTIVAMENTE ASÍ QUE ASIGNEMOS VALORES DESPUÉS ASIGNAMOS LA DIRECCIÓN QUE LE DICE AL MICRO EN DONDE DEBE EMPEZAR LO PRIMERO QUE TENEMOS QUE HACER ES ESPECIFICAR EL TIPO DE PIC QUE VAMOS A UTILIZAR DESPUÉS A LAS ETIQUETAS QUE VAMOS A UTILIZAR LES ASIGNAMOS LA DIRECCIÓN QUE LES CORRESPONDE RECUERDA QUE LAS ETIQUETAS VAN EN LA PRIMER COLUMNA, EN LA SEGUNDA EL NEMÓNICO Y DESPUÉS LOS DATOS A UTILIZAR COMO RECORDARÁS VAMOS A UTILIZAR EL REGISTRO ESTADO QUE ESTA EN LA DIRECCIÓN 03
21. LIST P= 16F84 ESTADO EQU 0X03 PORTA EQU 0X05 PORTB EQU 0X06 ORG 0X00 RECUERDA QUE LAS ETIQUETAS VAN EN LA PRIMER COLUMNA, EN LA SEGUNDA EL NEMÓNICO Y DESPUÉS LOS DATOS A UTILIZAR COMO RECORDARÁS VAMOS A UTILIZAR EL REGISTRO ESTADO QUE ESTA EN LA DIRECCIÓN 03 Bsf estado, 5 CLRF PORTA
22. LIST P= 16F84 ESTADO EQU 0X03 PORTA EQU 0X05 PORTB EQU 0X06 ORG 0X00 AHORA DEBEMOS DECIRLE AL PIC QUE SE VA ACCESAR AL BANCO 1 PARA PROGRAMAR PA Y PB COMO ENTRADAS Y SALIDAS RESPECTIVAMENTE PARA ESTO OBSERVA TÚ LISTA DE INSTRUCCIONES. LA INSTRUCCIÓN QUE NOS PERMITE HACER ESTO ES BSF QUE DE ACUERDO A LOS MOSTRADO PONE EL BIT 5 A 1 DEL REGISTRO ESTADO Bsf estado, 5
23. LIST P= 16F84 ESTADO EQU 0X03 PORTA EQU 0X05 PORTB EQU 0X06 ORG 0X00 AHORA YA NOS ENCONTRAMOS EN EL BANCO1. PARA QUE PA SEA ENTRADA SE DEBE CARGAR CON 1s POR LO QUE PRIMERO LIMPIAMOS EL PUERTO A ES DECIR LO PONEMOS A 0 Y DESPUÉS LOS COMPLEMENTAMOS CARGANDOSE DE ESTA MANERA CON 1s. AHORA PASEMOS A CARGAR EL PUERTO B CON 0s PARA QUE SEA PROGRAMADO COMO SALIDA PARA ESTO LIMPIAMOS B CON LA INSTRUCCIÓN CLR Bsf estado, 5 CLRF PORTA COMF PORTA, 1 CLRF PORTB
24. LIST P= 16F84 ESTADO EQU 0X03 PORTA EQU 0X05 PORTB EQU 0X06 ORG 0X00 A CONTINUACIÓN VAMOS A REGRESARNOS AL PUERTO A PARA CONTINUAR LA PROGRAMACIÓN, ASÍ QUE UTILIZAMOS LA INSTRUCCIÓN BCF PARA DECIRLE AL PIC QUE PONGA A CERO EL BIT 5 DEL REGISTRO ESTADO. VERIFICA TU LISTA DE INSTRUCCIONES Bsf estado, 5 CLRF PORTA COMF PORTA, 1 CLRF PORTB BCF ESTADO,5
25. LIST P= 16F84 ESTADO EQU 0X03 PORTA EQU 0X05 PORTB EQU 0X06 ORG 0X00 Bsf estado, 5 CLRF PORTA AHORA DEBEMOS DAR LAS INSTRUCCIONES PARA QUE EL PIC DETECTE EL ESTADO DEL INTERRUPTOR (CONECTADO EN PA0), ES DECIR SI ESTA ENCENDIDO O APAGADO Y DEPENDIENDO DE ESTO ACTIVAR O DESACTIVAR EL LED (CONECTADO EN PB0) COMF PORTA, 1 CLRF PORTB
26. LIST P= 16F84 ESTADO EQU 0X03 PORTA EQU 0X05 PORTB EQU 0X06 ORG 0X00 Bsf estado, 5 A CONTINUACIÓN VAMOS A USAR LA INSTRUCCIÓN GOTO PARA QUE EL PIC SI DETECTA QUE EL INTERRUPTOR FUE ACTIVADO PASE A LA ETIQUE ENCENDER Y SI SE DESACTIVA PASE A LA ETIQUETA APAGAR. ESTAS ETIQUETAS NOS DEBEN MANDAR A INSTRUCCIONES QUE PRENDAN Y APAGUEN AL LED ES DECIR QUE PONGA A 1 O 0 EL BIT CERO DE PB QUE ES DONDE ESTA CONECTADO EL LED CLRF PORTA COMF PORTA, 1 CLRF PORTB INICIO BTFSC PORTA, 0 GOTO APAGAR GOTO ENCENDER
27. LIST P= 16F84 ESTADO EQU 0X03 PORTA EQU 0X05 PORTB EQU 0X06 ORG 0X00 Bsf estado, 5 CUANDO EL PIC SE VA A LA ETIQUETA APAGAR DEBE PONER EL BIT 0 DEL PUERTO B A 0 PARA QUE SE APAGUE EL LED Y SI SE VA A LA ETIQUETA ENCENDER DEBE PONER EL BIT 0 DEL PB A 1 PARA QUE SE ENCIENDA. PARA ESTO UTILIZAMOS LAS SIGUIENTES INSTRUCCIONES BCF Y BSF QUE VAN A PONER EL BIT 0 DE PB A CERO Y UNO RESPECTIVAMENTE CLRF PORTA COMF PORTA, 1 CLRF PORTB INICIO BTFSC PORTA, 0 GOTO APAGAR GOTO ENCENDER APAGAR BCF PORTB, 0 GOTO INICIO APAGAR BSF PORTB, 0 GOTO INICIO
28. LIST P= 16F84 ESTADO EQU 0X03 PORTA EQU 0X05 PORTB EQU 0X06 ORG 0X00 Bsf estado, 5 FINALMENTE PONEMOS LA INSTRUCCIÓN END PARA DECIRLE AL PIC QUE TERMINA EL PROGRAMA. TE PIDO QUE ANALICES LO QUE HICIMOS VE DETENIDAMENTE EL PROGRAMA Y SIGUE CADA UNA DE SUS INSTRUCCIONES CLRF PORTA COMF PORTA, 1 CLRF PORTB INICIO BTFSC PORTA, 0 GOTO APAGAR GOTO ENCENDER APAGAR BCF PORTB, 0 GOTO INICIO APAGAR BSF PORTB, 0 GOTO INICIO END
29. LIST P= 16F84 ESTADO EQU 0X03 PORTA EQU 0X05 PORTB EQU 0X06 ORG 0X00 Bsf estado, 5 COMO PODRAS VER PROGRAMAR UN PIC NO ES TAN COMPLICADO COMO PARECE. TE INVITO A QUE PRACTIQUES HACIENDO MUCHOS PROGRAMAS CUANDO MENOS TE LO ESPERES SERÁS UN EXPERTO PROGRAMADOR DE PIC. CLRF PORTA COMF PORTA, 1 CLRF PORTB INICIO BTFSC PORTA, 0 GOTO APAGAR GOTO ENCENDER APAGAR BCF PORTB, 0 GOTO INICIO APAGAR BSF PORTB, 0 GOTO INICIO END
30. BUENO ME DESPIDO DE USTEDES Y ESPERO NOS VOLVAMOS A VER EN OTRA DE MIS CAPSULAS DE LA CIENCIA