Beruflich Dokumente
Kultur Dokumente
SISTEMAS MICROPROCESADOS I
CAPITULO 3
INTENGRANTES
- PEDRO FONSECA
- EDISON ORTEGA
- CHRISTIAN SIMBAÑA
1
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
CAPITULO 3
3. PRINCIPALES REGISTROS DE CONTROL Y MANEJO DE LAS MEMORIAS FLASH Y EEPROM
Para manejar el funcionamiento de los microcontroladores Pic existen varios registros que
debemos conocer; estos registros es un conjunto específico de registros (SFR) cuyos bits soportan
el control de los mismos. Dichos registros están ubicados en las primeras posiciones de cada banco
de la memoria de datos RAM y para aprovechar toda la potencia de los microcontroladores es
necesario conocerlos
Este capítulo abordará la misión de los bits de los principales registros de control.
Es el registro más usado de todos pues sus bits están destinados a controlar las funciones vitales
del procesador. Por este motivo, está duplicado en las cuartas posiciones de cada banco (003h,
83h,103h y 183 h)
REGISTRO DE ESTADO
Los tres bits de menor peso son los señalizadores de ciertas condiciones en las operaciones lógico
aritméticas
Los señalizadores PD# y TO# son activos por el nivel bajo (#) y sirven para indicar la causa que ha
provocado la reinicialización del procesador
Los señalizadores PD# y TO# son muy importantes en el proceso de Reset porque indican la causa
que la ha originado y permiten actuar no son escribibles.
2
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
Los PIC se resetean al conectar la alimentación (POR: Power –on Reset) También se resetean
cuando la alimentación baja de 4 v
Los tres bits de mayor peso del registro de estado se emplean para seleccionar el banco de la RAM
al que se desea acceder: En el direccionamiento directo se utilizan los bits RP1 y RP0 de acuerdo
con la siguiente decodificación
El bit IRP se ha conectado con el bit de mayor peso del registro FSR para elegir el banco de RAM en
el direccionamiento indirecto
0: Banco 0 y 1 (00h-FFh)
En algunas instrucciones el registro de estado puede ser direccionado pero los señalizadores no
pueden ser escritos
Como los bits (IRP, RP0 y RP1) toman el valor de 0 después del Reset si se desea acceder al banco
tres de la RAM habría que emplear las siguientes instrucciones
3𝑎 Selecciona el tipo de reloj del TMRO ( interno o externo)también selecciona el flanco activo
3
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
El registro de option toma el valor de 1111 1111 en cualquier tipo de reinicialización que se
produzca
Los PIC 16F87x tienen muchas causas que pueden originar interrupciones Al aceptarse una
interrupción se acepta el valor de la PC en la Pila y se carga aquel con el valor 0004h que es el
vector de Interrupción
REGISTRO OPTION
0 0 0 1:2 1:1
0 0 1 1:4 1:2
4
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
0 1 0 1:8 1:4
0 1 1 1:16 1:8
1 0 0 1: 32 1:16
1 0 1 1:64 1: 32
1 1 0 1:128 1:64
1 1 1 1:256 1:128
Se trata de un registro libre y escribible que para facilitar su acceso se halla duplicado en
los 4 bancos. Tiene la misión de controlar las interrupciones provocadas por el TMR0, cambio de
estado en las cuatro líneas de más peso de la puerta B y activación de la patita RB0/INT
El bit PEIE actúa como segunda llave parcial de permiso o prohibición de las causas de las
interrupciones que no están contempladas en el INTCON
Contiene los bits que permiten (1) o prohíben (0) las interrupciones provocadas por los
periféricos internos del microcontrolador y que no estaban contempladas en el INTCON
Ocupa la dirección 8Ch y para que cumplan su función los bits de PIE1 es necesario que PEIE=1 en
ITCON
REGISTRO INTCON
5
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
PEIE Bit de permiso de los periféricos que no se controlan con INTCON
Contiene los bits de permiso de interrupción de las causas que no figuraban en PEI1. La de
fin de escritura de la EEPROM, la procedente del comparador, colisión del bus en el modo SSP y
producción de una captura en el módulo CCP2
En los PIC 16F87x se puede leer y escribir la memoria de código FLASH significa que un programa
dinámicamente puede generar información que se puede grabar en la FLASH directamente sin
necesidad del grabador externo
REGISTRO PIE1
6
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
RCIE Permiso de interrupción para el receptor del USART cuando el buffer se llena
REGISTRO PIE2
REGISTRO PIR1
REGISTRO PIR2
7
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
REGISTRO EECON1
Es una buena práctica de programación verificar que todos los valores escritos en las memorias
EEPROM y FLASH son correctos.
Para evitar escrituras indeseadas en la EEPROM se controla el bit WREN, prohibiendo cualquier
operación escritura. Para realizar la misma proteccion en la memoria FLASH se debe poner a 0 el
bit WRT de la palabra de configuración.
Dependiendo del valor del bit WRT y de los bits de protección de código de CP1 y CP0, se
consiguen diversas alternativas de protección contra lectura y escritura FLASH.
8
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
Se han visto trozos de código para leer y escribir la memoria FLASH de instrucciones y la memoria
EEPROM de datos.
Los códigos ya vistos, con una pequeña modificación, son subrutinas a las cuales se llamara para
realizar procesos de lectura/escritura sobre las citadas memorias.
LEER-FLASH
ESCRIBIR-FLASH
LEER-EEPROM
ESCRIBIR-EEPROM
Falta por realizar el código correspondiente a la lectura de la EEPROM, que una vez convertida a
subrutina quedaría como sigue:
9
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
En las líneas que empiezan con * se pretende resaltar las modificaciones que habría que llevar a
cabo con los códigos anteriores para convertirlos a subrutinas.
Enunciado.-
Si un programa necesita saber si es la primera vez que se utiliza, para pedir cierta información
inicial como configuración por ejemplo; o si ya se ha utilizado anteriormente y esa información ya
la tenemos.
La primera vez que se ejecute se leer la primera posición de la EEPROM, si en esta posición se
encuentra el valor 27h significa que el programa no se ha utilizado anteriormente, se inicializaran
una serie de contadores y se modificara el programa para que la próxima vez los contadores no
sean inicializados.
La ventaja de este método es que, aunque un usuario quisiera hacer trampa, al haberse
modificado el programa le será imposible saber cuál es la secuencia que seguía esta primera vez.
Organigrama.-
10
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
Antes de grabar un nuevo programa es necesario borrar el PIC, pero este borrado no afecta la
EEPROM.
11
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
12
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
Se han introducido puntos de control a lo largo de todo el programa poniendo a 1 los bits de un
registro según se iban ejecutando partes, y mostrando el valor total al final del programa.
De esta forma podemos comprobar de forma rápida y fiable el cambio de nuestro código. Una vez
comprobado el buen funcionamiento pueden ser eliminados.
El programa ha cambiado completamente la mayoría de las instrucciones han sido cambiadas por
el código de operación de la instrucción NOP.
Con la aparición de los PIC16F87XX, surge la necesidad de disponer de herramientas que saquen
todo el partido a los nuevos recursos que incorporan. El tratamiento de sensores analógicos y la
regulación de motores, que estos PIC son capaces de gobernar mediante su hardware interno, ha
impulsado a Ingeniería de Microsistemas Programados S.L. a diseñar una plataforma con la que
poder experimentar técnicas avanzadas de control.
13
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
La Micro PIC I/O es una tarjeta de expansión que se conecta al Micro ‘PIC Trainer mediante el PIC-
BUS tal como lo muestra la figura
Se basa en la inclusión de periféricos de E/S relacionados con las nuevas características de los PIC
16F87x.
14
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
Alimentación
Rectifica y filtra la VAC para entregarla a dos reguladores UA7805 (U1) Y UA7812 (U2), que
proporcionan +5 VDC y +12 VDC respectivamente. Su esquema electrónico se muestra en la
figura.
15
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
En la figura se puede observar el doble conector PICBUS. Se trata de dos conectores idénticos de
26 vías que soportan las mismas señales. Mediante un cable plano se conecta uno de dichos
conectores con el Micro PIC Trainer, en donde se aloja el PIC bajo prueba. El otro conector puede
usarse para acoplar también al Micro PIC Trainer Plus y así conformar un sistema completo con las
tres tarjetas, que pone a disposición del usuario un abanico extensísimo de periféricos y un
sistema de desarrollo de aplicaciones profesional que facilitara en gran medida el diseño de
aplicaciones.
Generador de funciones
En base a un PIC 16C54RC (U3), tal y como se muestra en la figura, existe un generador de ondas
cuadrada cuya frecuencia se puede seleccionar entre 8 valores diferentes con tres
microrrupotores (SW1)
16
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
La inclusión de este oscilador tiene la finalidad de permitir al temporizador TMR1 trabajar en la
modalidad en la que precisa una base de tiempos externa gobernada por un cristal de cuarzo.
La razón de haber elegido esta frecuencia es su valor estratégico, que tiene la propiedad de que
con 215 impulsos se consigue fácilmente el tiempo de 1 segundo.
Piezoeléctrico
Se trata de un zumbador piezoeléctrico que va a ser muy interesante para todas aquellas
aplicaciones en las que se precise generar pitidos p << beeps>> sonoros a modo de señales de
aviso o alarma. (Figura).
17
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
Sensores analógicos
Ambos sensores se muestran en la figura y forman junto a una resistencia un divisor de tensión
que se alimenta con el voltaje de referencia seleccionado.
18
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
En la tarjeta I/O se ha utilizado como carga una lámpara de incandescencia de 12 VAC gobernada
su potencia por un Opto-Triac MOC3041.
Relés. Es un dispositivo muy usado en la industria y muy fácil de controlar. Basta un sencillo
circuito de excitación para poder controlar la activación o no de las bobinas que abren o cierran
los contactos que controlan la carga. La figura muestra los dos relés alojados en el Micro’PIC I/O.
Consta de 4 canales que son gobernados por señales de control EN1 Y EN2 fácilmente generables
por los recursos
19
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
A la izquierda de la Figura se muestra uno de estos drivers. En este caso tiene conectado un motor
de corriente continua en sus salidas OUT1 y OUT2, cuyo control se lleva a cabo a través de EN1
para el encendido/apagado del motor e IN1-IN2 para el sentido de giro.
Optoacoplador encoder
20
UNIVERSIDAD POLITECNICA SALESIANA 2010
SISTEMAS MICROPROCESADOS I
Para realizar medidas sobre la velocidad del motor DC y de su posicionamiento, en el Micro’PIC I/O
existe un optoacoplador de ranura ubicado físicamente debajo del eje del motor. Para conformar
un encoger basta recortar un disco de material rígido transparente (plástico) y realizar un orificio
en su centro para pegarlo al eje del motor. Luego se dibujan unas franjas radiales opacas a la luz
infrarroja. E l número de franjas determinara la resolución. El disco encaja en la ranura del
optoacoplador, que generara un pulso cada vez que pase una franja opaca.
BIBLIOGRAFIA
21