Вы находитесь на странице: 1из 65

MANUAL DE ESPECIFICACINES DE LOS PICS DE LA FAMILIA 16F

MEMORIA DEL PROGRAMA


EEPROM: tambin se graba elctricamente, pero su borrado es mucho ms sencillo, ya que tambin es elctrico. No se pueden conseguir grandes capacidades y su tiempo de de escritura y su consumo es elevado. EEPROM: EEPROM responde a Erasable Programmable Read Only Memory que se puede traducir como Memoria programable borrable de solo lectura. Tambin se la conoce como E-2-PROM. Como su nombre sugiere, una EEPROM puede ser borrada y programada con impulsos elctricos. Al ser una pieza que se puede gestionar por estos impulsos elctricos, podemos realizar todas estas operaciones de reprogramacin sin tener que desconectarla de la placa a la cual va conectada. La EEPROM tambin se conoce como non-volatile memory o memoria no voltil y es debido a que cuando se desconecta la energa, los datos almacenados en la EEPROM no sern eliminados quedando intactos. Las EEPROM ms nuevas no tiene datos almacenados en ellas y deben ser primero configuradas con un programador antes de ser usadas. La informacin almacenada dentro de este dispositivo puede permanecer durante aos sin una fuente de energa elctrica. Son usadas para almacenar informacin programable de usuario, como por ejemplo:

Informacin de programacin VCR Informacin de programacin de CD Informacin de usuario de productos instalados en el equipo

La EEPROM en el monitor realiza dos funciones:

Cuando encendemos un monitor se copiarn todos los datos o informacin desde la EEPROM al microprocesador. Por ejemplo, la EEPROM dejar al microprocesador conocer las frecuencias en las cuales el monitor funcionar. La EEPROM se utiliza para guardar la configuracin mas reciente del monitor. La configuracin del monitor no desaparecer aunque el monitor sea apagado. Cuando se haga un cambio en dicha configuracin, el microprocesador actualiza estos cambios en la EEPROM. Cuando el monitor vuelve a encenderse, los datos ya actualizados son usados para poner el monitor operativo.

FLASH: se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar en circuito al igual que las EEPROM, pero que suelen disponer de mayor capacidad que estas ltimas. Son recomendables aplicaciones en las que es necesario modificar el programa a lo largo de la vida del producto. Por sus mejores prestaciones, est sustituyendo a la memoria EEPROM para contener instrucciones. De esta forma Microchip comercializa dos microcontroladores prcticamente iguales que slo se diferencian en que la memoria de programa de uno de ellos es tipo EEPROM y la del otro tipo Flash. Se trata del PIC16C84 y elPIC16F84, respectivamente. De este modo la tarjeta logra guardar la informacin que el usuario requiere. Mientras ms compacta est distribuida su estructura, mayor informacin almacena, y asimismo tambin aumentan los costos en la fabricacin de estos dispositivos. La otra forma de almacenar toda esta informacin es a travs de un disco duro, y la gran diferencia que tienen con las tarjetas de memoria flash, es que estas ltimas no cuentan con partes mviles, sino que estn formadas por una sola pieza fabricada en un material semiconductor. De este modo se configura como un dispositivo de tamao muy reducido que no pierde los datos cuando sufre de movimientos fuertes y/o golpes. Generalmente son de forma cuadrada o rectangular y se pueden conectar al computador a travs de un puerto USB.

En comparacin con los discos duros convencionales, las tarjetas de memoria flash resultan ser bastante caras, ya se eleva la relacin preciocapacidad de almacenaje. Sin embargo, vale la pena el gasto debido a lo cmodas que son, ocupando muy poco espacio y teniendo un peso bastante menor. En esta parte del manual veremos de mayor a menor segn la cantidad de memoria eeprom y flash que tiene cada uno de los 10 pics que manejamos en este manual:

MEMORIA EEPROM
300
200 100 0 BYTES

BYTES

MEMORIA FLASH
16 14 12 10 8 6 4 2 0 KB

MEMORIA RAM

RAM son las siglas de random access memory, un tipo de memoria de ordenador a la que se puede acceder aleatoriamente; es decir, se puede acceder a cualquier byte de memoria sin acceder a los bytes precedentes. La memoria RAM es el tipo de memoria ms comn en ordenadores y otros dispositivos como impresoras. Hay dos tipos bsicos de memoria RAM RAM dinmica (DRAM) RAM esttica (SRAM) Los dos tipos de memoria RAM se diferencian en la tecnologa que utilizan para guardar los datos, la memoria RAM dinmica es la ms comn. La memoria RAM dinmica necesita actualizarse miles de veces por segundo, mientras que la memoria RAM esttica no necesita actualizarse, por lo que es ms rpida, aunque tambin ms cara. Ambos tipos de memoria RAM son voltiles, es decir, que pierden su contenido cuando se apaga el equipo. Coloquialmente el trmino RAM se utiliza como sinnimo de memoria principal, la memoria que est disponible para los programas, por ejemplo, un ordenador con 8M de RAM tiene aproximadamente 8 millones de bytes de memoria que los programas puedan utilizar.

MEMORIA RAM
600 500 400 300 200 100 BYTES

OSCILADOR INTERNO
En electrnica un oscilador es un circuito que es capaz de convertir la corriente continua en una corriente que vara de forma peridica en el tiempo (corriente peridica); estas oscilaciones pueden ser senoidales, cuadradas, triangulares, etc., dependiendo de la forma que tenga la onda producida. Un oscilador de onda cuadrada suele denominarse multivibrador y por lo tanto, se les llama osciladores slo a los que funcionan en base al principio de oscilacin natural que constituyen una bobina L (inductancia) y un condensador C (Capacitancia), mientras que a los dems se le asignan nombres especiales.

Un oscilador electrnico es fundamentalmente un amplificador cuya seal de entrada se toma de su propia salida a travs de un circuito de realimentacin. Se puede considerar que est compuesto por: Un circuito cuyo desfase depende de la frecuencia. Por ejemplo: o Oscilante elctrico (LC) o electromecnico (cuarzo). o Retardador de fase RC o puente de Wien Un elemento amplificador Un circuito de realimentacin.

A pesar de no ser un oscilador electrnico tal y como se ha definido antes, la primera oscilacin a tener en cuenta es la producida por un alternador, el cual, al estar compuesto por una espira que gira alrededor de su eje longitudinal en el interior de un campo magntico, produce una corriente elctrica inducida en los terminales de la espiral. Esta corriente elctrica, si el campo magntico es homogneo, tiene forma senoidal. As, si la espira gira a 3000 rpm, la frecuencia de la corriente alterna inducida es de 50 Hz.

El circuito integrado oscilador ms usado por principiantes, es el 555, tambin el 4069 y otros.

En un oscilador electrnico lo que se pretende es obtener un sistema de oscilacin que sea estable y peridico, manteniendo una frecuencia y una forma de onda constante. Para ello se aprovecha el proceso natural de oscilacin amortiguada que poseen los circuitos compuestos por elementos capacitivos o inductivos. Estos elementos tienen la capacidad de almacenar carga elctrica en su interior (cargarse elctricamente) y descargarse cuando la carga que los alimentaba ha desaparecido.

El ejemplo ms simple de oscilador es el compuesto por una bobina, un condensador, una batera y un conmutador. Inicialmente el conmutador se halla en su posicin izquierda, de forma que el condensador C se carga con la corriente que proporciona la batera V. Transcurrido cierto tiempo el conmutador se pasa a la posicin derecha. Como la bobina no posee ninguna carga y el condensador est totalmente cargado, este ltimo se descarga completamente hacia la bobina, una vez que el condensador se ha descargado completamente es ahora la bobina la que se descarga sobre el condensador, no parndose hasta que la carga en la bobina es cero y el condensador por lo tanto vuelve a estar cargado. Este proceso se repite hasta que la energa almacenada por uno y otro se consume en forma de calor.

Este proceso puede representarse grficamente empleando un eje cartesiano X-Y en el que el eje X representa el tiempo y el eje Y el valor de la corriente elctrica que circula por la bobina y las tensiones en los bornes del condensador. Si se lo dibuja se puede apreciar como se produce un continuo intercambio de energa entre el condensador y la bobina. La substraccin de energa producida por la resistencia de la bobina y el condensador (lo que provoca el calentamiento de los componentes) es lo que hace que este proceso no sea infinito.

En la grfica se puede apreciar cmo el defase de tensiones existente entre bornes de la bobina es siempre de sentido opuesto a la existente en el condensador. Este defase es de 180 entre tensiones, existiendo un defase de 90 entre la corriente que circula por la bobina y la tensin existente.

Esta seal se va amortiguando con el tiempo, hasta que acaba extinguindose transcurrido un perodo bastante corto. Un circuito electrnico que sea capaz de volver a cargar elctricamente uno de los componentes permitir hacer un proceso de oscilacin constante.

Serie 1
40 30 20 10 0 Serie 1 Serie 1

ADC (Convertidor de analgico a digital)

La conversin analgica-digital (CAD) consiste en la transcripcin de seales analgicas en seales digitales, con el propsito de facilitar su procesamiento (codificacin, compresin, etc.) y hacer la seal resultante que es la digital ms inmune al ruido y otras interferencias a las que son ms sensibles las seales analgicas.

Procesos de la conversin A/D.

Digitalizacin La digitalizacin o conversin analgica-digital consiste bsicamente en realizar de forma peridica medidas de la amplitud (tensin) de una seal por ejemplo, la que proviene de un micrfono si se trata de registrar sonidos, de un sismgrafo si se trata de registrar vibraciones o de una sonda de un osciloscopio para cualquier nivel variable de tensin de inters, al cambiar las medidas de la tensin se van redondear sus valores a un conjunto finito de niveles preestablecidos de tensin y registrarlos como nmeros enteros en cualquier tipo de memoria o soporte. La conversin A/D tambin es conocida por el acrnimo ingls ADC (analogue to digital converter). En esta definicin estn patentes los cuatro procesos que intervienen en la conversin analgica-digital:

1.Muestreo: el muestreo (sampling) consiste en tomar muestras peridicas de la amplitud de onda. La velocidad con que se toma esta muestra, es decir, el nmero de muestras por segundo, es lo que se conoce como frecuencia de muestreo. 2.Retencin (hold): las muestras tomadas han de ser retenidas por un circuito de retencin, el tiempo suficiente para permitir evaluar su nivel. Desde el punto de vista matemtico este proceso no se contempla, ya que se trata de un recurso tcnico debido a limitaciones prcticas, y carece, por tanto, de modelo matemtico. 3.Cuantificacin: en el proceso de cuantificacin se mide el nivel voltaje de cada una de las muestras. Consiste en asignar un margen valor de una seal analizada a un nico nivel de salida. Incluso en versin ideal, aade, como resultado, una seal indeseada a la seal entrada: el ruido de cuantificacin. de de su de

4.Codificacin: la codificacin consiste en traducir los valores obtenidos durante la cuantificacin al cdigo binario. Hay que tener presente que el cdigo binario es el ms utilizado, pero tambin existen otros tipos de cdigos que tambin son utilizados.

Durante el muestreo y la retencin, la seal an es analgica, puesto que an puede tomar cualquier valor. No obstante, a partir de la cuantificacin, cuando la seal ya toma valores finitos, la seal ya es digital. Los cuatro procesos tienen lugar en un conversor analgico-digital.

Ventajas de la seal digital 1. Cuando una seal digital es atenuada o experimenta perturbaciones leves, puede ser reconstruida y amplificada mediante sistemas de regeneracin de seales.

2. Cuenta con sistemas de deteccin y correccin de errores, que se utilizan cuando la seal llega al receptor; entonces comprueban la seal, primero para detectar algn error, y, algunos sistemas, pueden luego corregir alguno o todos los errores detectados previamente. 3. Facilidad para el procesamiento de la seal. Cualquier operacin es fcilmente realizable a travs de cualquier software de edicin o procesamiento de seal. 4. La seal digital permite la multigeneracin infinita sin prdidas de calidad. 5. Es posible aplicar tcnicas de compresin de datos sin prdidas o tcnicas de compresin con prdidas basados en la codificacin perceptual mucho ms eficientes que con seales analgicas.

Inconvenientes de la seal digital 1. Se necesita una conversin analgica-digital previa y una decodificacin posterior, en el momento de la recepcin. 2. Si no se emplean un nmero suficientes de niveles de cuantificacin en el proceso de digitalizacin, la relacin seal a ruido resultante se reducir con relacin a la de la seal analgica original que se cuantific. Esto es una consecuencia de que la seal conocida como error de cuantificacin que introduce siempre el proceso de cuantificacin sea ms potente que la del ruido de la seal analgica original, en cuyo caso, adems, se requiere la adicin de un ruido conocido como "dither" ms potente an con objeto de asegurar que dicho error sea siempre un ruido blanco y no una distorsin. En los casos donde se emplean suficientes niveles de cuantificacin, la relacin seal a ruido de la seal original se conservar esencialmente porque el error de cuantificacin quedar por debajo del nivel del ruido de la seal que se cuantific. Esto, naturalmente, es lo normal. 3. Se hace necesario emplear siempre un filtro activo analgico pasa bajo sobre la seal a muestrear con objeto de evitar el fenmeno conocido

como aliasing, que podra hacer que componentes de frecuencia fuera de la banda de inters quedaran registrados como componentes falsos de frecuencia dentro de la banda de inters. Asimismo, durante la reconstruccin de la seal en la posterior conversin D/A, se hace tambin necesario aplicar un filtro activo analgico del mismo tipo (pasa bajo) conocido como filtro de reconstruccin.

1)

28 canales -10 bits

16f1517

2)

12 canales -10 bits

16f690

3)

12 canales -10 bits

16f677

4)

12 canales -10 bits

16F685

5)

8 canales -10 bits

16f946

6)

8 canales -10 bits

16f1824

7)

8 canales -10 bits

16f877

8)

NO CONTIENE ADC

16f628

9)

NO CONTIENE ADC 10)

16f648A

10)

NO CONTIENE ADC

16f84A

PINES (pinout)
Pinout es un trmino anglosajn que, en traduccin libre, significa patillaje, o ms correctamente asignacin de patillaje. Es usado en electrnica para determinar la funcin de cada pin en un circuito integrado, o bien en un dispositivo electrnico discreto. En informtica, para describir cmo un conector es cableado. Cada patica del conector tiene un propsito que se describe brevemente en el pinout.

El pinout puede ser mostrado como una simple tabla o puede incluir un diagrama. Es importante dejar claro cmo ver el diagrama, indicar si ste muestra la parte posterior del conectador (donde se unen los alambres a l) o la "cara de acoplamiento" del conectador. Los pinouts publicados son particularmente importantes cuando diferentes fabricantes desean interconectar sus productos usando estndares abiertos.

Igualmente se emplea para saber la correlacin de patillas en las clavijas situadas en ambos extremos del cable.

16f690

16f84A

16f877

16f628

16f1517

16f1824

16f648A

16f677

16f685

16f946

PUERTOS I/O (ENTRADA/SALIDA)

En computacin y en la electrnica, entrada/salida, tambin abreviado E/S o I/O (del original en ingls input/output), es la coleccin de interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema de procesamiento de informacin para comunicarse unas con otras, o las seales (informacin) enviadas a travs de esas interfaces. Las entradas son las seales recibidas por la unidad, mientras que las salidas son las seales enviadas por sta.

El trmino puede ser usado para describir una accin; "realizar una entrada/salida" se refiere a ejecutar una operacin de entrada o de salida. Los dispositivos de E/S los usa una persona u otro sistema para comunicarse con una computadora. De hecho, a los teclados y ratones se los considera dispositivos de entrada de una computadora, mientras que los monitores e impresoras son vistos como dispositivos de salida de una computadora. Los dispositivos tpicos para la comunicacin entre computadoras realizan las dos operaciones, tanto entrada como salida, y entre otros se encuentran los mdems y tarjetas de red.

Es importante notar que la designacin de un dispositivo, sea de entrada o de salida, cambia al cambiar la perspectiva desde el que se lo ve. Los teclados y ratones toman como entrada el movimiento fsico que el usuario produce como salida y lo convierten a una seal elctrica que la computadora pueda entender. La salida de estos dispositivos es una entrada para la computadora. De manera anloga, los monitores e impresoras toman como entrada las seales que la computadora produce como salida. Luego, convierten esas seales en representaciones inteligibles que puedan ser interpretadas por el usuario. La interpretacin ser, por ejemplo, por medio de la vista, que funciona como entrada.

En arquitectura de computadoras, a la combinacin de una unidad central de procesamiento (CPU) y memoria principal (aqulla que la CPU puede escribir o leer directamente mediante instrucciones individuales) se la considera el corazn de la computadora y cualquier movimiento de informacin desde o hacia ese conjunto se lo considera entrada/salida. La CPU y su circuitera complementaria proveen mtodos de entrada/salida que se usan en programacin de bajo nivel para la implementacin de controladores de dispositivos.

Los sistemas operativos y lenguajes de programacin de ms alto nivel brindan conceptos y primitivas de entrada/salida distintos y ms abstractos. Por ejemplo, un sistema operativo brinda aplicativos que manejan el concepto de archivos. El lenguaje de programacin C define funciones que les permiten a sus programas realizar E/S a travs de streams, es decir, les permiten leer datos desde y escribir datos hacia sus programas.

Una alternativa para las funciones primitivas especiales es la mnada de E/S, que permite que los programas describan su E/S y que las acciones se lleven a cabo fuera del programa. Esto resulta interesante, pues las funciones de E/S introduciran un efecto colateral para cualquier lenguaje de programacin, pero ahora una programacin puramente funcional resultara prctica. Los dispositivos de E/S estn formados por una parte mecnica y una parte electrnica, esta ltima se denomina controlador de dispositivo y generalmente la interfaz entre ambas partes es de bajo nivel.

Por ejemplo el controlador de un disco duro convierte el flujo de bits recibido a los bloques necesarios para la operacin a realizar.

Para diferenciar los dispositivos tenemos dos enfoques posibles, el primero de ellos se centra en el modo de almacenar la informacin (clasificando los dispositivos como de bloque o de carcter)1 y el segundo enfoque se centra en el destinatario de la comunicacin (usuario, maquina, comunicadores)

Un dispositivo de bloque almacena la informacin en bloques de tamao fijo. Al ser el bloque la unidad bsica de almacenamiento, todas las escrituras o lecturas se realizan mediante mltiplos de un bloque. Es decir escribo 3 o 4 bloques, pero nunca 3,5 bloques. El tamao de los bloques suele variar entre 512 Bytes hasta 32.768 Bytes. Un disco duro entrara dentro de esta definicin. A diferencia de un dispositivo de bloque un dispositivo de carcter, no maneja bloques fijos de informacin sino que enva o recibe un flujo de caracteres. Dentro de esta clase podemos encontrar impresoras o interfaces de red.

Entre cada categora y dispositivo, hay grandes diferencias: Velocidad de transferencia de datos: varios rdenes de magnitud para transferir los datos, segn las necesidades de cada dispositivo Aplicacin: la funcionalidad para la que est diseado un dispositivo tiene influencia sobre el software por ende lo tendr sobre el sistema operativo. Complejidad de control: cada dispositivo tiene una complejidad asociada, no es lo mismo controlar un ratn que gestionar un disco duro. Unidad de transferencia: datos transferidos como un flujo de bytes/caracteres o en bloques de tamao fijo Representacin de datos: cada dispositivo puede usar su propia codificacin de datos Condiciones de error: el porqu del error, su manera de notificarlo as como sus consecuencias difiere ampliamente entre los dispositivos

Un ejemplo de programacin de los puertos de entrada y salida son: Para poder configurar los puertos del PIC es necesario conocer la tabla de registros de la memoria de datos, la cual como dijimos, est dividida en el BANCO 0 y BANCO 1. Los registros importantes en la configuracin de los puertos son: STATUS PORTA PORTB TRISA TRISB direccin direccin direccin direccin direccin 0x3 0x5 0x6 0x5 0x6

Por defecto el PIC tendr todos los I/O port's (es decir los puertos RA y RB), colocados como entrada de datos, y si queremos cambiarlos habr que configurarlos. Al configurar los puertos debers tener en cuenta que:

Si asignas un CERO (0) a un pin, ste quedar como salida y... Si le asignas un UNO (1), quedar como entrada Esta asignacin se PUERTO hace A (5 en: bits)

TRISA para los pines del TRISB para los pines del PUERTO B (8 bits) Por ejemplo:

Si TRISA es igual a 11110 todos sus pines sern entradas salvo RA0 que esta como salida Si TRISB es igual a 00000001 todos sus pines sern salidas salvo RB0 que esta como entrada Cuando el PIC arranca se encuentra en el BANCO 0, como TRISA y TRISB estn en el BANCO 1 no queda otra, deberemos cambiar de banco. Esto se logra a travs del Registro STATUS STATUS es un Registro de 8 bits u 8 casillas, en el cual la N 5 (RP0) define

la

posicin

del

banco

en

donde

nos el

encontramos BANCO 0

Si pones un CERO (0) a RP0 estaremos en Si le pones un UNO (1) ya ves, estaremos en el BANCO 1 REGISTRO STATUS 7 IRP 6 RP1 5 RP0 4 TO 3 PD 2 Z 1 DC 0 C

Listo, ahora ya se sabe cmo configurar los puertos, pero lo aclararemos con un ejemplo completo. Luego vamos a escribir un cdigo que configure todos los pines del puerto A como entrada y todos los del puerto B como salida.

;---------------Encabezado------------list radix p=16f84 hex ; usaremos el PIC 16f84 ; y la numeracin hexadecimal

;------------mapa de memoria--------estado equ los trisa equ trisb equ 0x03 0x05 0x06 ; Aqu le asignamos nombres a ; registros indicando la posicin ; en la que se encuentran

;-------Configuracin de puertos------reset org comenzar goto org 0x00 ; origen del programa, aqu ; siempre que ocurra un reset ; salto a "inicio" ; origen del cdigo de programa

inicio 0x05

inicio bsf banco1 movlw movwf movlw movwf bcf al banco0

estado,5

; pongo rp0 a 1 y paso al

b'11111' ; cargo W con 11111 trisa ; y paso el valor a trisa b'00000000' ; cargo W con 00000000 trisb ; y paso el valor a trisb estado,5 ; pongo rp0 a 0 y regreso

;-----------------------------------------end ; se acab ;-----------------------------------------Descripcin del cdigo: Todo lo que escribas luego de un ";" (punto y coma) ser ignorado por el ensamblador, estos son los comentarios, y sirve para saber qu hace cada lnea de cdigo. Dicho esto no queda ms que describir el cdigo, as que vamos por partes. ;---------------Encabezado------------list radix p=16f84 hex ; usaremos el PIC 16f84 ; y la numeracin hexadecimal

Aqu se le indica al ensamblador para que microcontrolador estas codificando. Y cul ser el sistema de numeracin que utilizars (hexadecimal). Nota que hay tres columnas, en este caso la primera est vaca. Respeta las tabulaciones para no confundir al ensamblador. ;------------mapa de memoria--------estado equ los trisa equ 0x03 0x05 ; Aqu le asignamos nombres a ; registros indicando la posicin

trisb

equ

0x06

; en la que se encuentran

Recuerdas lo de la memoria de datos...? Bien, al registro STATUS, que est en la posicin 0x03 de la memoria de datos le puse la etiqueta "estado". equ es lo mismo que igual . (Es decir, le estoy asignando el nombre estado al registro que est en la posicin 0x03 de la memoria de datos). Luego hice lo mismo con trisa y trisb. ;-------Configuracin de puertos------reset org comenzar goto org bsf 0x00 ; origen del programa, aqu

inicio banco1

; siempre que ocurra un reset inicio ; salto a "inicio" 0x05 ; origen del cdigo de programa estado,5 ; pongo rp0 a 1 y paso al b'11111' ; cargo W con 11111 trisa ; y paso el valor a trisa b'00000000' ; cargo W con 00000000 trisb ; y paso el valor a trisb estado,5 ; pongo rp0 a 0 y regreso

movlw movwf movlw movwf bcf al banco0

La directiva org indica el sitio de la memoria en donde se escribe una parte del programa. En este caso el contador de programa apuntar a la direccin 0x00 (reset) entonces ejecutar la instruccin que sigue a continuacin, (saltar a la etiqueta inicio) y nuestro cdigo de programa comienza en la direccin de memoria 0x05 (aqu salto por encima de la interrupcin 0x04) BSF (SET FILE REGISTER), es la instruccin que pone un uno en el bit del registro especificado, en este caso pone a uno el bit 5 del registro STATUS (el rp0), para pasar al banco 1. movlw es algo as como... mueve el siguiente literal al Registro W. W es el Registro de Trabajo, y lo usamos para almacenar

momentneamente los datos que queremos mover. una vez hecho esto pasamos el dato a trisa, o a trisb, segn el caso. movwf es algo as como... mueve el contenido del registro W al registro f, en este caso f sera trisa o trisb. BCF (BIT CLEAR FILE REGISTER), sta instruccin limpia el bit del registro especificado, o lo pone a cero, en este caso pone a cero el bit 5 del registro STATUS para regresar al banco 0. ;-----------------------------------------end ; se acab ;------------------------------------------

PUERTO A PUERTO B PUERTO C

PUERTO A PUERTO B

PUERTO A PUERTO B PUERTO C PUERTO D PUERTO E

PUERTO A PUERTO B

PUERTO A PUERTO B PUERTO C

PUERTO A
PUERTO B PUERTO C

PUERTO A PUERTO B

PUERTO A PUERTO B PUERTO C

PUERTO A PUERTO B PUERTO C

PUERTO A

PUERTO B
PUERTO C PUERTO D PUERTO E

MODULACION POR ANCHO DE PULSOS (PWM)


Modulacin de ancho de pulso (PWM) , o la duracin de pulso de modulacin (PDM) , es una tcnica muy utilizada para controlar el poder inercial de los aparatos elctricos, hizo prcticas por los modernos interruptores electrnicos de potencia.

El valor medio de tensin (y corriente) alimenta a la carga se controla girando el interruptor entre la oferta y la carga dentro y fuera a un ritmo acelerado. Cuanto ms tiempo el interruptor est en comparacin con los perodos de descanso, mayor es la potencia suministrada a la carga.

La frecuencia de conmutacin PWM tiene que ser mucho ms rpido que lo que afecta a la carga, es decir, el dispositivo que utiliza el poder. Por lo general conmutaciones tienen que hacer varias veces por minuto en una estufa elctrica, 120 Hz en un regulador de la lmpara, de unos pocos kilohercios (kHz) a decenas de kHz para una unidad de motor y tambin a las decenas o cientos de kHz en los amplificadores de audio y computadora fuentes de alimentacin.

El trmino del ciclo de trabajo describe la proporcin de tiempo 'on' en el intervalo regular o "perodo" de tiempo, un ciclo de trabajo bajo corresponde a la energa baja, porque el poder est apagado durante la mayor parte del tiempo. El ciclo de trabajo se expresa en porcentaje, 100% es completamente en.

La principal ventaja de PWM es que la prdida de potencia en los dispositivos de conmutacin es muy baja. Cuando un interruptor est apagado no hay prcticamente ninguna corriente, y cuando est encendido, casi no hay cada de voltaje en el interruptor. Prdida de potencia, siendo el producto del voltaje y la corriente, por lo tanto, en ambos casos cercano a cero. PWM tambin funciona bien con controles

digitales, que, debido a su naturaleza en / apagado, puede configurar fcilmente el ciclo de trabajo necesario.

PWM tambin se ha utilizado en algunos sistemas de comunicacin que ha sido su ciclo de trabajo utilizado para transmitir informacin a travs de un canal de comunicacin. En el pasado, cuando slo el poder parcial que se necesitaba (por ejemplo, para una mquina de coser de motor), un restato (que se encuentra en el pedal de la mquina de coser es) conectado en serie con el motor ajustado la cantidad de corriente que fluye a travs del motor, pero perdi tambin de energa en forma de calor en el elemento de resistencia. Era un esquema ineficiente, pero tolerable, porque la potencia total es baja. Este fue uno de varios mtodos de control de potencia. Hubo otrosalgunos todava en uso-como variable de autotransformadores , incluyendo la marca registrada "Autrastat 'para la iluminacin teatral, y el Variac , por general, ajuste elctrico de CA. Estos eran muy eficientes, pero tambin relativamente costoso.

Durante casi un siglo, algunos motores de velocidad variable elctrica han tenido la eficiencia decente, pero eran algo ms complejo que motores de velocidad constante, ya veces requiere voluminosos aparatos elctricos externos, tales como un banco de resistencias de potencia variable o un convertidor rotativo, como la sala unidad de Leonard.

Sin embargo, adems de unidades de motor para ventiladores, bombas y robtica servos, haba una gran necesidad de medios compactos y de bajo costo para la aplicacin de ajuste elctrico para muchos dispositivos, como las cocinas elctricas y reguladores de la lmpara.

Una aplicacin inicial de PWM se encontraba en el Sinclair X10, un amplificador de 10 W de audio disponibles en forma de kit en la dcada de

1960. En la misma poca PWM comenz a ser utilizado en motores de corriente alterna de control. Muchos circuitos digitales pueden generar seales PWM (por ejemplo, muchos microcontroladores tienen salidas PWM). Se suele utilizar un contador que se incrementa de forma peridica (que se conecta directa o indirectamente con el reloj del circuito) y se pone a cero al final de cada periodo de la PWM. Cuando el valor del contador es mayor que el valor de referencia, la salida PWM cambios de estado de mayor a menor (o de bajo a alto). Esta tcnica se conoce como la dosificacin del tiempo, especialmente en lo que el tiempo de dosificacin de control, que proporcin fija de un ciclo de tiempo se gasta en el estado alto.

El contador se incrementar y restablecer peridicamente es la versin discreta de diente de sierra es el mtodo de interseccin. El comparador analgico del mtodo de interseccin se convierte en una simple comparacin entero entre el valor actual del contador y el valor de referencia digital (posiblemente digitalizados). El ciclo de trabajo slo podrn modificarse en pasos discretos, en funcin de la resolucin del contador. Sin embargo, un contador de alta resolucin puede proporcionar un rendimiento bastante satisfactorio.

Tipos Hay tres tipos de seales PWM (azul): la modulacin de punta (arriba), del borde de salida de modulacin (centro) y las legumbres centrada (los dos bordes estn abajo modulada). Las lneas verdes son la forma de onda de diente de sierra (primer y segundo caso) y una forma de onda triangular (tercer caso) que se utiliza para generar las formas de onda PWM utilizando el mtodo de interjectivo.

Hay tres tipos de modulacin por ancho de pulso (PWM) son posibles: 1. El centro del pulso que se establezca en el centro de la ventana de tiempo y ambos bordes del pulso se traslad a comprimir o expandir el ancho. 2. El borde de ataque se hace en el borde delantero de la ventana y el borde de la cola modulada. 3. El borde de la cola puede ser fijo y modulan el borde del papel.

PIC 16F690 CONTIENE PWM

PIC 16F84A

No contiene PWM incluido pero se puede programar

PIC 16F877 CONTIENE PWM

PIC 16F628 CONTIENE PWM

PIC 16F1824 CONTIENE PWM

PIC 16F648A CONTIENE PWM

PIC 16F677

NO CONTIENE PWM, PERO SE PUEDE PROGRAMAR

PIC 16F685

NO CONTIENE PWM, PERO SE PUEDE PROGRAMAR

PIC 16F946

CONTIENE PWM

TIMERS
Un temporizador es un tipo especial de reloj. A timer can be used to control the sequence of an event or process. Un contador de tiempo se puede utilizar para controlar la secuencia de un evento o proceso. Mientras que un cronmetro cuenta arriba de cero para medir el tiempo transcurrido, un temporizador de cuenta atrs de un intervalo de tiempo especificado, como un reloj de arena. Los temporizadores pueden ser mecnicos, electromecnicos, electrnicos (cuarzo), o incluso el software como todos los modernos ordenadores incluyen temporizadores digitales de una forma u otra. Cuando expire el plazo establecido algunos temporizadores se limitan a indicar que (por ejemplo, mediante una seal audible), mientras que otros funcionan los interruptores elctricos, tales como un interruptor de tiempo, que los cortes de energa elctrica. Temporizadores electrnicos Temporizadores electrnicos son esencialmente los relojes de cuarzo con una electrnica especial, y puede alcanzar una mayor precisin que los temporizadores mecnicos. Temporizadores electrnicos que la electrnica digital, pero puede tener un analgica o pantalla digital. Circuitos integrados han hecho la lgica digital tan barato que un temporizador electrnico es ahora ms barato que muchos contadores mecnicos y electromecnicos. Temporizadores individuales se implementan como un simple chip nico sistema informtico, similar a un reloj y por lo general con el mismo, producido en masa, la tecnologa. Los controladores modernos utilizan un controlador lgico programable en lugar de una caja llena de piezas electromecnicas. La lgica es usualmente concebida como si se tratara de rels, usando un lenguaje de programacin especial llamada lgica de escalera. En PLCs, contadores de tiempo son por lo general simulada por el software integrado en el controlador. Cada temporizador es ms que una entrada en una tabla mantenida por el software. Temporizadores digitales se utilizan en el dispositivo de seguridad como un temporizador de gas.

TEMPORIZADORES PC Sistemas de computadoras por lo general tienen al menos un temporizador. Estos suelen ser digitales contadores que, o bien aumentar o disminuir a una tasa fija de frecuencia , que a menudo es configurable, y que interrumpe el procesador al llegar a cero, o un contador con un tamao de palabra lo suficientemente grande que no llegar a su lmite de contador antes de fin de vida til del sistema.

Temporizador ms sofisticado puede tener la lgica de comparacin para comparar el valor del temporizador con un valor especfico, por software, que desencadena una accin cuando el valor del temporizador coincide con el valor preestablecido. Esto podra ser utilizado, por ejemplo, para medir los eventos o generacin de ancho de pulso modulado formas de onda para controlar la velocidad de los motores (con una clase D digital amplificador electrnico).

Como el nmero de temporizadores de hardware en un sistema informtico o un procesador es finito y limitado, sistemas operativos y sistemas embebidos suelen utilizar un temporizador de hardware nico para poner en prctica un conjunto ampliable de temporizadores software. En este escenario, la rutina del temporizador de hardware de servicio de interrupcin se ocupara de la casa de mantenimiento y gestin de software como temporizadores que sean necesarias, y el temporizador de hardware se configura para que caduque cuando el temporizador de software es la prxima a expirar. Al vencimiento, la rutina de interrupcin que actualizar el temporizador de hardware que expire cuando el temporizador de software es la prxima, ya cualquier accin que se pondra en marcha para los temporizadores de software que acababa de expirar. Temporizadores caducados que son continuas tambin se pone a un nuevo tiempo de caducidad en funcin de su intervalo de tiempo, y de una sola vez temporizadores sera deshabilitar o quitar de la serie de

temporizadores. Aunque el concepto es simple, se debe tener cuidado con la implementacin de software temporizador si temas como la deriva y las interrupciones del temporizador retraso se debe minimizar.

2 DE 8 BITS Y 1 DE 16 BITS
PIC 16F690

1 DE 8 BITS

PIC 16F84A

2 DE 8 BITS Y 1 DE 16 BITS
PIC 16F877

2 DE 8 BITS Y 1 DE 16 BITS
PIC 16F1517

4 DE 8 BITS Y 2 DE 16 BITS
PIC 16F1824

2 DE 8 BITS Y 1 DE 16 BITS
PIC 16F648A

1 DE 8 BITS Y 1 DE 16 BITS
PIC 16F677

2 DE 8 BITS Y 1 DE 16 BITS
PIC 16F685

2 DE 8 BITS Y 1 DE 16 BITS
PIC 16F946

TEMPORIZADOR DE RESGUARDO (WATCHDOG, WDT)

El watchdog timer es un temporizador de 16 bit que puede ser usado como watchdog o por intervalos de tiempo. Al iniciarse un programa, el watchdog timer est activo y configurado por defecto con un intervalo de reset de ~32 [ms]. Para evitar esto el usuario debe configurar o detener el WDT antes de la expiracin del intervalo inicial. La principal funcin del watchdog timer (WDT) es reiniciar el procesador despus de que ocurra una falla o problema de software, o despus de un intervalo de tiempo determinado generado por el programador, en cuyo caso se reinicia el procesador o el programa en ejecucin. Si el watchdog timer no se emplea en ninguna subrutina puede ser configurado como un temporizador de intervalos y puede generar interrupciones en los intervalos de tiempo seleccionados. Podemos presentar las siguientes caractersticas del mdulo watchdog timer: Ocho intervalos de tiempos seleccionables por software. Modo Watchdog. Modo intervalo. Acceso al registro de control WDT con contrasea protegida. Pin de control de la funcin NMI/RST. Fuente de reloj seleccionable. Puede ser detenido para conservar la potencia.

OPERACIN El watchdog timer (WDT) se configura como watchdog o como temporizador de intervalos con el registro WDTCTL. El registro WDTCTL es de 16 bits, protegido por contrasea y es de lectura y escritura. El acceso de escritura o lectura debe ser manejado por instrucciones de palabras y el acceso a escritura incluir la contrasea 05Ah en el byte superior, en cambio el acceso a lectura es con el valor 069h en el byte superior. CONTADOR WATCHDOG TIMER El contador watchdog timer (WDTCNT) es un contador ascendente de 16 bit no directamente accesible va software. El WDTCNT es controlado y selecciona los intervalos de tiempos a travs del registro de control WDTCTL del watchdog timer. El WDTCNT puede ser alimentado por las

seales de reloj ACLK o SMCLK. La fuente de reloj es seleccionada con el bit WDTSSEL. MODO WATCHDOG Despus de una condicin PUC, el watchdog timer es configurado con un intervalo de reset inicial de ~32 [ms] usando la instruccin DCOCLK. El programador debe configurar, detener el WDT antes de la expiracin del intervalo de reset inicial u otro PUC ser generado. Cuando el WDT es configurado para operar en modo watchdog, tanto una escritura a WDTCTL con una clave incorrecta, o una expiracin de intervalo de tiempo seleccionado dispara un PUC. Un PUC reinicia el WDT a su condicin por defecto y configura en pin NMI/RST al modo reset. MODO DE TEMPORIZADOR DE INTERVALOS Seteando dejando en alto el bit WDTTMSEL en 1 selecciona el modo de temporizador de intervalos. Este modo puede ser usado para producir interrupciones peridicas. En el modo de temporizador de intervalos, el flag WDTIFG se setea en el momento en que expira el temporizador de intervalos seleccionado. Un PUC no es generado en el modo de temporizador de intervalos en el momento en que expira el temporizador de intervalos seleccionado y el WDTIFG habilita el bit WDTIE que permanece sin cambio. Cuando el bit WDTIE y el bit GIE son seteados, el flag WDTIFG requiere una interrupcin. El flag de interrupciones WDTIFG es automticamente peseteado cuando su requerimiento de interrupcin es atendido, o puede ser peseteado por software. La direccin del vector de interrupciones en el modo temporizador de intervalos es diferente que en modo watchdog. Modificando el temporizador Watchdog El intervalo WDT debera ser cambiado junto con WDTCNTCL = 1 en una nica instruccin a fin de evitar un PUC inmediato o interrupcin. El WDT debera ser detenido antes de cambiar la fuente de reloj a fin de evitar un posible intervalo incorrecto.

INTERRUPCIONES DEL TEMPORIZADOR WATCHDOG El WDT usa dos bits de control en el SFRs para controlar interrupciones. La interrupcin del flag WDT, WDTIFG, localizado en IFG1.0 La interrupcin habilitada por el WDT, WDTIE, localizado en IE1.0 Cuando se usa el WDT en el modo watchdog, el flag WDTIFG origina un reset del vector de interrupciones. El WDTIFG puede ser usado por la rutina de servicio que atiende la interrupcin de reset para determinar si el watchdog caus el reset del dispositivo. Si el flag es seteado, entonces el watchdog timer es iniciado con una condicin de reset ya sea porque se termin el tiempo o por una violacin de seguridad. Si WDTIFG es limpiado, el reset fue causado por una fuente diferente. Cuando se usa el WDT en modo de temporizador de intervalo, el flag WDTIFG es seteado despus del intervalo de tiempo seleccionado y requiere una interrupcin del temporizador de intervalo WDT si los bits WDTIE y GIE estn seteados. El vector de interrupcin del temporizador de intervalo es diferente al vector de reset usado en el modo watchdog. En el modo de temporizador de intervalo, el flag WDTIFG es resteado automticamente cuando es servida la interrupcin, o puede ser reseteado va software.

REGISTROS DEL WATCHDOG TIMER Tabla de registros del watchdog timer

WDTCTL, Watchdog Timer Register

IE1, Interrupt Enable Register 1

IFG1, Interrupt Flag Register 1

Ejemplo. A continuacin se muestra un ejemplo con un fragmento de un programa donde se inicializan los osciladores

En los siguientes casos que estamos revisando todo contienen watchdog.

CONTIENE WDT
PIC16F690

CONTIENE WDT
PIC16F84A

CONTIENE WDT
PIC16F877

CONTIENE WDT
PIC16F628

CONTIENE WDT
PIC16F1517

CONTIENE WDT
PIC16F1824

CONTIENE WDT
PIC16F648A

CONTIENE WDT
PIC16F677

CONTIENE WDT
PIC16F685

CONTIENE WDT
PIC16F946

COMUNICACIN DIGITAL PERIFRICOS

COMUNICACIN CIRCUITOS INTER-INTEGRADOS (Inter-Integrated , IC)


IC es un bus de comunicaciones en serie. Su nombre viene de InterIntegrated Circuit (Circuitos Inter-Integrados). La versin 1.0 data del ao 1992 y la versin 2.1 del ao 2000, su diseador es Philips. La velocidad es de 100Kbits por segundo en el modo estndar, aunque tambin permite velocidades de 3.4 Mbit/s. Es un bus muy usado en la industria, principalmente para comunicar microcontroladores y sus perifricos en sistemas integrados (Embedded Systems) y generalizando ms para comunicar circuitos integrados entre s que normalmente residen en un mismo circuito impreso. Este sistema de intercambio de informacin a travs de tan solo dos cables permite a circuitos integrados y mdulos OEM interactuar entre s a velocidades relativamente lentas. Emplea comunicacin serie, utilizando un conductor para manejar el timming (pulsos de reloj) y otro para intercambiar datos. Este bus se basa en tres seales: SDA (System Data) por la cual viajan los datos entre los dispositivos.

SCL (System Clock) por la cual transitan los pulsos de reloj que sincronizan el sistema.

GND (Masa) Interconectada "enganchados" al bus.

entre

todos

los

dispositivos

Las lneas SDA y SCL son del tipo drenador abierto, similares a las de colector abierto pero asociadas a un transistor de efecto de campo ( FET). Se deben poner en estado alto (conectar a la alimentacin por medio

de resistores Pull-Up) para construir una estructura de bus tal que se permita conectar en paralelo mltiples entradas y salidas.

En el diagrama se observa la configuracin elctrica bsica del bus. Las dos lneas de comunicacin disponen de niveles lgicos altos cuando estn inactivas. Inicialmente el nmero de dispositivos que se puede conectar al bus es ilimitado, pero obsrvese que las lneas tienen una especificacin mxima de 400pF en lo que respecta a capacidad de carga. La mxima velocidad de transmisin de datos que se puede obtener es de aproximadamente 100Kbits por segundo.

Las definiciones o trminos utilizados en relacin con las funciones del bus I2C son las siguientes:

Maestro (Master): Dispositivo que determina la temporizacin y la direccin del trfico de datos en el bus. Es el nico que aplica los pulsos de reloj en la lnea SCL. Cuando se conectan varios dispositivos maestros a un mismo bus la configuracin obtenida se denomina "multi-maestro".

Esclavo (Slave): Cualquier dispositivo conectado al bus incapaz de generar pulsos de reloj. Reciben seales de comando y de reloj proveniente del dispositivo maestro.

Bus Desocupado (Bus Free): Estado en el cual ambas lneas (SDA y SCL) estn inactivas, presentando un estado lgico alto. nicamente en este momento es cuando un dispositivo maestro puede comenzar a hacer uso del bus.

Comienzo: Sucede cuando un dispositivo maestro hace ocupacin del bus, generando esta condicin. La lnea de datos (SDA) toma un estado bajo mientras que la lnea de reloj (SCL) permanece alta.

Parada: Un dispositivo maestro puede generar esta condicin dejando libre el bus. La lnea de datos toma un estado lgico alto mientras que la de reloj permanece tambin en ese estado.

Dato Vlido: Sucede cuando un dato presente en la lnea SDA es estable mientras la lnea SCL est a nivel lgico alto.

Formato de Datos: La transmisin de datos a travs de este bus consta de 8 bits de datos ( 1 byte). A cada byte le sigue un noveno pulso de reloj durante el cual el dispositivo receptor del byte debe generar un pulso de reconocimiento, conocido como ACK. Esto se logra situando la lnea de datos a un nivel lgico bajo mientras transcurre el noveno pulso de reloj.

Direccin (Address): Cada dispositivo diseado para funcionar en este bus dispone de su propia y nica direccin de acceso, que viene preestablecida por el fabricante. Hay dispositivos que permiten establecer externamente parte de la direccin de acceso. Esto permite que una serie del mismo tipo de dispositivos se puedan conectar en un mismo bus sin problemas de identificacin. La direccin 00 es la denominada "de acceso general", por la cual responden todos los dispositivos conectados al bus.

Lectura/Escritura (Bit R/W): Cada dispositivo dispone de una direccin de 7 bits. El octavo bit (el menos significativo LSB) enviado durante la operacin de direccionamiento corresponde al bit que indica el tipo de operacin a realizar. Si este bit es alto el dispositivo maestro lee informacin proveniente de un dispositivo esclavo. En cambio, si este bit fuese bajo el dispositivo maestro escribe informacin en un dispositivo esclavo.

Protocolo del Bus

Como es lgico, para iniciar una comunicacin entre dispositivos conectados al bus I2C se debe respetar un protocolo. Tan pronto como el bus est libre, un dispositivo maestro puede ocuparlo generando una condicin de inicio. El primer byte transmitido despus de la condicin de inicio contiene los siete bits que componen la direccin del dispositivo de destino seleccionado y un octavo bit correspondiente a la operacin deseada (lectura o escritura). Si el dispositivo cuya direccin se apunt en los siete bits est presente en el bus ste responde enviando el pulso de reconocimiento ACK. Seguidamente puede comenzar el intercambio de informacin entre los dispositivos.

Cuando la seal R/W est previamente a nivel lgico bajo, el dispositivo maestro enva datos al dispositivo esclavo hasta que deja de recibir los

pulsos de reconocimiento, o hasta que se hayan transmitido todos los datos. En el caso contrario, es decir cuando la seal R/W estaba a nivel lgico alto, el dispositivo maestro genera pulsos de reloj durante los cuales el dispositivo esclavo puede enviar datos. Luego de cada byte recibido el dispositivo maestro (que en este momento est recibiendo datos) genera un pulso de reconocimiento.

El dispositivo maestro puede dejar libre el bus generando una condicin de parada (Stop). Si se desea seguir transmitiendo, el dispositivo maestro puede generar otra condicin de inicio el lugar de una condicin de parada. Esta nueva condicin de inicio se denomina "inicio repetitivo" y se puede emplear para direccionar un dispositivo esclavo diferente para alterar el estado del bit de lectura/escritura (R/W). Ejemplo En este ejemplo se muestra como leer y grabar datos en una memoria EEPROM Externa desde un PIC utilizando el lenguaje C y el compilador CCS, concretamente la memoria a utilizar ser la 24LC256A .

Incluimos en nuestro programa por medio de la directiva #include: #include "24256.c" //Incluimos librera 24256

Nota: por defecto la librera define los pines RB1 y RB0 como SDA y SCL, como en nuestro ejemplo RB0 ya est ocupado. Hay que modificar esos valores en la librera y sustituirlos por RC4 y RC3, de la siguiente manera.

Donde pone: #define EEPROM_SDA PIN_B1 #define EEPROM_SCL PIN_B0 poner: #define EEPROM_SDA PIN_C4 #define EEPROM_SCL PIN_C3 Las funciones que incluye esta librera son:

init_ext_eeprom(); //llamada a la funcin de inicializacin. Debe de ir antes que las dos de abajo write_ext_eeprom(a, d); //Escribe el byte d en la direccin a d = read_ext_eeprom(a); // lee el valor que hay en la direccin a y se lo asigna a la variable d

CONTIENEN COMUNICACIN IC pic16f877 pic16f1517 pic16f690 pic16f1824 pic16f946 NO CONTIENEN COMUNICACIN IC pic16f648a pic16f685 pic16f628 pic16f677 pic16f84a

RECEPTOR ASNCRONO UNIVERSAL / TRANSMISOR Y RECEPTOR SNCRONO UNIVERSAL / TRANSMISOR


Un transmisor receptor asncrono universal /, abreviado UART, es un tipo de "transmisor asncrono / receptor", una pieza de equipo de hardware que traduce los datos entre el paralelo y serial formas. UART se utilizan en combinacin con los estndares de comunicacin, tales como EIA RS-232 , RS-422 o RS-485 . La designacin universal indica que el formato de datos y velocidades de transmisin son configurables y que los niveles reales de sealizacin elctrica y los mtodos (como la sealizacin diferencial , etc) por lo general son manejadas por un circuito de control especial externa a la UART. Una UART es generalmente un individuo (o parte de una) de circuitos integrados utilizados para comunicaciones en serie en un ordenador u otro dispositivo perifrico puerto serie . UARTs ahora son comnmente incluidos en los microcontroladores. A dos UART, o Duart, combina dos UART en un solo chip. Muchos circuitos integrados modernos vienen ahora con una UART que tambin se puede comunicar de forma sincrnica, estos dispositivos son llamados USARTs (universal sncrono / asncrono receptor / transmisor). El asncrono universal receptor / transmisor (UART) se bytes de datos y transmite los bits individuales de una manera secuencial. [1] En el destino, un segundo UART re-ensambla los bits en bytes completos. Cada uno contiene un UART registro de desplazamiento que es el mtodo fundamental de la conversin entre las formas en serie y paralelo. Transmisin en serie de la informacin digital (bits) a travs de un solo cable u otro medio es mucho ms rentable que la transmisin en paralelo a travs de mltiples cables. La UART por lo general no genera directamente o recibir las seales externas utilizadas entre los diferentes elementos de los equipos. Dispositivos separados de interfaz se utilizan para convertir el nivel lgico de las seales de la UART y de los niveles externos de sealizacin. Las seales externas pueden ser de muchas formas diferentes. Ejemplos de

normas para la sealizacin de tensin son RS-232 , RS-422 y RS-485 de la EIA . Histricamente, la corriente (en bucles de corriente ) fue utilizado en los circuitos de telegrafa. Algunos esquemas de sealizacin no utilizan cables elctricos. Ejemplos de este tipo son de fibra ptica , IrDA ( infrarrojos ), y (sin cables) Bluetooth en su perfil de puerto serie (SPP). Algunos esquemas de sealizacin utilizar la modulacin de una seal portadora (con o sin cables). Ejemplos de ello son la modulacin de las seales de audio con una lnea telefnica mdem , RF modulacin con radios de datos, y el DC-LIN para la lnea de comunicacin de energa . La comunicacin puede ser "full duplex" (enviar y recibir al mismo tiempo) o "half duplex" (dispositivos de turnos de transmisin y recepcin). enmarcar caracteres

Cada personaje es enviado como un poco la lgica de comenzar con dosis bajas, un nmero configurable de bits de datos (por lo general 7 u 8, a veces 5), una opcin bit de paridad , y uno o ms bits altamente lgicos parar. El bit de inicio indica al receptor que un nuevo personaje que viene. Los prximos cinco a ocho bits, dependiendo del conjunto de cdigos empleados, representan el carcter. Despus de los bits de datos puede ser un bit de paridad. Los prximos uno o dos bits estn siempre en la marca (lgico alto, es decir, '1 ') y llam a la condicin de bit de parada (s). Que la seal del receptor que el personaje se ha completado. Dado que el bit de inicio es lgico bajo (0) y el bit de parada es lgico alto (1) entonces siempre hay una clara demarcacin entre el carcter anterior y la siguiente. RECEPTOR Todas las operaciones del hardware UART son controladas por una seal de reloj que funciona a un mltiplo (por ejemplo, 16) de la velocidad de datos - cada bit de datos es tan largo como 16 pulsos de reloj. El receptor

comprueba el estado de la seal entrante en cada pulso de reloj, buscando el comienzo de la bit de inicio. Si el bit de inicio aparente dura por lo menos la mitad de las veces poco, es vlido y seala el comienzo de un nuevo personaje. Si no es as, el pulso falso es ignorado. Despus de esperar un poco ms de tiempo, el estado de la lnea es de nuevo la muestra y el consiguiente nivel registrado en un registro de desplazamiento. Despus de que el nmero requerido de perodos de bits para la longitud de caracteres (5 a 8 bits, por lo general) que hayan transcurrido, el contenido del registro de desplazamiento est disponible (en paralelo) al sistema de recepcin. La UART se establece un indicador que muestra nuevos datos estn disponibles, y tambin puede generar un procesador de interrumpir para pedir que el procesador central transfiere los datos recibidos. En algunos tipos comunes de UART, una pequea primero en entrar, primero en salir FIFO buffer de memoria se inserta entre el registro de desplazamiento del receptor y la interfaz del sistema host. Esto permite que el tiempo del procesador central ms para manejar una interrupcin de la UART y evita la prdida de los datos recibidos a tasas elevadas. TRANSMISOR Funcionamiento de la transmisin es ms sencilla, ya que est bajo el control del sistema de transmisin. Tan pronto como los datos se deposita en el registro de desplazamiento despus de completar el carcter anterior, el hardware UART genera un bit de inicio, cambia el nmero necesario de bits de datos a la lnea, genera y aade el bit de paridad (si se utiliza), y aade los bits de parada. Dado que la transmisin de un solo carcter puede tomar mucho tiempo en relacin con las velocidades de la CPU, la UART mantendr una bandera que muestra el estado ocupado por lo que el sistema de acogida no se deposita un nuevo personaje para la transmisin hasta que el anterior se haya completado, lo que tambin puede ser hecho con una interrupcin. Desde full-duplex requiere caracteres para ser enviados y recibidos al mismo tiempo, el uso prctico UARTs dos turnos diferentes registros de los caracteres transmitidos y los caracteres recibidos.

APLICACIN UARTs de transmisin y recepcin debe estar configurado para la velocidad de bits misma longitud de caracteres, la paridad y los bits de parada para el correcto funcionamiento. La recepcin UART puede detectar algunos ajustes no coinciden, y establecer un "error de trama" bit bandera para el sistema de acogida, en casos excepcionales, la recepcin UART producir un flujo irregular de personajes mutilados y transferirlos al sistema host. Tpico de los puertos de serie utilizado con computadoras personales conectadas a mdems utilizan ocho bits de datos, sin paridad y un bit de parada, porque esta configuracin, el nmero de caracteres ASCII por segundo es igual a la tasa de bits dividido por 10. Algunos de muy bajo costo ordenadores o sistemas embebidos prescindir de una UART y se utiliza la CPU para probar el estado de un puerto de entrada o manipular directamente un puerto de salida para la transmisin de datos. Si bien es muy intensivo de la CPU, ya que el tiempo de la CPU es fundamental, estos sistemas evitan la compra de un costoso chip UART. La tcnica se conoce como un bit-golpeando el puerto serie. TRANSMISIN SINCRNICA Fichas USART tiene dos modos sincrnicos y asincrnicos. En la transmisin sncrona, los datos del reloj se recupera por separado de la corriente de datos y no los bits de arranque / parada se utilizan. Esto mejora la eficiencia de la transmisin en los canales adecuados, ya que ms de los bits enviados son datos utilizables y no la elaboracin de caracteres. Una transmisin asncrona no enva ms de los personajes de la interconexin cuando el dispositivo de transmisin no tiene nada que enviar, pero una interfaz sincrnica debe enviar "pad" personajes para mantener la sincronizacin entre el receptor y el transmisor. El relleno habitual es el ASCII "SYN" carcter. Esto puede hacerse automticamente por el dispositivo de transmisin.

COMUNICACIN UART
CONTIENE

NO CONTIENE pic16f877 pic16f1517 pic16f690 pic16f1824 pic16f648a pic16f685 pic16f946 pic16f628 pic16f677 pic16f84a

COMUNICACIN USART
CONTIENE pic16f877 pic16f1517 pic16f690 pic16f1824 pic16f648a pic16f685 pic16f946 pic16f628

NO CONTIENEN pic16f677 pic16f84a

Вам также может понравиться