SlideShare una empresa de Scribd logo
Cibernética y Mecatrónica                                               Microcontroladores
Escuela de Ingeniería                                          Ing. Rafael Durán Campoamor



                            Palabra de configuración
Cuando programamos un microcontrolador debemos indicarle si vamos a utilizar las siguientes
condiciones.

1. Tipo de reloj:
       Cristal de baja, media o alta frecuencia conocidos como: LP, XT y HS respectivamente.
       Red RC.
       Ninguno de los anteriores, valido en el 628A.

2. El uso del WDTE (Watch Dog Timer Enable), me indica si una rutina se cicla de manera infinita y
   por la habilitación de este, el microcontrolador se activa el reset.

3. El uso de PWRTE (Power up Timer Enable) para que se obligue al reset activarse al alimentarse
   el microcontrolador.

4. El CP (Code Protection), que sirve para proteger la memoria de programa y no pueda leerse su
   contenido.


 En ambos microcontroladores existe una dirección de memoria en la que se almacena esta
configuración y es conocida como Configuration Word. A continuación se describe el uso de las
hojas de datos de ambos micros para entender su código resultante.

Abrimos la hoja de datos del 84A y en buscar colocamos PIC16F84A CONFIGURATION WORD




Universidad La Salle Cuernavaca                                           25/07/2011      Página 1
Cibernética y Mecatrónica                                                                        Microcontroladores
Escuela de Ingeniería                                                                   Ing. Rafael Durán Campoamor


A continuación aparece lo siguiente:




Es el registro de configuración y la posición de los bits para encontrar la palabra que permita al
micro funcionar de una manera adecuada a nuestras necesidades. La ubicación en la memoria de
programa es la dirección 2007H.



Esto se resume de la siguiente manera, si coloco la palabra 0x3FF1 como configuración del micro,
significa que…

Bit 13       Bit 12   Bit 11   Bit 10       Bit 9   Bit 8   Bit 7   Bit 6       Bit 5    Bit 4   Bit 3   Bit 2       Bit 1     Bit 0
  1            1        1        1           1       1       1       1           1        1       0       0           0          1


         3                              F                                   F                                    1


             Bit’s 4-13 para protección de código, en este caso deshabilitado con 1
             Bit 3 para PWRTE, en este caso habilitado con 0
             Bit 2 para el WDTE, en este caso deshabilitado con 0
             Bit’s 1 y 0 contienen 0 y 1 respectivamente, indicando el uso de un XT de mediana velocidad
             100KHz-4MHz (ver hoja de datos)



Universidad La Salle Cuernavaca                                                                    25/07/2011                Página 2
Cibernética y Mecatrónica                                                 Microcontroladores
Escuela de Ingeniería                                            Ing. Rafael Durán Campoamor


Así, el micro utilizará un cristal de 4MHz de velocidad, no está protegido su programa, no está
habilitado el perro guardián y cada vez que se energice se resetea el micro.


Pero ¿Cómo coloco esa palabra de configuración en el micro?

Existen dos formas, una es por medio del programa fuente y la otra en el programador.



Programa fuente

       Después de radix coloque __config 0x3FF9

Ejemplo:

       List   p=16f84a       ; indica librería del micro utilizado
       radix hex             ; indica que se utilizará sistema hexadecimal
       __config 0x3FF1

Palabra de configuración del micro utilizando cristal de 4 MHz, Watchdog y protección de código
deshabilitados y Power up Timer habilitado


Programador

El programa fuente al no contener palabra de configuración puede marcar error o warning al leer su
código.hex. No pasa nada, lo único que hay que hacer es lo siguiente:

Abrir el cargador de programa y ver la siguiente interfaz (Win Pic800)




                                         Dar click en config
Universidad La Salle Cuernavaca                                              25/07/2011   Página 3
Cibernética y Mecatrónica                                                Microcontroladores
Escuela de Ingeniería                                           Ing. Rafael Durán Campoamor


A continuación aparecerá la siguiente ventana.




               Seleccionamos para habilitar XT y PWRT, la palabra config es 0x3FF1.



Ahora lo haremos para el 628A.

Repetimos el procedimiento de la hoja de datos y el registro de configuración.( en buscar colocar
CONFIGURATION WORD REGISTER)




Universidad La Salle Cuernavaca                                            25/07/2011      Página 4
Cibernética y Mecatrónica                                               Microcontroladores
Escuela de Ingeniería                                          Ing. Rafael Durán Campoamor

A detalle el registro indica.




La palabra de configuración es diferente, indicando además de los del 84A : CP, LVP,BOREN y
MCLREN


Universidad La Salle Cuernavaca                                          25/07/2011       Página 5
Cibernética y Mecatrónica                                                                        Microcontroladores
Escuela de Ingeniería                                                                   Ing. Rafael Durán Campoamor


Esto se resume de la siguiente manera, si coloco la palabra 0x3F18 como configuración del micro,
significa que…

Bit 13       Bit 12   Bit 11   Bit 10       Bit 9   Bit 8   Bit 7   Bit 6       Bit 5    Bit 4   Bit 3   Bit 2       Bit 1     Bit 0
  1            1        1        1           1       1       0       0           0        1       1       0           0          0


         3                              F                                   1                                    8


             Bit 13 para protección de código, en este caso deshabilitado con 1
             Bit 12-9 se leen como 0, no importa escribir 1’s o 0’s no están implementados
             Bit 8 Data Code Protection bitDTE, en este caso deshabilitado con 1
             Bit 7 Low Voltage Programming Enable bit tiene 0, indica que RB4 funciona como entrada y salida
             digital y un voltaje de programación alto voltaje es aplicado a la entrada MCLR.
             Bit 6 Brown out Reset Enable es un nivel de referencia de voltaje sobre el que se compara con el
             Vdd, si Vdd cae debajo de BOR el micro se resetea y se mantendrá así hasta 72 ms después que el
             Vdd suba el BOR. En este caso BOREN esta deshabilitado con 0.
             Bit 5 MCLRE en 0 permite que RA5 sea una entrada digital e internamente el MCLR esta conectado a
             Vdd.
             Bit 3 PWRT esta deshabilitado con 1
             Bit 2 WDTE esta deshabilitado con 0
             Bit’s 4,1 y 0 tienen 100 indicando que utilizaremos el reloj interno del micro a 4MHz permite además
             que RA6 Y RA7 funcionen como entrada y salida digital.


Programa fuente

Agregar __config 0x3F18


Programador




Universidad La Salle Cuernavaca                                                                    25/07/2011                Página 6
Cibernética y Mecatrónica                            Microcontroladores
Escuela de Ingeniería                       Ing. Rafael Durán Campoamor

                                  Anexo 1
Con el PICKit 2 programmer




Universidad La Salle Cuernavaca                    25/07/2011   Página 7
Cibernética y Mecatrónica                                                               Microcontroladores
Escuela de Ingeniería                                                          Ing. Rafael Durán Campoamor

                                                         Anexo 2
Ejemplo de programa

          list P=16f628a
          radix hex
          __config 0x3F18             ;palabra de configuracion del micro para trabajar sin xtal

cmcon     equ     0x1f      ;registro que configura pines del ptoa como I/O
estado    equ     0x03      ;estado=STATUS=03h
porta     equ     0x05      ;porta=PORTA=05h
trisa     equ     0x05      ;trisa=TRISA=05h
reg1      equ     0x20      ;reg1=0Ch
reg2      equ     0x21      ;reg2=0Dh
reg3      equ     0x22      ;reg3=0Eh

;-------condicion del vector de reset----------------------
reset org         0x00                     ;indicamos vector de reset en dirección 0000h
                  goto inicio              ;indicamos salto a inicio de programa
                  org     0x05             ;inicio de programa en 0x05

;-------inicio del programa--------------------------------

inicio            movlw     0x07               ;dato a cargar en w
                  movwf     cmcon              ;mueve el dato de w a registro cmcon
                  bsf       estado,5           ;cambia al banco 1 de la memoria de datos
                  bcf       trisa,1            ;configura puerto RA0 como salida
                  bcf       estado,5           ;regresa al banco 0 de la memoria de datos
                  clrf      porta              ;inicializa el pto A en 0

ciclo             bsf       porta,1            ;pone el bit 1 del pto A a 1 RA1=1
                  call      retardo            ;llama a retardo
                  bcf       porta,1            ;pone el bit 1 del pto A a 0 RA1=0
                  call      retardo            ;llama a retardo
                  goto      ciclo              ;regresa a ciclo

;-----retardo de 500 ms para completar revolución

retardo           movlw     0x05               ; mueve el 5 al w
                  movwf     reg1               ; mueve el contenido de w a reg1
del3              movlw     0x79               ; mueve 79h a w
                  movwf     reg2               ; mueve w a reg2
del2              movlw     0xff               ; mueve ffh a w
                  movwf     reg3               ; mueve w a reg3
del1              decfsz    reg3,1             ;decrementa en 1 a reg3 y lo almacena ahí verificando si es 0
                  goto      del1               ;si reg3 no es 0 ejecuta esta línea
                  decfsz    reg2,1             ; si reg3 es 0 ejecuta esta línea y hace lo mismo que a reg3
                  goto      del2               ;si reg2 no es 0 ejecuta esta línea
                  decfsz    reg1,1             ; si reg2 es 0 ejecuta esta línea y hace lo mismo que a reg3
                  goto      del3               ; si reg1 no es 0 ejecuta esta línea
                  return                       ; si reg1 es 0 ejecuta esta línea y sale de la subrutina retardo
          end

Universidad La Salle Cuernavaca                                                            25/07/2011         Página 8

Más contenido relacionado

La actualidad más candente

Arduino UNO vs Launchpad MSP430G2
Arduino UNO vs Launchpad MSP430G2Arduino UNO vs Launchpad MSP430G2
Arduino UNO vs Launchpad MSP430G2
Volkan Rivera
 
Tutorial micro MSP430
Tutorial micro MSP430Tutorial micro MSP430
Tutorial micro MSP430
Julio Jornet Monteverde
 
Presentacion de noe y sergio
Presentacion de noe y sergioPresentacion de noe y sergio
Presentacion de noe y sergio
Love Aguilar
 
Digitalio config 16f887a_886
Digitalio config 16f887a_886Digitalio config 16f887a_886
Digitalio config 16f887a_886
luisvargasquinto
 
Programando pi cs_ccs_08
Programando pi cs_ccs_08Programando pi cs_ccs_08
Programando pi cs_ccs_08
Helena Zavala D'papaito
 
Programación de un PIC con Niple
Programación de un PIC con NipleProgramación de un PIC con Niple
Programación de un PIC con Niple
Hamiltonn Casallas
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
Mario César Ramírez Venegas
 
Arduino introducion
Arduino introducionArduino introducion
Arduino introducion
Rafael Duran
 
Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1
Luis Zurita
 
Manual de targetas post y sus codigos
Manual de targetas post y sus codigosManual de targetas post y sus codigos
Manual de targetas post y sus codigos
Luis0101
 
Arquitectura de la PC-I
Arquitectura de la PC-IArquitectura de la PC-I
Arquitectura de la PC-I
Juan Antonio CARBAJAL MAYHUA
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-Microcontroladores
Omar Ruiz
 
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_picGrabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
Melvin Gustavo Balladares Rocha
 
Lab 01 micro
Lab 01 microLab 01 micro
Lab 01 micro
diegoanabalon1
 
Cartilla pic16f877
Cartilla pic16f877Cartilla pic16f877
Cartilla pic16f877
Franklin Isai Leonhuacal
 

La actualidad más candente (15)

Arduino UNO vs Launchpad MSP430G2
Arduino UNO vs Launchpad MSP430G2Arduino UNO vs Launchpad MSP430G2
Arduino UNO vs Launchpad MSP430G2
 
Tutorial micro MSP430
Tutorial micro MSP430Tutorial micro MSP430
Tutorial micro MSP430
 
Presentacion de noe y sergio
Presentacion de noe y sergioPresentacion de noe y sergio
Presentacion de noe y sergio
 
Digitalio config 16f887a_886
Digitalio config 16f887a_886Digitalio config 16f887a_886
Digitalio config 16f887a_886
 
Programando pi cs_ccs_08
Programando pi cs_ccs_08Programando pi cs_ccs_08
Programando pi cs_ccs_08
 
Programación de un PIC con Niple
Programación de un PIC con NipleProgramación de un PIC con Niple
Programación de un PIC con Niple
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
Arduino introducion
Arduino introducionArduino introducion
Arduino introducion
 
Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1
 
Manual de targetas post y sus codigos
Manual de targetas post y sus codigosManual de targetas post y sus codigos
Manual de targetas post y sus codigos
 
Arquitectura de la PC-I
Arquitectura de la PC-IArquitectura de la PC-I
Arquitectura de la PC-I
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-Microcontroladores
 
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_picGrabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
 
Lab 01 micro
Lab 01 microLab 01 micro
Lab 01 micro
 
Cartilla pic16f877
Cartilla pic16f877Cartilla pic16f877
Cartilla pic16f877
 

Similar a Palabra de configuración

Introducción pic 16 f 84 universidad de la marina mercante
Introducción pic 16 f 84   universidad de la marina mercanteIntroducción pic 16 f 84   universidad de la marina mercante
Introducción pic 16 f 84 universidad de la marina mercante
Daniel Remondegui
 
Microprosedador
MicroprosedadorMicroprosedador
Microprosedador
dy vc
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
Hamiltonn Casallas
 
Introducpic2
Introducpic2Introducpic2
Introducpic2
conalep
 
Introducpic
IntroducpicIntroducpic
Introducpic
conalep
 
Robotica2
Robotica2Robotica2
Robotica2
Jovanni Patiño
 
2 organizacion de_la_memoria...
2 organizacion de_la_memoria...2 organizacion de_la_memoria...
2 organizacion de_la_memoria...
lorena rivero Lorenarivero84
 
PIC 18F4550... 2021.pdf
PIC 18F4550... 2021.pdfPIC 18F4550... 2021.pdf
PIC 18F4550... 2021.pdf
SistemadeEstudiosMed
 
Práctica #2 parcial #2 registros del banco
Práctica #2 parcial #2  registros del bancoPráctica #2 parcial #2  registros del banco
Práctica #2 parcial #2 registros del banco
Anibal Ulibarri
 
Sistema competencias con el Stellaris
Sistema competencias con el StellarisSistema competencias con el Stellaris
Sistema competencias con el Stellaris
Alejandro Zaraos Vázquez
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
Victor Asanza
 
Monroylopes act4.2 microprocesador de la computadora
Monroylopes act4.2 microprocesador de la computadoraMonroylopes act4.2 microprocesador de la computadora
Monroylopes act4.2 microprocesador de la computadora
fenixgamer
 
Interconectividad avanzada ar4003
Interconectividad avanzada ar4003Interconectividad avanzada ar4003
Interconectividad avanzada ar4003
Maestros Online
 
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauaraAc iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
zumichibie
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
silviavega101
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
silviavega101
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
silviavega101
 
Lab 04_ Micro _Retardos (1).pdf
Lab 04_ Micro _Retardos  (1).pdfLab 04_ Micro _Retardos  (1).pdf
Lab 04_ Micro _Retardos (1).pdf
JosephJoestar37
 
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
SANTIAGO PABLO ALBERTO
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
Victor Asanza
 

Similar a Palabra de configuración (20)

Introducción pic 16 f 84 universidad de la marina mercante
Introducción pic 16 f 84   universidad de la marina mercanteIntroducción pic 16 f 84   universidad de la marina mercante
Introducción pic 16 f 84 universidad de la marina mercante
 
Microprosedador
MicroprosedadorMicroprosedador
Microprosedador
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
 
Introducpic2
Introducpic2Introducpic2
Introducpic2
 
Introducpic
IntroducpicIntroducpic
Introducpic
 
Robotica2
Robotica2Robotica2
Robotica2
 
2 organizacion de_la_memoria...
2 organizacion de_la_memoria...2 organizacion de_la_memoria...
2 organizacion de_la_memoria...
 
PIC 18F4550... 2021.pdf
PIC 18F4550... 2021.pdfPIC 18F4550... 2021.pdf
PIC 18F4550... 2021.pdf
 
Práctica #2 parcial #2 registros del banco
Práctica #2 parcial #2  registros del bancoPráctica #2 parcial #2  registros del banco
Práctica #2 parcial #2 registros del banco
 
Sistema competencias con el Stellaris
Sistema competencias con el StellarisSistema competencias con el Stellaris
Sistema competencias con el Stellaris
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
 
Monroylopes act4.2 microprocesador de la computadora
Monroylopes act4.2 microprocesador de la computadoraMonroylopes act4.2 microprocesador de la computadora
Monroylopes act4.2 microprocesador de la computadora
 
Interconectividad avanzada ar4003
Interconectividad avanzada ar4003Interconectividad avanzada ar4003
Interconectividad avanzada ar4003
 
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauaraAc iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Lab 04_ Micro _Retardos (1).pdf
Lab 04_ Micro _Retardos  (1).pdfLab 04_ Micro _Retardos  (1).pdf
Lab 04_ Micro _Retardos (1).pdf
 
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
 

Más de Rafael Duran

Ft sistemas 1º y 2º orden
Ft sistemas  1º y 2º ordenFt sistemas  1º y 2º orden
Ft sistemas 1º y 2º orden
Rafael Duran
 
Grafica de transitorio matlab e isis de proteus
Grafica de transitorio matlab e isis de proteusGrafica de transitorio matlab e isis de proteus
Grafica de transitorio matlab e isis de proteusRafael Duran
 
Voltaje eficaz
Voltaje eficazVoltaje eficaz
Voltaje eficaz
Rafael Duran
 
Ejemplo de filtros
Ejemplo de filtrosEjemplo de filtros
Ejemplo de filtrosRafael Duran
 
Circuito rl transitorio y frecuencia
Circuito rl transitorio y frecuenciaCircuito rl transitorio y frecuencia
Circuito rl transitorio y frecuenciaRafael Duran
 
Solución tarea 1
Solución tarea 1Solución tarea 1
Solución tarea 1
Rafael Duran
 
Ley de voltajes de Kirchhoff (mallas)
Ley de voltajes de Kirchhoff (mallas)Ley de voltajes de Kirchhoff (mallas)
Ley de voltajes de Kirchhoff (mallas)
Rafael Duran
 
Divisores de v e i
Divisores de v e iDivisores de v e i
Divisores de v e i
Rafael Duran
 
Apuntes filtros activos de 1er y 2o orden
Apuntes filtros activos de 1er y 2o ordenApuntes filtros activos de 1er y 2o orden
Apuntes filtros activos de 1er y 2o orden
Rafael Duran
 
Practicas con gals
Practicas con galsPracticas con gals
Practicas con gals
Rafael Duran
 
Palabra de configuración
Palabra de configuraciónPalabra de configuración
Palabra de configuración
Rafael Duran
 
Ejemplos de win cupl
Ejemplos de win cuplEjemplos de win cupl
Ejemplos de win cupl
Rafael Duran
 
Practicas con arduino
Practicas con arduinoPracticas con arduino
Practicas con arduino
Rafael Duran
 
Practicas con u p pic
Practicas con u p picPracticas con u p pic
Practicas con u p pic
Rafael Duran
 
Practicas con arduino
Practicas con arduinoPracticas con arduino
Practicas con arduino
Rafael Duran
 
Tutorial warp r4
Tutorial warp r4Tutorial warp r4
Tutorial warp r4
Rafael Duran
 
Ciclo w r 24 lc16b
Ciclo w r 24 lc16bCiclo w r 24 lc16b
Ciclo w r 24 lc16b
Rafael Duran
 
Unidades iii
Unidades iiiUnidades iii
Unidades iii
Rafael Duran
 
Unidades i y ii dpm
Unidades i y ii dpmUnidades i y ii dpm
Unidades i y ii dpm
Rafael Duran
 
Práctica nº4
Práctica nº4Práctica nº4
Práctica nº4
Rafael Duran
 

Más de Rafael Duran (20)

Ft sistemas 1º y 2º orden
Ft sistemas  1º y 2º ordenFt sistemas  1º y 2º orden
Ft sistemas 1º y 2º orden
 
Grafica de transitorio matlab e isis de proteus
Grafica de transitorio matlab e isis de proteusGrafica de transitorio matlab e isis de proteus
Grafica de transitorio matlab e isis de proteus
 
Voltaje eficaz
Voltaje eficazVoltaje eficaz
Voltaje eficaz
 
Ejemplo de filtros
Ejemplo de filtrosEjemplo de filtros
Ejemplo de filtros
 
Circuito rl transitorio y frecuencia
Circuito rl transitorio y frecuenciaCircuito rl transitorio y frecuencia
Circuito rl transitorio y frecuencia
 
Solución tarea 1
Solución tarea 1Solución tarea 1
Solución tarea 1
 
Ley de voltajes de Kirchhoff (mallas)
Ley de voltajes de Kirchhoff (mallas)Ley de voltajes de Kirchhoff (mallas)
Ley de voltajes de Kirchhoff (mallas)
 
Divisores de v e i
Divisores de v e iDivisores de v e i
Divisores de v e i
 
Apuntes filtros activos de 1er y 2o orden
Apuntes filtros activos de 1er y 2o ordenApuntes filtros activos de 1er y 2o orden
Apuntes filtros activos de 1er y 2o orden
 
Practicas con gals
Practicas con galsPracticas con gals
Practicas con gals
 
Palabra de configuración
Palabra de configuraciónPalabra de configuración
Palabra de configuración
 
Ejemplos de win cupl
Ejemplos de win cuplEjemplos de win cupl
Ejemplos de win cupl
 
Practicas con arduino
Practicas con arduinoPracticas con arduino
Practicas con arduino
 
Practicas con u p pic
Practicas con u p picPracticas con u p pic
Practicas con u p pic
 
Practicas con arduino
Practicas con arduinoPracticas con arduino
Practicas con arduino
 
Tutorial warp r4
Tutorial warp r4Tutorial warp r4
Tutorial warp r4
 
Ciclo w r 24 lc16b
Ciclo w r 24 lc16bCiclo w r 24 lc16b
Ciclo w r 24 lc16b
 
Unidades iii
Unidades iiiUnidades iii
Unidades iii
 
Unidades i y ii dpm
Unidades i y ii dpmUnidades i y ii dpm
Unidades i y ii dpm
 
Práctica nº4
Práctica nº4Práctica nº4
Práctica nº4
 

Palabra de configuración

  • 1. Cibernética y Mecatrónica Microcontroladores Escuela de Ingeniería Ing. Rafael Durán Campoamor Palabra de configuración Cuando programamos un microcontrolador debemos indicarle si vamos a utilizar las siguientes condiciones. 1. Tipo de reloj: Cristal de baja, media o alta frecuencia conocidos como: LP, XT y HS respectivamente. Red RC. Ninguno de los anteriores, valido en el 628A. 2. El uso del WDTE (Watch Dog Timer Enable), me indica si una rutina se cicla de manera infinita y por la habilitación de este, el microcontrolador se activa el reset. 3. El uso de PWRTE (Power up Timer Enable) para que se obligue al reset activarse al alimentarse el microcontrolador. 4. El CP (Code Protection), que sirve para proteger la memoria de programa y no pueda leerse su contenido. En ambos microcontroladores existe una dirección de memoria en la que se almacena esta configuración y es conocida como Configuration Word. A continuación se describe el uso de las hojas de datos de ambos micros para entender su código resultante. Abrimos la hoja de datos del 84A y en buscar colocamos PIC16F84A CONFIGURATION WORD Universidad La Salle Cuernavaca 25/07/2011 Página 1
  • 2. Cibernética y Mecatrónica Microcontroladores Escuela de Ingeniería Ing. Rafael Durán Campoamor A continuación aparece lo siguiente: Es el registro de configuración y la posición de los bits para encontrar la palabra que permita al micro funcionar de una manera adecuada a nuestras necesidades. La ubicación en la memoria de programa es la dirección 2007H. Esto se resume de la siguiente manera, si coloco la palabra 0x3FF1 como configuración del micro, significa que… Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 3 F F 1 Bit’s 4-13 para protección de código, en este caso deshabilitado con 1 Bit 3 para PWRTE, en este caso habilitado con 0 Bit 2 para el WDTE, en este caso deshabilitado con 0 Bit’s 1 y 0 contienen 0 y 1 respectivamente, indicando el uso de un XT de mediana velocidad 100KHz-4MHz (ver hoja de datos) Universidad La Salle Cuernavaca 25/07/2011 Página 2
  • 3. Cibernética y Mecatrónica Microcontroladores Escuela de Ingeniería Ing. Rafael Durán Campoamor Así, el micro utilizará un cristal de 4MHz de velocidad, no está protegido su programa, no está habilitado el perro guardián y cada vez que se energice se resetea el micro. Pero ¿Cómo coloco esa palabra de configuración en el micro? Existen dos formas, una es por medio del programa fuente y la otra en el programador. Programa fuente Después de radix coloque __config 0x3FF9 Ejemplo: List p=16f84a ; indica librería del micro utilizado radix hex ; indica que se utilizará sistema hexadecimal __config 0x3FF1 Palabra de configuración del micro utilizando cristal de 4 MHz, Watchdog y protección de código deshabilitados y Power up Timer habilitado Programador El programa fuente al no contener palabra de configuración puede marcar error o warning al leer su código.hex. No pasa nada, lo único que hay que hacer es lo siguiente: Abrir el cargador de programa y ver la siguiente interfaz (Win Pic800) Dar click en config Universidad La Salle Cuernavaca 25/07/2011 Página 3
  • 4. Cibernética y Mecatrónica Microcontroladores Escuela de Ingeniería Ing. Rafael Durán Campoamor A continuación aparecerá la siguiente ventana. Seleccionamos para habilitar XT y PWRT, la palabra config es 0x3FF1. Ahora lo haremos para el 628A. Repetimos el procedimiento de la hoja de datos y el registro de configuración.( en buscar colocar CONFIGURATION WORD REGISTER) Universidad La Salle Cuernavaca 25/07/2011 Página 4
  • 5. Cibernética y Mecatrónica Microcontroladores Escuela de Ingeniería Ing. Rafael Durán Campoamor A detalle el registro indica. La palabra de configuración es diferente, indicando además de los del 84A : CP, LVP,BOREN y MCLREN Universidad La Salle Cuernavaca 25/07/2011 Página 5
  • 6. Cibernética y Mecatrónica Microcontroladores Escuela de Ingeniería Ing. Rafael Durán Campoamor Esto se resume de la siguiente manera, si coloco la palabra 0x3F18 como configuración del micro, significa que… Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 3 F 1 8 Bit 13 para protección de código, en este caso deshabilitado con 1 Bit 12-9 se leen como 0, no importa escribir 1’s o 0’s no están implementados Bit 8 Data Code Protection bitDTE, en este caso deshabilitado con 1 Bit 7 Low Voltage Programming Enable bit tiene 0, indica que RB4 funciona como entrada y salida digital y un voltaje de programación alto voltaje es aplicado a la entrada MCLR. Bit 6 Brown out Reset Enable es un nivel de referencia de voltaje sobre el que se compara con el Vdd, si Vdd cae debajo de BOR el micro se resetea y se mantendrá así hasta 72 ms después que el Vdd suba el BOR. En este caso BOREN esta deshabilitado con 0. Bit 5 MCLRE en 0 permite que RA5 sea una entrada digital e internamente el MCLR esta conectado a Vdd. Bit 3 PWRT esta deshabilitado con 1 Bit 2 WDTE esta deshabilitado con 0 Bit’s 4,1 y 0 tienen 100 indicando que utilizaremos el reloj interno del micro a 4MHz permite además que RA6 Y RA7 funcionen como entrada y salida digital. Programa fuente Agregar __config 0x3F18 Programador Universidad La Salle Cuernavaca 25/07/2011 Página 6
  • 7. Cibernética y Mecatrónica Microcontroladores Escuela de Ingeniería Ing. Rafael Durán Campoamor Anexo 1 Con el PICKit 2 programmer Universidad La Salle Cuernavaca 25/07/2011 Página 7
  • 8. Cibernética y Mecatrónica Microcontroladores Escuela de Ingeniería Ing. Rafael Durán Campoamor Anexo 2 Ejemplo de programa list P=16f628a radix hex __config 0x3F18 ;palabra de configuracion del micro para trabajar sin xtal cmcon equ 0x1f ;registro que configura pines del ptoa como I/O estado equ 0x03 ;estado=STATUS=03h porta equ 0x05 ;porta=PORTA=05h trisa equ 0x05 ;trisa=TRISA=05h reg1 equ 0x20 ;reg1=0Ch reg2 equ 0x21 ;reg2=0Dh reg3 equ 0x22 ;reg3=0Eh ;-------condicion del vector de reset---------------------- reset org 0x00 ;indicamos vector de reset en dirección 0000h goto inicio ;indicamos salto a inicio de programa org 0x05 ;inicio de programa en 0x05 ;-------inicio del programa-------------------------------- inicio movlw 0x07 ;dato a cargar en w movwf cmcon ;mueve el dato de w a registro cmcon bsf estado,5 ;cambia al banco 1 de la memoria de datos bcf trisa,1 ;configura puerto RA0 como salida bcf estado,5 ;regresa al banco 0 de la memoria de datos clrf porta ;inicializa el pto A en 0 ciclo bsf porta,1 ;pone el bit 1 del pto A a 1 RA1=1 call retardo ;llama a retardo bcf porta,1 ;pone el bit 1 del pto A a 0 RA1=0 call retardo ;llama a retardo goto ciclo ;regresa a ciclo ;-----retardo de 500 ms para completar revolución retardo movlw 0x05 ; mueve el 5 al w movwf reg1 ; mueve el contenido de w a reg1 del3 movlw 0x79 ; mueve 79h a w movwf reg2 ; mueve w a reg2 del2 movlw 0xff ; mueve ffh a w movwf reg3 ; mueve w a reg3 del1 decfsz reg3,1 ;decrementa en 1 a reg3 y lo almacena ahí verificando si es 0 goto del1 ;si reg3 no es 0 ejecuta esta línea decfsz reg2,1 ; si reg3 es 0 ejecuta esta línea y hace lo mismo que a reg3 goto del2 ;si reg2 no es 0 ejecuta esta línea decfsz reg1,1 ; si reg2 es 0 ejecuta esta línea y hace lo mismo que a reg3 goto del3 ; si reg1 no es 0 ejecuta esta línea return ; si reg1 es 0 ejecuta esta línea y sale de la subrutina retardo end Universidad La Salle Cuernavaca 25/07/2011 Página 8