Informe 1
Informe 1
MICROCONTROLADORES
Informe-Práctica N° 1
Integrantes
Amaguaña Iván
Bautista Fredy
Yumisaca José
Orosco Leonardo
Fecha de Envío
29/03/2018
Fecha de Entrega
05/04/2018
AMBATO - ECUADOR
INFORME DE PRÁCTICA Nº1
I. TEMA
II. OBJETIVOS
a. Objetivo General
Programar el control de un motor DC mediante dos pulsadores utilizando el software MPLAB IDE.
b. Objetivos Específicos
Establecer la codificación y las configuraciones principales que se necesita para generar el control
del motor.
Determinar los parámetros requeridos para realizar el cambio de giro del motor DC.
Diseñar e implementar un circuito electrónico una vez realizado la programación propuesto en la
tarea y comprobar el correcto funcionamiento de este.
MICROCONTROLADOR PIC
MOTOR DC
El motor de corriente continua (motor DC) es una máquina que convierte la energía eléctrica en mecánica,
provocando un movimiento rotatorio. En algunas modificaciones, ejercen tracción sobre un riel. Estos
motores se conocen como motores lineales.
Una máquina de corriente continua (generador o motor) se compone principalmente de dos partes, un
estator que da soporte mecánico al aparato y tiene un hueco en el centro generalmente de forma cilíndrica.
En el estator además se encuentran los polos, que pueden ser de imanes permanentes o devanados con hilo
de cobre sobre núcleo de hierro. El rotor es generalmente de forma cilíndrica, también devanado y con
núcleo, al que llega la corriente mediante dos escobillas.
Ilustración 2 Motor DC
El sentido de giro de un motor de corriente continua depende del sentido relativo de las corrientes
circulantes por los devanados inductor e inducido. La inversión del sentido de giro del motor de corriente
continua se consigue invirtiendo el sentido del campo magnético o de la corriente del inducido.
Mplab
Ilustración 3 Mplab
El programa incluye un editor de texto, macro-ensamblador, compilador ANSI C, y simulador para trabajar
con cualquier microcontrolador PIC. El simulador puede operarse tanto en programas desarrollados en
lenguaje ensamblador o ANSI C.
Mandil
Protoboard
Fuente de Alimentación
Microdontrolador PIC
Motor DC
Driver de Motor DC
Dip switches
Leds
Resistencias
V. DESARROLLO
Para realizar el control de motor se debe en primera instancia realizar la codificación necesaria en el
software MPLAB, lo cual permite obtener el control de motor DC y asociar todos los elementos
necesario para dicha práctica.
Condiciones de desarrollo:
00 Sistema apagado
10 Sentido horario
01 Sentido anti-horario
Para el cambio de giro de forma horaria y anti horaria, se lo hizo con la ayuda del driver L293D.
Una vez determinada la codificación necesaria se debe copilar, generando e esta manera el archivo
hexadecimal que permitirá poder quemar el PIC 16F877A a través del software PICkit 2,
posteriormente se diseña un circuito electrónico en el software Proteus y finalmente se arma el circuito
y se determina el funcionamiento.
Codigo
__config 0x3F3A __CONFIG _FOSC_HS & _WDTE_OFF & _PWRTE_OFF & _BOREN_OFF & _LVP_OFF &
_CPD_OFF & _WRT_OFF & _CP_OFF ; definicion de todas las librerias, interrupciones que se necesitan para el
programa
ENDC
ENDC
CLRF TRISB
BSF TRISA, 0
BSF TRISA, 1
CONTROL1 ; metodo 1
CERO ; metodo denominado cero que tendra la funcion de hacer el apagado de leds
MOVLW b'00000000' ; carga el registro en una posicion 00000000 como salida en el puerto B
SECUENCIA1 ; metodo denominado secuencia1 que tendra la funcion de hacer el ecendido de leds desde la
derecha
MOVLW b'00000001' ; carga el registro en una posicion 00000001 como salida en el puerto B
MOVLW b'00000010' ; carga el registro en una posicion 00000010 como salida en el puerto B
MOVLW b'00001000' ; carga el registro en una posicion 00001000 como salida en el puerto B
MOVLW b'00010000' ; carga el registro en una posicion 00010000 como salida en el puerto B
MOVLW b'00100000' ; carga el registro en una posicion 00100000 como salida en el puerto B
MOVLW b'01000000' ; carga el registro en una posicion 01000000 como salida en el puerto B
MOVLW b'10000000' ; carga el registro en una posicion 10000000 como salida en el puerto B
GOTO INICIO ; devuelve al metodo denominado inicio una ves terminado el proceso de secuencia
SECUENCIA2 ;metodo denominado secuencia2 que tendra una secuencia de encendido de leds de izquierda
a derecha y viceversa
MOVLW b'10000000' ; carga el registro en una posicion 10000000 como salida en el puerto B
MOVLW b'01000000' ; carga el registro en una posicion 01000000 como salida en el puerto B
MOVLW b'00100000' ; carga el registro en una posicion 00100000 como salida en el puerto B
MOVLW b'00010000' ; carga el registro en una posicion 00010000 como salida en el puerto B
MOVLW b'00001000' ; carga el registro en una posicion 00001000 como salida en el puerto B
MOVLW b'00000100' ; carga el registro en una posicion 00000100 como salida en el puerto B
MOVLW b'00000010' ; carga el registro en una posicion 00000100 como salida en el puerto B
MOVLW b'00000001' ; carga el registro en una posicion 00000001 como salida en el puerto B
MOVWF PORTB ; almacena el resultado en el puerto B
MOVLW b'00000010' ; carga el registro en una posicion 00000010 como salida en el puerto B
MOVLW b'00000100' ; carga el registro en una posicion 00000100 como salida en el puerto B
MOVLW b'00001000' ; carga el registro en una posicion 00001000 como salida en el puerto B
MOVLW b'00010000' ; carga el registro en una posicion 00010000 como salida en el puerto B
MOVLW b'00100000' ; carga el registro en una posicion 00100000 como salida en el puerto B
MOVLW b'01000000' ; carga el registro en una posicion 01000000 como salida en el puerto B
MOVLW b'10000000' ; carga el registro en una posicion 10000000 como salida en el puerto B
MOVWF PORTB ; almacena el resultado en el puerto B
GOTO INICIO
SECUENCIA3 ; metodo denominado secuencia1 que tendra la funcion de hacer el ecendido de leds desde la
izquierda
MOVLW b'10000000' ; carga el registro en una posicion 10000000 como salida en el puerto B
MOVLW b'01000000' ; carga el registro en una posicion 01000000 como salida en el puerto B
MOVLW b'00100000' ; carga el registro en una posicion 00100000 como salida en el puerto B
MOVLW b'00010000' ; carga el registro en una posicion 00010000 como salida en el puerto B
MOVLW b'00001000' ; carga el registro en una posicion 00001000 como salida en el puerto B
MOVLW b'00000100' ; carga el registro en una posicion 00000100 como salida en el puerto B
MOVLW b'00000010' ; carga el registro en una posicion 00000100 como salida en el puerto B
MOVLW b'00000001' ; carga el registro en una posicion 00000001 como salida en el puerto B
Ejercicio 2
VII. RESULTADOS
RESULTADOS ESPERADOS
La presente tiene como finalidad realizar una practica donde podamos recortar programación en
asambler MPLAB elaborando dos ejercicios en especifico como son la secuencia de encendido de led
con ciertas condiciones e implementar el control de un motor DC con las indicaciones dictadas por el
docente.
RESULTADOS OBTENIDOS
Se pudo realizar las dos practicas y verificar sus funcionamientos, así como también se pudo recordar
las diferentes líneas de código que se necesitan para poder realizar la práctica.
VIII. CONCLUSIONES
Para crear un proyecto es importante tener instalas todas las librerías (interrupciones), esto se lo
puede realizar desde el propio programa o también de la cualquier página web.
Para generar un archivo de programación usando el programa anteriormente mencionado en donde
se debe copilar en primera instancia y seguidamente se exporta los archivos hexadecimales.
Para la presente práctica se debe analizar y establecer las condiciones de trabajo los cuales deben
cumplir las acciones determinadas por el docente.
IX. RECOMENDACIONES
Verificar que los PIC esten en buenas condiciones para poder grabarlas sin ningún problema.
X. BIBLIOGRAFÍA
[1] Enrique Mandado Pérez, Emilio López Matos, “Microcontroladores PIC, Sistema integrado para
el autoaprendizaje”, Editorial Marcombo, Barcelona España, 2007.
[3] P. Abel, Lenguaje ensamblador y programacion para IBM,PC y compatibles, México: Prentice
Hall, 2010.