ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

“MANEJO DE TEMPORIZADORES CON EL PIC16F”


Enviado por   •  20 de Octubre de 2020  •  Prácticas o problemas  •  1.401 Palabras (6 Páginas)  •  128 Visitas

Página 1 de 6

 

OPTATIVA

PRACTICA No  4 

“MANEJO DE TEMPORIZADORES CON EL PIC16F”

 

OBJETIVOS 

  • El alumno elaborará y diseñará un programa en lenguaje ensamblador para el  uso y manejo temporizadores.
  • Crear retardos de tiempos.          Simular el programa realizado.

 

MATERIAL Y EQUIPO  Computadora con MPLAB y Proteus 8.

 

DESARROLLO EXPERIMENTAL 

1. Elaborar un programa en lenguaje ensamblador  que incluya 5 subrutinas de tiempo de espera: 1, 15, 30, 45, y 60 segundos.

 

LAS SUBRUTINAS DE TIEMPO NO DEPENDERÁN DE LAS OTRAS SUBRUTINAS DE TIEMPO, esto es, para crear la subrutina de tiempo de 15 segundos no deberás llamar en 15 ocasiones la de 1 segundo, o para crear la subrutina de tiempo de 30 segundos no deberás llamar en 2 ocasiones la de 15 segundos y así sucesivamente. 

 

En otras palabras, cada subrutina debe de llevar su propia configuración, seleccionando los valores apropiados del registro auxiliar a decrementar o incrementar. 

 

Para probar las 5 subrutinas de tiempo, crear en el mismo programa las 5 subrutinas, configurar para el microcontrolador con 5 entradas y una salida para probar el tiempo de encendido en ON. 

 

Entregar al menos: 

  1. Reporte con la explicación de todo lo realizado. 
  2. Programa en extensión *.asm (MPLAB) 

b) Programa con extensión *. pdsprj (PROTEUS) 

 

 

 

 

 

 

 

 

Con un contador de 0 a 9 necesitamos 4 bits  

En el inicio del programa, en la primera instrucción nos vamos al banco 1 y la siguiente instrucción, el ‘000011111’ se va a W y W se va a TRISB y significa que los primeros 5 pines del puerto   van hacer entradas y que los demás serán salidas, después limpia TRISB y todo el puerto B van hacer salidas, seguimos  y se limpia  INCONT y se configura la interrupción.  

Después se limpia el puerto B, el puerto D y el registro AUXILIAR

[pic 1] 

 

En la siguiente etiqueta si RD0 = 1 ir a RD0_EN_1, de lo contrario RD0 = 0 a la siguiente línea, si RD1 = 1 ir a RD0_EN_1, de lo contrario RD1 = 0 a la siguiente línea  ,si RD2 = 1 ir a RD0_EN_1, de lo contrario RD2 = 0 a la siguiente línea ,si RD3 = 1 ir a RD0_EN_1, de lo contrario RD3 = 0 a la siguiente línea ,si RD4 = 1 ir a RD0_EN_1, de lo contrario RD4 = 0 a la siguiente línea  [pic 2]

 

 

 

 

 

 

 

 

 

 

  [pic 3]

 

Si RD0 = 0 ir a goto, de lo contrario RD0 = 1 ir a la siguiente después Ir a RD0_EN_1 siguiendo RB0 = 1 (ON)

  Llamar el subprograma DELAY_1SE poner RB0 = 0 (OFF) y Ir a LOOP

 Si RD1= 0 ir a goto, de lo contrario RD0 = 1 ir a la siguiente después Ir a RD0_EN_1 siguiendo RB0 = 1 (ON)

Si RD2= 0 ir a goto, de lo contrario RD0 = 1 ir a la siguiente después Ir a RD0_EN_1 siguiendo RB0 = 1 (ON)

Si RD3 = 0 ir a goto, de lo contrario RD0 = 1 ir a la siguiente después Ir a RD0_EN_1 siguiendo RB0 = 1 (ON)

Si RD4 = 0 ir a goto, de lo contrario RD0 = 1 ir a la siguiente después Ir a RD0_EN_1 siguiendo RB0 = 1 (ON)

...

Descargar como (para miembros actualizados)  txt (6 Kb)   pdf (489 Kb)   docx (358 Kb)  
Leer 5 páginas más »
Disponible sólo en Clubensayos.com