La USART permite la comunicación síncrona o asíncrona, transmisión y recepción de datos en modo full duplex. Está compuesta por un generador de baudios, circuito de muestreo y transmisor/receptor asíncrono. Existen registros de control como SPBRG, TXSTA y RCSTA para configurar la velocidad, modo y habilitar la transmisión y recepción. El dato recibido se almacena en RCREG y el transmitido en TXREG.
⭐⭐⭐⭐⭐ (Práctica 2) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso del ADC del microcontrolador.
▷ Mostrar en los led el valor leído por el ADC en binario.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
✅ Descripción
▷ El presente proyecto hace uso del potenciómetro PT y los LEDs.
▷ Como primer paso se hace la lectura del convertidor analógico-digital y este es almacenado en el microcontrolador.
▷ Se mostrará en los leds el valor leído por el ADC en binario.
✅ Desarrollo
▷ Para realizar la práctica planteada es necesario ubicar algunos JUMPER de tal manera que permita el uso de los componentes necesarios para esta práctica.
▷ El módulo Entrenamiento M.E.I&T04 puede utilizar una de dos fuentes de alimentación.
▷ Fuente de alimentación USB desde PC a través del cable USB.
▷ Fuente de alimentación EXT desde un Jack DC.
▷ Para hacer uso del potenciómetro PT tenemos que ubicar el JUMPER que está encima del potenciómetro en la posición EN (Enable=Habilitado) como se muestra en la figura.
▷ Para hacer uso de los led tenemos que ubicar el JUMPER que está debajo en la posición EN (Enable=Habilitado) como se muestra en la figura.
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Práctica 1
▷ Entradas y Salidas Digitales
✅ Objetivo
▷ Aprender a hacer uso del botón MCLR como entrada digital PORTE.3
▷ Mostrar valores binarios en los LEDs
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
✅ Descripción
▷ El presente proyecto hace uso del botón MCLR y los LEDs.
▷ Al presionar el botón MCLR se hace un incremento del valor mostrado en los LEDs
✅ Desarrollo
▷ Para realizar la práctica planteada es necesario ubicar algunos JUMPER de tal manera que permita el uso de los componentes necesarios para esta práctica.
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)Cristina Urdiales
Desarrollo de un módulo de comunicación inalámbrica entre un microbot controlado por un microcontrolador y un PC, de cara a la distribución de su sistema de control. Se intercambian paquetes con información sensorial del robot al PC y de comandos a la inversa
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso del display cátodo común I&T.
▷ Implementar un contador decimal de un dígito.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dislay 7 segmentos
✅ Descripción
▷ El presente proyecto hace uso de un display de 7 segmentos cátodo común.
Implementaremos un contador decimal de un dígito cuyo incremento será mediante el botón MCLR.
grabacion de microcontroladores PIC, en el presente seminario examinaremos la familia de microcontroladores, su evoluicion, aplicaciones mas comunes e iniciaremos la grabacion, decodificacion y simulacion ayudados de la herramienta PROTEUS APLICADOS a la robotica
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886Victor Asanza
✅ Objetivo: Aprender el funcionamiento del módulo Adaptador IDC LCD 2X16.
Conocer las diferentes funciones que tiene la librería LCD de MikroBasic.
✅ Duración: 30min
✅ Materiales:
⇨ Módulo de desarrollo PIC16F886
⇨ Módulo adaptador ICD LCD 2X16
✅ Descripción: El presente proyecto se basa en el módulo Adaptador IDC LCD 2X16.
Se va a conectar el módulo LCD en el conector IDC de 5X2 del modulo PIC16F886, en el cual se visualizará las cadenas de caracteres programadas.
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso de dos displays cátodo común.
▷ Implementar un contador decimal de dos dígitos.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dos dislays 7 segmentos cátodo común
✅ Descripción
▷ El presente proyecto hace uso de dos display de 7 segmentos cátodo común.
Implementaremos un contador decimal de dos dígitos cuyo incremento será mediante el botón MCLR.
1. MICROCONTROLADORES PIC
USART
Universal Synchronous Asynchronous Receiver Transmitter
• Síncrona o asíncrona
• Recibe y transmite
• Operación full duplex asíncrona
• Aplicación típica: comunicación con un PC mediante el
protocolo RS232, para lo que necesita un driver para
desplazamiento de niveles
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
1
1
2. MICROCONTROLADORES PIC
USART
Bloques que forman la USART:
• Generador de la relación de baudios (BRG)
Genera el reloj de transmisión a partir del oscilador de la MCU
Determina la velocidad de transferencia
• Circuito de muestreo
Detección del nivel lógico en el terminal de RX
Síncronización del reloj
• Transmisor asíncrono
• Receptor asíncrono
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
2
2
5. MICROCONTROLADORES PIC
USART
Ejemplo: forma de onda de la transmisión serie del dato 25h con 8 y 125h
con 9 bits:
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
5
5
6. MICROCONTROLADORES PIC
USART. Registros de control
SPBRG – Generación del ‘baud rate’
BRGH bit en el registro TXSTA
SYNC bit en TXSTA
TXSTA – Control y estado de transmisión
RCSTA - Control y estado de recepción
TXREG – Registro de transmisión de datos
RCREG - Registro de recepción de datos
PIR1 – Registro de indicadores (‘flags’) de interrupción
PIE1 – Registro de habilitación de interrupciones
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
6
6
7. MICROCONTROLADORES PIC
USART. Velocidad de transmisión
Formulas para el cáculo de los baudios
Baudios = Fosc/(16(SPBRG+1)), BRGH=1
Baudios = Fosc/(64(SPBRG+1)), BRGH=0
Formulas para SPBRG
SPBRG = (Fosc/(16 x Baud rate)) - 1, BRGH=1
SPBRG = (Fosc/(64 x Baud rate)) - 1, BRGH=0
Ejemplo:
•Oscilador: 4MHz oscillator
•Velocidad de transmisión: 9600 baudios asíncrono
Para BRGH = 1
SPBRG = 4000000/(16 x 9600) - 1 = 25.04
Para BRGH = 0
SPBRG = 4000000/(64 x 9600) - 1 = 5.51
Mejor elección: BRGH = 1, SPBRG = 25
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
7
7
8. MICROCONTROLADORES PIC
USART
Velocidades de transmisión para:
BRGH=0
BRGH=1
Registros asociados con el generador de relación de baudios:
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
8
8
9. MICROCONTROLADORES PIC
USART. Registros de control
TXSTA: Transmit Status and Control Register
bit 7 CSRC: Bit de selección de fuente de reloj
Modo asíncrono: no utilizado
Modo síncrono
1 = Modo maestro (reloj generado internamente por BRG)
0 = Modo esclavo (reloj de la fuente externa)
bit 6 TX9: Bit de habilitación de transmisión de 9 bits
1 = Transmisión de 9 bits
0 = Transmisión de 8 bits
bit 5 TXEN: Bit de habilitación de transmisión
1 = Transmisión habilitada
0 = Transmisión no habilitada.
bit 4 SYNC: Bit de selección de modo en la USART
1 = Modo síncrono
0 = Modo asíncrono
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
9
9
10. MICROCONTROLADORES PIC
USART. Registros de control
TXSTA: Transmit Status and Control Register
bit 3 No implementado se lee 0
bit 2 BRGH: Bit de selección de alta velocidad de trasmisión (High Baud Rate)
Modo síncrono: no utilizado
Modo asíncrono
1 = Alta velocidad
0 = Baja velocidad
bit 1 TRMT: Bit de estado del registro de desplazamiento de transmisión
1 = TSR vacio
0 = TSR lleno
bit 0 TX9D: Noveno bit del dato a transmitir. Puede ser el bit de paridad.
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
10
10
11. MICROCONTROLADORES PIC
USART. Transmisor
Diagrama de bloques
TXREG vacío si TXIF=1
Buffer del registro
de desplazamiento (R/W)
Salida de datos
Registro de desplazamiento
de transmisión
Habilitación
de TX
TSR vacio
(TRMT=1)
Habilitación bit 9
Habilitación
puerto serie
Bit 9
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
11
11
14. MICROCONTROLADORES PIC
USART
Inicialización de la transmisión
• Inicializar el registro SPBRG con el valor apropiado para la velocidad a
utlizar (tener en cuenta el bit BRGH)
• Habilitar el puerto serie asíncrono poniendo a 0 el bit SYNC y a 1 el bit
SPEN.
• Para utilizar interrupciones poner a 1 los bits TXIE, GIE y PEIE.
• Para una trasmisión de 9 bits poner a 1 el bit TX9.
• Habilitar la transmisión con un 1 en el bit TXEN , qué también pondrá a
uno el bit TXIF.
• Si se utiliza la transmisión de 9 bits cargar el noveno bit en TX9D.
• Cargar el dato en el registro TXREG (comienza la transmisión).
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
14
14
15. MICROCONTROLADORES PIC
USART. Registros de control
RCSTA: Receive Status and Control Register
bit 7 SPEN: Bit de habilitación de puerto serie
1 = Puerto serie habilitado (configura RX/DT y TX/CK como pines del puerto
serie)
0 = Puerto serie inhibido
bit 6 RX9: Bit de habilitación de datos de 9
1 = Recepción de 9 bits
0 = Recepción de 8 bits
bit 5 SREN: Bit de habilitación de recepción sencilla.
Modo asíncrono: no utilizado
Modo síncrono - maestro
1 = Habilitada
0 = Inhibida Se pone a cero cuando se completa una recepción.
Modo síncrono - esclavo: no utilizado
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
15
15
16. MICROCONTROLADORES PIC
USART. Registros de control
RCSTA: Receive Status and Control Register
bit 4 CREN: Bit de habilitación de recepción continua
Modo asíncrono
1 = Habilitado
0 = Inhibido
Modo síncrono
1 = Habilitado
0 = Inhibido
bit 3 No implementado se lee 0
bit 2 FERR: Bit de error de trama
1 = Error de trama (se puede actualizar leyendo el registro RCREG y
leyendo el siguiente byte válido)
0 = Sin error de trama
bit 1 OERR: Bit de error de overrun
1 = Error de overrun (se puede ‘borrar’ poniendo a cero CREN)
0 = Sin error de overrun
bit 0 RX9D: Noveno bit recibido. Puede ser el bit de paridad
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
16
16
17. MICROCONTROLADORES PIC
Diagrama de bloques:
Recepción continua =1
USART. Receptor
Indicadores de error
Entrada de datos
Registro de desplazamiento
de recepción
Habilitación
puerto serie
Datos de 9 bits
Recepción completa
Datos no leído en FIFO
Doble buffer de recepción (FIFO)
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
17
17
19. MICROCONTROLADORES PIC
USART
Inicialización de la recepción
• Inicializar el registro SPBRG con el valor apropiado para la velocidad a
utlizar (tener en cuenta el bit BRGH)
• Habilitar el puerto serie asíncrono poniendo a 0 el bit SYNC y a 1 el bit
SPEN.
• Para utilizar interrupciones poner a 1 los bits TXIE, GIE y PEIE.
• Para una trasmisión de 9 bits poner a 1 el bit RX9.
• Habilitar la recepción con un 1 en el bit CREN.
• El bit RCIF se pondrá a 1 cuando la recepción se complete, se generará
una interrupción si RCIE esta activado.
• Leer RCSTA para coger el noveno bit si es necesario y determinar si ha
ocurrido algun error.
• Recoger el dato recibido del registro RCREG.
• Si se ha producido algun error poner a cero el bit .CREN
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
19
19
21. MICROCONTROLADORES PIC
USART.
Muestreo
El dato en el pin de RX se muestrea tres veces y se determina su nivel
(alto o bajo) por mayoría.
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
21
21