Menú English Ukrainian Ruso Inicio

Biblioteca técnica gratuita para aficionados y profesionales. biblioteca técnica gratuita


ENCICLOPEDIA DE RADIOELECTRÓNICA E INGENIERÍA ELÉCTRICA
biblioteca gratis / Esquemas de dispositivos radioelectrónicos y eléctricos.

Microcontrolador PIC16C84. Breve descripción. Enciclopedia de radioelectrónica e ingeniería eléctrica.

biblioteca técnica gratuita

Enciclopedia de radioelectrónica e ingeniería eléctrica. / Microcontroladores

Comentarios sobre el artículo Comentarios sobre el artículo

Esta descripción no pretende ser completa y contiene una serie de errores y erratas. La documentación completa se puede obtener de los distribuidores de Microchip, cuyas direcciones figuran al final del archivo.

introducción

PIC16C84 pertenece a la familia de microcontroladores CMOS. Se diferencia en que posee una EEPROM interna de 1K x 14 bit para programas, datos de 8 bits y EEPROM de 64 bytes de memoria de datos. Al mismo tiempo, se caracterizan por su bajo costo y alto rendimiento. Los usuarios que estén familiarizados con la familia PIC16C5X pueden ver una lista detallada de las diferencias entre los controladores nuevos y los producidos anteriormente. Todas las instrucciones son de una palabra (14 bits de ancho) y se ejecutan en un ciclo (400 ns a 10 MHz), excepto las instrucciones de salto, que se ejecutan en dos ciclos (800 ns). El PIC16C84 tiene una interrupción de cuatro fuentes y una pila de hardware de ocho niveles.

Los periféricos incluyen un temporizador/contador de 8 bits con un preescalador programable de 8 bits (en realidad, un temporizador de 16 bits) y 13 líneas de E/S bidireccionales. La alta capacidad de carga (sumidero máx. de 25 mA, sumidero máx. de 20 mA) de las líneas de E/S simplifica los controladores externos y, por lo tanto, reduce el costo general del sistema. El desarrollo basado en los controladores PIC16C84 es compatible con el ensamblador, el simulador de software, el emulador en circuito (solo Microchip) y el programador.

La serie PIC16C84 es adecuada para una amplia gama de aplicaciones, desde circuitos de control de motores eléctricos y automotrices de alta velocidad hasta transceptores remotos rentables, instrumentos indicadores y procesadores de comunicación. La presencia de ROM le permite ajustar los parámetros en los programas de aplicación (códigos del transmisor, velocidades del motor, frecuencias del receptor, etc.).

Los tamaños de paquete pequeños, tanto convencionales como de montaje en superficie, hacen que esta serie de microcontroladores sea adecuada para aplicaciones portátiles. El bajo precio, la economía, la velocidad, la facilidad de uso y la flexibilidad de E/S hacen que el PIC16C84 sea atractivo incluso en áreas donde los microcontroladores no se han utilizado antes. Por ejemplo, temporizadores, reemplazando la lógica dura en grandes sistemas, coprocesadores.

Debe agregarse que el programador EEPROM incorporado del PIC16C84 facilita la personalización del programa y los datos para requisitos específicos, incluso después de completar el ensamblaje y la prueba. Esta posibilidad se puede utilizar tanto para la replicación como para ingresar datos de calibración después de la prueba final.

Resumen de características

- solo 35 comandos simples;

- todos los comandos se ejecutan en un ciclo (400ns), excepto los comandos de transición -2 ciclos;

- frecuencia de funcionamiento 0 Hz ... 10 MHz (ciclo de comando mínimo 400 ns)

- Comandos de 14 bits;

- datos de 8 bits;

- 1024 x 14 memoria de programa reprogramable eléctricamente en un chip (EEPROM);

- Registros de uso general de 36 x 8;

- 15 registros especiales de hardware SFR;

- Memoria EEPROM eléctricamente reprogramable de 64 x 8 para datos;

- pila de hardware de ocho niveles;

- direccionamiento directo, indirecto y relativo de datos y comandos;

- cuatro fuentes de interrupción:

. entrada externa INT

. Desbordamiento del temporizador RTCC

. interrupción por cambio de señales en las líneas del puerto B

. al finalizar la escritura de datos en la memoria EEPROM

Periféricos y E/S

- 13 líneas de E / S con configuraciones individuales;

- Fregadero / disipador de corriente para conducir LED

. corriente de entrada máxima - 25 mA

. corriente de flujo máxima - 20 mA

- Temporizador/contador RTCC de 8 bits con preescalador programable de 8 bits;

- reinicio automático cuando se enciende;

- el temporizador de la inclusión al reinicio;

- temporizador de arranque del generador;

- Temporizador Watchdog WDT con su propio generador incorporado que brinda mayor confiabilidad;

- bit de seguridad EEPROM para proteger el código;

- modo SLEEP económico;

- bits seleccionables por el usuario para configurar el modo de manejo del oscilador incorporado:

- Generador RC: RC

- resonador de cuarzo convencional: XT

- resonador de cuarzo de alta frecuencia : HS

- cristal económico de baja frecuencia: LP

- dispositivo de programación EEPROM incorporado para memoria de programa y datos; solo se usan dos patas.

tecnología CMOS

- tecnología económica CMOS EPROM de alta velocidad;

- principio estático en arquitectura;

- amplia gama de tensiones y temperaturas de alimentación:

. comercial: 2.0 ... 6.0 V, 0...+70C

. industriales: 2.0 ... 6.0 V, -40...+70С

. automotriz: 2.0 ... 6.0 V, -40...+125С

- bajo consumo

. 3 mA típico para 5V, 4MHz

. 50 µA típico para 2V, 32kHz

. 26µA típico para el modo SLEEP a 2V.

Diagrama estructural PIC16C84

Microcontrolador PIC16C84. Breve descripción

La arquitectura se basa en el concepto de buses separados y áreas de memoria para datos y comandos (arquitectura Harvard). El bus de datos y la memoria de datos (RAM) tienen 8 bits de ancho, y el bus de programa y la memoria de programa (ROM) tienen 14 bits de ancho. Este concepto proporciona un conjunto de instrucciones simple pero potente diseñado para que las operaciones de bit, byte y registro funcionen a alta velocidad y se superpongan en los tiempos de ciclo de ejecución y obtención de instrucciones. El ancho de la memoria del programa de 14 bits permite obtener una instrucción de 14 bits en un ciclo. La canalización de dos etapas proporciona la obtención y ejecución simultáneas de una instrucción.Todas las instrucciones se ejecutan en un ciclo, excepto las instrucciones de salto. El PIC16C84 tiene una memoria de programa de 1K x 14 ubicada en el chip. El programa ejecutable solo puede residir en la ROM integrada.

Diferencias entre PIC16C84 y PIC16C5x

1. La longitud del comando aumentó a 14 bits. Esto le permite organizar la ROM y la RAM con un tamaño de página aumentado: (2K bytes en lugar de 512 bytes), (128 bytes en lugar de 32 bytes), respectivamente.

2. El registro alto del contador de programa (PCLATH) controla el cambio de página en la memoria del programa. Los bits de selección de página PA2, PA1, PA0, que se usaron para esto en el cristal PIC16C5X, se eliminan del registro STATUS.

3. Se han modificado la paginación de memoria y el registro de ESTADO.

4. Se agregaron cuatro nuevos comandos: RETURN, RETFIE, ADDLW, SUBLW. Los dos comandos TRIS y OPCIÓN ya no son necesarios, pero se conservan para la compatibilidad del software con el PIC16C5X.

5. Los registros OPTION y TRIS se hacen direccionables por número.

6. Se agregó la capacidad de trabajar con interrupciones. Vector=0004h.

7. El tamaño de la pila aumentó a ocho niveles.

8. La dirección de reinicio de encendido cambió a 0000h.

9. Se reconocen cinco tipos diferentes de reinicios (salidas del modo SLEEP). La inicialización del registro cambió. Se configuran de manera diferente, según el tipo de reinicio.

10. Se agregó la salida del modo SLEEP a través de la interrupción.

11. Para un inicio más confiable, se agregaron los siguientes retrasos de hardware: temporizador de inicio (OST) y temporizador de encendido (PWRT). Estos temporizadores se pueden utilizar de forma selectiva para evitar retrasos innecesarios, tanto al encender como al salir del modo SLEEP.

12. El puerto B tiene cargas activas y una interrupción cuando cambian las señales de entrada.

13. El tramo RTCC está alineado con el tramo de babor (RA4).

14. La dirección de registro 07h (puerto C) no existe y no es un registro de propósito general.

15. El registro FSR (f4), que almacena el puntero con direccionamiento indirecto, tiene un ancho de ocho bits.

16. Máquina de programación EEPROM incorporada implementada. El usuario puede programar el PIC16C84 usando solo cinco pines: Vdd, Vss, /MCLR/Vpp, RB6 (reloj), RB7 (entrada/salida de datos).

Transición de PIC16C5x a PIC16C84

Para convertir el código escrito para PIC16C5X a código para PIC16C84, el usuario debe realizar los siguientes pasos:

1. Reemplace las operaciones para seleccionar páginas de memoria de programa (bits PA2, PA1, PA0) con comandos CALL, GOTO.

2. Revise todas las operaciones de salto calculadas (escribir en la PC o agregar a la PC, etc.) y asegúrese de que los bits de página también estén configurados correctamente para el nuevo chip.

3. Elimina el cambio de página de la memoria de datos. Redefina variables y reasigne memoria para ellas.

4. Verifique la entrada en los registros STATUS, OPTION, FSR, porque están ligeramente modificados.

5. Cambie el vector de reinicio de encendido a 0000h.

6. Tenga en cuenta que la dirección 07h es una dirección de memoria de datos inexistente.

Tipos y versiones de envolventes

Designaciones de paquetes para cristales PIC16C8x. El tipo de paquete se indica en el Marcado al pedir microcircuitos. Los estuches vienen con solo 18 pines. PDIP - Caja de dos filas de plástico liso. Se utiliza para versiones OTP EPROM de cristales. SOIC - Paquete de montaje en superficie DIP pequeño

Los diseños de chips vienen en tres tipos: comerciales, industriales y automotrices. Su principal diferencia está en el rango de temperatura y el voltaje de funcionamiento.

Ejecución comercial

Temperatura de funcionamiento 0 ... +70 C

Tensión de servicio 3.0 ... 5.5 V

versión industrial

Temperatura de funcionamiento -40 .... +85 C

Tensión de servicio 3.0 ... 5.5 V

Versión del vehículo

Temperatura de funcionamiento -40 ... +125 C

Tensión de servicio 3.0 ... 5.5 V

Marcar al hacer el pedido

La designación de microcircuitos consta de los siguientes campos:

<Número de empresa>-<Frecuencia del generador><Rango de temperatura>/<Cuerpo><Nota>

<el número de la empresa puede ser>: PIC16C84 - Rango Vdd 4...6 V

PIC16LC84 Rango Vdd 2...6 V

<Frecuencia de origen>: 04 ---> 4 mHz

10 ---> 10mHz

El rango de temperatura es:

- de 0С a +70С

yo de -40С a +85С

E de -40С a +125С

El cuerpo está marcado:

P - DIP de plástico regular

SO-300 mil SOIC

EJEMPLOS:

PIC16C84-04/Pxxx 4 mHz, versión comercial en paquete PDIP, rango normal Vdd, máscara ROM con programa xxx

PIC16LC84-04I/SO 4 mHz, versión industrial, rango de potencia ampliado, carcasa=SOIC

PIC16C84-10E/P versión para automóvil, 10 mHz, PDIP, típ. alimento

Disposición de la pierna

Para conocer la función de los pines, consulte "Designaciones de pines" o el Diagrama de bloques. Para tipos de gabinetes PDIP, etc., consulte Gabinetes.

Microcontrolador PIC16C84. Breve descripción

El propósito de las piernas.

Designaciones de patas y su finalidad funcional.

Microcontrolador PIC16C84. Breve descripción

Valores máximos de parámetros eléctricos

Los parámetros fuera de estos límites pueden dañar el chip. Operar el cristal en sus valores límite durante mucho tiempo afectará su confiabilidad.

Microcontrolador PIC16C84. Breve descripción

Notas:

1. La disipación de energía total no debe exceder los 800 mW para cada gabinete. La potencia disipada se calcula mediante la siguiente fórmula:

Pdis= Vdd(Idd - Suma(Ioh)) + Suma ((Vdd - Voh)Ioh) + Suma (Vol Iol)

2. Dejar caer el voltaje en el pin /MCLR por debajo de Vss (tierra) inducirá corrientes altas, superiores a 80 mA, y puede dañar esta línea. Por lo tanto, le recomendamos que aplique señales al pin /MCLR a través de una resistencia de terminación de 50-100 ohmios.

Resumen de registros y RAM

El área de RAM está organizada como 128 x 8. Las celdas de RAM se pueden direccionar directa o indirectamente a través del registro de puntero FSR (04h). Esto también se aplica a la EEPROM de la memoria de datos constantes.

Microcontrolador PIC16C84. Breve descripción

El registro de estado (03h) contiene bits de selección de página que permiten el acceso a cuatro páginas de futuras revisiones de este chip. Sin embargo, para el PIC16C84, la memoria de datos solo existe hasta la dirección 02Fh. Las primeras 12 direcciones se utilizan para colocar registros de propósito especial.

Los registros con direcciones 0Ch-2Fh se pueden usar como registros de propósito general, que son RAM estática. Algunos registros de propósito especial están duplicados en ambas páginas y algunos están ubicados por separado en la página 1. Cuando se configura la página 1, el acceso a las direcciones 8Ch-AFh direcciona efectivamente la página 0. Los registros se pueden direccionar directa o indirectamente. En ambos casos se pueden direccionar hasta 512 registros.

Direccionamiento directo

Cuando se realiza el direccionamiento directo de 9 bits, los 7 bits inferiores se toman como la dirección directa del código de operación y los dos bits de puntero de página (RP1, RP0) del registro de estado (03h).

Microcontrolador PIC16C84. Breve descripción

direccionamiento indirecto

f4 - Puntero de dirección indirecta

Cualquier instrucción que use f0 (dirección 00) como registro en realidad accede a un puntero que está almacenado en la FSR (04h). Leer f0 en sí mismo indirectamente dará como resultado 00h. Escribir en el registro f0 se verá implícitamente como Nop, pero los bits de estado se pueden cambiar. La dirección de 9 bits requerida se forma combinando el contenido del registro FSR de 8 bits y el bit IRP del registro de estado.

Microcontrolador PIC16C84. Breve descripción

Tenga en cuenta que algunos registros de funciones especiales se encuentran en la página 1. Para direccionarlos, debe configurar adicionalmente el bit RP0 en el registro de estado a uno.

Temporizador/contador RTCC

El diagrama de bloques de habilitación de RTCC se muestra a continuación. Contiene el elemento "MUX": este es un interruptor electrónico.

Microcontrolador PIC16C84. Breve descripción

El modo de temporizador se selecciona restableciendo el bit RTS en el registro de OPCIÓN a cero. En el modo de temporizador, el RTCC se incrementará desde la fuente de frecuencia INTERNA, cada ciclo de comando (sin preescalador).

Después de escribir información en RTCC, comenzará a incrementarse después de dos ciclos de instrucción. Esto sucede con todas las instrucciones que escriben o leen-modifican-escriben f1 (por ejemplo, MOVF f1, CLRF f1). Esto se puede evitar escribiendo un valor ajustado en RTCC. Si es necesario verificar RTCC para cero sin detener el conteo, use la instrucción MOVF f1,W.

El modo de contador se selecciona configurando el bit RTS en el registro de OPCIÓN a uno. En este modo, RTCC se incrementará por un flanco ascendente o descendente en el pin RA4/RTCC de eventos EXTERNOS. La dirección del borde está determinada por el bit de control RTE en el registro OPCIÓN. Con RTE=0, se seleccionará un flanco ascendente. El limitador se puede utilizar con RTCC o con temporizador Watchdog. La opción de conexión del divisor está controlada por el bit PSA en el registro OPTION. Con PSA=0, el divisor se conectará al RTCC. El contenido del divisor no está disponible para el programa. Factor de división - programable. Se genera una interrupción de RTCC cuando el temporizador/contador de RTCC se desborda en la transición de FFH a 00h. A continuación, se establece el bit de solicitud RTIF en el registro INTCON<2>. Esta interrupción se puede enmascarar con el bit RTIE en el registro INTCON<5>. El software debe borrar el bit de solicitud RTIF al manejar la interrupción. Una interrupción de RTCC no puede despertar el procesador de SLEEP porque el temporizador no funciona en este modo.

Problemas con el temporizador

Pueden surgir problemas al contar señales externas. Estas señales están controladas por una señal de reloj interna, consulte el diagrama SYNC. Hay cierto retraso entre el flanco ascendente de la señal de entrada y el tiempo de incremento de RTCC. La activación se realiza después del limitador. La salida del limitador se sondea dos veces durante cada ciclo de comando para determinar los flancos ascendentes y descendentes de la señal de entrada. Por lo tanto, la señal de Psout debe ser alta y baja durante al menos dos periodos de reloj.

Cuando no se utiliza el limitador, Psout repite la señal de entrada, por lo que los requisitos para ello son los siguientes:

Trth= RTCC tiempo alto >= 2tosc+20ns

Trtl= tiempo bajo RTCC >= 2tosc+20ns.

Cuando se usa el limitador, la entrada RTCC se divide por el número establecido en el contador divisor. La señal después del limitador siempre es simétrica.

Psout tiempo alto = Psout tiempo bajo = NTrt/2,

donde Trt es el período de entrada de RTCC,

N es el valor del contador divisor (2,4...256).

En este caso, los requisitos para la señal de entrada se pueden expresar de la siguiente manera:

NTrt/2 >= 2tosc +20ns o

Trt >= (4tosc + 40ns)/N.

Cuando se utiliza un limitador, los niveles de señal alto y bajo en su entrada deben ser de al menos 10 ns. Por lo tanto, los requisitos generales para una señal externa cuando se conecta un divisor son los siguientes:

Trt= Periodo RTCC >= (4tosc + 40ns)/N

Trth = tiempo alto de RTCC >= 10ns

Trtl = tiempo bajo RTCC >= 10ns.

Dado que la salida del limitador es sincronizada por el reloj interno, existe un ligero retraso entre el flanco ascendente del reloj externo y el tiempo de incremento real de RTCC. Este retraso está entre 3tosc y 7tosc. Así, la medida del intervalo entre eventos se realizará con una precisión de 4tosc (+-400ns a 10 MHz de cuarzo).

Registro de estado

El registro (f3) contiene las banderas aritméticas de la ALU, el estado de reinicio del controlador y los bits de selección de página para la memoria de datos. (f3) está disponible para cualquier comando como cualquier otro registro. Sin embargo, los bits TO y PD los establece el hardware y el software no puede escribirlos en un estado. Esto debe tenerse en cuenta al ejecutar un comando utilizando el registro de estado. Por ejemplo, la instrucción CLRF f3 establecerá todos los bits en 1, excepto los bits TO y PD, y luego establecerá el bit Z=3. Después de ejecutar este comando, el registro de estado puede no tener un valor cero (debido a los bits TO y PD) f000=100??XNUMX. Por lo tanto, se recomienda usar solo comandos de configuración de bits BCF, BSF, MOVWF para cambiar el registro de estado, que no cambian el resto de los bits de estado. El efecto de todos los comandos en los bits de estado se puede ver en la "Descripción de los comandos".

Indicadores de estado del software

La ubicación de las banderas en el registro de estado es la siguiente:

Microcontrolador PIC16C84. Breve descripción

Para los comandos ADDWF y SUBWF. Este bit se establece si la operación de bit más significativa da como resultado un acarreo. La resta se realiza sumando el código adicional del segundo operando. Cuando se ejecutan instrucciones de desplazamiento, este bit siempre se carga desde el LSB o MSB de la fuente que se desplaza.

Microcontrolador PIC16C84. Breve descripción

Para los comandos ADDWF y SUBWF. Este bit se establece si la operación del cuarto bit da como resultado un acarreo. El mecanismo para establecer el bit de acarreo decimal "DC" es el mismo, excepto que se monitorea el acarreo del cuarto bit.

Z - Indicador de resultado cero:

Establece si el resultado de una operación aritmética o lógica es cero.

PD - Apagado (modo de almacenamiento de datos):

Establézcalo en "1" en el encendido o comando CLRWDT. Restablecer a "0" mediante el comando SLEEP.

TO - Tiempo muerto. Indicador de activación del temporizador de vigilancia:

Establézcalo en "1" en el encendido y CLRWDT, comandos SLEEP. Se restablece a "0" cuando expira el temporizador WDT.

RP1, RP0 - Bits de selección de página de memoria de datos para direccionamiento directo:

RP1, RP0:

00= Página 0 (00h-7Fh)

01= Página 1 (80h-FFh)

10= Página 2 (100h-17Fh)

11= Página 3 (180h-1FFh)

Cada página contiene 128 bytes. El chip PIC16C84 usa solo RP0. En este chip, RP1 se puede usar simplemente como un bit de lectura/escritura de propósito general. Sin embargo, debe recordarse que en desarrollos posteriores se utilizará.

IRP - Bit de selección de página de memoria de datos para direccionamiento indirecto:

IRP0:

0= Páginas 0,1 (00h-FFh)

1= Página 2,3 (100h-1FFh)

Este bit en el cristal PIC16C84 no tiene sentido de usar. Por lo tanto, se puede utilizar como un bit de lectura/escritura de propósito general. Sin embargo, debemos recordar que en desarrollos posteriores se utilizará.

Indicadores de estado del hardware

Bits de estado del hardware TO (Tiempo de espera) y PD (Apagado). El estado de los bits de registro de estado "TO" y "PD" puede determinar qué causó el "Reinicio":

- simplemente encendiendo la corriente,

- activación del temporizador de vigilancia,

- salir del modo de suspensión como resultado de la activación del temporizador de vigilancia,

- por señal externa /MCLR.

Solo los siguientes eventos pueden afectar el estado de estos bits:

Microcontrolador PIC16C84. Breve descripción

Nota: Los bits TO y PD permanecen vigentes hasta que ocurre uno de los eventos enumerados en la tabla. "0": un pulso de bajo nivel en la entrada del cristal /MCLR no cambia el estado de los bits TO y PD.

Organización de la ROM incorporada

El contador de programa en el PIC16C84 tiene 13 bits de ancho y puede direccionar 8Kx14 bits de memoria de programa. Sin embargo, físicamente solo hay 1Kx14 de memoria en el chip (direcciones 0000h-03FFh). Dirigir direcciones por encima de 3FFh es en realidad direccionar el mismo primer kilobyte. El vector de reinicio se encuentra en la dirección 0000h, el vector de interrupción se encuentra en la dirección 0004h.

La EEPROM del PIC16C84 está diseñada para un número limitado de ciclos de borrado/escritura. Para escribir en la memoria del programa, el cristal debe ponerse en un modo especial en el que se aplica el voltaje de programación Vprg al pin /MCLR, y la fuente de alimentación Vdd debe estar en el rango de 4.5 V ... 5.5 V. El PIC16C84 no es adecuado para aplicaciones en las que el programa se modifica con frecuencia. La escritura en la memoria del programa se realiza poco a poco, secuencialmente usando solo dos pines.

Direccionamiento de PC y ROM

(f2). Contador de programa

El ancho del contador de programa es de 13 bits. El byte bajo del contador de programa (PCL) es de lectura/escritura y se encuentra en el registro 02h. El byte alto del contador de programa (PCH) no se puede leer ni escribir directamente. El byte alto del contador del programa se puede escribir a través del registro PCLATH, cuya dirección es 0Ah. Dependiendo de si se carga un nuevo valor en el contador de programa durante las instrucciones CALL, GOTO o se escribe en el byte bajo del contador de programa (PCL), los bits altos del contador de programa se cargan desde PCLATH de diferentes maneras, como se muestra en la figura.

Caso de comandos GOTO, CALL

Microcontrolador PIC16C84. Breve descripción

Pila y retornos de subrutinas

El cristal PIC16C84 tiene una pila de hardware de ocho niveles y 13 bits de ancho. El área de la pila no pertenece ni al área del programa ni al área de datos, y el puntero de la pila no es accesible para el usuario. El valor actual del contador del programa se coloca en la pila cuando se ejecuta una instrucción CALL o se procesa una interrupción. Cuando se ejecuta una instrucción RETLW, RETFIE o RETURN desde una subrutina), el contenido de la pila se coloca en el contador del programa. El registro PCLATH (0Ah) no se modifica mediante operaciones de pila.

Datos en EEPROM

Memoria de datos EEPROM no volátil.

La memoria de datos EEPROM le permite leer y escribir un byte de información. Cuando se escribe un byte, el valor anterior se borra automáticamente y se escriben nuevos datos (borrar antes de escribir). Todas estas operaciones son realizadas por el escritor EEPROM incorporado. El contenido de esta memoria se conserva cuando se apaga la alimentación. El cristal PIC16C84 tiene una memoria de datos EEPROM de 64x8 bits que permite escribir y leer durante el funcionamiento normal (en todo el rango de tensión de alimentación). Esta memoria no pertenece al área de registros de la RAM. Se accede a través de dos registros: EEDATA <08h>, que contiene datos de ocho bits para lectura/escritura y EEADR <09h>, que contiene la dirección de la celda a la que se accede. Además, hay dos registros de control: EECON1 <88h> y EECON2 <89h>.

Al leer datos de la memoria EEPROM, escriba la dirección deseada en el registro EEADR y luego establezca el bit RD EECON1<0> en uno. Los datos aparecerán en el próximo ciclo de comando en el registro EEDATA y se pueden leer. Los datos en el registro EEDATA están bloqueados.

Al escribir en la memoria EEPROM, primero debe escribir la dirección requerida en el registro EEADR y los datos en el registro EEDATA. Luego ejecute una secuencia especial de comandos que produce una grabación directa:

movimiento 55h

movwfEECON2

movlv AH

movwfEECON2

bsf EECON1,WR ;establecer bit WR, iniciar grabación

Durante la ejecución de esta sección del programa, todas las interrupciones deben desactivarse para ejecutar con precisión el diagrama de tiempo. Tiempo de grabación -

aproximadamente 10 ms. El tiempo de escritura real variará según el voltaje, la temperatura y las propiedades individuales del cristal. Al final de la escritura, el bit WR se restablece automáticamente a cero y se establece el indicador de finalización de escritura EEIF, que también es una solicitud de interrupción.

Para evitar escrituras accidentales en la memoria de datos, se proporciona un bit WREN especial en el registro EECON1. Se recomienda mantener el bit WREN apagado, excepto cuando se necesita actualizar la memoria de datos. Además, los segmentos de código que configuran el bit WREN y los que realizan la escritura deben almacenarse en direcciones diferentes para evitar ejecutarlos accidentalmente cuando el programa falla.

Gestión de EEPROM

Registros de control para EEPROM

Microcontrolador PIC16C84. Breve descripción

Registros EECON1 y EECON2

El registro EECON1 (dirección 88h) es un registro de control de cinco bits de ancho. Los cinco bits inferiores están físicamente presentes, mientras que los tres bits superiores siempre se leen como `0`.

Registro EECON1 Dirección 88h

Restablecer al encender - 0000X000

Microcontrolador PIC16C84. Breve descripción

Los bits de control RD y WR desencadenan lecturas y escrituras, respectivamente. Solo se pueden establecer mediante programación. Borrado por hardware cuando se completan las operaciones de lectura/escritura. Deshabilitar el reinicio de software del bit WR evita que la escritura finalice prematuramente.

RD - Bit de lectura.

RD =1 : Comienza a leer la memoria de datos EEPROM. La lectura toma un ciclo. Instalado por software. Restablecimiento por hardware.

WR - Bit de escritura.

WR =1 : Comienza a escribir en la memoria de datos EEPROM.

Instalado por software. Restablecimiento por hardware.

WREN - Bit de habilitación de escritura de EEPROM.

WREN = 1: Escritura habilitada.

WREN = 0: escritura deshabilitada.

Después de encender la alimentación, WREN se restablece a cero.

El indicador de error WRERR se establece cuando el proceso de escritura se interrumpe por la señal de reinicio /MCLR o la señal de reinicio del temporizador WDT. Le recomendamos que marque este indicador WRERR y, si es necesario, sobrescriba los datos cuyos datos y direcciones se almacenan en los registros EEDATA y EEADR.

WRERR: indicador de error de escritura.

WRERR = 1: el indicador se establece cuando una operación de escritura es abortada por la señal de reinicio /MCLR (durante el modo normal o modo SLEEP) o por la señal de reinicio WDT durante el modo normal.

El indicador EEIF se establece cuando el autómata incorporado completa la escritura en la memoria de datos. Debe ser reiniciado por software.

EEIF: indicador de finalización de escritura.

EEIF = 1: el indicador se establece cuando se completa la escritura. El bit de habilitación de interrupción correspondiente es EEIE en el registro INTCON.

Organización de interrupciones

Las interrupciones en el PIC16C84 pueden provenir de cuatro fuentes:

- interrupción externa del pin RB0/INT,

- Interrupción de desbordamiento del contador/temporizador RTCC,

- interrupción al final de la escritura de datos en EEPROM

- interrumpir el cambio de las señales en los pines del puerto RB<7:4>.

Todas las interrupciones tienen el mismo vector/dirección - 0004h. Sin embargo, en el registro de control de interrupción INTCON está escrito: - de qué fuente se recibió la solicitud de interrupción. Escrito por el bit-flag correspondiente. Dicha interrupción se puede enmascarar individualmente o mediante un bit común. La única excepción es la interrupción de fin de escritura de EEPROM. Esta bandera está en otro registro EECON1.

El bit de habilitación/deshabilitación de interrupción general GIE (INTCON <7>) habilita (si = 1) todas las interrupciones desenmascaradas individualmente o las deshabilita (si = 0). Cada interrupción se puede habilitar/deshabilitar adicionalmente configurando/borrando el bit correspondiente en el registro INTCON. El bit GIE se establece en cero en el reinicio. Cuando se procesa una interrupción, el bit GIE se establece en cero para desactivar más interrupciones, la dirección de retorno se coloca en la pila y la dirección 0004h se carga en el contador del programa. El tiempo de respuesta de interrupción para eventos externos, como una interrupción del pin INT o del puerto B, es de aproximadamente cinco ciclos. Este es un ciclo menos que para eventos internos como una interrupción de desbordamiento del temporizador RTCC. El tiempo de reacción es siempre el mismo. En un controlador de interrupciones, la fuente de la interrupción puede determinarse mediante el bit correspondiente en el registro de banderas. Este bit indicador debe restablecerse mediante software dentro de una subrutina. Las banderas de solicitud de interrupción son independientes de los bits de máscara correspondientes y del bit de máscara general GIE.

La instrucción de retorno de interrupción RETFIE finaliza la rutina de interrupción y establece el bit GIE para habilitar las interrupciones nuevamente.

Registro de consultas y máscaras

Registro de control de interrupciones y sus bits

Microcontrolador PIC16C84. Breve descripción

Dirección: 0bh

Valor en el reinicio = 0000 000?

RBIF: cambie el indicador de interrupción en el puerto RB.

El indicador se establece cuando cambia la señal en la entrada RB<7:4>.

La bandera se restablece mediante programación.

INTF - Indicador de interrupción INT.

La bandera se establece cuando el pin INT recibe una señal de una fuente de interrupción externa. Restablecimiento por software.

RTIF - Bandera de interrupción de desbordamiento de RTCC.

La bandera se establece cuando RTCC se desborda.

La bandera se restablece mediante programación.

RBIE - bit de habilitación/deshabilitación de interrupción RBIF.

RBIE = 0: deshabilitar la interrupción RBIE

RBIE = 1: habilitar interrupción RBIE

INTE - Bit habilitar/deshabilitar interrupción INT.

INTE = 0: deshabilitar la interrupción INT

INTE = 1: habilita la interrupción INT

Bit de habilitación/deshabilitación de interrupción RTIE RTIF.

RTIE = 0: deshabilitar la interrupción de RTIE

RTIE = 1: habilitar interrupción RTIE

EEIE - Bit de habilitación/deshabilitación de interrupción de escritura de EEPROM.

EEIE = 0: deshabilitar la interrupción EEIF

EEIE = 1: habilita la interrupción EEIF

Bit de habilitación/deshabilitación de todas las interrupciones GIE.

GIE=0: deshabilitar interrupciones

GIE = ​​​​1 : habilitar interrupciones

Se restablece automáticamente en las siguientes circunstancias:

- encendido.

- por señal externa /MCLR durante el funcionamiento normal.

- por señal externa /MCLR en modo SLEEP.

- al final del retardo del temporizador WDT durante el funcionamiento normal.

- al final del retardo del temporizador WDT en modo SLEEP.

interrupción externa

Una interrupción externa en el pin RB0/INT se activa en un flanco ascendente (si el bit 6 INTEDG=1 en el registro OPCIÓN) o en un flanco descendente (si INTEDG=0). Cuando se detecta un flanco ascendente en el pin INT, se establece el bit de solicitud INTF (INTCON <1>). Esta interrupción se puede enmascarar poniendo a cero el bit de control INTE (INTCON <4>). El bit de solicitud INTF debe ser borrado por el programa de interrupción antes de que la interrupción pueda habilitarse nuevamente. Una interrupción INT puede despertar al procesador del modo SLEEP si el bit INTE se estableció en uno antes de ingresar a este modo.

El estado del bit GIE también determina si el procesador saltará a la rutina de interrupción después de salir del modo SLEEP.

Interrupción de RTCC

Un desbordamiento del contador RTCC (FFh->00h) establecerá el bit de solicitud RTIF (INTCON<2>). Esta interrupción se puede habilitar/deshabilitar configurando/borrando el bit de máscara RTIE (INTCON<5>). Restablecer la solicitud RTIF depende del programa de procesamiento.

interrupción del puerto RB

Cualquier cambio en las señales de las cuatro entradas del puerto RB<7:4> establecerá el bit RBIF (INTCON<0>). Esta interrupción se puede habilitar/deshabilitar configurando/borrando el bit de máscara RBIE (INTCON<3>). Restablecer la solicitud RBIF depende del programa de procesamiento.

Interrupción de EEPROM

El indicador de solicitud de interrupción de fin de escritura de EEPROM, EEIF (EECON1<4>), se establece cuando se completa la escritura automática de datos en EEPROM. Esta interrupción se puede enmascarar reiniciando el bit EEIE (INTCON<6>). Restablecer la solicitud EEIF depende del controlador.

Resumen de registros/puertos

El cristal tiene dos puertos: un puerto RA de 5 bits y un puerto RB de 8 bits con configuración individual bit a bit para entrada o salida.

Diagrama de línea del puerto A

El puerto A es un puerto de 5 bits de ancho, correspondiente a los pines del chip RA<4:0>. Las líneas RA<3:0> son bidireccionales y la línea RA4 es una salida de drenaje abierto. La dirección de registro del puerto A es 05h. El registro de control TRISA del puerto A se encuentra en la primera página de registros en la dirección 85h. TRISA<4:0> es un registro de 5 bits de ancho. Si un bit en el registro de control TRISA se establece en uno, entonces la línea correspondiente se establecerá como entrada. Zero cambia la línea a salida y, simultáneamente, le envía el contenido del registro de pestillo correspondiente. A continuación se muestra el diagrama de puertos RA0..RA3

Microcontrolador PIC16C84. Breve descripción
Microcontrolador PIC16C84. Breve descripción

Microcontrolador PIC16C84. Breve descripción

Diagrama de línea del puerto B

El puerto B es un puerto bidireccional, de ocho bits de ancho (dirección de registro 06h). Perteneciente al puerto B, el registro de control TRISB se encuentra en la primera página de registros en la dirección 86h. Si el bit de control TRISB del registro se establece en uno, la línea correspondiente se establecerá como entrada. Zero cambia la línea a salida y, simultáneamente, le envía el contenido del registro de pestillo correspondiente. Cada pin del puerto B tiene una pequeña carga resistiva (alrededor de 100 µA) en la línea de alimentación. Se deshabilita automáticamente si este pin se programa como salida. Además, el bit de control RBPU OPTION<7> puede apagar (RBPU=1) todas las cargas. Un reinicio de encendido también apaga todas las cargas.

Las cuatro líneas del puerto B (RB<7:4>) tienen la capacidad de provocar una interrupción cuando cambia el valor de la señal en cualquiera de ellas. Si estas líneas están configuradas para la entrada, se sondean y se bloquean en el bucle de lectura Q1. El nuevo valor de la señal de entrada se compara con el valor anterior en cada ciclo de instrucción. Si el valor de la señal en la pata y en el pestillo no coincide, se genera un nivel alto. Las salidas de los detectores de "desajuste" RB4, RB5, RB6, RB7 son OR y generan una interrupción RBIF (almacenada en INTCON<0>). Cualquier línea configurada como salida no participa en esta comparación. Una interrupción puede despertar el cristal del modo SLEEP. En el controlador de interrupciones, restablezca la solicitud de interrupción de una de las siguientes maneras:

1) Deshabilite las interrupciones borrando el bit RBIE INTCON<3>.

2) Lea el puerto B. Esto finalizará el estado de comparación.

3) Borre el bit RBIF INTCON<0>.

Las interrupciones de desajuste y las cargas activas internas configurables por software en estas cuatro líneas pueden proporcionar una interfaz simple, como un teclado, con activación de pulsación de tecla desde el modo SLEEP. El tramo RB0 se combina con la entrada de interrupción externa INT.

nombre

Microcontrolador PIC16C84. Breve descripción

problemas del puerto

Problemas al organizar puertos bidireccionales

-Algunos comandos se ejecutan internamente como lectura+escritura. Por ejemplo, las instrucciones BCF y BSF leen todo el puerto, modifican un bit y devuelven el resultado. Aquí es donde se necesita precaución. Por ejemplo, la instrucción BSF para el bit 5 del registro f6 (puerto B) primero lee los ocho bits. Luego se manipula el bit 5 y el nuevo valor del byte se escribe en su totalidad en los latches de salida. Si otro bit del registro f6 usa i como E/S bidireccional (por ejemplo, el bit 0) y está actualmente definido como entrada, la entrada en ese pin se leerá y escribirá en el pestillo de salida de ese pin, sobrescribiendo su estado anterior.

Mientras este pin permanezca en modo de entrada, no surgirán problemas. Sin embargo, si la línea 0 luego cambia al modo de salida, su estado será indefinido.

Las fuentes de corriente externas ("montaje Y", "montaje O") no deben "apoyarse" en la pata que opera en el modo de salida. Las grandes corrientes resultantes pueden dañar el cristal.

Acceso serie a puertos de E/S

La escritura en el puerto de salida ocurre al final del ciclo de comando. Pero al leer, los datos deben ser estables al comienzo del ciclo de instrucción. Tenga cuidado con las lecturas que siguen inmediatamente a las escrituras en el mismo puerto. Aquí es necesario tener en cuenta la inercia de establecer el voltaje en los terminales. Es posible que se requiera un retraso de software para permitir que el voltaje en el pin (dependiendo de la carga) se estabilice antes de que se ejecute el siguiente comando de lectura.

Resumen de comandos y símbolos

Cada comando PIC16C84 es una palabra de 14 bits, que se divide por significado en las siguientes partes: - 1. código de operación, -2. un campo para uno o más operandos que pueden o no participar en esta instrucción. El conjunto de instrucciones PIC16C84 incluye instrucciones orientadas a bytes, instrucciones orientadas a bits, operaciones constantes e instrucciones de transferencia de control.

Para los comandos orientados a bytes, "f" denota el registro sobre el que se actuará; "d" - bit determina dónde poner el resultado. Si "d"=0 entonces el resultado se colocará en el registro W, con "d"=1 el resultado se colocará en la "f" mencionada en el comando. Para instrucciones orientadas a bits, "b" indica el número del bit involucrado en la instrucción, y "f" es el registro en el que se encuentra este bit.

Para comandos de transferencia y operaciones constantes, "k" denota una constante de ocho u once bits.

Todos los comandos se ejecutan dentro de un ciclo de comando. En dos casos, la ejecución de la instrucción toma dos ciclos de instrucción: -1. verificación de condición y salto, -2. cambiar contador de programa como resultado

ejecución de comandos. Un ciclo de comando consta de cuatro períodos del generador. Así, para un oscilador de 4 MHz, el tiempo de ejecución del ciclo de comando será de 1 µs.

Comandos orientados a bytes

Microcontrolador PIC16C84. Breve descripción

Comandos orientados a bits

Microcontrolador PIC16C84. Breve descripción

Transiciones

Microcontrolador PIC16C84. Breve descripción

Notas y explicaciones

Nota 1: Los comandos TRIS y OPCIÓN se han colocado en la lista de comandos para compatibilidad con la familia PIC16C5X. No se recomienda su uso. En el PIC16C84, los registros TRIS y OPTION se leen/escriben como registros numerados regulares. Tenga en cuenta que es posible que estos comandos no se admitan en futuros desarrollos de PIC16CXX. Nota 2: cuando se modifica un registro de E/S, como MOVF 6,1, el valor utilizado para la modificación se lee directamente de los pines del chip. Si el valor del latch de salida para un pin programado para salida es "1", pero la señal externa en ese pin es "0" debido a un "abultamiento" en el exterior, entonces se leerá "0". Nota 3: Si el operando de esta instrucción es el registro f1 (y d=1 si está permitido), entonces el divisor, si está conectado a RTCC, se pondrá a cero.

Restablecer condiciones

En PIC16C84, existen diferencias entre las opciones de reinicio:

1) Restablecimiento de encendido.

2) Restablecimiento externo/MCLR durante el funcionamiento normal.

3) Reinicio externo /MCLR en modo SLEEP.

4) Restablecimiento al final del retardo del temporizador WDT durante el funcionamiento normal.

5) Restablecimiento al final del retardo del temporizador WDT en modo SLEEP.

Algunos de los registros especiales no se inicializan cuando se reinician. Tienen un estado aleatorio al momento del encendido y no cambian con otros tipos de reinicios. La otra parte de los registros especiales se inicializa al "estado de reinicio" para todos los tipos de reinicios, excepto el reinicio al final del retardo del temporizador WDT en el modo SLEEP. Es solo que este reinicio se considera como un retraso temporal en el funcionamiento normal. Hay algunas excepciones más. El contador del programa siempre se pone a cero (0000h). Los bits de estado TO y PD se establecen o se borran según la opción de reinicio. El software utiliza estos bits para determinar la naturaleza del restablecimiento. Sus valores después del reinicio se muestran en la tabla. El estado de los registros después del reinicio se presenta en la tabla. Allí se aceptan notaciones: i-no cambia, x - desconocido, - no ejecutado, se lee como `0`. ? - se establecerá al final de la escritura en EEPROM

Microcontrolador PIC16C84. Breve descripción

Algoritmo de reinicio de encendido

El cristal PIC16C84 tiene un detector de encendido incorporado. El temporizador de inicio comienza a contar el tiempo de retardo después de que la tensión de alimentación haya cruzado el nivel de aproximadamente 1,2...1,8 voltios. Después de un retardo de unos 72 ms, se considera que la tensión ha alcanzado su valor nominal y se inicia otro retardo de medio tiempo para estabilizar el oscilador de cuarzo. Un bit de configuración programable le permite habilitar o deshabilitar el retraso desde el temporizador de inicio incorporado. El tiempo de inicio varía según las instancias de cristal, la potencia y la temperatura. Consulte las especificaciones de CC.

El temporizador de estabilización del generador cuenta 1024 pulsos del generador que ha comenzado a funcionar. Se cree que el oscilador de cuarzo ha entrado en modo durante este tiempo. Cuando se utilizan generadores RC, no se realiza la exposición a la estabilización.

A continuación, se habilita el temporizador de espera de restablecimiento externo /MCLR. Esto es necesario para aquellos casos en los que se requiera poner en funcionamiento de forma síncrona varios controladores PIC a través de una señal común /MCLR para todos. Si no se recibe dicha señal, después del tiempo Tost se genera una señal de reinicio interno y el controlador comienza a funcionar de acuerdo con el programa. El tiempo Tost es programado por los bits de configuración en la EEPROM. Aquí hay un problema en el que Vdd aumenta demasiado lentamente y todos los retrasos se encuentran en el arranque y la energía aún no ha alcanzado su valor de salud mínimo de Vdd (min). En tales casos, recomendamos usar cadenas RC externas para restablecer a /MCLR. Abajo hay una cadena

Microcontrolador PIC16C84. Breve descripción

Aquí puede usar un diodo para descargar rápidamente el capacitor cuando se apaga la alimentación. Se recomienda una resistencia R < 40 kΩ, entonces no caerán más de 0,2V sobre ella. resistencia de 100 ohmios

Temporizador de vigilancia

El temporizador de vigilancia es un generador RC incorporado completamente independiente que no requiere ningún circuito externo. Funcionará incluso si se detiene el oscilador principal, como es el caso con un comando SLEEP. El temporizador genera una señal de reinicio. La generación de dichos reinicios se puede desactivar escribiendo un cero en un bit de configuración especial de WDTE. Esta operación se realiza en la etapa de quema de microcircuitos.

Retraso WDT

El retardo WDT nominal es de 18 ms (sin el uso de un divisor). Depende de la temperatura, la tensión de alimentación, las características de los tipos de microcircuitos. Si se requieren grandes retrasos, se puede conectar al WDT un divisor integrado con una relación de división de hasta 1:128; que se programa escribiendo en el registro OPCIÓN. Aquí se pueden realizar exposiciones de hasta 2.5 segundos.

Los comandos "CLRWDT" y "SLEEP" reinician el WDT y el divisor si está conectado al WDT. Esto inicia el retraso desde el principio y evita que se genere la señal de reinicio durante un tiempo. Si se produce la señal de reinicio del WDT, el bit "TO" en el registro de estado (f3) se reinicia al mismo tiempo. En aplicaciones de alto ruido, el contenido del registro OPCIÓN es propenso a fallar. Por lo tanto, el registro OPCIÓN debe actualizarse a intervalos regulares.

Debe tenerse en cuenta que la peor combinación es: Vdd=min, temperatura=max y max factor de división; esto conduce al retraso de tiempo más largo, puede ser de varios segundos.

Tipos de generadores

Los cristales PIC16C84 pueden funcionar con cuatro tipos de osciladores incorporados. El usuario puede programar dos bits de configuración (FOSC1 y FOSC0) para seleccionar uno de cuatro modos: RC, LP, XT, HS.

Los cristales PIC16... también pueden sincronizarse desde fuentes externas. Un oscilador construido con resonadores de cuarzo o cerámica requiere un período de estabilización después del encendido. Para hacer esto, el temporizador de inicio del oscilador incorporado mantiene el dispositivo en el estado de reinicio durante aproximadamente 18 ms después de que la señal en el pin del chip /MCLR alcance el uno lógico. Por lo tanto, en muchos casos no se requiere una cadena RC externa asociada con /MCLR.

Los generadores integrados funcionan con ciertos valores nominales de la tensión de alimentación:

Microcontrolador PIC16C84. Breve descripción

¡ATENCIÓN! A frecuencias por debajo de 500 kHz, el oscilador interno puede generar un pulso armónico defectuoso cuando se alterna el bit 0 del puerto A. Esto no sucede cuando se usa un oscilador externo o con el oscilador RC incorporado.

Generador de cuarzo

PIC16C84-XT, -HS o -LP requieren un resonador de cristal o cerámica para conectarse a los pines OSC1 y OSC2.

Microcontrolador PIC16C84. Breve descripción

Las marcas son las siguientes: XT - oscilador de cristal estándar, HS - oscilador de cristal de alta frecuencia, LP - oscilador de baja frecuencia para aplicaciones económicas. La resistencia Rs puede ser necesaria para el oscilador "HS", especialmente por debajo de 20 MHz para amortiguar los armónicos. También puede ser necesario en modo XT con un resonador de corte en tira AT. La elección de condensadores para un resonador cerámico.

Microcontrolador PIC16C84. Breve descripción

Una mayor capacitancia aumentará la estabilidad del generador, pero también aumentará el tiempo de arranque. Los valores se dan a título orientativo. En los modos HS y XT, puede ser necesaria una resistencia en serie Rs para evitar armónicos.

generador rc.

Cuando no se requiere velocidad ni precisión de tiempo, un cristal OTP como el PIC16C84-RC ahorra dinero e implementa un oscilador RC simple.

Microcontrolador PIC16C84. Breve descripción

La frecuencia es función de la tensión de alimentación, la resistencia Rext, el condensador Cext y la temperatura. Además, la frecuencia del oscilador variará ligeramente de un lote a otro. La frecuencia de generación se ve afectada por la capacitancia intrínseca del cuerpo de cristal, su influencia es notable para pequeños valores de Cext. También se debe tener en cuenta la deriva de los elementos R y C. Para valores de Rext por debajo de 2.2 kΩ, el generador puede ser inestable o no arrancar. Con valores muy altos de Rext (por ejemplo, 1 MΩ), el generador se vuelve sensible a las interferencias, la humedad y las fugas de corriente de la instalación.

El valor recomendado de Rext está entre 5 kΩ y 100 kΩ. Aunque el oscilador funciona sin un capacitor externo (Cext = 0), recomendamos usar una capacitancia de más de 20 pF para aumentar la estabilidad. Con poco o ningún Cext, la frecuencia del oscilador depende en gran medida de las capacidades de montaje. La dispersión será mayor cuanto mayor sea el valor de R (y menor el valor de C (ya que en este caso, la influencia de las capacidades de montaje es más pronunciada).

La frecuencia del oscilador dividida por 4 señales está presente en el pin OSC2/CLKOUT y se puede usar para probar o sincronizar otros circuitos.

excitación externa

Microcontrolador PIC16C84. Breve descripción

Registro de OPCIONES

El registro OPTION (dirección 81h) está disponible para lectura y escritura y contiene varios bits de control que determinan la configuración del limitador donde se conecta: a RTCC o WDT, el signo del frente de la interrupción externa INT y la señal externa para RTCC, la conexión de una carga activa en el puerto RB.

Regístrese OPCIÓN Dirección 81h

Valor de encendido = FFH

Microcontrolador PIC16C84. Breve descripción

PSA - Divisor de conexión de bit a: 0 - RTCC

1-WDT

RTE - Flanco de la señal RTCC externa:

0 - incremento de flanco ascendente en el pin RTCC

1 - incremento de borde negativo en el pin RTCC

RTS - Fuente de señal para RTCC

0 - señal del generador interno

1 - Señal externa en el tramo RTCC

INTEDG - Flanco de señal INT:

0 - interrupción en un borde negativo en el pin INT

1 - interrupción de borde positivo en el pin INT

/RBPU - Bit de conexión de carga activo invertido al puerto B.

/RBPU = 0: Las cargas activas se conectarán según el algoritmo del puerto RB

/RBPU = 1: las cargas activas del puerto B siempre están deshabilitadas

Conexiones del divisor de frecuencia

El mismo contador de ocho bits se puede habilitar antes del RTCC o después del temporizador de vigilancia. Tenga en cuenta que el divisor solo funciona con uno de estos dispositivos. Repetimos, si el divisor funciona con RTCC, significa que de momento no funciona con el temporizador Watchdog y viceversa. Esquema de habilitación del contador (consulte la sección RTCC:RTCC}. Los bits PSA y PS0-PS2 en el registro de OPCIÓN determinan con qué dispositivo funciona el divisor y la configuración del factor de división. Cuando el divisor está conectado a RTCC, todos los comandos que escriben en RTCC ( por ejemplo, CLRF 16 MOVWF 1, BSF 1,x... etc.) restablecerá el divisor. Cuando está conectado al temporizador de vigilancia, el limitador junto con el temporizador de vigilancia restablecerá el comando CLRWDT. controlable A continuación se muestra un fragmento del programa para cambiar de RTCC a WDT

1. MOVLW B`xx0x0xxx` ;seleccione el reloj interno y un nuevo ;valor para el divisor. Si el nuevo valor de ; divisor es

2. OPCIÓN ;`000` o `001`, luego debe seleccionar temporalmente ;otro valor de divisor.

3. CLRF 1, restablecer RTCC y divisor.

4. MOVLW B`xxxx1xxx` ;seleccione WDT sin cambiar el valor del divisor.

5. OPCIÓN

6. CLRWDT, restablecer WDT y divisor.

7. MOVLW B`xxxx1xxx` ;seleccione un nuevo valor para el divisor.

8. OPCIÓN

Los elementos 1 y 2 solo se requieren cuando se ha conectado una fuente de impulsos externa al RTCC. Los ítems 7 y 8 son requeridos cuando el coeficiente

la división debe establecerse en `000` o `001`.

Cambiar el divisor de WDT a RTCC

1. CLRWDT, restablecer WDT y divisor.

2. MOVLW B`xxxx0xxx`; seleccione RTCC, nuevo valor para el divisor; fuente de señal.

3. OPCIÓN Estos programas deben usarse incluso si WDT está deshabilitado.

Palabra de configuración

El cristal PIC16C84 tiene cinco bits de configuración que se almacenan en EEPROM y se configuran durante la fase de programación del chip. Estos bits se pueden programar (leer como `0`) o dejarlos sin programar (leer como `1`) para seleccionar la opción de configuración de dispositivo adecuada. Estos bits están ubicados en la memoria EEPROM en la dirección 2007h. El usuario debe recordar que esta dirección se encuentra debajo del área de códigos y no está disponible para el programa. Configuración de celda EEPROM.

Microcontrolador PIC16C84. Breve descripción

CP - Bit de protección de código.

CP = 1: código de seguridad deshabilitado

CP = 0: código de seguridad habilitado

Los bits restantes de la palabra no se utilizan y se leen como unos.

etiqueta individual

El cristal PIC16C84 tiene cuatro palabras ubicadas en (2000h-2003h) Estas se utilizan para almacenar el código de identificación del usuario (ID), la suma de verificación u otra información. Al igual que la palabra de configuración, solo el programador puede leerlos o escribirlos. No hay acceso al programa para ellos. Si el cristal está protegido, se recomienda al usuario utilizar solo los siete bits inferiores de cada ID de palabra para la identificación y escribir "0" en el bit superior. Entonces la palabra ID se puede leer incluso en una versión protegida.

Protección de los programas contra la lectura

El código de programa que se escribe en el chip se puede proteger contra lectura configurando el bit de protección (CP) en la palabra de configuración a cero. El contenido del programa no se puede leer de tal manera que se pueda trabajar con él. Además, cuando se establece el bit de protección, se vuelve imposible cambiar el programa. Lo mismo se aplica al contenido de la memoria de datos EEPROM.

Si se establece la protección, el bit CP solo se puede borrar junto con el contenido del cristal. Primero se borrará la memoria de programa EEPROM y la memoria de datos, y por último el bit de protección del código CP.

Comprobación de un cristal con protección instalada. Al leer un chip protegido, leer cualquier dirección de memoria dará un resultado similar a 0000000XXXXXXX (binario), donde X es 0 o 1. Para verificar la integridad de la memoria en un chip protegido, siga las reglas:

1) programar y comprobar el funcionamiento de un cristal en funcionamiento.

2) configure la protección del código del programa y lea el contenido de la memoria del programa en el archivo de referencia.

3) Verifique cualquier chip protegido comparando su memoria de programa con el contenido de este punto de referencia.

La memoria de datos EEPROM no se puede comprobar después de establecer el bit de seguridad.

Modo de bajo consumo

El modo SLEEP se ingresa mediante el comando SLEEP. Con este comando, si el WDT está habilitado, se reinicia y comienza la temporización, el bit "PD" en el registro de estado (f3) se reinicia, el bit "TO" se establece y el oscilador interno se apaga. Los puertos de E/S conservan el estado que tenían antes de ingresar al modo SLEEP. Para reducir el consumo de corriente en este modo, los pines deben configurarse de modo que no fluya corriente entre el cristal y los circuitos externos. Los pines de entrada deben conectarse con resistencias externas altas o bajas para evitar corrientes de conmutación causadas por entradas flotantes de alta resistencia. Lo mismo ocurre con RTCC. La pierna /MCLR debe ser energizada por Vihmc.

La salida del modo SLEEP se realiza como resultado de los siguientes eventos:

1. Restablecimiento externo: pulso de nivel bajo en el pin /MCLR.

2. Restablecer cuando se activa WDT (si está habilitado)

3. Interrupciones. (Interrupción en el pin INT, interrupción en el cambio del puerto B, interrupción al completar la escritura de datos EEPROM).

El primer evento reinicia todo el dispositivo. Los otros dos eventos sugieren que el programa continúa ejecutándose. El bit "PD" en el registro de estado (f3), que se establece en el encendido pero se restablece con el comando "SLEEP", se puede usar para determinar el estado del procesador antes de "activarlo": el procesador estaba en "SLEEP" (arranque en caliente), o simplemente se apagó (arranque en frío). El bit "TO" le permite determinar qué causó la salida del modo SLEEP: ya sea una señal externa en el pin /MCLR o la operación del WDT.

Para que un dispositivo se despierte del modo SLEEP a través de una interrupción, la interrupción debe habilitarse configurando la máscara adecuada en el registro INTCON. Al salir del modo SLEEP, el programa de fondo se ejecutará si la máscara general deshabilita todas las interrupciones (GIE=0). Si GIE=1, entonces se ejecutará la rutina de interrupción.

Valores máximos de parámetros eléctricos

Los parámetros fuera de estos límites pueden dañar el chip. Operar el cristal en sus valores límite durante mucho tiempo afectará su confiabilidad.

Microcontrolador PIC16C84. Breve descripción

Notas:

1. La disipación de energía total no debe exceder los 800 mW para cada gabinete. La potencia disipada se calcula mediante la siguiente fórmula:

Pdis= Vdd(Idd - Suma(Ioh)) + Suma ((Vdd - Voh)Ioh) + Suma (Vol Iol)

2. Dejar caer el voltaje en el pin /MCLR por debajo de Vss (tierra) inducirá corrientes altas, superiores a 80 mA, y puede dañar esta línea. Por lo tanto, le recomendamos que aplique señales al pin /MCLR a través de una resistencia de terminación de 50-100 ohmios.

Parámetros de CC

Especificaciones de CC: PIC16C84-04, PIC16C84-10.

(Para desempeño comercial, industrial, automotriz).

MEMEC BALTIC Ltd. es miembro de Memec International Components Group y Raab Karcher Electronics Group. Este grupo de distribuidores de componentes electrónicos es líder en la distribución de la última tecnología electrónica y componentes semiconductores.

MEMEC BALTIC Ltd. representa al grupo de empresas MEMEC y es el distribuidor oficial de Microchip y Raychem en Rusia, Ucrania, Bielorrusia y los países bálticos.

MEMEC BALTIC Ltd.

Publicación: N. Bolshakov, rf.atnn.ru

Ver otros artículos sección Microcontroladores.

Lee y escribe útil comentarios sobre este artículo.

<< Volver

Últimas noticias de ciencia y tecnología, nueva electrónica:

Cuero artificial para emulación táctil. 15.04.2024

En un mundo tecnológico moderno donde la distancia se está volviendo cada vez más común, mantener la conexión y la sensación de cercanía es importante. Los recientes avances en piel artificial realizados por científicos alemanes de la Universidad del Sarre representan una nueva era en las interacciones virtuales. Investigadores alemanes de la Universidad del Sarre han desarrollado películas ultrafinas que pueden transmitir la sensación del tacto a distancia. Esta tecnología de punta brinda nuevas oportunidades de comunicación virtual, especialmente para quienes se encuentran lejos de sus seres queridos. Las películas ultrafinas desarrolladas por los investigadores, de sólo 50 micrómetros de espesor, pueden integrarse en textiles y usarse como una segunda piel. Estas películas actúan como sensores que reconocen señales táctiles de mamá o papá, y como actuadores que transmiten estos movimientos al bebé. El toque de los padres sobre la tela activa sensores que reaccionan a la presión y deforman la película ultrafina. Este ... >>

Arena para gatos Petgugu Global 15.04.2024

Cuidar a las mascotas a menudo puede ser un desafío, especialmente cuando se trata de mantener limpia la casa. Se ha presentado una nueva e interesante solución de la startup Petgugu Global, que facilitará la vida a los dueños de gatos y les ayudará a mantener su hogar perfectamente limpio y ordenado. La startup Petgugu Global ha presentado un inodoro para gatos único que puede eliminar las heces automáticamente, manteniendo su hogar limpio y fresco. Este innovador dispositivo está equipado con varios sensores inteligentes que monitorean la actividad del baño de su mascota y se activan para limpiar automáticamente después de su uso. El dispositivo se conecta al sistema de alcantarillado y garantiza una eliminación eficiente de los residuos sin necesidad de intervención del propietario. Además, el inodoro tiene una gran capacidad de almacenamiento, lo que lo hace ideal para hogares con varios gatos. El arenero para gatos Petgugu está diseñado para usarse con arena soluble en agua y ofrece una gama de arena adicional ... >>

El atractivo de los hombres cariñosos. 14.04.2024

El estereotipo de que las mujeres prefieren a los "chicos malos" está muy extendido desde hace mucho tiempo. Sin embargo, una investigación reciente realizada por científicos británicos de la Universidad de Monash ofrece una nueva perspectiva sobre este tema. Observaron cómo respondieron las mujeres a la responsabilidad emocional y la voluntad de los hombres de ayudar a los demás. Los hallazgos del estudio podrían cambiar nuestra comprensión de lo que hace que los hombres sean atractivos para las mujeres. Un estudio realizado por científicos de la Universidad de Monash arroja nuevos hallazgos sobre el atractivo de los hombres para las mujeres. En el experimento, a las mujeres se les mostraron fotografías de hombres con breves historias sobre su comportamiento en diversas situaciones, incluida su reacción ante un encuentro con un vagabundo. Algunos de los hombres ignoraron al vagabundo, mientras que otros lo ayudaron, como comprarle comida. Un estudio encontró que los hombres que mostraban empatía y amabilidad eran más atractivos para las mujeres en comparación con los hombres que mostraban empatía y amabilidad. ... >>

Noticias aleatorias del Archivo

Espacio libre de moho incómodo 05.07.2012

Una conocida hipótesis llamada panspermia afirma que la vida puede ser transportada de un planeta a otro e incluso entre sistemas estelares vecinos por microorganismos que viajan en asteroides. Es cierto que para esto es necesario que los microorganismos puedan soportar las duras condiciones del espacio durante mucho tiempo: frío, vacío, radiación, etc.

Resulta que en la Tierra hay microorganismos que pueden vivir en tales condiciones durante al menos un año. Así lo demostró el experimento Expose-E realizado en la ISS, cuyos resultados se publicaron en un número especial de Astrobiology Journal.

El experimento comenzó en febrero de 2008, cuando se envió a la ISS un contenedor especialmente equipado del tamaño de un diplomático con muchos compartimentos, que contenía mezclas orgánicas complejas y varios microorganismos: bacterias, semillas, mohos y algas. En total, 664 muestras biológicas y bioquímicas "llegaron" a la ISS. El contenedor estuvo expuesto fuera del módulo europeo de la estación y durante 18 meses muchos microorganismos y mezclas contenidas en él existieron en el espacio exterior, expuestos al vacío, radiación solar ultravioleta, radiación de rayos cósmicos y frecuentes cambios de temperatura. Para las muestras restantes en compartimentos cerrados, se recrearon las condiciones que existen en la superficie de Marte.

En 2009, el contenido del contenedor regresó a la Tierra y fue sometido a un examen exhaustivo. Los científicos han descubierto que el moho Xanthoria elegans, recolectado para un experimento en las montañas de España, sobrevivió mejor al viaje espacial. En el espacio, cayó en hibernación, esperando condiciones más favorables y, al regresar a la Tierra, comenzó a crecer nuevamente. En el vacío, el agua que contenía se evaporó de inmediato, el ultravioleta mortal del Sol no lo mató, e incluso los rayos X y la radiación gamma de los rayos cósmicos, que destruyen el ADN e introducen muchas mutaciones en él, no causaron daños visibles. lo. El biólogo René Demetz de la Agencia Espacial Europea, que participó en el experimento, dijo que la tasa de supervivencia del moho Xanthoria elegans no tiene igual en la Tierra.

Otras noticias interesantes:

▪ El llavero activa el sistema inmunológico

▪ Un dispositivo que imita el funcionamiento del cerebro

▪ Sintetizó una nueva forma de carbono

▪ Células madre en la cáscara

▪ Daño de lazos

Feed de noticias de ciencia y tecnología, nueva electrónica

 

Materiales interesantes de la Biblioteca Técnica Libre:

▪ sección del sitio Sintetizadores de frecuencia. Selección de artículos

▪ Artículo de Yukteswar. Aforismos famosos

▪ artículo ¿Quién es Kozma Prutkov? Respuesta detallada

▪ Artículo de Krabi. Milagro de la naturaleza

▪ artículo Audífono. Enciclopedia de radioelectrónica e ingeniería eléctrica.

▪ artículo Cómo distinguir las bases de los ácidos. experiencia química

Deja tu comentario en este artículo:

Nombre:


Email opcional):


comentar:





Todos los idiomas de esta página

Hogar | Biblioteca | Artículos | Mapa del sitio | Revisiones del sitio

www.diagrama.com.ua

www.diagrama.com.ua
2000 - 2024