Lab08 INFORME

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

MPLAB IDE

PROGRAMACIÓN DE MICROCONTROLADORES

Laboratorio N°8

Comunicación Serial

INFORME

Integrantes:
Apellidos y Nombres Sección Grupo
Delgado Muñoz, Sofía A
Misari Silvestre, Reybin A
Bautista, Jhonatan A

Docente: Ing. Carlos E. Mendiola Mogollón


Fecha de realización: 26/04/21
Fecha de entrega: 30/04/21

TECSUP 2021
Lima – Perú

Instructor: Ing. Carlos E. Mendiola Mogollón 1


MPLAB IDE

I. Índice
II. Objetivos: .............................................................................................................................. 3
III. Materiales y equipos: ........................................................................................................ 3
IV. Marco Teórico: .................................................................................................................. 3
V. Procedimiento: ...................................................................................................................... 5
VI. Aplicación: ......................................................................................................................... 9
VII. LINK: https://youtu.be/IqJ3eBL-Jto ................................................................................. 11
VIII. Observaciones: ................................................................................................................ 12
IX. Conclusiones: .................................................................................................................. 12
X. Bibliografía: ......................................................................................................................... 12

Instructor: Ing. Carlos E. Mendiola Mogollón 2


MPLAB IDE

II. Objetivos:
 Trasmitir datos del microcontrolador a la PC.
 Recibir datos de la computadora al microcontrolador.
 Uso de instrucciones para la programación del microcontrolador PIC16F877A
 Uso del MPLAB y la implementación con Proteus.

III. Materiales y equipos:


 Pc + internet
 Software MPLAB IDE
 Software Proteus V8.1

IV. Marco Teórico:


Comunicación serial:
Para realizar la comunicación serial entre 2 sistemas distintos, en este caso se usará un
PIC y una computadora se necesita de un Terminal Virtual, para este laboratorio se usó
el software de MPLAB para realizar la programación en lenguaje ensamblador y el
software Proteus 8 para poder implementar y probar el programa realizado.

Fig. Nº01. Terminal Virtual


Uno de los protocolos de comunicación que podemos emplear con nuestros dispositivos
electrónicos embebidos, es la utilización de la comunicación serial o comunicación serie
para poder interactuar con diferentes dispositivos. Es por eso que en el día de hoy vamos
a enseñarte como programar e implementar una comunicación serial con PIC utilizando
un compilador en lenguaje ensamblador.
¿Qué es la comunicación serial?
La comunicación serial es un protocolo muy común usado para comunicar 2 dispositivos
o más, estos pueden ser computadores que tienen procesadores o en microprocesadores
como es el caso del PIC 16F877A.

Instructor: Ing. Carlos E. Mendiola Mogollón 3


MPLAB IDE

Fig. Nº02. Ejemplo de Comunicación Serial


A demás la comunicación serial se puede llegar a utilizar para la adquisición de datos si
se usa en conjunto con un dispositivo de muestreo.
Pasos a seguir para la comunicación serial de un PIC:
Si nosotros queremos lograr la comunicación serial de un PIC tenemos que tener en cuenta
que lo principal es la inicialización del mismo, es por ello que a continuación se les
mostrara la manera correcta de cómo empezar una comunicación serial.
 Configurar USART en el BANCO 1

Fig. Nº03. Configuración de BANCO 1


 En el Banco 1

Fig. Nº3.1 BANCO 1


 Configurar el banco cero

Fig. Nº3.2 Banco 0

Instructor: Ing. Carlos E. Mendiola Mogollón 4


MPLAB IDE

V. Procedimiento:
Ejercicio Nº01:

Fig. Nº04. PC a PIC

Fig. Nº4.1 Tecla W en ASCII 87


Al presionar la tecla W los leds representan en número binario por lo cual sale obteniendo
87, esto sucede de igual manera con cualquier símbolo, numero o letra.

Instructor: Ing. Carlos E. Mendiola Mogollón 5


MPLAB IDE

Preguntas:
1. ¿Qué sucede en el RS232_Dato?
 En esta subrutina lo que hace es guardar el contenido del byte, en este caso el
byte de una tecla.
2. ¿Qué hace el programa?
 Lo que hace el programa es que el usuario puede mandar desde su computador
datos al microcontrolador PIC16F877A, sea símbolos, letras, números, etc.
Este recibirá todos esos datos.
1. ¿Qué se visualiza en el PORTB?
 Se logra observar que el número binario de una letra, símbolo o número en
ASCII.
2. ¿Para qué sirve la rutina RS232_LeeDato?
 En esta rutina lee el dato que posteriormente será enviado a un puerto, es
importante debido a que es necesario que tipo de dato se está registrando.
3. Explicar el contenido de la librería SerialRS232.asm
 En esta librería contiene la activación del puerto serial, también tiene para la
lectura y envió de datos de un PC al PIC y de reversa. Es decir, que en la
lectura en el registro W se almacena el byte leído y en el caso de envió el
registro W está el dato a enviar.
 Además, también tenemos otras subrutinas para un cristal de 20Mhz, para el
retardo en micro segundos.
Ejercicio Nº02:

Fig. Nº05. PIC a PC

Instructor: Ing. Carlos E. Mendiola Mogollón 6


MPLAB IDE

Fig. Nº5.2 PIC (Letra A) a la PC.


En este ejercicio se tuvo que modificar debido a que en el puerto B no teníamos algún
tipo de dato que envíe al microcontrolador por ello se tuvo que modificar la programación
para que se lograr observar en la pantalla de la PC.

Fig. Nº5.1 Programa modificado PIC a PC.


Preguntas:
1. ¿En qué consiste el programa?
 Consiste que el PIC16F877A nos envía a nosotros mediante la pantalla de la
PC datos, con un intercalo de 1 segundo.
2. ¿Para qué sirve la rutina RS232_EnviaDato?
 Como su propio nombre dice, Envía los datos registrados en sea de en W ode
algún puerto del microcontrolador hacia nuestro computador.
3. ¿Qué función está cumpliendo el PORTB?
 El puerto B cumple con la función de sea el trasmisor y el receptor la PC.
4. ¿De cuánto es la velocidad de transmisión serie?
 9600 baudios
5. ¿A cuántos bits de datos está transmitiendo?
 8 bits
6. ¿Cuántos bits de paridad se está utilizando?
 Sin paridad

Instructor: Ing. Carlos E. Mendiola Mogollón 7


MPLAB IDE

Fig. Nº06. Configuración de un Terminal Virtual

Instructor: Ing. Carlos E. Mendiola Mogollón 8


MPLAB IDE

VI. Aplicación:
Realizar el programa (comentado) para el microcontrolador PIC16F877A tal que se pueda
manipular el encendido y apagado de 3 lámparas de 220 Vac por medio del teclado de la
computadora. Utilizar una pantalla LCD 2x16 la cual mostrará en todo momento el estado
de las lámparas. Simular con el software PROTEUS y colocar la evidencia del desarrollo
y funcionalidad.
Programa en lenguaje ensamblador:
Para este laboratorio y esta aplicación fue necesario el siguiente código, este código estará
disponible en un Link a Google Drive y adicional a eso se podrá ver un video corto en el
cual se profundiza el tema.

Instructor: Ing. Carlos E. Mendiola Mogollón 9


MPLAB IDE

Fig. Nº07. Programación de la aplicación.

Instructor: Ing. Carlos E. Mendiola Mogollón 10


MPLAB IDE

Ensamblaje correcto del programa:


En esta imagen se podrá ver como se creó el archivo .HEX tras haber ensamblado el
programa.

Fig. Nº7.1 Ensamblaje correcto.

Virtual terminal
para la
comunicación.

Lámparas

PIC 16F877A

LCD

Fig.
Nº7.2 Simulación en Proteus.

VII. LINK: https://youtu.be/IqJ3eBL-Jto


Link Drive:
https://drive.google.com/drive/folders/1T80K8KTp1r52GWyg5gHJ9cRXfje1FNHJ?usp
=sharing

Instructor: Ing. Carlos E. Mendiola Mogollón 11


MPLAB IDE

VIII. Observaciones:
 En la simulación del ejercicio Nº01, también se podía colocar la pantalla LCD
para una mejor observación, pero se debe modificar la programación.
 En la simulación del proteus del ejerció 1 se colocó leds debido a que era necesario
observar como desde una PC puede enviar datos en tiempo real al PIC.
 Al momento de realizar la comparación del dato con el registro “numero” recordar
que el dato tiene que estar en ASCII si queremos comparar el registro “numero”
con el numero 1 tendríamos que escribir “csi numero, .49”.

IX. Conclusiones:
 El uso de la rutina “SerialRS232”, es necesaria para recibir y enviar datos al
microcontrolador dependiendo el tipo de uso que se necesita, además nos dimos
cuenta que este tipo de uso es habitual de observar en la industria, debido a que
cada, sensor, actuador, trasmisor, etc. Envían datos necesarios para su observación
para cada proceso de producción Industrial.
 Gracias a la macro utilizada podemos escribir “csi” y el programa ya sabe que
nosotros le indicamos que compare dato con registro y salta si es igual.

X. Bibliografía:
 Rodriguez, L (2014). COMUNICACIÓN SERIAL PIC, Recuperado de:
https://es.slideshare.net/LilianaRodrguez1/transmisin-serial-pic-16f877
 Control Y Educacion. (2016). Comunicación con un PIC, Recuperado de:
https://controlautomaticoeducacion.com/microcontroladores-pic/16-
comunicacion-serial-con-pic/

Instructor: Ing. Carlos E. Mendiola Mogollón 12

También podría gustarte