SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
Comunicación Serial
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programade Ing. Biomédica
Unidad Curricular:
Microcontroladores y Microprocesadores II
¡Hola!
Nos Encontramos nuevamente, espero estés de Maravilla.
Continuamos navegando por el mundo de los
Microcontroladores, esta vez haremos una parada en la
estación de la Comunicación Serial, aprenderemos a
diferenciarla, y a utilizar el Protocolo RS232, uno de los mas
usado para este tipo de comunicación.
¡Vamos a Darle!
@profesor_y
2
Ing. Wilfran Yaraure
Facilitador
Comunicación de los
Microcontroladores
Los microcontroladores pueden establecer conexión o comunicación con
otros dispositivos como: memorias, sensores, ordenadores, e incluso otros
microcontroladores, e intercambiar datos e información con ellos.
Para ello Pueden Utilizar 2 tipos de comunicación como lo son La
comunicación Serial y La Comunicación Paralela
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programade Ing. Biomédica
Unidad Curricular:
Microcontroladores y Microprocesadores II
Tipos de Comunicación
4
1
Comunicación
Paralela
1. Transmite todos los bits de un
dato de manera simultánea,
2. La velocidad de transferencia
es rápida,
3. Debe utilizar una gran
cantidad de líneas,
4. mas costoso
5. Tiende a atenuarse a grandes
distancias, por la capacitancia
entre conductores.
2
Comunicación
Serial
1. Trasmite los en forma
secuencial enviando bit a bit
de cada palabra de
información binaria.
2. La velocidad de transferencia
es menor que la paralela pero
eficiente de igual manera
3. Utilizan un solo hilo para
llevar la información
4. Mas económico y común
5. Menos Atenuación por que
usa menos conductores
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Tipos de Comunicación Serial
5
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Comunicación Serial
Comunicación serial Asíncrona
Comunicación serial Síncrona
Utiliza 2 líneas de Transmisión: una línea
sobre la cual se transmitirán los datos y una
línea la cual contendrá los pulsos de reloj,
que indicaran cuando un datos es valido. Es
decir que la velocidad y la sincronía
dependen de los pulsos del reloj, se enviará
un bit con cada pulso.
No utiliza pulsos de reloj, la
duración de cada bit esta
determinada por la velocidad con
la cual se realiza la transferencia
de datos denominada como
Baudios, que se mide en bits por
segundos
Ing. Wilfran Yaraure
Facilitador
Tipos de Comunicación Serial
6
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Comunicación Serial
Comunicación serial Asíncrona
Cuando no se esta en transferencia de datos, la línea
del transmisor se encuentra en estado alto (IDLE).
Para iniciar la transmisión, el transmisor coloca esta
línea en estado bajo durante determinado tiempo, lo
cual se le conoce como bit de arranque (start bit)
Luego comienza a transmitir los bits correspondientes
al dato con un intervalo de tiempo entre cada Bit,
iniciando con el BIT menos significativo (LSB), y
terminando con el BIT mas significativo.
Si el receptor no esta sincronizado con el transmisor,
este desconoce cuando se van a recibir los datos.
Estructura de una dato que se trasmite.
Ing. Wilfran Yaraure
Facilitador
7
Módulos Y Protocolos de
Comunicación Serial Síncrona
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
7
Módulo MSSP
Master Synchronous
Serial Port
Ó
Puerto Serie Síncrono
Maestro
Permite la comunicación
de alta velocidad entre un microcontrolador y
otros periféricos u otros
micro Utilizando varias líneas de E/S (como
máximo dos o tres
líneas)
Utilizada en sistemas con un sólo maestro y uno o más
esclavos.
❑ Un dispositivo maestro contiene un circuito para
generación de baudios y además, suministra señales de
reloj a todos los dispositivos del sistema.
❑ Los dispositivos esclavos no disponen de un circuito
interno para generación de señales de reloj.
Ing. Wilfran Yaraure
Facilitador
Comunicación
serial
síncrona
1)
2)
8
Módulos Y Protocolos de
Comunicación Serial Síncrona
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
8
Módulo MSSP
Master Synchronous
Serial Port
Ó
Puerto Serie Síncrono
Maestro
Se utiliza con frecuencia para conectar los
visualizadores LCD, convertidores A/D,
memorias EEPROM
seriales, los registros de desplazamiento,
entre otros.
Puede funcionar Con dos Protocolos:
❑ Protocolo SPI (Interfaz periférica serial -
Serial Peripheral Interface)
❑ Protocolo I2C (Circuito inter-integrado - Inter-
Integrated Circuit).
Ing. Wilfran Yaraure
Facilitador
Comunicación
serial
síncrona
3)
4)
9
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
9
Protocolo I2C
Bus de Circuito
inter-integrado
Ideal para la
comunicación con
memorias seriales como
la 24LC64, 24LC128,
24LC512, entre otras
La transmisión de datos
bidireccional. Sólo se utilizan
dos pines para transmisión : SDA
(Datos seriales) y
SCL (Reloj serial).
Módulo MSSP
Módulos Y Protocolos de
Comunicación Serial Síncrona
Ing. Wilfran Yaraure
Facilitador
Comunicación
serial
síncrona
La velocidad de comunicación
está dada en bits por segundo.
En restos pines
usa una
resistencia pull-
up de 10KΩ.
Se puede usar para conectar diferentes
dispositivos con direcciones diferentes en
una topología en forma de bus
Usa una condición de inicio, un bloque de
dirección para los dispositivos en la red, un
bloque de datos, una condición de fin, usa las
condiciones de repetición de inicio y un bit de
reconocimiento (ACK).
10
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
10
Protocolo SPI
Ideal para la
comunicación con
unidades de
almacenamiento
masivo como las
memorias SD
Permite la transmisión y recepción simultánea de datos de 8 bits
utilizando 3 líneas de E/S
SDO - Serial Data Out (salida de datos serie )- línea de transmisión.
SDI - Serial Data In (entrada de datos serie) - línea de recepción.
SCK - Serial Clock (reloj de comunicación) - línea de sincronización.
línea (SS) se puede utilizar si el cuando se intercambia los datos con
varios dispositivos periféricos.
Módulo MSSP
Módulos Y Protocolos de
Comunicación Serial Síncrona
Ing. Wilfran Yaraure
Facilitador
Comunicación
serial
síncrona
11
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Módulos Y Protocolos de
Comunicación Serial Asíncrona
Ing. Wilfran Yaraure
Facilitador
Comunicación
Serial
Asíncrona
Módulo EUSART
Enhanced
Universal
Synchronous
Asynchronous
Receiver
Transmitter
Ó
Transmisor
Receptor
Universal
Síncrono
Asíncrono
Mejorado
No requiere un medio para el reloj. La señal de
reloj, o sincronismo lo deben asumir, independiente
mente cada uno de los elementos, el transmisor y
el receptor.
Uno de los primeros sistemas de comunicación
serie, Antiguamente llamado USART, conocido
también como Interfaz de comunicación serie
(Serial Communications Interface - SCI).
Cuenta con comunicación
❑ full-duplex, es decir transmite y recibe datos al
mismo tiempo. usando una línea solo para
transmitir y otra solo para recibir.
❑ Half Duplex en modo síncrono, transmitiendo y
recibiendo datos, pero no simultáneamente, es
decir primero envía y luego recibe.
1)
2)
3)
12
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Módulos Y Protocolos de
Comunicación Serial Asíncrona
Ing. Wilfran Yaraure
Facilitador
Comunicación
Serial
Asíncrona
Módulo EUSART
Enhanced
Universal
Synchronous
Asynchronous
Receiver
Transmitter
Ó
Transmisor
Receptor
Universal
Síncrono
Asíncrono
Mejorado
Trabaja con el Protocolo:
❑ Protocolo RS232 : utilizado por los
ordenadores personales y otros dispositivos,
representa el valor de un 0 lógico con una
tensión de +12 voltios, y el valor de un 1 lógico
con -12 voltios.
Cuando Trabaja en comunicación Síncrona
usa un bit de inicio (start) Igual a Cero (0)
lógico, 8 o 9 bits de datos para los PIC, y 1, 1.5
o 2 bits de fin (stop)
Con una Velocidad de transmisión igual para
ambos dispositivo estándar en de 9600 bps,
puede ser mayor o menor.
4)
5)
13
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Módulos Y Protocolos de
Comunicación Serial Asíncrona
Ing. Wilfran Yaraure
Facilitador
Comunicación
Serial
Asíncrona
Módulo EUSART
1. DCD
2. RXD
3. TXD
4. DTR
5. GND
6. DSR
7. RST
8. CST
9. NO
USADO.
Usa un conector DB9, con 9
pines
Protocolo RS232
Configuración de
Conexión para
comunicación Asíncrona
Es muy común en
computadoras y
otros dispositivos
14
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Módulos Y Protocolos de
Comunicación Serial Asíncrona
Ing. Wilfran Yaraure
Facilitador
Comunicación
Serial
Asíncrona
Módulo EUSART
Protocolo RS232
Circuito Integrado MAX232
Ayuda a establecer y acoplar la
comunicación entre el PIC y el CONECTOR
DB9, Usando Esta configuración de conexión
y capacitores
TX Del MAX232
RX Del MAX232 TX del PIC
RX del
PIC
¿Que te parece?
No te alarmes ni te asustes, se que
puede con esto, parece complicado
pero la verdad no lo es…
Debemos seguir avanzando, ahora vamos
con las librerías y líneas de programación
para usar estos módulos y protocolo de
comunicación, así que vamos a darle
15
Librerías y Líneas de Programación para la
comunicación serial.
Algunos PIC poseen Esta serie de módulos y al igual MikroC PRO
cuenta con librerías especializadas para que facilitan la
configuración y uso de las comunicación seria. La librerías como:
I2C, UART para el EUSART, SPI1 y en algunos mas avanzado HID
para la comunicación a través de USB.
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
17
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Librerías y Líneas de Programación
para la comunicación serial.
Módulo EUSART
Este modulo cuenta con las siguientes
librerías y líneas de Programación:
UART1_Init(const unsigned long baud_rate);
Para inicializar el Modulo, y establecer la Velocidad de
trasmisión en Baudios por segundos dentro de los ()
1)
char UART1_Data_Ready();
Para indicar que hay un dato en el búfer de llegada
del módulo, listo para ser leído, si esta función
retorna 1 el dato puede ser leído.
2)
char UART1_Tx_Idle();
Para indicar si el búfer de transmisión esta ocupado
o no. Si es 1 esta ocupado si es 0 esta disponible.
3)
char UART1_Read();
Para leer un dato de entrada.
4)
UART1_Read_Text(char *Output, char *Delimiter, char Attempts);
Para leer una cadena de caracteres, la guarda
Output, el Delimiter indica el fin de la cadena de
texto de entrada, el Attempts, define la longitud de
la cadena de caracteres.
5)
UART1_Write(char _data);
Para transmitir el dato recibido.
6)
UART1_Write_Text(char * UART_text);
Para transmitir una cadena de texto finalizada con
0, y es entregada por UART_text.
7)
Este tipo de Comunicación serial también usa el
Código ASCII para Trasmitir textos y símbolos, Es
recomendable Usar una frecuencia de trabajo de
20Mhz con un oscilador externo
“
18
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Ejemplo de Programación con el
Módulo EUSART y el Protocolo RS232
Usando el Código desarrollado para manejo y control
de la GLCD y el Teclado Matricial 4x4 en la clase
anterior, realice las modificaciones necesarias para
Transmitir por comunicación serial la información
ingresada por medio del teclado y se visualice
simultáneamente en la GLCD.
“
19
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Antes de comenzar a programar
debes tener en cuenta que el
puerto C del PIC 18F4550 Ya tiene
2 Pines destinados para la
Transmisión serial con el Modulo
UART y el Protocolo R232 el RC6
(Tx) y el RC7 (Rx) , por lo que se
debe cuidar la programación para
no usar estos pines si se pretende
establecer este tipo de
comunicación.
Ejemplo de Programación con el
Módulo EUSART y el Protocolo RS232
“
20
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Ejemplo de Programación con el
Módulo EUSART y el Protocolo RS232
Mantenemos las mismas
declaraciones que la vez pasada,
para los puerto de la GLCD
Mantenemos las mismas Variables
para poder realizar la
configuración al escribir en la
GLCD con el Teclado Matricial 4x4
“
21
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Ejemplo de Programación con el
Módulo EUSART y el Protocolo RS232
Usamos las mismas condiciones
iniciales, configurando el
Oscilador interno, el ADCON1 para
las E/S digitales, Inicializamos el
Teclado con el Keypad_Init();
Inicializamos nuestra GLCD con
Glcd_Init(); y de damos su tiempo
de espera para que se configuren
correctamente
Inicializamos el MODULO UART1
y le configuramos su velocidad
de Transmisión en 9600 Baudios
por segundo
Damos valor de inicio al resto de
las variables a utilizar.
“
22
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Ejemplo de Programación con el
Módulo EUSART y el Protocolo RS232
Para el inicio de nuestra lógica
comenzamos a enviar mensajes con
textos y código ASCII a través del
puerto serial, Usando las sentencias
UART1_Write_Text( “text” ); para
trasmitir cadenas de caracteres o
textos
UART1_Write(); Para transmitir datos,
en este caso se emplea el código
ASCII
Simultáneamente enviamos los
mismos textos a través de las
sentencias correspondientes
para mostrarlos en la GLCD
“
23
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Ejemplo de Programación con el
Módulo EUSART y el Protocolo RS232
Usamos las mismas lógicas y
configuraciones para el
funcionamiento del teclado y la
pantalla GLCD, que nos
permiten escribir varias letras
con las misma tecla
“
24
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Ejemplo de Programación con el
Módulo EUSART y el Protocolo RS232
Usamos la Función Switch (kp) Para
los casos del teclado, con ligeras
modificaciones de ubicación de
teclas, e implementando una tecla de
espacio, Enter.
En el caso 4 se agrega una línea para
borra en la transmisión, empleando la
sentencia UART1_Write(8); este valor
en código ASCII en casos de control
como en la Trasmisión serial significa
retroceso, y nos ayuda a borra el dato
transmitido
“
25
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Ejemplo de Programación con el
Módulo EUSART y el Protocolo RS232
Para el caso 16, configurado para
genera el Enter o Salto de línea
empleamos esta configuración.
“
26
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Ejemplo de Programación con el
Módulo EUSART y el Protocolo RS232
Para mostrar en la GLCD las teclas
pulsadas usamos esta sentencia para
enviar caracteres o variables Char a la
panta, y mostrar el valor del letra
pulsada en las posiciones
correspondiente según las
configuraciones ya establecida al
principio del programa
Para poder trasmitir varias letras
pulsando una sola tecla, empleamos
la sentencia
UART1_Write(8); para retroceso, es
decir para que vuelva al mismo lugar
o a la posición donde estaba si se
pulsa la misma tecla varias veces,
UART1_Write(letra), para enviar el
valor de la letra según la tecla pulsada
como lo hace el teclado,
Y para el desplazamiento de la letra automático a la derecha
en la trasmisión se emplea la condición iF, esperando que
tiempo pase para entonces escribir un espacio en blanco
con UART1_Write (32)
Para la conexión Real o simulación en Proteus
Debes tener en cuenta las siguientes configuraciones
EL MAX232
27
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Ejemplo de Programación con el
Módulo EUSART y el Protocolo RS232
1.Realizar las conexiones de los 4
capacitores de 1nF (un nano
faradio) Según se indica en el
diagrama (C2 conectado a 5v y
pin2)
2.En los pines 11 (T1 In) y 12 (R1 Out)
del Max232 conectar el Tx y el Rx (
transmisor y Receptor) del PIC.
3.En los Pines 13 y 14 del MAX232
conectar el pin 2 y 3 del RS232 o
conector DB9, o los pines de
conexión del terminal virtual para le
caso de la simulación
Para la conexión Real o simulación en Proteus
Debes tener en cuenta las siguientes configuraciones
Conector DB9
28
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Ejemplo de Programación con el
Módulo EUSART y el Protocolo RS232
1.Realizar las conexiones
correspondientes, puente entre los
pines 4 y 6, y otro entre los pines 7
y 8
2.Pin 2 del DB9 con el Pin 14 del
MAX232 que seria la línea de
transmisión Tx desde el PIC al DB9,
y el Pin 3 del DB9 con el Pin 13 del
MAX232 que seria el receptor Rx
del PIC, es decir la líneas de
transmisión del DB9 al PIC.
3.Lo puedes ubicar en PROTEUS
como CONN-D9F
Para la conexión Real o simulación en Proteus
Debes tener en cuenta las siguientes configuraciones
PIC18F4550
29
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Ejemplo de Programación con el
Módulo EUSART y el Protocolo RS232
1.Para conectar el PIC18F4550 se
usan las líneas de transmisión (Tx) y
recepción (Rx) con las que cuenta,
ubicadas en el PORTC en sus bit
RC6 (Tx) y Rc7 (Rx) en este
encapsulado serian los pines 25 y
26 del PIC
2.Las demás conexiones como ya las
venimos trabajando.
Para la conexión Real o simulación en Proteus
Debes tener en cuenta las siguientes configuraciones
Terminal Virtual
30
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Ejemplo de Programación con el
Módulo EUSART y el Protocolo RS232
1.Es una herramienta que ofrece
Proteus para poder visualizar los
datos que se están transmitiendo a
través de la comunicación serial,
simula el comportamiento de DB9
conectado a algún dispositivo
externo del pic.
2.Esta ubicado en la sección
Instruments con el nombre de
Virtual Terminal.
3.Se conecta el terminal Tx del
MAX232 al pin RXD del terminal
virtual y el Terminal Rx del Max232
al terminal TXD del terminal virtual
simulación en Proteus
Terminal Virtual
31
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
32
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Librerías y Líneas de Programación
para la comunicación serial.
Módulo I2C
Este modulo cuenta con las siguientes
librerías y líneas de Programación:
I2C1_Init(const unsigned long clock);
Para inicializar los pines de comunicación en el PIC,
y ajustar la velocidad de comunicación con el clock.
1)
unsigned short I2C1_Start(void);
Para genera la condición de inicio y retorna 0 si no
hay ningún error en la transmisión,
2)
void I2C1_Repeated_Start(void);
está función genera un Reinicio o ReStar.
3)
unsigned short I2C1_Is_Idle(void);
Para preguntar el estado del bus de datos, retorna
1 si esta disponible, 0 si esta ocupado.
4)
unsigned short I2C1_Rd(unsigned short ack);
Para leer un dato del bus de datos, si el dato esta
listo. ack vale 1 envía la confirmación (+) y si no esta
listo ack vale 0 NO ACK la confirmación es
negativa.
5)
unsigned short I2C1_Wr(unsigned short data );
Para transmitir el dato por le bus, retorna 0 si la
transmisión fue exitosa, diferente de 0 si hubo
errores.
6)
void I2C1_Stop(void);
Para Genera la condición de final en el bus
de comunicación.
7)
Se puede Emplear el Registro
SSPCON2, el Bit 06 para verificar el
Status o estado del ACK y verificar la
trasmisión de datos
“
33
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ejemplo de Programación con el
Módulo SSP y el Protocolo I2C
Desarrollar un Código de Programación que permita:
1. Escribir o transmitir información a una memoria
EEPROM 24LC1025 al presionar un botón
conectado en RA4,
2. Leer el dato escrito en la memoria al presionar
un botón conectado a RA5.
3. Visualizar en la GLCD el estado de bit ACK al
Escribir y al Leer.
4. Visualizar en la GlCD el Dato grabado en la
Memoria 24LC1025 Consulta la DataSheet y los
Videos para que observes el
funcionamiento y las
características de la 24LC1025
“
34
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ing. Wilfran Yaraure
Facilitador
Ejemplo de Programación con el
Módulo SSP y el Protocolo I2C Antes de comenzar a programar
debes tener en cuenta que el
puerto B del PIC 18F4550 Ya tiene
2 Pines destinados para la
Transmisión serial con el Modulo
SSP el RB0 (SDI//SDA para la
transmisión de datos) y el RB1
(SCK//SCL para los pulsos de
reloj) , por lo que se debe cuidar la
programación para no usar estos
pines si se pretende establecer
este tipo de comunicación.
“
35
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ejemplo de Programación con el
Módulo SSP y el Protocolo I2C
Iniciamos configurando nuestra
pantalla GLCD, configurando el
Bus de datos en el PORT D y Bus
de control distribuidos 3bit en
PORTC y 3 BIT en PORE
Declaramos las variables globales
a utilizar.
dato=para almacenar la
información o bytes a Grabar o
leer de la memoria
“
36
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ejemplo de Programación con el
Módulo SSP y el Protocolo I2C
Establecemos las condiciones
iniciales de nuestro programa, en
este caso Usamos el registro
INTCON2.RBPU colocando su bit
7 en 1 para deshabilitar las
interrupciones por el PORTB, ya
que estaremos trasmitiendo y
recibiendo por eso puerto.
Este valor asignado a la variable
dato= 0X30 es la información que
va a guardar, esta lo almacena en
su valor hexadecimal en su
dirección correspondiente.
En este caso se esta almacenando
el numero 0
“
37
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ejemplo de Programación con el
Módulo SSP y el Protocolo I2C
Iniciamos nuestro ciclo de
Repeticiones Infinitas con do while
Para Comenzar la transmisión
Enviamos el Bit de Start o inicio,
con la sentencia I2c_Start, que
seria nuestra condición de inicio
Verificamos el estado del botón
conectado en RA4, si es =1 indica
que esta presionado, y se debe
proceder a escribir en la memoria
Luego se debe enviar la dirección de
control para especificar si vamos a
escribir o a leer la memoria (esta se
encuentra en la Datasheet ) en este
caso escribir
“
38
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ejemplo de Programación con el
Módulo SSP y el Protocolo I2C
Seguidamente se envía el dato que se
quiere guardar en la memoria,
anteriormente dijimos que sería el
numero 0
Seguido se debe enviar la dirección de
la memoria donde se quiere escribir o
almacenar el dato, primero los Bit mas
significativos, luego los Bits menos
significativos, en este caso se escribe
en la dirección 00 de la memoria
Cuando ya se han enviado todos los
datos, se debe colocar la condición de
fin, o el bit de Stop.
Le colocamos un tiempo de espera
para que se procesen los datos
correctamente
“
39
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ejemplo de Programación con el
Módulo SSP y el Protocolo I2C
Para verificar el status del ACK o
NoACK, es decir si ve envió
correctamente o no el dato, Usamos el
registro SSPCON2 y verificamos si el
BIT 6 esta activo o no
Si el Bit es = 1 entonces la transmisión
fu errada, si es 0 la transmisión fue
correcta.
En este caso usamos la sentencia if
para verificar si se activo o no este bit,
si esta activo se muestra NOACK en la
Glcd, si esta en cero muestra ACK en
la GLCD
“
40
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ejemplo de Programación con el
Módulo SSP y el Protocolo I2C
Para Comenzar se inicia
nuevamente la transmisión y se
indica la dirección de control para
escribir, y la dirección de memoria
donde se quiere hacer igual que la
secuencia anterior, Esto para
poder ingresar a la memoria
Para la secuencia de lectura
iniciamos Verificamos el estado
del botón conectado en RA5, si es
=1 indica que esta presionado, y se
debe proceder a leer la memoria
Luego se debe enviar la condición de
reinicio, debido a que no se puede
colocar nuevamente un Bit de Start.
Entonces se emplea la sentencia
correspondiente para el reinicio de la
transmisión
“
41
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ejemplo de Programación con el
Módulo SSP y el Protocolo I2C Ahora se debe enviar la dirección de
control para especificar que se va a
leer la memoria en vez de escribir por
eso se coloca la dirección
0b10100001 donde este ultimo bit
activo, habilita la opción de lectura de
la memoria, si estuviese en 0, sería
para escribir en la memoria, como lo
vimos en la secuencia anterior
Seguido Procedemos a leer el dato
usando la sentencia I2c_Rd(0);
haciendo que la variable dato, sea
igual al dato leído con esta sentencia.
Enviamos el bit de Stop, para detener
la transmisión.
“
42
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ejemplo de Programación con el
Módulo SSP y el Protocolo I2C En este caso tendremos un NOACK,
debido a que no se esta transmitiendo
el dato ni recibiendo, solo se esta
leyendo desde la memoria.
Igual lo hacemos verificando el estado
del SSPCON2
Para mostrar en la GLCD el dato leído
desde la memoria, empleamos la
sentencia Glcd_Write_Char (dato,
70,5,1); donde le decimos al micro que
muestre la variable dato en la pantalla
Y usamos dato++, para aumentar el
valor del dato automáticamente cada
vez que presionemos el botón de
escribir
“
43
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ejemplo de Programación con el
Módulo SSP y el Protocolo I2C
Este es el circuito propuesto para la
simulación, los componentes los
ubicas de la misma manera que en los
demás circuitos
“
44
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ejemplo de Programación con el
Módulo SSP y el Protocolo I2C
Este es un visualizador parecido al
terminal virtual, pero en este caso nos
muestra el comportamiento interno de
la memoria de la memoria y se ubica
en la sección de Instruments con el
nombre de I2c Debugger
Debe ser conectado a los terminales
correspondientes del pic
El SDA al RB0
Y el SCL al RB1
“
45
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programa de Ing. Biomédica
UnidadCurricular:
Microcontroladores yMicroprocesadoresII
Ejemplo de Programación con el
Módulo SSP y el Protocolo I2C
Permite visualizar los datos enviados y
recibidos y sus características de
control y dirección
S= Bit de Start
Sr= Bit de reinicio del Star
A0= Dirección de control
A= ACK
00= Parte alta de Dirección de memoria
A= ACK
00= Parte baja de Dirección de memoria
A= ACK
30= Dato enviado (recordamos que
enviamos este valor en la programación)
A= ACK
P= Bit de Stop o Parada
N= NO ACK
“
46
Ing. Wilfran Yaraure
Facilitador
Al ejecutar el programa vemos con el
I2c Debugger los datos enviados y
coinciden con lo mostrado en la GLCD
Al colocar en pausa la simulación nos
muestra el mapeo de la memoria, y nos
indica la dirección donde se guardo el
dato, el dato que se guardo en
Hexadecimal, y su equivalente en
código ASCIII
¡Wow! Ya hemos llegado
al final de este recorrido
Espero te haya ido bien en este viaje, te
invito a que sigas practicando, y realizados
los códigos y las simulaciones propuestas,
recuerda revisar el material sugerido, y ten
en mente esto: “La practica hace al
maestro”
47
Si tienes dudas, Estoy a un mensaje de Distancia
Ig @Profesor_y
ucup2biounefm@gmail.com
Y en el Directo del AVA
Ing. Wilfran Yaraure
Facilitador
Bibliografía
48
✓ Clavijo (2011), Diseño y simulación de sistemas microcontrolados en lenguaje C, Programación
con MikroC PRO, Simulación en Proteus ISIS. https://drive.google.com/file/d/0B3Gup-
Soes9hbFByRHF0WFpuQk0/view?usp=sharing
✓ Microchip Technology Inc. (2010) Datasheet PIC18F4550
✓ Microchip Technology Inc. (2010) Datasheet 24LC1025
"Ser fiel en lo poco nos asegura
abundancia en el futuro“
Cumplir con lo que a cada uno nos
corresponde con fidelidad, entrega,
integridad, mística y vocación, en
momentos de escasez y dificultad, es
un pase seguro a la abundancia,
perseverar en el servicio y el respeto
al prójimo, en estos tiempo es una
tarea titánica, que si la hacemos con
verdadera disposición y con alegre
Corazón, nos conseguirá la paz y la
abundancia que tanto anhelamos,
has el bien Aunque nadie te vea, y
gozaras de abundante paz.
@Profesor_y

Más contenido relacionado

La actualidad más candente

Enfermedades virales 28.07.2010
Enfermedades virales 28.07.2010Enfermedades virales 28.07.2010
Enfermedades virales 28.07.2010
felix
 
Arm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armArm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_arm
Prashant Ahire
 

La actualidad más candente (10)

GAS sensor report
GAS sensor reportGAS sensor report
GAS sensor report
 
MANEJO DE SUSTANCIAS QUIMICAS
MANEJO DE SUSTANCIAS QUIMICASMANEJO DE SUSTANCIAS QUIMICAS
MANEJO DE SUSTANCIAS QUIMICAS
 
Intel Quark HSUART
Intel Quark HSUARTIntel Quark HSUART
Intel Quark HSUART
 
Enfermedades virales 28.07.2010
Enfermedades virales 28.07.2010Enfermedades virales 28.07.2010
Enfermedades virales 28.07.2010
 
Establecimientos De Salud
Establecimientos De SaludEstablecimientos De Salud
Establecimientos De Salud
 
Arm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armArm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_arm
 
Almacenamiento productos quimicos
Almacenamiento productos quimicosAlmacenamiento productos quimicos
Almacenamiento productos quimicos
 
MIPI DevCon 2016: Multiple MIPI CSI-2 Cameras Leveraging FPGAs
MIPI DevCon 2016: Multiple MIPI CSI-2 Cameras Leveraging FPGAsMIPI DevCon 2016: Multiple MIPI CSI-2 Cameras Leveraging FPGAs
MIPI DevCon 2016: Multiple MIPI CSI-2 Cameras Leveraging FPGAs
 
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion SystemsMIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
 
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Introduction to Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Introduction to Embedded SystemsSYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Introduction to Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Introduction to Embedded Systems
 

Similar a UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdf

Conceptos generales de redes gil
Conceptos generales de redes  gilConceptos generales de redes  gil
Conceptos generales de redes gil
Gilberto661025
 
Diseño de micro
Diseño de microDiseño de micro
Diseño de micro
edjosesa
 

Similar a UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdf (20)

Comunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PCComunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PC
 
Sistema competencias con el Stellaris
Sistema competencias con el StellarisSistema competencias con el Stellaris
Sistema competencias con el Stellaris
 
Comunicación Serial
Comunicación SerialComunicación Serial
Comunicación Serial
 
Unidad V
Unidad VUnidad V
Unidad V
 
Conexiones en-serie-microcontroladores
Conexiones en-serie-microcontroladoresConexiones en-serie-microcontroladores
Conexiones en-serie-microcontroladores
 
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
 
Laboratorio de telemetría
Laboratorio de telemetríaLaboratorio de telemetría
Laboratorio de telemetría
 
Microcontroladores ver2.0
Microcontroladores ver2.0Microcontroladores ver2.0
Microcontroladores ver2.0
 
Sci asincrono
Sci asincronoSci asincrono
Sci asincrono
 
Interbus
InterbusInterbus
Interbus
 
Conceptos generales de redes gil
Conceptos generales de redes  gilConceptos generales de redes  gil
Conceptos generales de redes gil
 
Administrador de registros de información de condiciones térmicas
Administrador de registros de información de condiciones térmicasAdministrador de registros de información de condiciones térmicas
Administrador de registros de información de condiciones térmicas
 
motor paso a paso
 motor paso a paso motor paso a paso
motor paso a paso
 
Serial Peripherical Interface (SPI)
Serial Peripherical Interface (SPI)Serial Peripherical Interface (SPI)
Serial Peripherical Interface (SPI)
 
Introduccion a los sistemas de comunicación
Introduccion a los sistemas de comunicaciónIntroduccion a los sistemas de comunicación
Introduccion a los sistemas de comunicación
 
modems-e-interfaces.pptx
modems-e-interfaces.pptxmodems-e-interfaces.pptx
modems-e-interfaces.pptx
 
Redes
RedesRedes
Redes
 
Tele2
Tele2Tele2
Tele2
 
Tele2
Tele2Tele2
Tele2
 
Diseño de micro
Diseño de microDiseño de micro
Diseño de micro
 

Más de SistemadeEstudiosMed

Más de SistemadeEstudiosMed (20)

Metodologia Aprendizaje Multicanal - ADI22.pdf
Metodologia Aprendizaje Multicanal - ADI22.pdfMetodologia Aprendizaje Multicanal - ADI22.pdf
Metodologia Aprendizaje Multicanal - ADI22.pdf
 
DE-04-COMPRESORES-2022.pdf
DE-04-COMPRESORES-2022.pdfDE-04-COMPRESORES-2022.pdf
DE-04-COMPRESORES-2022.pdf
 
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdfDE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
 
DE-02-FLUJO DE FLUIDOS-2022.pdf
DE-02-FLUJO DE FLUIDOS-2022.pdfDE-02-FLUJO DE FLUIDOS-2022.pdf
DE-02-FLUJO DE FLUIDOS-2022.pdf
 
DE-01-INTRODUCCION-2022.pdf
DE-01-INTRODUCCION-2022.pdfDE-01-INTRODUCCION-2022.pdf
DE-01-INTRODUCCION-2022.pdf
 
Clase 3 Correlación.ppt
Clase 3 Correlación.pptClase 3 Correlación.ppt
Clase 3 Correlación.ppt
 
Clase 2 Medidas Estadisticas.ppt
Clase 2 Medidas Estadisticas.pptClase 2 Medidas Estadisticas.ppt
Clase 2 Medidas Estadisticas.ppt
 
Clase 1 Estadistica Generalidades.pptx
Clase 1 Estadistica Generalidades.pptxClase 1 Estadistica Generalidades.pptx
Clase 1 Estadistica Generalidades.pptx
 
nociones básicas de la comunicación.pdf
nociones básicas de la comunicación.pdfnociones básicas de la comunicación.pdf
nociones básicas de la comunicación.pdf
 
¿Cómo elaborar un Mapa Mental?
¿Cómo  elaborar un  Mapa Mental?¿Cómo  elaborar un  Mapa Mental?
¿Cómo elaborar un Mapa Mental?
 
Unidad 1 Planificación Docente
Unidad 1 Planificación Docente Unidad 1 Planificación Docente
Unidad 1 Planificación Docente
 
hablemos_pp2_inf.pptx
hablemos_pp2_inf.pptxhablemos_pp2_inf.pptx
hablemos_pp2_inf.pptx
 
UNIDAD 3 FASE METODOLOGICA.pptx
UNIDAD 3 FASE METODOLOGICA.pptxUNIDAD 3 FASE METODOLOGICA.pptx
UNIDAD 3 FASE METODOLOGICA.pptx
 
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.pptUNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
 
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.pptUnidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
 
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdfLineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
 
unidad quirurgica.pdf
unidad quirurgica.pdfunidad quirurgica.pdf
unidad quirurgica.pdf
 
Cuidados preoperatorios.pdf
Cuidados preoperatorios.pdfCuidados preoperatorios.pdf
Cuidados preoperatorios.pdf
 
Cirugía..pdf
Cirugía..pdfCirugía..pdf
Cirugía..pdf
 
Cirugía Ambulatoria2.pdf
Cirugía Ambulatoria2.pdfCirugía Ambulatoria2.pdf
Cirugía Ambulatoria2.pdf
 

Último

La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
NancyLoaa
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 

Último (20)

PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 

UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdf

  • 1. Comunicación Serial Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programade Ing. Biomédica Unidad Curricular: Microcontroladores y Microprocesadores II
  • 2. ¡Hola! Nos Encontramos nuevamente, espero estés de Maravilla. Continuamos navegando por el mundo de los Microcontroladores, esta vez haremos una parada en la estación de la Comunicación Serial, aprenderemos a diferenciarla, y a utilizar el Protocolo RS232, uno de los mas usado para este tipo de comunicación. ¡Vamos a Darle! @profesor_y 2 Ing. Wilfran Yaraure Facilitador
  • 3. Comunicación de los Microcontroladores Los microcontroladores pueden establecer conexión o comunicación con otros dispositivos como: memorias, sensores, ordenadores, e incluso otros microcontroladores, e intercambiar datos e información con ellos. Para ello Pueden Utilizar 2 tipos de comunicación como lo son La comunicación Serial y La Comunicación Paralela Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programade Ing. Biomédica Unidad Curricular: Microcontroladores y Microprocesadores II
  • 4. Tipos de Comunicación 4 1 Comunicación Paralela 1. Transmite todos los bits de un dato de manera simultánea, 2. La velocidad de transferencia es rápida, 3. Debe utilizar una gran cantidad de líneas, 4. mas costoso 5. Tiende a atenuarse a grandes distancias, por la capacitancia entre conductores. 2 Comunicación Serial 1. Trasmite los en forma secuencial enviando bit a bit de cada palabra de información binaria. 2. La velocidad de transferencia es menor que la paralela pero eficiente de igual manera 3. Utilizan un solo hilo para llevar la información 4. Mas económico y común 5. Menos Atenuación por que usa menos conductores Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador
  • 5. Tipos de Comunicación Serial 5 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Comunicación Serial Comunicación serial Asíncrona Comunicación serial Síncrona Utiliza 2 líneas de Transmisión: una línea sobre la cual se transmitirán los datos y una línea la cual contendrá los pulsos de reloj, que indicaran cuando un datos es valido. Es decir que la velocidad y la sincronía dependen de los pulsos del reloj, se enviará un bit con cada pulso. No utiliza pulsos de reloj, la duración de cada bit esta determinada por la velocidad con la cual se realiza la transferencia de datos denominada como Baudios, que se mide en bits por segundos Ing. Wilfran Yaraure Facilitador
  • 6. Tipos de Comunicación Serial 6 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Comunicación Serial Comunicación serial Asíncrona Cuando no se esta en transferencia de datos, la línea del transmisor se encuentra en estado alto (IDLE). Para iniciar la transmisión, el transmisor coloca esta línea en estado bajo durante determinado tiempo, lo cual se le conoce como bit de arranque (start bit) Luego comienza a transmitir los bits correspondientes al dato con un intervalo de tiempo entre cada Bit, iniciando con el BIT menos significativo (LSB), y terminando con el BIT mas significativo. Si el receptor no esta sincronizado con el transmisor, este desconoce cuando se van a recibir los datos. Estructura de una dato que se trasmite. Ing. Wilfran Yaraure Facilitador
  • 7. 7 Módulos Y Protocolos de Comunicación Serial Síncrona Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII 7 Módulo MSSP Master Synchronous Serial Port Ó Puerto Serie Síncrono Maestro Permite la comunicación de alta velocidad entre un microcontrolador y otros periféricos u otros micro Utilizando varias líneas de E/S (como máximo dos o tres líneas) Utilizada en sistemas con un sólo maestro y uno o más esclavos. ❑ Un dispositivo maestro contiene un circuito para generación de baudios y además, suministra señales de reloj a todos los dispositivos del sistema. ❑ Los dispositivos esclavos no disponen de un circuito interno para generación de señales de reloj. Ing. Wilfran Yaraure Facilitador Comunicación serial síncrona 1) 2)
  • 8. 8 Módulos Y Protocolos de Comunicación Serial Síncrona Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII 8 Módulo MSSP Master Synchronous Serial Port Ó Puerto Serie Síncrono Maestro Se utiliza con frecuencia para conectar los visualizadores LCD, convertidores A/D, memorias EEPROM seriales, los registros de desplazamiento, entre otros. Puede funcionar Con dos Protocolos: ❑ Protocolo SPI (Interfaz periférica serial - Serial Peripheral Interface) ❑ Protocolo I2C (Circuito inter-integrado - Inter- Integrated Circuit). Ing. Wilfran Yaraure Facilitador Comunicación serial síncrona 3) 4)
  • 9. 9 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII 9 Protocolo I2C Bus de Circuito inter-integrado Ideal para la comunicación con memorias seriales como la 24LC64, 24LC128, 24LC512, entre otras La transmisión de datos bidireccional. Sólo se utilizan dos pines para transmisión : SDA (Datos seriales) y SCL (Reloj serial). Módulo MSSP Módulos Y Protocolos de Comunicación Serial Síncrona Ing. Wilfran Yaraure Facilitador Comunicación serial síncrona La velocidad de comunicación está dada en bits por segundo. En restos pines usa una resistencia pull- up de 10KΩ. Se puede usar para conectar diferentes dispositivos con direcciones diferentes en una topología en forma de bus Usa una condición de inicio, un bloque de dirección para los dispositivos en la red, un bloque de datos, una condición de fin, usa las condiciones de repetición de inicio y un bit de reconocimiento (ACK).
  • 10. 10 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII 10 Protocolo SPI Ideal para la comunicación con unidades de almacenamiento masivo como las memorias SD Permite la transmisión y recepción simultánea de datos de 8 bits utilizando 3 líneas de E/S SDO - Serial Data Out (salida de datos serie )- línea de transmisión. SDI - Serial Data In (entrada de datos serie) - línea de recepción. SCK - Serial Clock (reloj de comunicación) - línea de sincronización. línea (SS) se puede utilizar si el cuando se intercambia los datos con varios dispositivos periféricos. Módulo MSSP Módulos Y Protocolos de Comunicación Serial Síncrona Ing. Wilfran Yaraure Facilitador Comunicación serial síncrona
  • 11. 11 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Módulos Y Protocolos de Comunicación Serial Asíncrona Ing. Wilfran Yaraure Facilitador Comunicación Serial Asíncrona Módulo EUSART Enhanced Universal Synchronous Asynchronous Receiver Transmitter Ó Transmisor Receptor Universal Síncrono Asíncrono Mejorado No requiere un medio para el reloj. La señal de reloj, o sincronismo lo deben asumir, independiente mente cada uno de los elementos, el transmisor y el receptor. Uno de los primeros sistemas de comunicación serie, Antiguamente llamado USART, conocido también como Interfaz de comunicación serie (Serial Communications Interface - SCI). Cuenta con comunicación ❑ full-duplex, es decir transmite y recibe datos al mismo tiempo. usando una línea solo para transmitir y otra solo para recibir. ❑ Half Duplex en modo síncrono, transmitiendo y recibiendo datos, pero no simultáneamente, es decir primero envía y luego recibe. 1) 2) 3)
  • 12. 12 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Módulos Y Protocolos de Comunicación Serial Asíncrona Ing. Wilfran Yaraure Facilitador Comunicación Serial Asíncrona Módulo EUSART Enhanced Universal Synchronous Asynchronous Receiver Transmitter Ó Transmisor Receptor Universal Síncrono Asíncrono Mejorado Trabaja con el Protocolo: ❑ Protocolo RS232 : utilizado por los ordenadores personales y otros dispositivos, representa el valor de un 0 lógico con una tensión de +12 voltios, y el valor de un 1 lógico con -12 voltios. Cuando Trabaja en comunicación Síncrona usa un bit de inicio (start) Igual a Cero (0) lógico, 8 o 9 bits de datos para los PIC, y 1, 1.5 o 2 bits de fin (stop) Con una Velocidad de transmisión igual para ambos dispositivo estándar en de 9600 bps, puede ser mayor o menor. 4) 5)
  • 13. 13 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Módulos Y Protocolos de Comunicación Serial Asíncrona Ing. Wilfran Yaraure Facilitador Comunicación Serial Asíncrona Módulo EUSART 1. DCD 2. RXD 3. TXD 4. DTR 5. GND 6. DSR 7. RST 8. CST 9. NO USADO. Usa un conector DB9, con 9 pines Protocolo RS232 Configuración de Conexión para comunicación Asíncrona Es muy común en computadoras y otros dispositivos
  • 14. 14 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Módulos Y Protocolos de Comunicación Serial Asíncrona Ing. Wilfran Yaraure Facilitador Comunicación Serial Asíncrona Módulo EUSART Protocolo RS232 Circuito Integrado MAX232 Ayuda a establecer y acoplar la comunicación entre el PIC y el CONECTOR DB9, Usando Esta configuración de conexión y capacitores TX Del MAX232 RX Del MAX232 TX del PIC RX del PIC
  • 15. ¿Que te parece? No te alarmes ni te asustes, se que puede con esto, parece complicado pero la verdad no lo es… Debemos seguir avanzando, ahora vamos con las librerías y líneas de programación para usar estos módulos y protocolo de comunicación, así que vamos a darle 15
  • 16. Librerías y Líneas de Programación para la comunicación serial. Algunos PIC poseen Esta serie de módulos y al igual MikroC PRO cuenta con librerías especializadas para que facilitan la configuración y uso de las comunicación seria. La librerías como: I2C, UART para el EUSART, SPI1 y en algunos mas avanzado HID para la comunicación a través de USB. Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador
  • 17. 17 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Librerías y Líneas de Programación para la comunicación serial. Módulo EUSART Este modulo cuenta con las siguientes librerías y líneas de Programación: UART1_Init(const unsigned long baud_rate); Para inicializar el Modulo, y establecer la Velocidad de trasmisión en Baudios por segundos dentro de los () 1) char UART1_Data_Ready(); Para indicar que hay un dato en el búfer de llegada del módulo, listo para ser leído, si esta función retorna 1 el dato puede ser leído. 2) char UART1_Tx_Idle(); Para indicar si el búfer de transmisión esta ocupado o no. Si es 1 esta ocupado si es 0 esta disponible. 3) char UART1_Read(); Para leer un dato de entrada. 4) UART1_Read_Text(char *Output, char *Delimiter, char Attempts); Para leer una cadena de caracteres, la guarda Output, el Delimiter indica el fin de la cadena de texto de entrada, el Attempts, define la longitud de la cadena de caracteres. 5) UART1_Write(char _data); Para transmitir el dato recibido. 6) UART1_Write_Text(char * UART_text); Para transmitir una cadena de texto finalizada con 0, y es entregada por UART_text. 7) Este tipo de Comunicación serial también usa el Código ASCII para Trasmitir textos y símbolos, Es recomendable Usar una frecuencia de trabajo de 20Mhz con un oscilador externo
  • 18. “ 18 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Ejemplo de Programación con el Módulo EUSART y el Protocolo RS232 Usando el Código desarrollado para manejo y control de la GLCD y el Teclado Matricial 4x4 en la clase anterior, realice las modificaciones necesarias para Transmitir por comunicación serial la información ingresada por medio del teclado y se visualice simultáneamente en la GLCD.
  • 19. “ 19 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Antes de comenzar a programar debes tener en cuenta que el puerto C del PIC 18F4550 Ya tiene 2 Pines destinados para la Transmisión serial con el Modulo UART y el Protocolo R232 el RC6 (Tx) y el RC7 (Rx) , por lo que se debe cuidar la programación para no usar estos pines si se pretende establecer este tipo de comunicación. Ejemplo de Programación con el Módulo EUSART y el Protocolo RS232
  • 20. “ 20 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Ejemplo de Programación con el Módulo EUSART y el Protocolo RS232 Mantenemos las mismas declaraciones que la vez pasada, para los puerto de la GLCD Mantenemos las mismas Variables para poder realizar la configuración al escribir en la GLCD con el Teclado Matricial 4x4
  • 21. “ 21 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Ejemplo de Programación con el Módulo EUSART y el Protocolo RS232 Usamos las mismas condiciones iniciales, configurando el Oscilador interno, el ADCON1 para las E/S digitales, Inicializamos el Teclado con el Keypad_Init(); Inicializamos nuestra GLCD con Glcd_Init(); y de damos su tiempo de espera para que se configuren correctamente Inicializamos el MODULO UART1 y le configuramos su velocidad de Transmisión en 9600 Baudios por segundo Damos valor de inicio al resto de las variables a utilizar.
  • 22. “ 22 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Ejemplo de Programación con el Módulo EUSART y el Protocolo RS232 Para el inicio de nuestra lógica comenzamos a enviar mensajes con textos y código ASCII a través del puerto serial, Usando las sentencias UART1_Write_Text( “text” ); para trasmitir cadenas de caracteres o textos UART1_Write(); Para transmitir datos, en este caso se emplea el código ASCII Simultáneamente enviamos los mismos textos a través de las sentencias correspondientes para mostrarlos en la GLCD
  • 23. “ 23 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Ejemplo de Programación con el Módulo EUSART y el Protocolo RS232 Usamos las mismas lógicas y configuraciones para el funcionamiento del teclado y la pantalla GLCD, que nos permiten escribir varias letras con las misma tecla
  • 24. “ 24 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Ejemplo de Programación con el Módulo EUSART y el Protocolo RS232 Usamos la Función Switch (kp) Para los casos del teclado, con ligeras modificaciones de ubicación de teclas, e implementando una tecla de espacio, Enter. En el caso 4 se agrega una línea para borra en la transmisión, empleando la sentencia UART1_Write(8); este valor en código ASCII en casos de control como en la Trasmisión serial significa retroceso, y nos ayuda a borra el dato transmitido
  • 25. “ 25 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Ejemplo de Programación con el Módulo EUSART y el Protocolo RS232 Para el caso 16, configurado para genera el Enter o Salto de línea empleamos esta configuración.
  • 26. “ 26 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Ejemplo de Programación con el Módulo EUSART y el Protocolo RS232 Para mostrar en la GLCD las teclas pulsadas usamos esta sentencia para enviar caracteres o variables Char a la panta, y mostrar el valor del letra pulsada en las posiciones correspondiente según las configuraciones ya establecida al principio del programa Para poder trasmitir varias letras pulsando una sola tecla, empleamos la sentencia UART1_Write(8); para retroceso, es decir para que vuelva al mismo lugar o a la posición donde estaba si se pulsa la misma tecla varias veces, UART1_Write(letra), para enviar el valor de la letra según la tecla pulsada como lo hace el teclado, Y para el desplazamiento de la letra automático a la derecha en la trasmisión se emplea la condición iF, esperando que tiempo pase para entonces escribir un espacio en blanco con UART1_Write (32)
  • 27. Para la conexión Real o simulación en Proteus Debes tener en cuenta las siguientes configuraciones EL MAX232 27 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Ejemplo de Programación con el Módulo EUSART y el Protocolo RS232 1.Realizar las conexiones de los 4 capacitores de 1nF (un nano faradio) Según se indica en el diagrama (C2 conectado a 5v y pin2) 2.En los pines 11 (T1 In) y 12 (R1 Out) del Max232 conectar el Tx y el Rx ( transmisor y Receptor) del PIC. 3.En los Pines 13 y 14 del MAX232 conectar el pin 2 y 3 del RS232 o conector DB9, o los pines de conexión del terminal virtual para le caso de la simulación
  • 28. Para la conexión Real o simulación en Proteus Debes tener en cuenta las siguientes configuraciones Conector DB9 28 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Ejemplo de Programación con el Módulo EUSART y el Protocolo RS232 1.Realizar las conexiones correspondientes, puente entre los pines 4 y 6, y otro entre los pines 7 y 8 2.Pin 2 del DB9 con el Pin 14 del MAX232 que seria la línea de transmisión Tx desde el PIC al DB9, y el Pin 3 del DB9 con el Pin 13 del MAX232 que seria el receptor Rx del PIC, es decir la líneas de transmisión del DB9 al PIC. 3.Lo puedes ubicar en PROTEUS como CONN-D9F
  • 29. Para la conexión Real o simulación en Proteus Debes tener en cuenta las siguientes configuraciones PIC18F4550 29 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Ejemplo de Programación con el Módulo EUSART y el Protocolo RS232 1.Para conectar el PIC18F4550 se usan las líneas de transmisión (Tx) y recepción (Rx) con las que cuenta, ubicadas en el PORTC en sus bit RC6 (Tx) y Rc7 (Rx) en este encapsulado serian los pines 25 y 26 del PIC 2.Las demás conexiones como ya las venimos trabajando.
  • 30. Para la conexión Real o simulación en Proteus Debes tener en cuenta las siguientes configuraciones Terminal Virtual 30 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Ejemplo de Programación con el Módulo EUSART y el Protocolo RS232 1.Es una herramienta que ofrece Proteus para poder visualizar los datos que se están transmitiendo a través de la comunicación serial, simula el comportamiento de DB9 conectado a algún dispositivo externo del pic. 2.Esta ubicado en la sección Instruments con el nombre de Virtual Terminal. 3.Se conecta el terminal Tx del MAX232 al pin RXD del terminal virtual y el Terminal Rx del Max232 al terminal TXD del terminal virtual
  • 31. simulación en Proteus Terminal Virtual 31 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador
  • 32. 32 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Librerías y Líneas de Programación para la comunicación serial. Módulo I2C Este modulo cuenta con las siguientes librerías y líneas de Programación: I2C1_Init(const unsigned long clock); Para inicializar los pines de comunicación en el PIC, y ajustar la velocidad de comunicación con el clock. 1) unsigned short I2C1_Start(void); Para genera la condición de inicio y retorna 0 si no hay ningún error en la transmisión, 2) void I2C1_Repeated_Start(void); está función genera un Reinicio o ReStar. 3) unsigned short I2C1_Is_Idle(void); Para preguntar el estado del bus de datos, retorna 1 si esta disponible, 0 si esta ocupado. 4) unsigned short I2C1_Rd(unsigned short ack); Para leer un dato del bus de datos, si el dato esta listo. ack vale 1 envía la confirmación (+) y si no esta listo ack vale 0 NO ACK la confirmación es negativa. 5) unsigned short I2C1_Wr(unsigned short data ); Para transmitir el dato por le bus, retorna 0 si la transmisión fue exitosa, diferente de 0 si hubo errores. 6) void I2C1_Stop(void); Para Genera la condición de final en el bus de comunicación. 7) Se puede Emplear el Registro SSPCON2, el Bit 06 para verificar el Status o estado del ACK y verificar la trasmisión de datos
  • 33. “ 33 Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ejemplo de Programación con el Módulo SSP y el Protocolo I2C Desarrollar un Código de Programación que permita: 1. Escribir o transmitir información a una memoria EEPROM 24LC1025 al presionar un botón conectado en RA4, 2. Leer el dato escrito en la memoria al presionar un botón conectado a RA5. 3. Visualizar en la GLCD el estado de bit ACK al Escribir y al Leer. 4. Visualizar en la GlCD el Dato grabado en la Memoria 24LC1025 Consulta la DataSheet y los Videos para que observes el funcionamiento y las características de la 24LC1025
  • 34. “ 34 Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ing. Wilfran Yaraure Facilitador Ejemplo de Programación con el Módulo SSP y el Protocolo I2C Antes de comenzar a programar debes tener en cuenta que el puerto B del PIC 18F4550 Ya tiene 2 Pines destinados para la Transmisión serial con el Modulo SSP el RB0 (SDI//SDA para la transmisión de datos) y el RB1 (SCK//SCL para los pulsos de reloj) , por lo que se debe cuidar la programación para no usar estos pines si se pretende establecer este tipo de comunicación.
  • 35. “ 35 Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ejemplo de Programación con el Módulo SSP y el Protocolo I2C Iniciamos configurando nuestra pantalla GLCD, configurando el Bus de datos en el PORT D y Bus de control distribuidos 3bit en PORTC y 3 BIT en PORE Declaramos las variables globales a utilizar. dato=para almacenar la información o bytes a Grabar o leer de la memoria
  • 36. “ 36 Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ejemplo de Programación con el Módulo SSP y el Protocolo I2C Establecemos las condiciones iniciales de nuestro programa, en este caso Usamos el registro INTCON2.RBPU colocando su bit 7 en 1 para deshabilitar las interrupciones por el PORTB, ya que estaremos trasmitiendo y recibiendo por eso puerto. Este valor asignado a la variable dato= 0X30 es la información que va a guardar, esta lo almacena en su valor hexadecimal en su dirección correspondiente. En este caso se esta almacenando el numero 0
  • 37. “ 37 Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ejemplo de Programación con el Módulo SSP y el Protocolo I2C Iniciamos nuestro ciclo de Repeticiones Infinitas con do while Para Comenzar la transmisión Enviamos el Bit de Start o inicio, con la sentencia I2c_Start, que seria nuestra condición de inicio Verificamos el estado del botón conectado en RA4, si es =1 indica que esta presionado, y se debe proceder a escribir en la memoria Luego se debe enviar la dirección de control para especificar si vamos a escribir o a leer la memoria (esta se encuentra en la Datasheet ) en este caso escribir
  • 38. “ 38 Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ejemplo de Programación con el Módulo SSP y el Protocolo I2C Seguidamente se envía el dato que se quiere guardar en la memoria, anteriormente dijimos que sería el numero 0 Seguido se debe enviar la dirección de la memoria donde se quiere escribir o almacenar el dato, primero los Bit mas significativos, luego los Bits menos significativos, en este caso se escribe en la dirección 00 de la memoria Cuando ya se han enviado todos los datos, se debe colocar la condición de fin, o el bit de Stop. Le colocamos un tiempo de espera para que se procesen los datos correctamente
  • 39. “ 39 Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ejemplo de Programación con el Módulo SSP y el Protocolo I2C Para verificar el status del ACK o NoACK, es decir si ve envió correctamente o no el dato, Usamos el registro SSPCON2 y verificamos si el BIT 6 esta activo o no Si el Bit es = 1 entonces la transmisión fu errada, si es 0 la transmisión fue correcta. En este caso usamos la sentencia if para verificar si se activo o no este bit, si esta activo se muestra NOACK en la Glcd, si esta en cero muestra ACK en la GLCD
  • 40. “ 40 Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ejemplo de Programación con el Módulo SSP y el Protocolo I2C Para Comenzar se inicia nuevamente la transmisión y se indica la dirección de control para escribir, y la dirección de memoria donde se quiere hacer igual que la secuencia anterior, Esto para poder ingresar a la memoria Para la secuencia de lectura iniciamos Verificamos el estado del botón conectado en RA5, si es =1 indica que esta presionado, y se debe proceder a leer la memoria Luego se debe enviar la condición de reinicio, debido a que no se puede colocar nuevamente un Bit de Start. Entonces se emplea la sentencia correspondiente para el reinicio de la transmisión
  • 41. “ 41 Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ejemplo de Programación con el Módulo SSP y el Protocolo I2C Ahora se debe enviar la dirección de control para especificar que se va a leer la memoria en vez de escribir por eso se coloca la dirección 0b10100001 donde este ultimo bit activo, habilita la opción de lectura de la memoria, si estuviese en 0, sería para escribir en la memoria, como lo vimos en la secuencia anterior Seguido Procedemos a leer el dato usando la sentencia I2c_Rd(0); haciendo que la variable dato, sea igual al dato leído con esta sentencia. Enviamos el bit de Stop, para detener la transmisión.
  • 42. “ 42 Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ejemplo de Programación con el Módulo SSP y el Protocolo I2C En este caso tendremos un NOACK, debido a que no se esta transmitiendo el dato ni recibiendo, solo se esta leyendo desde la memoria. Igual lo hacemos verificando el estado del SSPCON2 Para mostrar en la GLCD el dato leído desde la memoria, empleamos la sentencia Glcd_Write_Char (dato, 70,5,1); donde le decimos al micro que muestre la variable dato en la pantalla Y usamos dato++, para aumentar el valor del dato automáticamente cada vez que presionemos el botón de escribir
  • 43. “ 43 Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ejemplo de Programación con el Módulo SSP y el Protocolo I2C Este es el circuito propuesto para la simulación, los componentes los ubicas de la misma manera que en los demás circuitos
  • 44. “ 44 Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ejemplo de Programación con el Módulo SSP y el Protocolo I2C Este es un visualizador parecido al terminal virtual, pero en este caso nos muestra el comportamiento interno de la memoria de la memoria y se ubica en la sección de Instruments con el nombre de I2c Debugger Debe ser conectado a los terminales correspondientes del pic El SDA al RB0 Y el SCL al RB1
  • 45. “ 45 Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programa de Ing. Biomédica UnidadCurricular: Microcontroladores yMicroprocesadoresII Ejemplo de Programación con el Módulo SSP y el Protocolo I2C Permite visualizar los datos enviados y recibidos y sus características de control y dirección S= Bit de Start Sr= Bit de reinicio del Star A0= Dirección de control A= ACK 00= Parte alta de Dirección de memoria A= ACK 00= Parte baja de Dirección de memoria A= ACK 30= Dato enviado (recordamos que enviamos este valor en la programación) A= ACK P= Bit de Stop o Parada N= NO ACK
  • 46. “ 46 Ing. Wilfran Yaraure Facilitador Al ejecutar el programa vemos con el I2c Debugger los datos enviados y coinciden con lo mostrado en la GLCD Al colocar en pausa la simulación nos muestra el mapeo de la memoria, y nos indica la dirección donde se guardo el dato, el dato que se guardo en Hexadecimal, y su equivalente en código ASCIII
  • 47. ¡Wow! Ya hemos llegado al final de este recorrido Espero te haya ido bien en este viaje, te invito a que sigas practicando, y realizados los códigos y las simulaciones propuestas, recuerda revisar el material sugerido, y ten en mente esto: “La practica hace al maestro” 47 Si tienes dudas, Estoy a un mensaje de Distancia Ig @Profesor_y ucup2biounefm@gmail.com Y en el Directo del AVA Ing. Wilfran Yaraure Facilitador
  • 48. Bibliografía 48 ✓ Clavijo (2011), Diseño y simulación de sistemas microcontrolados en lenguaje C, Programación con MikroC PRO, Simulación en Proteus ISIS. https://drive.google.com/file/d/0B3Gup- Soes9hbFByRHF0WFpuQk0/view?usp=sharing ✓ Microchip Technology Inc. (2010) Datasheet PIC18F4550 ✓ Microchip Technology Inc. (2010) Datasheet 24LC1025
  • 49. "Ser fiel en lo poco nos asegura abundancia en el futuro“ Cumplir con lo que a cada uno nos corresponde con fidelidad, entrega, integridad, mística y vocación, en momentos de escasez y dificultad, es un pase seguro a la abundancia, perseverar en el servicio y el respeto al prójimo, en estos tiempo es una tarea titánica, que si la hacemos con verdadera disposición y con alegre Corazón, nos conseguirá la paz y la abundancia que tanto anhelamos, has el bien Aunque nadie te vea, y gozaras de abundante paz. @Profesor_y