Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guia 5 PDF
Guia 5 PDF
Guía 5 1
Facultad: Ingeniería
Escuela: Electrónica
Asignatura: Microcontroladores
Lugar de ejecución: Laboratorio de
microprocesadores, Edif. 3 Electrónica.
Objetivos específicos
• Conocer la forma de inicialización del módulo CCP en modo PWM.
• Conocer la forma de inicialización del módulo Timer2.
• Realizar el control de potencia en un motor DC a partir de un
voltaje analógico.
• Verificar la forma correcta en que se cargan los registros del
Timer2 de tal forma de poder generar ciclos de trabajo de 0 a
100%.
Materiales y equipo
• Computadora personal con puerto paralelo, sistema operativo
Windows XP, software MPLAB y WinPic800.
• Tarjeta de entrenamiento CP-PIC877 V1.0 R1.
• Programador ET-CAB10PIN V2.
• Fuente de poder de 12V con borne redondo de 5mm.
• Cable de cinta plana de 28 pines con conector para breadboard.
• Breadboard.
• 1 transistor MOSFET IRF540 (canal N).
• 1 Diodo rectificador 1N4001.
• 1 Motor DC pequeño de 12V, con consumo máximo (sin carga) de 1A.
• 1 Potenciómetro de 1KΩ.
• 1 Botón pulsador simple.
• 1 Resistencia de 10KΩ.
• Multímetro digital.
• Cable UTP categoría 5.
Microcontroladores. Guía 5 2
Procedimiento
1. Construya el circuito que se le presenta en la figura 1. Dicho
circuito se conectará a la tarjeta de entrenamiento con el
diagrama de pines que aparece en la figura 2.
PROG1 code
;========================================================================
;Rutina principal
;----------------
clrf PORTA ;Se coloca el valor de los puertos a 0 antes de
clrf PORTC ;establecerlos como salida
;Configuracion de Timer2
movlw d'254' ;Se carga el valor 254 a Timer2 de manera que se den
movwf PR2 ;255 pasos de conteo y permita generar PWM a 100%
Rutina:
bsf ADCON0, GO_DONE ;Inicia la conversion del ADC
btfsc ADCON0, GO_DONE ;Espera a que la conversion termine por
goto $-1 ;medio de verificar el mismo bit
;========================================================================
;Rutina de retardo variable
;--------------------------
;Esta rutina genera un retardo segun la cantidad de milisegundos indicada
;en el acumulador. Si el acumulador vale 0, el retardo es de 256ms.
Retardo:
movwf ConteoRetardo ;Guarda la cuenta de milisegundos en memoria
Nuevo_Retardo:
movlw d'250'
Retardo_1ms:
addlw -d'1' ;Resta uno a la cuenta en el acumulador - 1 clock
btfss STATUS, Z ;Verifica si la cuenta llego a cero - 1 clock
goto Retardo_1ms ;Continua iterando mientras no termina - 2 clock
;Calculo para el retardo interno:
;T = 4 x Numero de iteraciones x Intrucciones por iteracion
; ------------------------------------------------------
; frecuencia de oscilador
;T = 4 x 250 x 4
; -----------
; 4MHz
;T = 1ms
Análisis de resultados
• Suponga que se tiene un medidor de velocidad conectado al motor,
el cual devuelve un voltaje analógico que representa dicha
velocidad. ¿Qué cambios deberían hacerse al programa para que el
sistema controle y se ajuste a un valor preestablecido de
velocidad?
• ¿Porque se carga el valor d’254’ al registro PR2 y no d’255’?
¿Que ocurre si se carga dicho registro con el valor d’100’?
Investigación complementaria
• Investigue cuáles dispositivos puede operar correctamente si se
les aplica PWM y cuáles no.
Referencias bibliográficas
• Hoja técnica del microcontrolador PIC16F877A:
http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf
• Palacios, Enrique - Remiro, Fernando y López, Lucas.
Microcontrolador PIC16F84: Desarrollo de proyectos. Segunda
edición. Coedición Alfaomega RA-MA.
Microcontroladores. Guía 5 7
Hoja de cotejo: 5
EVALUACION