microcontroladores

Páginas: 10 (2362 palabras) Publicado: 2 de mayo de 2014


INSTITUTO DE TECNOLOGICO DE CELAYA

MICROCONTROLADORES

Practica 8


NOMBRES:

Mora Franco Omar
Sancen Saavedra Miguel




Nombre: Contador/Temporizador de microcontrolador

Objetivo: Hacer uso de los recursos de temporización o conteo del microcontrolador PIC16F84A.


Material y Equipo utilizado: El equipo utilizado son las siguientes herramientas software: MPLAB IDEversión 8.4.
Procedimiento:
Crear un nuevo proyecto en MPLAB IDE que incluya el siguiente archivo fuente practica8a:



Analizar el programa y determinar el funcionamiento del mismo.
include "P16c84.INC" ; librería necesaria para programar el PIC16F84A

temp0 equ 0Fh ; declaración de
temp1 equ 0Ch ; registros de
incre equ 10h ; propósito general
minut equ 11h

org 0000hbsf STATUS,RP0 ;entrar al banco 1 mediante el bit RP0 del registro STATUS
movlw b'11111'
movwf TRISA ; la instrucción anterior y la de la línea actual configuran el puerto A como entrada
movlw b'0000000'
movwf TRISB ; la instrucción anterior y la de la línea actual configuran el puerto B como salida
movlw b'11000111' ;resistencia deshabilitada, transición negativa de interrupción, reloj interno para TMR0,transiscion
movwf OPTION_REG ; negativa, prescalador para el TMR0, prescalador de 256
bcf STATUS,RP0 ; pasar del banco 1 al banco 0
movlw 0 ; w es igual a cero
movwf incre ; registro incre igual a cero

loop movfw incre ; w toma el valor de increcall Bin2Seven_Seg ; ir a subrutina Bin2Seven_Seg
movwf PORTB ; dar valor al puerto B el valor de w
movfw PORTA ; leer el valor del puerto A
call delay ; ir a subrutina delay
incf incre ; sumar uno a registro incre
goto loop ; saltar a loop

delay movwf temp0 ; registro temp0 igual a w
ciclo movlw 3A
movwf minut
minuto movlw 10 ; w iguala 10
movwf temp1 ; temp1 toma el valor de w
otra movlw 02 ; borrar el TMR0
movwf TMR0
otro btfss INTCON,2 ; saltar siguiente instrucción si bit 2 de INTCON es uno o mas bien si el TMR0 es 256
goto otro ; salto a etiqueta
bcf INTCON,2 ; poner en cero el bit 2 del registro INTCON
decfsz temp1 ; decremento de registro temp1 y saltar siguiente instrucción si temp1 es cero
goto otra ;saltar a etiqueta
decfsz minut ; decremento de registro temp0 y saltar siguiente instrucción si temp0 es cero
goto minuto ; saltar a etiqueta
decfsz temp0 ; decremento de registro temp0 y saltar siguiente instrucción si temp0 es cero
goto ciclo ; saltar a etiqueta
return ; salir de subrutina

Bin2Seven_Seg andlw b'00001111' ; and con literal binaria
addwf PCL,f ; suma deregistro con el registro PCL y este es cargado con la suma para ir a la siguiente instruccion
retlw b'00111111';'0'
retlw b'00000110';'1'
retlw b'01011011';'2'
retlw b'01001111';'3'
retlw b'01100110';'4'
retlw b'01101101';'5'
retlw b'01111101';'6' cargar valor a w
retlw b'00000111';'7' con los valores
retlw b'01111111';'8' binarios para
retlw b'01101111';'9' enseguida salirretlw b'01110111';'A' de subrutina
retlw b'01111100';'B'
retlw b'00111001';'C'
retlw b'01011110';'D'
retlw b'01111001';'E'
retlw b'01110001';'F'
END ; fin del programa.

El programa realiza un conteo de PORTA segundos, además de mostrar el conteo a través de PORTB para ser conectado en un display Cátodo común de 7 segmentos.

Identificar el modo de funcionamiento del TMR0. ¿Cuáles el valor de los pres calador asignado?
El valor del TMR0 depende del reloj interno es decir en todo momento se encuentra contando, esto es si se encuentra configurado como un Temporizador al activar el pres calador este solo contara múltiplos del pres calador que en este caso son múltiplos de 256 puesto que los tres bits menos significativos del registro OPTION_REG son ‘111’.

Simular el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Microcontroladores
  • Microcontroladores
  • Microcontroladores
  • microcontroladores
  • Microcontroladores
  • Microcontroladores
  • Microcontroladores
  • Microcontroladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS