bit de configuracin y puertos programables del pic16f628

Anuncio
44
Los Bits de Configuración del PIC16F628
PRÁCTICA 4
LOS BITS DE CONFIGURACIÓN DEL PIC16F628
OBJETIVOS
‰
Identificar cada uno de los bits de configuración que rigen el funcionamiento del
PIC16F628.
‰
Verificar funcionalmente el efecto de los bits de configuración.
‰
Configurar los puertos paralelos del PIC16F628.
INTRODUCCIÓN
El PIC16F628 de Microchip es un potente microcontrolador CMOS de 8 bits con
arquitectura RISC capaz de operar con frecuencias de reloj hasta de 20 MHz (ciclos de
instrucción de apenas 200 ns), fácil de programar (sólo 35 instrucciones) y disponible en
diversos tipos de encapsulados.
El PIC16F628 ha sido construido con características tales que se puede configurar para
funcionar en modos de operación que no necesitan componentes externos tales como el
circuito de reloj o de reset. Esto implica que además de elaborar el programa que
deseamos ejecutar, también es necesario configurar su modo de operación a través de
una palabra de configuración (configuration word).
La palabra de configuración se encuentra mapeada en la dirección 2007h de la memoria
de programa y sólo puede ser accesada durante la programación de dispositivo. Así, el
WinPIC800 o el ICProg nos van a solicitar configurar dicha palabra antes de descargar y
programar nuestro código al PIC.
El formato de la palabra de configuración, así como el significado de cada uno de sus bits
se enuncian a continuación:
Figura 4.1: Bits de configuración del PIC16F628.
CP1:CP0: Bits de protección de código.
Los bits 13-10 son encargados de proteger la memoria de programa.
CPD: Bit de protección para código de datos.
1 = Protección deshabilitada de la memoria de datos.
0 = Protección habilitada en la memoria de datos.
Eduardo Romero A.
Laboratorio de Sistemas Digitales III
45
Los Bits de Configuración del PIC16F628
LVP: Habilitación de la programación por voltaje bajo.
1 = LVP habilitado, la terminal RB4/PGM tiene tal función.
0 = LVP deshabilitado, RB4/PGM es una terminal de I/O
BODEN: Brown Out Detet Reset Enable bit (Bit de reset por voltaje de alimentación
bajo).
1 = Reset por BOD habilitado.
0 = Reset por BOD deshabilitado.
MCLRE: Habilitación de la terminal de reset.
1 = Terminal de reset (MCLR) en RA5.
0 = MCLR conectado internamente a VDD, RA5 es un pin de I/O.
PWRTEN: Bit de habilitación de temporizador al energizar (Power up Timer Enable
bit)
1 = PWRT habilitado.
0 = PWRT deshabilitado.
WDTEN: Bit de habilitación del Watch-Dog (Watch-Dog Timer Enable Bit)
1 = WDT habilitado.
0 = WDT deshabilitado.
FOSC2:FOSC1:FSC0: Bits de selección del tipo de oscilador.
a) XTAL
c) Oscilador interno
Eduardo Romero A.
b) EXT
d) Oscilador interno con salida de CLK
Laboratorio de Sistemas Digitales III
46
Los Bits de Configuración del PIC16F628
e) Oscilador interno con resistor
f) Oscilador interno con R y salida de CLK
Figura 4.2: Configuraciones típicas de reloj para el PIC16F628.
MATERIAL Y EQUIPO EMPLEADO
Laboratorio equipado con computadoras que tengan instalado el MPLAB versión
v7.40 o superior y el WinPic800 v3.55 g.
Cantidad
1
1
1
8
8
4
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
Descripción
Programador compatible con WinPic800 v3.55 g.
Microcontrolador PIC16F628
Microinterruptor (1P-1T)
Leds o una barra de leds
Resistencia de 330 Ω
Resistencia de 4.7 kΩ
Resistencia de 1 MΩ
Resistencia de 470 kΩ
Resistencia de 100 kΩ
Resistencia de 47 kΩ
Resistencia de 10 kΩ
Resistencia de 1 kΩ
Diodo zener 1N4148
Display de cátodo común.
Oscilador de 4 MHz
Cristal de 4 MHz
Capacitores 100pF (pueden ser de 68pF, 27pF, 15pF)
Push-button
Tableta experimental
Osciloscopio
Fuente de alimentación de CD
Pre-reporte:
‰
Leer previamente toda la práctica.
‰
Llevar implementado en un protoboard el circuito de la figura 4.13.
Eduardo Romero A.
Laboratorio de Sistemas Digitales III
47
Los Bits de Configuración del PIC16F628
DESARROLLO
I. Bits de configuración del tipo de oscilador
El PIC16F628 posee 8 formas de configurar al oscilador. Un circuito RC como oscilador
brinda una solución económica. El tipo LP es usado en aplicaciones de bajo consumo. El
modo XT es el más empleado y usa un cristal. El HS emplea cristales de alta velocidad.
Por último el oscilador interno INTOSC configurable a alta o baja velocidad. Estas
configuraciones hacen más flexibles las aplicaciones con este microcontrolador.
1.- Editar el siguiente programa
; Programa que despliega el valor numérico en un display
list
radix
p=16f628
hex
W
F
equ
equ
0
1
pcl
status
porta
portb
cmcon
equ
equ
equ
equ
equ
02h
03h
05h
06h
1fh
; 0-a, 1-b, 2-c, 3-d, 4-e, 5-f, 6-g, 7-punto
org
goto
org
0
inicio
5
movlw
movwf
bsf
clrw
movwf
decf
movwf
bcf
movlw
movwf
b'00000111'
cmcon
status,5
movf
andlw
porta,w
b'00000111'
inicio
; comparadores apagados
; hablilita pins de i/o
portb
portb,w
porta
status,5
0xFF
portb
otro
Eduardo Romero A.
Laboratorio de Sistemas Digitales III
48
Los Bits de Configuración del PIC16F628
call
movwf
comf
decodifica
portb
portb,f
; Después de esta línea es donde se agrega la instrucción CLRWDT
goto
otro
decodifica
addwf
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
end
pcl,f
b'00111111'
b'00000110'
b'01011011'
b'01001111'
b'01100110'
b'01101101'
b'01111101'
b'00000111'
2. Modificar el circuito del pre-reporte con el circuito de reloj que se muestra en la figura
4.3.
Figura 4.3: Circuito de reloj con XTAL.
3.- Al programar el microcontrolador, seleccionar los bits de configuración en la ventana
del WinPic800, como lo indica la figura 4.4.
Figura 4.4: Bits de configuración para el circuito de la figura 5.3.
4. Energice su circuito y verifique su funcionamiento y explique: ¿qué es lo que hace?
________________________________________________________________________
Eduardo Romero A.
Laboratorio de Sistemas Digitales III
49
Los Bits de Configuración del PIC16F628
________________________________________________________________________
5. Reprograme su PIC, pero ahora configure el oscilador con la opción LP (figura 4.5).
Figura 4.5: Bits de configuración para circuito de reloj LP.
¿Funciona el circuito? ______________________________________________________
Explique:
________________________________________________________________________
________________________________________________________________________
6. Modifique su circuito como lo muestra la figura 4.6 y reprograme su PIC eligiendo EXT
en configuración de oscilador.
Figura 4.6: Circuito de reloj con oscilador externo.
7. Verifique el funcionamiento y explique
________________________________________________________________________
________________________________________________________________________
8. Modifique el circuito como lo indica la figura 4.7 y reprograme su PIC con la opción de
oscilador RC CLKOUT.
Eduardo Romero A.
Laboratorio de Sistemas Digitales III
50
Los Bits de Configuración del PIC16F628
Figura 4.7: Circuito de reloj con resistencia externa y salida de CLK.
9. Con la ayuda del osciloscopio, visualice la forma de onda en la terminal
RA6/OSC2/CLKOUT, ¿cuál es la frecuencia de la señal?
_________________________________________________________________________
10. Repita el paso anterior, modificando los valores de resistencia (R1) con los de la tabla
1 y anote el valor correspondiente de frecuencia.
Tabla 4.1. Valores de resistencia del oscilador vs. frecuencia de salida en RA6.
Resistencias
Frecuencia
1MΩ
470kΩ
100kΩ
47kΩ
10kΩ
1kΩ
1Ω
11. Elimine la resistencia y el capacitor del circuito (figura 4.8), reprograme el oscilador de
su PIC a INTRC I/O. ¿Funciona el circuito?_____________________________________
Explique:
________________________________________________________________________
________________________________________________________________________
Eduardo Romero A.
Laboratorio de Sistemas Digitales III
51
Los Bits de Configuración del PIC16F628
Figura 4.8: Circuito con oscilador interno.
Mida con el osciloscopio si hay alguna señal de salida en RA6. Explique.
________________________________________________________________________
________________________________________________________________________
11. Reprograme el oscilador como INTRC CLKOUT, verifique la señal en la terminal RA6.
¿Cuál es su frecuencia?
________________________________________________________________________
¿A qué se debe esto?
________________________________________________________________________
________________________________________________________________________
II. Bit de configuración del reset (MCLR)
Cuando la terminal MCLR/VPP (Master Clear) tiene un nivel de tierra, todos los registros
del PIC se ponen en estado conocido o en estado de reset. El arreglo típico implica
conectar una resistencia de 10 kΩ a 5 V, un diodo y un pulsador a tierra, de tal forma que
cuando se presiona el pulsador el MCU se “resetea”.
13. Reprograme el PIC con las opciones mostradas en la ventana de la figura 4.9. Oprima
el botón del reset del circuito.
Figura 4.9: Configuración de bits del PIC para el inciso 13.
¿Qué sucede?
_______________________________________________________________________
Eduardo Romero A.
Laboratorio de Sistemas Digitales III
52
Los Bits de Configuración del PIC16F628
¿Por qué?
________________________________________________________________________
________________________________________________________________________
14. Reprograme el PIC pero ahora deshabilite la opción MCLR (figura 4.10).
Figura 4.10: Configuración de bits del PIC para el inciso 14
15. Repita el paso 13, ¿qué sucedió?
________________________________________________________________________
¿Por qué?
________________________________________________________________________
________________________________________________________________________
¿Es posible “resetear” el circuito? Explique cómo.
________________________________________________________________________
________________________________________________________________________
III. Bit de configuración LVP
El modo de programación de bajo voltaje (LVP) invalida el empleo de alto voltaje para la
programación del PIC. Aquí, el dispositivo puede ser programado sin usar 12 V de VPP en
RA5. Sin embargo, cuando se utiliza la programación del alto voltaje mientras que el MCU
tiene activada la programación de la baja tensión, éste último modo no se elimina. De tal
forma si RB4 pasa a alto por cualquier razón durante la programación con alto voltaje, la
programación se interrumpirá.
16. Programe los bits de configuración del PIC como lo señala la figura 4.11.
Eduardo Romero A.
Laboratorio de Sistemas Digitales III
53
Los Bits de Configuración del PIC16F628
Figura 4.11: Configuración de bits del PIC para el inciso 14
17. Energice su circuito y verifique ¿funciona?_________________
¿Por qué?
________________________________________________________________________
________________________________________________________________________
IV. Bit de configuración WDT (Watch Dog Timer)
El perro-espía (Watch-dog) tiene como objetivo generar un reset a todo el sistema cuando
un contador interno de un byte, que se incrementa con cada instrucción, se desborda. En
la configuración por default el Watch-dog reseteará al MCU después de 18 ms
transcurridos desde el inicio de ejecución del programa. Este tiempo puede incrementarse
utilizando un divisor de frecuencia, con lo que se puede alcanzar rangos de hasta 2.3
segundos.
Cuando el WDT está activo, es necesario recargar o reestablecer su cuenta antes de que
llegue el desbordamiento y genere un reset. Esto se logra poniendo a 00h su cuenta por
software por medio de las instrucciones clrwdt o sleep.
18. Programe el circuito, como se observa en la ventana de l a figura 4.12.
Figura 4.12: Configuración de bits del PIC para el inciso 18.
Eduardo Romero A.
Laboratorio de Sistemas Digitales III
54
Los Bits de Configuración del PIC16F628
19. Mueva los interruptores de tal forma que todos estén en 1 lógico, monte de nuevo el
PIC y energice el circuito.
¿Funcionó?______________________________________________________________
¿Por qué?
________________________________________________________________________
________________________________________________________________________
20. Agregue la instrucción clrwdt justo arriba del goto. Ensamble el programa y
descárguelo en el PIC?
21.- Repita el paso 19. ¿Funciona el circuito?____________________________________
¿Por qué?
________________________________________________________________________
________________________________________________________________________
Figura 4.13: Circuito decodificador de 7 segmentos con PIC.
Eduardo Romero A.
Laboratorio de Sistemas Digitales III
Descargar