Está en la página 1de 61

PROGRAMACION EN PICBASIC

SESION 5

Bach. Fernando Helmer Montenegro Daz

PIC 16F84A

Bach. Fernando Montenegro Daz

FUNDAMENTALES EN PIC BASIC


CONFIGURACION DE PUERTOS SENTENCIA DESCRIPCION Es un registro de 8 bits en el cual se configuran los pines del puerto A, TrisA ya sea como entrada(1) o como salida(0). Es un registro de 8 bits en el cual se configuran los pines del puerto B, TrisB ya sea como entrada(1) o como salida(0). EJEMPLO TRISA=%00011001 TRISB=%00011111

Nombre de la Variable A1 Temp dig1

DECLARACION DE VARIABLES VAR Tipo de Variable Descripcin VAR BIT Toma los valores 0 y 1 unicamente VAR BYTE Toma valores entre 0 y 255 (8 bits) VAR WORD Toma valores entre 0 y 65535 (16 bits)

OPERADORES ARITMETICOS Operador Descripcin Ejemplo + Suma c=a+b Resta c=a-b * Multiplicacin c=a*b / Divisin c=a/b // Residuo c=a//b << Desplaza a la Izquierda c=a<<2 >> Desplaza a la Derecha c=b>>4 = Asignacin de Valores c=a ABS Valor Absoluto c=abs a COS Coseno del Angulo c=cos a MIN Minimo de un nmero c=a min b MAX Mximo de un nmero c=a max b SQR Raiz Cuadrada de un numero a=sqr b REV Invertir un Bit c=a rev 3

OPERADORES BINARIOS Operador Descripcin Ejemplo & AND Lgico c=a&b | OR Lgico c=a|b ^ XOR Lgico c=a^b NOT Lgico c= a &/ NAND Lgicoc=a&/b |/ NOR Lgico c=a|/ b ^/ NXOR Lgico c=b^/a

OPERADORES DE COMPARACION Operador Descripcin = Igual <> Diferente < Menor que > Mayor que <= Menor o igual que >= Mayor o igual que

OPERADORES LOGICOS Operador Descripcin AND AND Lgico OR OR Lgico XOR XOR Lgico NOT NOT Lgico NOT AND NAND Lgico NOT OR NOR Lgico NOT XOR NXOR Lgico

Bach. Fernando Montenegro Daz

SENTENCIAS USADAS EN CLASE


SENTENCIA Call Call etiqueta SINTAXIS

Bach. Fernando Montenegro Daz

Count

Count pin, duracin, variable

END HIGH LOW PAUSE PAUSEUS PULSOUT RANDOM DIG SHIFTOUT LOOKUP RETURN

End HIGH pin LOW pin PAUSE periodo PAUSEUS periodo PULSOUT pin, nivel RANDOM variable B0=123 B1=B0 DIG 1;B1=2

DESCRIPCION La instruccin Call, llama a una subrutina la cual est identificada con una etiqueta, y una vez culminada la subrutina la cual contiene al final la instruccin Return, vuelve a la siguiente lnea despus del llamado. La instruccin Count puede medir la frecuencia de una seal simple determinando el nmero de pulsos por segundo. Se pueden medir frecuencias de hasta 25 khz con un oscilador de 4 MHz. Para un oscilador de 20 MHz la frecuencia mxima a ser medida ser de 125 khz. La instruccin END detiene la ejecucin de un programa y pone el microcontrolador en bajo consumo de energa. La instruccin High pone en uno lgico el pin especificado, el cual configura automticamente como salida. La instruccin LOW coloca en cero lgico un pin especfico. La instruccin Pause realiza una pausa en el programa por un periodo definido en milisegundos. La instruccin PauseUs realiza una pausa en el programa por un periodo definido en microsegundos. La instruccin PULSOUT genera pulsos con una duracin definida en decenas de microsegundos. (Tiene una resolucin de 10 microsegundos para un oscilador de 4 Mhz). La instruccin RANDOM almacena nmeros aleatorios en una variable de 16 Bits (Word). Devuelve el valor de un dgito decimal . Simplemente se le indica el nmero de dgito a conocer ( 0 - 4 , siendo 0 el primero de la derecha).

SHIFTOUT DataPin,ClockPin,Mode, [Var{}...] Desplaza en forma sincrnica el contenido de Var sobre DataPin y ClockPin . LOOKUP puede ser usado para obtener valores de una tabla de constantes de 8 LOOKUP Index, [Constant , Constant...] , Var bits ,Si Index es cero Var toma el valor de la primer Constant .Si Index es 1 , Var toma el valor de la segunda Constant y as sucesivamente . RETURN Retorno de una subrutina desde donde se ha generado un salto del tipo Call.

SENTENCIAS USADAS EN CLASE


SENTENCIA SINTAXIS DESCRIPCION

Bach. Fernando Montenegro Daz

1. DATA @direccion,dato1,dato2,.. DATA 2. DATA (cantdirecciones),datos(cantidad) EEPROM EEPROM direccion ,[dato1,dato2,...] READ READ direccion,Variable

WRITE

WRITE Address,Value

Esta instruccin permite grabar datos en la memoria EEPROM del microcontrolador al momento en que se grabe el microcontrolador. La sintaxis 1 graba los datos(dato1,dato2,..) desde la direccion que eligue el usuario. La sintaxis 2 graba una cantidad de datos especificado por el usuario en la posicion (cantidad de direcciones). Esta instruccin permite grabar datos en la memoria EEPROM del microcontrolador al momento en que se grabe el microcontrolador. Lee el EEPROM incorporado en la direccin(direccion) , y guarda el resultado en Variable .Esta instruccin solo puede ser usada con un microPIC que tenga un EEPROM incorporado como el PIC16F84 PIC16C84 Graba valores Value en el EEPROM incorporado en la direccin Address especificada . .Esta instruccin solo puede ser usada con un microPIC que tenga un EEPROM incorporado como el PIC16F84 PIC16C84. Es usado para colocar datos en el EEPROM durante el momento de la ejecucin .Para grabar datos en el EEPROM durante la programacin ,se usan las declaraciones DATA y EEPROM . Cada WRITE se auto regula en tiempo y toma aproximadamente 10 milisegundos ejecutarlo en un microPIC .

SENTENCIA

SINTAXIS

DESCRIPCION

Bach. Fernando Montenegro Daz

Produce una secuencia DTMF Touch Tone en Pin ,Pin automticamente se convierte en salida . Pin debe ser una constante , 0 - 15 , una variable que contenga un nmero de 0 a 15 (p.ej. B0) un nmero de pin (p.ej. B0). Onms es el nmero de milisegundos que suena cada tono y Offms es el nmero de milisegundos de pausa entre cada tono .Si no estn especificados , por defecto Onms es 200 ms y Offms es 50 ms. Tones tiene un valor de 0 - 15 .Los tonos de 0 - 9 son los mismos que en un DTMFOUT DTMFOUT Pin, { Onms ,Offms,} [ Tone {,Tone} ] teclado telefnico .Tone 10 es la clave * , Tone 11 es la clave # ,y los Tones 12 15 corresponden a las teclas extendidas A -D . DTMFOUT usa FREQOUT para generar los tonos duales .FREQOUT genera tonos usando una forma de modulacin de ancho de pulso .Los datos en bruto que salen del pin son bastante horribles .Usualmente se necesita algn tipo de filtro para suavizar la seal hasta una forma de onda senoidal quitndole algunas armnicas generadas. Produce la las frecuencias especificadas en el Pin , durante Onms milisegundos .Pin se convierte automticamene en salida .Pin puede ser una constante , 0-15 , una variable que contenga un nmero 0 -15 .(p.ej. B0) un nmero de pin (p.ej. PORTA.0) . FREQOUT FREQOUT Pin,Onms,Frequency1{,Frequency2} Puede producir una dos frecuencias de 0 a 32767 Hz al mismo tiempo . FREQOUT genera tonos usando una forma de modulacin de ancho de pulso . Los datos en bruto que salen del pin son bastante horribles.Usualmente se necesita algn tipo de filtro para suavizar la seal hasta una forma de onda senoidal quitndole algunas armnicas generadas. Gebera un tono y/o ruido blanco en el Pin especificado . Pin es automticamente colocado como salida . Pin puede ser una constante , 0 - 15 , una variable que contenga un nmero de 0-15 (p.ej. B0) un nmero de Pin (p.ej. PORTA.0). Note 0 es silencio .Nte 1-127 son tonos .Notes 128-255 son ruido blanco .Los tonos y el ruido blanco estn en una escala ascendente (p.ej. 1 y 128 son las frecuencias menores , 129 y 266 las mayores).Note 1 es aprox. 78,74 Hz y Note SOUND SOUND Pin,[Note,Duration{,Note,Duration...}] 127 es aproz. 10000 Hz . Duration es 0-255 y determina el largo de la nota ,en incrementos de 12 milisegundos .Note y Duration no necesitan ser constantes . SOUND entrega como salida ondas cuadradas con nivel TTL .Gracias a las caractersticas del micro PIC ,se puede manejar un parlante a travs de un capacitor -El valor del capacitor debe ser determinado en funcin de las frecuencias a usar y la carga del parlante .Parlantes piezo elctricos pueden ser conectados directamente .

1. DATA @direccion,dato1,dato2,..

DATA

2. DATA (cantdirecciones),datos(cantidad)

EEPROM EEPROM direccion ,[dato1,dato2,...] READ READ direccion,Variable

WRITE

WRITE Address,Value

Esta instruccin permite grabar datos en la memoria EEPROM del microcontrolador al momento en que se grabe el microcontrolador. La sintaxis 1 graba los datos(dato1,dato2,..) desde la direccion que eligue el usuario. La sintaxis 2 graba una cantidad de datos especificado por el usuario en la posicion (cantidad de direcciones). Esta instruccin permite grabar datos en la memoria EEPROM del microcontrolador al momento en que se grabe el microcontrolador. Lee el EEPROM incorporado en la direccin(direccion) , y guarda el resultado en Variable .Esta instruccin solo puede ser usada con un microPIC que tenga un EEPROM incorporado como el PIC16F84 PIC16C84 Graba valores Value en el EEPROM incorporado en la direccin Address especificada . .Esta instruccin solo puede ser usada con un microPIC que tenga un EEPROM incorporado como el PIC16F84 PIC16C84. Es usado para colocar datos en el EEPROM durante el momento de la ejecucin .Para grabar datos en el EEPROM durante la programacin ,se usan las declaraciones DATA y EEPROM . Cada WRITE se auto regula en tiempo y toma aproximadamente 10 milisegundos ejecutarlo en un microPIC .

SENTENCIAS A USAR EN CLASE


SENTENCIA SINTAXIS DESCRIPCION
Recibe uno ms Items en Pin , en formato standard asincrnico , usando 8 bit de datos ,sin paridad y un stop bit (8N1) . Pin:Puede ser cualquier pin del microcontrolador. Mode: Es el modo a trabajar con su respectiva velocidad. Carcter:Indica que cuando se recibe este caracter el Pic almacena en la variable Var el siguiente dato enviado posterior al Caracter. Envia uno ms Items en Pin , en formato standard asincrnico , usando 8 bit de datos ,sin paridad y un stop bit (8N1) . Pin:Puede ser cualquier pin del microcontrolador. Mode: Es el modo a trabajar con su respectiva velocidad. Cadena:Cualquier cadena de texto como identificador a enviar. Valor: Dato a enviar. Define el tiempo de demora de envio de carcter a carcter.

SERIN

SERIN Pin,Mode, [Caracter],Var

SEROUT

SERIN Pin,Mode, [Cadena,Valor]

DEFINE CHAR_PACING DEFINE CHAR_PACING valor

Bach. Fernando Montenegro Daz

TRANSMISION DE DATOS
Transmisin de Datos

Paralelo

serial

Sncrono

Asncrono

Bach. Fernando Montenegro Daz

MODOS DE COMUNICACIN
De acuerdo a la transmisin de flujo de datos, pueden ser: Paralelo y Serial

Bach. Fernando Montenegro Daz

MODOS DE COMUNICACIN
De acuerdo al sentido de la transmisin se clasifican en:
SIMPLEX HALF DUPLEX O SEMI-DUPLEX FULL DUPLEX O DUPLEX COMPLETO

Bach. Fernando Montenegro Daz

SIMPLEX
Dato Transmisor

Receptor

ES COMUNICACIN EN UN SOLO SENTIDO

Bach. Fernando Montenegro Daz

SIMPLEX
Dato Transmisor

Receptor

ES COMUNICACIN EN UN SOLO SENTIDO El mensaje siempre viajar de transmisor a receptor

Bach. Fernando Montenegro Daz

SIMPLEX
Dato Transmisor

Receptor

ES COMUNICACIN EN UN SOLO SENTIDO El mensaje siempre viajar de transmisor a receptor

Bach. Fernando Montenegro Daz

SIMPLEX
Dato Transmisor

Receptor

ES COMUNICACIN EN UN SOLO SENTIDO El mensaje siempre viajar del transmisor al receptor

Bach. Fernando Montenegro Daz

COMO EJEMPLO DE COMUNICACIN SIMPLEX SE PUEDE MENCIONAR UNA TRANSMISIN DE RADIO O TELEVISIN

Bach. Fernando Montenegro Daz

HALF DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS PERO NO SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

HALF DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS PERO NO SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

HALF DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS PERO NO SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

HALF DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS PERO NO SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

HALF DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS PERO NO SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

HALF DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS PERO NO SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

HALF DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS PERO NO SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

HALF DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS PERO NO SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

HALF DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS PERO NO SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

HALF DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS PERO NO SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

HALF DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS PERO NO SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

UNA COMUNICACIN VIA WALKIE TALKIE ES UN EJEMPLO TPICO DE COMUNICACIN HALFDUPLEX

Bach. Fernando Montenegro Daz

FULL DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS Y SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

FULL DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS Y SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

FULL DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS Y SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

FULL DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS Y SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

FULL DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS Y SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

FULL DUPLEX

Transmisor

Receptor

Receptor

Transmisor

LA COMUNICACIN PUEDE SER EN AMBOS SENTIDOS Y SIMULTNEAMENTE

Bach. Fernando Montenegro Daz

Como un ejemplo de comunicacin FULL-DUPLEX

Podramos mencionar un comunicacin va telefnica, ya que se puede hablar y escuchar simultneamente


Bach. Fernando Montenegro Daz

MODOS DE COMUNICACIN
De acuerdo a su temporizacin pueden ser: Sncrono y Asncrono.

Bach. Fernando Montenegro Daz

Comunicacin sincrnica

Se caracteriza porque el dato es enviado junto con la seal de reloj del transmisor. Ejemplos: de este tipo de comunicacin son los protocolos: I2C (Inter Integrated Circuit) SPI (Serial Peripherical Interface)

Transmisor

Receptor

Bach. Fernando Montenegro Daz

Comunicacin sincrnica

Se caracteriza porque el dato es enviado junto con la seal de reloj del transmisor. Ejemplos: de este tipo de comunicacin son los protocolos: I2C (Inter Integrated Circuit) SPI (Serial Peripherical Interface)

Dato
Transmisor Receptor

sincrona

Bach. Fernando Montenegro Daz

Comunicacin sincrnica

Se caracteriza porque el dato es enviado junto con la seal de reloj del transmisor. Ejemplos: de este tipo de comunicacin son los protocolos: I2C (Inter Integrated Circuit) SPI (Serial Peripherical Interface)

Dato
Transmisor Receptor

sincrona

Bach. Fernando Montenegro Daz

Comunicacin sincrnica

Se caracteriza porque el dato es enviado junto con la seal de reloj del transmisor. Ejemplos: de este tipo de comunicacin son los protocolos: I2C (Inter Integrated Circuit) SPI (Serial Peripherical Interface)

Dato
Transmisor Receptor

sincrona

Bach. Fernando Montenegro Daz

Comunicacin sincrnica

Se caracteriza porque el dato es enviado junto con la seal de reloj del transmisor. Ejemplos: de este tipo de comunicacin son los protocolos: I2C (Inter Integrated Circuit) SPI (Serial Peripherical Interface)

Dato
Transmisor Receptor

sincrona

Bach. Fernando Montenegro Daz

Comunicacin Asincrnica
Dato

Transmisor

Receptor

Ft=Fr
Ft Fr

ASNCRONO, SIGNIFICA QUE EL TRANSMISOR Y EL RECEPTOR


TIENEN SUS PROPIOS GENERADORES DE BAUDAJE CON LA MISMA FRECUENCIA PERO INDEPENDIENTES.

Bach. Fernando Montenegro Daz

Comunicacin Asincrnica
Dato Transmisor

Receptor

Ft=Fr
Ft
RECEPTOR.
UNO DE LOS PROTOCOLOS MAS USADOS ES EL RS232

Fr

NO EXISTE UNA SEAL DE SINCRONA ENTRE TRANSMISOR Y

Bach. Fernando Montenegro Daz

DICHO DE OTRA MANERA: Comunicacin Asincrnica


Dato Transmisor

Receptor

Ambos dispositivos deben manejar la misma

velocidad de transmisin aunque cada dispositivo temporiza sus transmisiones independientemente.

Bach. Fernando Montenegro Daz

COMUNICACIN SERIAL ASINCRONA PROTOCOLO RS-232


La comunicacin asncrona, conocida como async, es probablemente la forma de conexin ms extendida. Esto es debido a que async se desarroll para utilizar las lneas telefnicas. Cada carcter (letra, nmero o smbolo) se introduce en una cadena de bits. Cada una de estas cadenas se separa del resto mediante un bit de inicio de carcter y un bit de final de carcter. Los dispositivos emisor y receptor deben estar de acuerdo en la secuencia de bit inicial y final. El equipo destino utiliza los marcadores de bit inicial y final para planificar sus funciones relativas al ritmo de recepcin, de forma que est preparado para recibir el siguiente byte de datos. La comunicacin no est sincronizada. No existe un dispositivo reloj o mtodo que permita coordinar la transmisin entre el emisor y el receptor. El equipo emisor slo enva datos y el equipo receptor simplemente los recibe. A continuacin, el equipo receptor los comprueba para asegurarse de que los datos recibidos coinciden con los enviados. No son necesarios los pulsos de reloj y la duracin de cada bit est determinada por la velocidad con la cual se realiza la transferencia de datos.

Bach. Fernando Montenegro Daz

DESCRIPCION DE LOS CONECTORES RS232 PC

Bach. Fernando Montenegro Daz

PARAMETROS DE TRANSMISION DEL RS232 VELOCIDAD DE TRANSMISION


La velocidad de una transmisin en serie se mide en baudios (bits por segundo) y est en estrecha relacin con la longitud del cable. Por ejemplo, 300 baudios representan 300 bits por segundo. Cuando se hace referencia a los ciclos de reloj se est hablando de la velocidad de transmisin. Por ejemplo, si el protocolo hace una llamada a 4800 ciclos de reloj, entonces el reloj est corriendo a 4800 Hz, lo que significa que el puerto serial est muestreando las lneas de transmisin a 4800 Hz. Las velocidades de transmisin ms comunes para las lneas telefnicas son de 14400, 28800, y 33600. Al aumentar la velocidad, las seales de datos se vuelven susceptibles a perdidas de voltaje causadas por la capacidad e inductancias en el cable.

Bach. Fernando Montenegro Daz

PARAMETROS DE TRANSMISION DEL RS232 BITS DE DATO Y BITS DE PARADA


BITS DE DATO: Se refiere a la cantidad de bits en la transmisin. Cuando la computadora enva un paquete de informacin, el tamao de ese paquete no necesariamente ser de 8 bits. Las cantidades ms comunes de bits por paquete son 5, 7 y 8 bits. El nmero de bits que se enva depende en el tipo de informacin que se transfiere. Por ejemplo, el ASCII estndar tiene un rango de 0 a 127, es decir, utiliza 7 bits; para ASCII extendido es de 0 a 255, lo que utiliza 8 bits. Si el tipo de datos que se est transfiriendo es texto simple (ASCII estndar), entonces es suficiente con utilizar 7 bits por paquete para la comunicacin. Un paquete se refiere a una transferencia de byte, incluyendo los bits de inicio/parada, bits de datos, y paridad. Debido a que el nmero actual de bits depende en el protocolo que se seleccione, el trmino paquete se usar para referirse a todos los casos. BITS DE PARADA: Usado para indicar el fin de la comunicacin de un solo paquete. Los valores tpicos son 1, 1.5 o 2 bits. Debido a la manera como se transfiere la informacin a travs de las lneas de comunicacin y que cada dispositivo tiene su propio reloj, es posible que los dos dispositivos no estn sincronizados. Por lo tanto, los bits de parada no slo indican el fin de la transmisin sino adems dan un margen de tolerancia para esa diferencia de los relojes. Mientras ms bits de parada se usen, mayor ser la tolerancia a la sincrona de los relojes, sin embargo la transmisin ser ms lenta.
Bach. Fernando Montenegro Daz

PARAMETROS DE TRANSMISION DEL RS232 PARIDAD


Es una forma sencilla de verificar si hay errores en la transmisin serial. Existen cuatro tipos de paridad: par, impar, marcada y espaciada. La opcin de no usar paridad alguna Tambin Est disponible. Para paridad par e impar, el puerto serial fijar el bit de paridad (el ltimo bit despus de los bits de datos) a un valor para asegurarse que la transmisin tenga un nmero par o impar de bits en estado alto lgico. Por ejemplo, si la informacin a transmitir es 011 y la paridad es par, el bit de paridad sera 0 para mantener el nmero de bits en estado alto lgico como par. Si la paridad seleccionada fuera impar, entonces el bit de paridad sera 1, para tener 3 bits en estado alto lgico. La paridad marcada y espaciada en realidad no verifican el estado de los bits de datos; simplemente fija el bit de paridad en estado lgico alto para la marcada, y en estado lgico bajo para la espaciada. Esto permite al dispositivo receptor conocer de antemano el estado de un bit, lo que servira para determinar si hay ruido que est afectando de manera negativa la transmisin de los datos, o si los relojes de los dispositivos no estn sincronizados.
DATOS PARIDAD PAR PARIDAD IMPAR

Bach. Fernando Montenegro Daz

INTERFAZ PIC - PC MODO NORMAL USANDO MAX232

Bach. Fernando Montenegro Daz

INTERFAZ PIC - PC MODO INVERTIDO

Bach. Fernando Montenegro Daz

CREAR PUERTOS SERIALES


COMS FISICO QUE TIENE EL CPU COMS VIRTUALES A CREAR CLICK ACA PARA CREAR COMS VIRTUALES

COMS VIRTUALES CREADOS


ESTE COM SE CONFIGURA EN HIPERTERMINAL, VISUAL BASIC U OTRO PROGRAMA ESTE COM SE CONFIGURA EN EL PROTEUS

Bach. Fernando Montenegro Daz

SERIAL COMMUNICATION DEL MICROCODE STUDIO


CONECTAR

CONFIGURACION
Numero de Puerto Velocidad Paridad Bits de Datos Bits de Parada

DATOS A TRANSIMITR

ESTADO DE CONEXION

DATOS RECIBIDOS

Bach. Fernando Montenegro Daz

SENTENCIAS EN PICBASIC PARA MANEJO DEL PUERTO SERIAL - SEROUT


SEROUT Pin,Mode,[Item[,Item...}]
Enva uno ms tems a Pin , en formato estndar asincrnico usando 8 bits de datos , sin paridad y 1 stop bit (8N1) .SEROUT es similar al comando Serout de BS1 .Pin es automticamente colocado como salida . Pin puede ser una constante , 0 - 15 , una variable que contenga un nmero de 0-15 (p.ej. B0) un nmero de Pin (p.ej. PORTA.0). Los nombres Mode (p.ej. T2400) estn definidos en el archivo MODEDEFS.BAS . Para usarlos ,agregue la lnea : Include modedefs.bas al comienzo de su programa PBP . BS1DEFS.BAS y BS2DEFS.BAS ya incluyen MODEDEFS.BAS . No lo incluya ,si ya est usando uno de ellos .Los nmeros Mode pueden ser usados sin incluir este archivo . SEROUT soporta 3 tipos distintos de datos , que pueden ser combinados libremente dentro de una declaracin SEROUT . 1) Una sarta de constantes es enviada como una sarta de caracteres literales . 2) Un valor numrico (constante variable ) va a enviar el correspondiente carcter ASCII .Ms an , 13 es retorno de carro ( Carriage Return CR ) y 10 es avance de lnea ( Line Feed LF ) . 3) Un valor numrico precedido por el signo # va a enviar la representacin ASCII de su valor decimal .Por ejemplo , si W0=123 ,entonces #W0 ( #123) va a enviar 1,2,3 . SEROUT asume un valor de oscilador de 4 Mhz cuando genera sus tiempos de bit .Para mantener los valores de baud rate adecuados con otro oscilador , asegrese de usar DEFINE OSC con el nuevo valor de oscilador .
Bach. Fernando Montenegro Daz

SENTENCIAS EN PICBASIC PARA MANEJO DEL PUERTO SERIAL - SERIN SERIN Pin,Mode, {Timeout,Label,}{[Qual...],} {Item...}
Recibe uno ms Items en Pin , en formato estndar asincrnico , usando 8 bit de datos ,sin paridad y un stop bit (8N1) .SERIN es similar al comando Serin de BS1 con el agregado de Timeout . Pin automticamente se convierte en entrada . Pin puede ser una constante , 0 - 15 , una variable que contenga un nmero de 0-15 (p.ej. B0) un nmero de Pin (p.ej. PORTA.0) Los nombres Mode (p.ej. T2400 ) estn definidos en el archivo MODEDEFS.BAS .Para usarlos ,agregue la lnea : Include modedefs.bas al comienzo del programa PBP . BS1DEFS,BAS y BS2DEFS.BAS ya incluyen MODEDEFS.BAS .No lo incluya , si ya est usando alguno de estos archivos .Los nmeros Mode pueden ser usados sin incluir este archivo . Timeout y Label son opciones que pueden ser incluidas para permitir al programa continuar si no se recibe un carcter durante un cierto tiempo . Timeout est especificado en unidades de 1 milisegundo . La lista de Items de datos a ser recibida puede estar precedida por uno ms calificadores encerrados entre corchetes . SERIN debe recibir estos bytes en un orden exacto , antes de recibir los datos .Si algn byte recibido no concuerda con el byte siguiente de la secuencia de calificacin ,el proceso de calificacin comienza nuevamente ( p.ej. el prximo hyte recibido es comparado con el primer Item de la lista de calificacin ) .Un Qualifier puede ser constante, variable una sarta de constantes . Cada carcter de una sarta es tratado como un calificador individual . Una vez que se completan los calificadores , SERIN comienza a guardar datos en la variable asociada con cada Item .Si el nombre de variable es nico ,el valor del carcter ASCII recibido es guardado en la variable .Si la variable es precedida por el signo # . SERIN convierte un valor decimal en ASCII y guarda el resultado en esa variable .Todos los no-dgitos recibidos antes del primer dgito del valor decimal son ignorados y descartados .El carcter no-dgito que termina el valor decimal tambin se descarta .
Bach. Fernando Montenegro Daz

MODOS DE TRABAJAR EN PICBASIC PARA MANEJO DEL PUERTO SERIAL

Bach. Fernando Montenegro Daz

CONFIGURACION DEL PUERTO COM EN PROTEUS


P1
1 6 2 7 3 8 4 9 DCD DSR RXD RTS TXD CTS DTR RI

ERROR COMPIM
PINES A USAR PERMITE CONFIGURAR EL PUERTO COM
Bach. Fernando Montenegro Daz

APLICACIN 1: ENVIO Y RECEPCION DE DATOS PC A PIC


VSS VDD VEE RS RW E 4 5 6 1 2 3
10k

7 8 9 10 11 12 13 14

D0 D1 D2 D3 D4 D5 D6 D7

P1
16 15 OSC1/CLKIN OSC2/CLKOUT MCLR RA0 RA1 RA2 RA3 RA4/T0CKI RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7 PIC16F84A 17 18 1 2 3 6 7 8 9 10 11 12 13 1 6 2 7 3 8 4 9 DCD DSR RXD RTS TXD CTS DTR RI

R1
10k

ERROR COMPIM

Bach. Fernando Montenegro Daz

APLICACIN 2: ENVIO Y RECEPCION DE DATOS PIC A PIC

Bach. Fernando Montenegro Daz

MODULOS DE RADIOFRECUENCIA
Voltaje de operacin: DC3-12 V Corriente de operacin: 5-45 mA Corriente de reposo: ?20uA Velocidad de transmisin mx..: 9.6K Modulacin: AM Frecuencia de operacin: 315 MHz 433 MHz Alcance de transmisin: 1000m Dimensiones: 19mm x 19mm x 8mm Voltaje de operacin: DC 5 V Consumo de corriente: 5 mA Sensibilidad de recepcin: -103 dbm Velocidad de transmisin: 4.8K Modulacin: AM Tipo de salida: TTL Frecuencia de operacin: 315 MHz 433 MHz Dimensiones: 30mm x 14mm x 7mm

Bach. Fernando Montenegro Daz

APLICACIN 3: CONTROL INALAMBRICO DE UN CARRITO

Bach. Fernando Montenegro Daz

APLICACIN 4: CONTADOR INALAMBRICO DEL 0-9

EMISOR
16 OSC1/CLKIN 15 OSC2/CLKOUT

RECEPTOR
17 18 1 2 3 6 7 8 9 10 11 12 13 B0 B1 B2 16 OSC1/CLKIN 15 OSC2/CLKOUT 4 MCLR RA0 RA1 RA2 RA3 RA4/T0CKI RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7 17 18 1 2 3 6 7 8 9 10 11 12 13

AUMENTA DISMINUYE REINICIA

0 0 0

B0

MCLR

RA0 RA1 RA2 RA3 RA4/T0CKI RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7

B1

B2

Bach. Fernando Montenegro Daz

También podría gustarte