Estructura y programación de pic 16f84
INFORME
TECNOLOGIA DIGITAL Y MICROPROCESADORES
2º Semestre de 2007
Índice
Introducción............................................................................................. Pág.3
Objetivos.................................................................................................. Pág.4
Desarrollo practico………………………………………………………...... Pág.4Conclusión................................................................................................ Pág.10
Introducción
El PIC16F84 es un microcontrolador, una especie de "ordenador en miniatura" que podremos programar. En su interior posee un microprocesador, una memoria RAM (volatil) donde guardaremos las variables, una memoria EEPROM (no volatil) donde guardaremos nuestro programa,un Timer o contador que nos facilitará algunas tareas.
Desarrollo
Con la primera actividad del laboratorio se reconoció el funcionamiento de los pines de un PIC 16F84, el cual se ilustra en la figura:
RA0, RA1, RA2, RA3 y RA4: son los pines del puerto A
RB0, RB1, RB2, RB3, RB4, RB5, RB6 y RB7: son los pines del puerto B.
MCLR: Pin de reseteo del pic, cuando se pone a "0" el pic seresetea.
Vdd y Vss: pines de alimentación (Vdd 5V y Vss a masa)
OSC1/CLKIN y OSC2/CLKOUT: son para el oscilador Los tipos de osciladores mas usados son el XT (cristal de cuarzo) y el RC (resistencia y condensador) el modo de conexionado es el siguiente:
A continuación se explicara el siguiente programa:
Éste activará un LED conectado a RB0 siempre que el interruptor conectado a RA0 este cerrado.ESTADO EQU 0x03
PORTA EQU 0x05
PORTB EQU 0x06
org 0
bsf ESTADO,5
clrf PORTA
comf PORTA,1
clrf PORTB
bcf ESTADO,5
INICIO btfsc PORTA,0
goto APAGAR
goto ENCENDER
APAGAR bcf PORTB,0
goto INICIO
ENCENDER bsf PORTB,0
goto INICIO
end
Comentemos el código:
-Las tres primeras líneas, cuyo núcleo es EQU, permitenque el compilador interprete a partir de ese momento los nombres de la primera columna con la dirección de memoria de la derecha..
- La siguiente instrucción, org 0, no la analizaremos. Simplemente decir que es necesaria para el correcto funcionamiento del programa, ya que indica el comienzo del código.
- bsf ESTADO,5 nos permite poner a 1 el bit 5 de ESTADO, con lo que conseguimos acceder albanco 1, donde se encuentran los registros de configuración de las puertas.
- clrf PORTA: pone a cero todos los bits del registro porta, con lo que se consigue que dicha puerta se configure al completo como salida. En este caso lo usamos conjuntamente con comf, que transforma los 0 en 1 y viceversa. Así, se consigue configurar la puerta a como entrada. Podríamos usar otros métodos, como movlw 0xFFjunto con movwf PUERTAA, pero el primero lo considero más elegante.
- clrf PORTB: pone a cero todos los bits del registro PORTB, configurando éste como salida.
- bcf ESTADO,5 pone a 0 el bit 5 de ESTADO, volviendo así al banco 0.
- Inicio, apagar y encender son etiquetas, cuya utilidad es marcar un punto del programa; así, si queremos volver a ese punto sólo tendremos que hacer referenciaa su nombre.
- btfsc PORTA,0 sirve para saltar si el bit 0 de PORTA vale 0, es decir, cuando se activó el pulsador. En ese caso, vamos a ENCENDER mediante goto ENCENDER, se pone a 1 el bit 0 de PORTB, que es donde está conectado el led y volvemos a INICIO.
Si no está pulsado el interruptor vamos a APAGAR, y hacemos la operación contraria a la anterior. Finalmente volvemos a INICIO.Instrucciones
Estas son las todas las instrucciones que hay que saber para poder programar el Pic.
|ADDLW |CALL |INCF |NOP |SLEEP |
|ADDWF |CLRF |INCFSZ |OPTION |SUBLW |...
Regístrate para leer el documento completo.