MICROCONTROLADORES PIC EEPROM. Memoria de programa Características



Documentos relacionados
RB7/PGD RB6/PGC RB5 RB4 RB3/PGM RB2. RB1 RB0/INT VDD Vss RD7/PSP7 RD6/PSP6 RD5/PSP5 RD4/PSP4 RC7/RX/DT RC6/TX/CK RC5/SD0 RC4/SDI/SDA RD3/PSP3 RD2/PSP2

Cartilla para Microcontrolador PIC16F /40 Pin 8-Bit CMOS FLASH.

Características Técnicas del PIC 16F84

SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO

Programación y diseño de dispositivos mediante microcontroladores PIC

RECURSOS FUNDAMENTALES

BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE

PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS

Microchip Tips & Tricks...

LOS PIC16F88X: EEPROM de Usuario

GUIA GENERAL PARA LA PROGRAMACIÓN DEL SISTEMA EB88 BOOTLOADER: TINY INDICE

Microcontroladores PIC de Microchip: generalidades

GUIA GENERAL PARA LA PROGRAMACIÓN DEL SISTEMA PICCITO 16F88 INDICE

INSTITUTO TECNOLÓGICO SUPERIOR DE PÁNUCO APUNTES DE LA MATERIA DE: MICROPROCESADORES Y MICROCONTROLADORES I

MICROCONTROLADOR PIC DE MICROCHIP

GUIA GENERAL PARA LA PROGRAMACIÓN DEL SISTEMA EVOLUPIC Bootloader 16F88 BOOTLOADER: AN1310 DE MICROCHIP INDICE

LOS PIC16F87X. Características Generales. IES Juan de la Cierva (Madrid). Desarrollo de Productos Electrónicos

Alarma con Interfaz DTMF de Línea Telefónica basado en PIC16F84

Modos de ahorro de energía a en los chips CMOS

Palabra de Configuración Palabra de Configuración del PIC16F1787

- El programador no funciona con los siguientes sistemas operativos: Windows NT, ni la familia de Windows 2000

Microcontroladores PIC

2.2-1 Visión Interna PIC16F873/876. SBM

Curso sobre Microcontroladores Familia HC9S08 de Freescale

PUERTOS DE ENTRADA Y SALIDA

Programación de Microcontroladores PIC-Microchip

Qué es un Microcontrolador?

Microcontroladores de Atmel

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

LCD. Las pantallas de cristal líquido o módulos LCD, como. Módulo. con interface serial

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones:

Elección de un microcontrolador

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Diseño con Microcontroladores

Winide y Kit EVALQTY CDM 2011

El Microcontrolador PIC16F877. Resumen de hoja de datos

TARJETA CONVERSORA ANALOGA/DIGITAL (A/D)

ELECTRÓNICA - SOFTWARE - AUTOMATION DELCOMP S.A.C.

MONITOR ROM MODULE (MON08)

Tema 14. Interrupciones. Las. C. F. G.S. D.P.E. Módulo de Proyectos 1

BUS I2C. IES Los Viveros Sevilla Dpto. Electrónica. 1

2.- PLATAFORMA ARDUINO (HARDWARE)

NINO PICKIT2 PIC PROGRAMMER

Departamento técnico. Guía rápida CC-LINK. Autómatas serie Q con variadores FR-E 1 / 33

Microchip Tips & Tricks...

Microchip Tips & Tricks...

Temporizadores y contadores en tiempo real: El módulo Timer0 y el prescaler del PIC

COMUNICACIÓN I2C (INTER-INTEGRATED CIRCUIT)

Tema 6: Microcontroladores

Arquitectura basica de un computador

TEMPORIZADORES Y CONTADORES

TEMA EL BUS I 2 C (Inter Integrated Circuit Bus) I2C EN C

Especificaciones técnicas. Power, Inputs and Outputs. Operating Voltage Input Voltage (recommended) Input Voltage (limits) Analog Input Pins

PIC16C5X (GAMA BAJA) Solo en dispositivos de 28 pins. Encapsulado y patillaje:

... partes internas del computador!...

Tema. Módulo Captura Comparación Modulación n de Achura de Pulsos. C. F. G.S. D.P.E. Módulo de Proyectos 1

DESCRIPCION DEL SITEMA MASTER.

Memoria 24LC256 I. I NTRODUCCIÓN

PRÁCTICA 4 LOS BITS DE CONFIGURACIÓN DEL PIC16F628

Sistemas con Microprocesadores II

Ic-Prog PARA PROGRAMAR MICROCONTROLADORES PIC 16F84 y 16F876.

podemos enfocar al funcionamiento del robot, es decir la parte de electrónica. Para que el

TUTORIAL PRIMERA PARTE: GENERACIÓN DE UN RETARDO CON TIMER.

Como sacarle mayor provecho a las herramientas disponibles para la familia HC908

Pines de entrada/salida (I/O) de propósito general. Mediante ellos, el micro PIC puede monitorizar y controlar otros dispositivos.

El módulo LCD Ejemplos de funcionamiento

Características PIC16F84

La memoria principal. Los subsistemas de E/S. Los buses del sistema

GUIA RÁPIDA UNIDAD DE DEVICENET CJ1W-DRM21 ESTE MANUAL CONTIENE: 1.- CARACTERÍSTICAS. 2.- NOMENCLATURA Y FUNCIONES. 3.- ÁREAS CIO Y DM.

Tema 6: Memorias. Escuela Superior de Informática Universidad de Castilla-La Mancha

Instrucciones de Comunicaciones

MSE-36 CONTROL REMOTO

En el presente capítulo se describe la programación del instrumento virtual y cómo

Tema 5. Memorias. Estructura de Computadores. Índice. Curso

Microcontrolador PIC16F84: Arquitectura

PIC16CXXX (GAMA MEDIA) Oscilador RESET SLEEP WatchDog Timer (WDT) Protección de código e IDs Interrupciones Programación ICSP (In Circuit Serial

HARDWARE DE SISTEMA AUTOMÁTICO DE RASTREO DE VEHÍCULOS MEDIANTE TECNOLOGÍAS GPRS Y GPS

Práctica 1: Sencillo Juego en Ensamblador

Control Digital en PC con MS-DOS

502 A I.S.C. JOSE BARDO MORENO MACHADO ENRIQUE EDUARDO MORAN PRADO EDILBERTO RASCON HERNANDEZ

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

Buceando en el HC908...

CONTEXTO DE LA MEMORIA EN UN SISTEMA DE CÓMPUTO M E M O R I A S

PIC 16F87X. Juan González. Escuela Politécnica Superior Universidad Autónoma de Madrid. Flir Networked Systems. Flir Networked Systems

Comunicación Serie IIC: Inter-Integrated Circuit

Sistema Dupline de Guiado en Parking Interfaz para Modbus/RTU Modelo GP

SOFTWARE CSU-485. Para conectar el dispositivo CSU-485 lo podemos hacer de dos maneras:

Programando con SinaProg. Manual de usuario para programar microcontroladores Atmel AVR en Windows con SinaProg

TRABAJO PRÁCTICO Nº 6: PUERTO SERIE

Instrucciones para programar el PIC16F877

UNIVERSIDAD DON BOSCO

ETHERDORLET GUIA DE CONFIGURACIÓN

2 Sea una unidad de disco duro de brazo móvil con las siguientes características:

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

Matemática de redes Representación binaria de datos Bits y bytes

AUTOMATIZACIÓN - CURSO: Práctica 4: Sistema de Monitorización de tiempo mediante Arduino

Programación del Timer1 para la captura de flancos

Cuestionario: Programación en C y máscaras (II)

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Tema 6: Microcontroladores

Información sobre la configuración de una aplicación para transmitir datos ASCII por puerto serie, con pantallas terminales Magelis.

Transcripción:

EEPROM. Memoria de programa Características Algunos dispositivos pueden leer la memoria de programa. Leer checksums, calibración de datos, tablas. 14-bits de datos comparados con los 8 de retlw 0xnn Accesibles a través de Registros de Funciones Especiales SFR Si una palabra de la memoria de programa no es una instrucción válida se ejecutará un NOP para no alterar el funcionamiento del microcontrolador Las MCU FLASH pueden escribir la memoria de programa Algunos dispositivos pueden necesitar tensiones de programación para la escritura. La FLASH de programa se puede escribir hasta 1K veces. 1 1

EEPROM. Memoria de programa Registros de acceso Acceso R/W (PIC16F877) EEDATA contiene el LSbyte del dato EEDATH contiene el MSbyte del dato EEADR contiene el LSbyte de la dirección EEADRH contiene el MSbyte de la dirección EECON1 Registro de control R/W EECON2 Registro de control de escritura Acceso de lectura únicamente (PIC16F77, PIC16C926) PMDATA contiene el LSbyte del dato PMDATH contiene el MSbyte del dato PMADR contiene el LSbyte de la dirección PMADRH contiene el MSbyte de ladirección PMCON1 Registro de control de lectura 2 2

EEPROM. Memoria de programa Proceso de lectura de la memoria FLASH Los 8 bits de menor peso de la dirección se cargan en el regitro PMADR (EEADR) Los 5 bits de mayor peso se cargan en el registro PMADRH (EEADRH) Se pone a 1 el bit EEPGD, EECON1<7> Se pone a 1 el bit RD, PMCON1<0> (EECON1<0>) Las dos siguientes instrucciones no se buscan cuando la CPU lee la memoria de programa: se ejecutan dos instrucciones NOP El dato estar a disponible en los registros PMDATH:PMDATA (EEDATH:EEDATA) en el siguiente ciclo de instrucción. El bit RD se pone a cero. El bit EEIF en PIR2 se pone a uno. 3 3

EEPROM. Memoria de programa Proceso de lectura de la memoria FLASH 4 4

EEPROM. Memoria de programa Proceso de escritura de la memoria FLASH Cargar la dirección de memoria en EEADRH:EEADRL Cargar el dato en EEDATH:EEDATA Poner a 1 el bit EEPGD, EECON1<7>, para seleccionar la memoria de programa Poner a 1 el bit WREN, EECON1<2> para habilitar la escritura Inhibir las interrupciones Cargar 55h en el registro EECON2 Cargar AAh en el registro EECON2 Poner a 1 el bit WR, EECON1<1>. Inicio de la escritura La dos siguientes instrucciones se ignoran La CPU se para mientras la memoria se programa. A diferencia del modo SLEEP el reloj y los periféricos siguen activos. Al finalizar la escritura, WR se pone a 0, EEIF en PIR2 se pone a 1, y la ejecución continua. Se pueden activar las interrupciones Hay que poner a cero el bit WREN, EECON1<2> para inhibir otras ecrituras. 5 5

EEPROM. Memoria de programa Proceso de escritura de la memoria FLASH 6 6

EEPROM. Memoria de datos Características No volátil Almacena hasta 256 bytes de datos La EEPROM de datos se puede escribir hasta 100K veces Registros utilizados: EEDATA contiene el byte de datos. EEADR contiene el byte de dirección EECON1 registro de control de lectura y escritura EECON2 No implementado físicamente, se utiliza para inicializar la lectura escritura. 7 7

EEPROM. Memoria de datos Registro EECON1 bit 7:5 No implementados: se leen 0 bit 4 EEIF: Bit de interrupción de operación de escritura de la EEPROM 1 = Escritura completada (debe ponerse a 0 por Sw) 0 = Escritura no completada o no iniciada bit 3 WRERR: Bit de error de la EEPROM 1 = Operación de escritura terminada prematuramente (MCLR reset o WDT reset durante una operación normal) 0 = Escritura completada bit 2 WREN: Bit de habilitación de escritura en la EEPROM 1 = Permite ciclos de escritura 0 = Inhibe la escritura de la EEPROM de datos 8 8

EEPROM. Memoria de datos Registro EECON1 bit 1 WR: Bit de control de escritura 1 = Inicia un ciclo de escitura. Se borra por Hw cunado la operación se completa. El bit WR solo puede ser puesto a 1 ( no se puede borrar ) por Sw 0 = Ciclo de escritura en la EEPROM de datos completado bit 0 RD: Bit de control de lectura 1 = Inicia la lectura de la EEPROM. LA lectura dura un ciclo. RD es puesto a 0 por Hw. El bit RD solo puede ser puesto a 1 ( no se puede borrar ) por Sw 0 = No se ha iniciado ciclo de lectura en la EEPROM 9 9

EEPROM. Memoria de datos Proceso de lectura Cargar la dirección en EEADR Poner a 0 el bit EEPGD, EECON1<7> Selecciona EEPROM para un acceso de lectura o escritura Poner a 1 el bit RD, EECON1<0> Inicia la operación de lectura El dato estará disponible en EEDATA en el siguiente ciclo de instrucción RD se pone a 0 EEIF en PIR2 se pone a 1 10 10

EEPROM. Memoria de datos Proceso de lectura 11 11

EEPROM. Memoria de datos Proceso de escritura Cargar la dirección en EEADR Cargar el dato en EEDATA Poner a 0 el bit EEPGD, EECON1<7> Poner a 1 el bit WREN, EECON1<2> Inhibir las interrupciones Cargar 55h en EECON2 Cargar AAh en EECON2 Poner a 1 el bit WR, EECON1<1> Poner a 0 el bit WREN, EECON1<2> Cuando la escritura se complete WR se pondrá 0 o EEIF a 1 Habilitar interrupciones 12 12

EEPROM. Memoria de datos Proceso de escritura 13 13

Tipos de osciladores. Rangos de frecuencia HS (High Speed) Alta velocidad Diseñado para cristales de cuarzo y resonadores cerámicos de de más de 4 Mhz. Consumo de corriente elevado, el modo más rápido disponible. XT (XTAL ) Modo de cristal Opera con cristales de cuarzo y algunos resonadores de 1 a 4 MHz Consumo de potencia moderado LP (Low Power) Bajo consumo Diseñado para cristales de 32kHz, puede ser utilizado hasta los 200kHz. Consumo de potencia muy bajo Usado en aplicaciones sensibles a la temporización RC Resistencia y condensador externos Generan una frecuencia aproximada a la deseada bajo costo Consumo de potencia moderado Frecuencia generada imprecisa, no se recomienda para aplicaciones de temporización o RS 232 14 14

Tipos de osciladores. Rangos de frecuencia IntRC (Internal RC) Un oscilador RCinterno en la MCU proporciona el reloj Frecuencia de oscilación habitual 4 Mhz Consumo de potencia moderado Puede incorporar un registro (OSCCAL) de calibración Frecuencia generada imprecisa, no se recomienda para aplicaciones de temporización o RS 232 ER (External Resistor) Un resistor pude establecer la frecuencia Bajo costo Consumo de potencia moderado Frecuencia generada imprecisa, no se recomienda para aplicaciones detemporización o RS 232 15 15

Palabra de configuración 14 bits que permiten al usuario personalizar ciertos aspectos de funcionamiento de la MCU: watchdog, modo del oscilador etc. Se mapean en la posición de memoria 2007h. Esta posición solo es accesible durante la programación del dispositivo. 16 16

Palabra de configuración CP1:CP0: Bits de protección de código 11 = Sin protección 10 = Ver hojas de características del dispositivo 01 = Ver hojas de características del dispositivo 00 = Toda la memoria protegida Nota: Algunos dipositivos pueden usar más bits para especificar la protección de código, otros únicamente usan CP0 (CP0=1 sin protección; CP0=1 con protección) DP: Bit de protección de memoria EEPROM de datos protegida 1 = Protegida off 0 = EEPROM de datos protegida BODEN: Bit de habilitación de Brown-out Reset 1 = BOR enabled 0 = BOR disabled Nota: La habilitación del Brown-out Reset habilita el Power-up Timer (PWRT) independientemente del valor del bit PWRTE. Asegurarse que Power-up Timer está habilitado si Brown-out Reset está habilitado 17 17

Palabra de configuración PWRTE: Bit de habilitación de Power-up Timer 1 = PWRT inhibido 0 = PWRT habilitado MCLRE: Bit de selección del pin MCLR 1 = Función como MCLR 0 = Función como E/S digital. MCLR es puesta internamente a VDD. WDTE: Bit de habilitación del Watchdog Timer 1 = WDT habilitado 0 = WDT inhibido FOSC1:FOSC0: Bits de selección de oscilador 11 = oscilador RC 10 = oscilador HS 01 = oscilador XT 00 = oscilador LP FOSC2:FOSC0: Bits de selección de oscilador 111 = oscilador EXTRC, con CLKOUT 110 = oscilador EXTRC 101 = oscilador INTRC, con CLKOUT 100 = oscilador INTRC 011 = Reservado 010 = oscilador HS 001 = oscilador XT 000 = oscilador 18 LP 18

Palabra de configuración BKBUG: Bit de habilitación del modo de depurado In-Circuit. 1 = BKBUG inhibido 0 = BKBUG habilitado WRT: Bits de de habilitación de escritura en la memoria FLASH de programa. LPVD: Low Voltage In-Circuit Serial. Habilitación de la programación serie de bajo voltaje. 19 19

Palabra de configuración La directiva del ensamblador config establece la palabra de configuración 20 20

Palabra de configuración directiva config 21 21

Palabras de identificación Se destinan cuatro posiciones de memoria (2000h-2003h) para datos específicos del usuario Checksum, código de identificación, número de serie, etc. Se pueden leer y escribir solo durante la programación Se recomienda utilizar solo los 4 bits de menor peso de cada localización. Se utiliza la directiva idelocs <expre> para establecer las palabras de identificación 22 22