Académique Documents
Professionnel Documents
Culture Documents
ACTIVIDAD No. 4 UTILIZANDO LOS PERIFERICOS INTERNOS: CONTROLANDO EL TIEMPO CON EL TMR0 (TIMER CERO) Y MANEJO DE INTERRUPCIONES
Nombre actividad: Utilizando los perifricos internos: Controlando el tiempo con el trm0 (timer cero) y manejo de interrupciones Desarrollo de la competencia: Mejorar el funcionamiento de mquinas y procesos, buscando su eficiencia y productividad. Resultados de aprendizaje asociados: Integrar tecnologas para la optimizacin de procesos industriales. ACTIVIDADES A REALIZAR 1. Con base al tema explicado en la clase previamente anterior, se intenta manejar a travs de los pines externos del microcontrolador PIC16F84A, un sencillo temporizado controlado internamente por el mdulo timer cero (TMR0), asi como utilizar el manejo de las interrupciones internas del micro, referentes a los perifricos internos, en este caso, al mismo mdulo timer cero. Inicialmente se manejaran dos circuitos de prueba: Uno es el que desplegar el resultado de la simulacin de un programa de retardo de tiempo que ajusta el perodo de intermitencia en un diodo LED conectado al pin RB7 del micro. El otro desplegar el resultado del estado de dos interruptores colocados como entradas digitales en los pines RA0 y RA1, que se indicarn dichos estados anteriomente mencionados de los interruptores, en los pines de salida con diodos LEDs en RB0 y RB1 respectivamente; pero simultneamente se manejar la intermitencia de un diodo LED en el pin RB7, a cada segundo en los estados de encendido y apagado. Se les entregar cuatro archivos digitales para realizar la gua de actividades: Dos son los planos electrnicos de los circuitos de prueba mencionados en archivo de documento portable (*.pdf) y otros dos son los cdigos objeto de los programas en el microcontrolador mencionado (*.hex).
Figura 1. Imagen del programa ISIS Proteus Schematic Design, as como el diagrama de unos de los circuitos mostrado, para la simulacin del circuito de la actividad mencionada.
PROGRAMACION BASICA DE MICROCONTROLADORES PIC 2011 Los cdigos fuente del archivo (*.asm) que describe el programa en el microcontrolador, para el caso del manejo del control de tiempo del TMR0 (timer cero), est descrito de la siguiente manera:
;******************************************************************************************* ;********** PROGRAMA PIC PARA CONTROL TIEMPO EMPLEANDO EL TMR0 (TIMER CERO) **********
;*******************************************************************************************
;********************************
***********************************
list #include
p=pic16f84a p16f84a.inc
__config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF ;Set oscillator to XT, watchdog time off, ;power up timer on y code protect program off radix org goto hex 0000h inicio ; Direccin del vector de reset
;************************************* EQUIVALENCIAS
**************************************
LED_interm
equ
0x07
retardo siga
; El TRM0 = 0 y empieza su incremento ; TRM0<4> = 1 ? ; No ha llegado el TMR0 a 16 ; Ha llegado el TRM0 al valor de 16 PROGRAMA PRINCIPAL *******************************
;*********************************
inicio
STATUS,RP0
; Acceso al banco 01 de memoria de programa ; Pines del puerto B ajustados como salidas
TRISB b'11010110' ; Asignamos al preescaler del Timer Cero un ;cambio de 1:128 ciclos de instruccin
bcf
STATUS,RP0
parpadeo
end
Los cdigos fuente del archivo (*.asm) que describe el programa en el microcontrolador, para el caso del manejo de la interrupcin del mdulo del TMR0 (timer cero), est descrito de la siguiente manera:
;******************************************************************************************* ;********** PROGRAMA PIC PARA MANEJO INTERRPCION TIMER CER0 (TMR0) **********
;*******************************************************************************************
***********************************
list #include
;Set oscillator to XT, watchdog time off, ;power up timer on y code protect program off radix org goto hex 0000h inicio ; Direccin del vector de reset
org goto
;************************************
EQUIVALENCIAS
**************************************
LED_interm
equ
0x00
;*********************************
PROGRAMA PRINCIPAL
*******************************
inicio
; Acceso al banco 01 de memoria de programa ; Configuro RA0 y RA1 como entradas digitales
; Todas los pines del puerto B ajustados como salidas TRISB b'00000111' OPTION_REG ; Preescaler del Timer Cero un cambio de 1:256 ; ciclos por instruccin
bcf
STATUS,RP0
bucle
; Explora RA0 y brinca si 0 ; Salta a ra0_1 ; Si RA0 = 0, entonces RB0 = 0 ; A explorar RA1 ; Si saca RA0 = 1, entonces RB0 = 1 ; Examino RA1 y brinco si 0
ra0_1 ra1_x
bsf btfsc
;****************
**********************
interrp
decfsz reg_aux,f
goto conta_0 movlw movwf btfsc goto bsf goto rb7_1 seguir bcf movlw
seguir 0x10 reg_aux PORTB,LED_interm rb7_1 PORTB,LED_interm seguir PORTB,LED_interm b'10100000' ; Si RB7 = 1, se invierte ; Se restaura INTCON por desactivar ; las interrupciones del procesador ; Si RB7 = 0, se invierte ; Si RB7 = 0, brinca ; Si reg_aux = 0 se carga
end
La primera actividad consiste en montar el circuito en ISIS Proteus, el diagrama del circuito mostrado en las figuras entregadas, e igualmente con el cdigo objeto entregado con el programa del micro. Luego, se detallar lnea a lnea que hace cada instruccin del microcontrolador dentro de la ejecucin del programa. 2. La segunda actividad consiste en identificar las lneas dentro de cada cdigo fuente (*.asm) del microcontrolador entregados, las instrucciones o el bloque de instrucciones que realizan las siguientes operaciones:
PROGRAMACION BASICA DE MICROCONTROLADORES PIC 2011 a) Para el primer circuito y cdigo fuente mencionado, el bloque de instrucciones que realiza la operacin de retardo y con qu instrucciones se ejecuta. b) Para el segundo circuito y cdigo fuente mencionado, la instruccin que ubica el vector de interrupcin, y el bloque de instrucciones que ejecuta la subrutina de interrupcin del timer cero por desbordamiento de cuenta. En ambos casos, debe entregar subrayado y en letra en negrilla (por ejemplo), dentro del cdigo fuente asociado, lo que se est pidiendo en las lneas del programa del cdigo fuente. Espero les haya gustado la actividad, cualquier duda por favor consultar para entregar el mismo da. EVIDENCIAS REQUERIDAS Evidencia: Archivo en formato de imagen del diagrama de simulacin del circuito, asi como un bloque de texto que incluya la seleccin de las lneas de cdigo requeridas para detallar dentro de los cdigos fuente entregados. Tipo de evidencia: Desempeo Descripcin: Archivos de documento protegido (*.pdf), y bloque de texto (*.txt) y enviarlo al correo electrnico de instructor como archivo adjunto, indicando los nombres de los integrantes del grupo en el cuerpo del mensaje del correo, para cada una de las actividades mencionadas. Producto entregable: Dos (2) archivos de documento protegido (*.pdf), y un bloque de texto en Bloc de Notas, todos dentro de un archivo Word (*.docx), si lo desea. Forma de entrega: Por correo electrnico (e-mail) para el instructor designado. Criterios de evaluacin: Define alternativas de solucin para problemas o necesidades que involucren procesos de automatizacin en mquinas y procesos industriales.