Download - Temporizador Ajedrez.docx
INFORME.
MATERIAL UTILIZADO.
Resistencias.Es un material formado por carbón y otros elementos resistivos para disminuir la corriente que pasa. Se opone al paso de la corriente. La corriente máxima en un resistor viene condicionada por la máxima potencia que pueda disipar su cuerpo.
Capacitor o CondensadorEs un dispositivo pasivo, utilizado en electricidad y electrónica, capaz de almacenar energía sustentando un campo eléctrico. Está formado por un par de superficies conductoras, generalmente en forma de láminas o
placas.El condensador almacena carga eléctrica, debido a la presencia de un campo eléctrico en su interior, cuando aumenta la diferencia de potencial en sus terminales, devolviéndola cuando ésta disminuye.
Integrados.Pic16F84A .- es un microcontrolador de la familia PIC, fabricada por la empresa Microchip. Se trata de uno de los microcontroladores más populares del mercado actual, ideal para principiantes, Este microcontrolador se basa en la Arquitectura Harvard, en la cual el
programa y los datos se pueden trabajar desde memorias separadas, lo que posibilita que las instrucciones y los datos posean longitudes diferentes. Esta misma estructura es la que permite la superposición de los ciclos de búsqueda y ejecución de las instrucciones, lo cual se ve reflejado en una mayor velocidad del microcontrolador.
Decodificador de 7 segmentos .- Es un decodificador de BCD a 7 segmentos. Recibe como entradas 4 bits que forman un dígito codificado en binario (BCD, Binary Coded Digit) y da como salida el mismo número (dígito), pero listo para ser presentado en un display de 7 segmentos.
Transistores.El transistor es un dispositivo electrónico semiconductor que cumple funciones de amplificador, oscilador, conmutador o rectificador. El término «transistor» es la contracción en inglés de transfer resistor
(«resistencia de transferencia»). Actualmente se encuentran prácticamente en todos los aparatos electrónicos de uso diario
Visualizador de 7 segmentos .- (llamado también display) es una forma de representar números en equipos eléctronicos. Está compuesto de siete segmentos que se pueden encender o apagar individualmente. Cada segmento tiene la forma de una pequeña línea. Es un componente que se
utiliza para la representación de números en muchos dispositivos electrónicos debido en gran medida a su simplicidad. Aunque externamente su forma difiere considerablemente de un diodo LED (diodos emisores de luz) típico, internamente están constituidos por una serie de diodos LED con unas determinadas conexiones internas, estratégicamente ubicados de tal forma que forme un número 8.
1
Pulsadores .- son interruptores que al presionarlos activan sus contactos y al soltarlos se vuelven a desactivar.
Cristal .- Dispositivo electrónico conformado por una capa de cuarzo envuelta en una estructura generalmente de material semiconductor, la cual ocasiona un efecto piezo-eléctrico, con este característica de cristal se puede utilizar en generadores de frecuencia para suministrar bases de tiempo a diversos dispositivos como micro controladores.
FUNCIÓN.En el integrado pic16f84a se encuentra la línea de código utilizado para ejecutar con este circuito.Configurado el Puerto A cono salida, llevando tranfiriendo al decodificador, para que de esta manera se pueda visualizar en nuestros display. El Puerto B esta configurado también como salida conectado a los transistores que de acuerdo a la señal recibida del pulsador habilita que display activar.Los pulsadores están conectados a uno de los pines del Puerto A. al presionar uno de los pulsadores se cierra el circuito enviado de regreso una instrucción requerida al pic.
IMÁGENES.
Impresión en papel del modelo de circuito
Quemado, grabado del circuito a la placa. Inicio de colocación de componentes
2
Revisión de Contactos
Parte visual terminada
3
Línea de código del programa.
INCLUDE "P16F84.INC"LIST P=16F84
; DECLARACION DE VARIABLES EN POSICIONES DE MEMORIAPC EQU 02HSTATUS EQU 03HPTOA EQU 05HPTOB EQU 06HTECLA EQU 0CHLOOP EQU 0AHLOOP2 EQU 0EHROTA EQU 0FHTECLA2 EQU 10HTRISA EQU 85HTRISB EQU 86H
Z EQU 02HC EQU 00HW EQU 00H
DIS1 EQU 21HDIS2 EQU 22HDIS3 EQU 23HDIS4 EQU 24HDIS5 EQU 25HDIS6 EQU 26HDIS7 EQU 27HDIS8 EQU 28H
AUX EQU 29HAUX1 EQU 2AHAUX2 EQU 2BHAUX3 EQU 2CHRESET ORG 0
GOTO INICIOORG 5
;RUTINA DE RETARDO, TIEMPO DE ACTIVACION DE LOS TRANSISTORES
RETARDO MOVLW D'2'MOVWF LOOP
TOP2 MOVLW D'100'MOVWF LOOP2
TOP NOP
NOPNOP
NOPNOPNOPDECFSZ LOOP2GOTO TOPDECFSZ LOOPGOTO TOP2RETLW 0
;RUTINA DE RETARDO, ANTIREBOTES EN LOS PULSADORES
RETARD1 MOVLW D'250'MOVWF LOOP
TO2 MOVLW D'250'MOVWF LOOP2
TO NOPNOPNOP
;NOPNOPNOPDECFSZ LOOP2GOTO TODECFSZ LOOPGOTO TO2RETLW0
;RUTIA DE RETARDO, TIEMPO DE APAGADO DEL TRANSISTORESRETARD2 MOVLW D'1'
MOVWF LOOPTO3 MOVLW D'100'
MOVWF LOOP2TO4 NOP
NOPNOPNOPNOPNOPDECFSZ LOOP2GOTO TO4DECFSZ LOOPGOTO TO3RETLW0
;RUTINA DE DECREMENTO DEL RELOJ DEL JUGADOR 1
4
JUGA1 DECFSZ TECLARETLW0MOVLW D'46'MOVWF TECLA
MOVF DIS5,WXORLW D'0'BTFSS STATUS,ZCALL ARRAY
MOVF DIS6,WXORLW D'0'BTFSS STATUS,ZCALL ARRAY1
MOVF DIS7,WXORLW D'0'BTFSS W,ZCALL ARRAY2
MOVF DIS8,WBCF STATUS,ZXORLW D'0'BTFSS STATUS,ZCALL ARRAY3MOVLW D'0'MOVWF ROTAGOTO PRI1
;SUB RUTINAS "ARRAYS", PARA CONTROL DE TIEMPO JUGADOR UNO... VIENE DE JUGA1
ARRAY3 MOVLW D'9'MOVWF DIS5MOVWF DIS7MOVLW D'5'MOVWF DIS6DECFSZ DIS8GOTO PRI1GOTO PRI1
ARRAY2 MOVLW D'9'MOVWF DIS5MOVLW D'5'MOVWF DIS6DECFSZ DIS7GOTO PRI1GOTO PRI1
ARRAY1 MOVLW D'9'MOVWF DIS5DECFSZ DIS6GOTO PRI1GOTO PRI1
ARRAYDECFSZ DIS5GOTO PRI1GOTO PRI1
;RUTINA DE DECREMENTO DEL RELOJ DEL JUGADOR 2
JUGA2 DECFSZ TECLA2RETLW0MOVLW D'46'MOVWF TECLA2
MOVF DIS1,WXORLW D'0'BTFSS STATUS,ZCALL ARRAY4
;MOVF DIS2,WXORLW D'0'BTFSS STATUS,ZCALL ARRAY5
MOVF DIS3,WXORLW D'0'BTFSS STATUS,ZCALL ARRAY6
MOVF DIS4,WBCF STATUS,ZXORLW D'0'BTFSS STATUS,ZCALL ARRAY7
MOVLW D'0'MOVWF ROTAGOTO PRI1
;SUB RUTINAS "ARRAYS", PARA CONTROL DE TIEMPO JUGADOR DOS... VIENE DE JUGA2
ARRAY7 MOVLW D'9'MOVWF DIS3MOVWF DIS1MOVLW D'5'MOVWF DIS2DECFSZ DIS4GOTO PRI1GOTO PRI1
ARRAY6 MOVLW D'9'MOVWF DIS1MOVLW D'5'MOVWF DIS2DECFSZ DIS3GOTO PRI1GOTO PRI1
ARRAY5 MOVLW D'9'MOVWF DIS1DECFSZ DIS2GOTO PRI1GOTO PRI1
5
ARRAY4 DECFSZ DIS1GOTO PRI1GOTO PRI1
CARGAR MOVLW D'0'MOVWF DIS3MOVWF DIS7RETLW0
CARGAR2 MOVLW D'0'MOVWF DIS4MOVWF DIS8RETLW0
; RUTINA MANEJO CONTROL DE ASIGNACION DE TIEMPO A CADA JUGADOR AL PULSAR MINUTO UNIDAD
SALIR CALL RETARD1CALL RETARD1MOVF ROTA,WXORLW D'0'BTFSS STATUS,ZGOTO VOYINCF DIS3INCF DIS7MOVF DIS3,WXORLW D'10'BTFSC STATUS,ZCALL CARGARMOVLW D'0'MOVWF ROTA
VOY RETLW0
;RUTINA MANEJO CONTROL DE ASIGNACION DE TIEMPO A CADA JUGADOR AL PULSAR MINUTOS DECIMAL
SALIR1 CALL RETARD1CALL RETARD1MOVF ROTA,WXORLW D'0'BTFSS STATUS,ZGOTO VOY1
INCF DIS4INCF DIS8MOVF DIS4,WXORLW D'10'BTFSC STATUS,ZCALL CARGAR2MOVLW D'0'MOVWF ROTA
VOY1 RETLW0;; PULSADOR SEGUNDO JUGADOR "SALIR2", MANIPULANDO ROTA DETIENE EL RELOJ Y PONE ANDAR EL DEL CONTRARIO;MANIPULANDO ROTA EN 1
SALIR2 CALL RETARD1MOVF ROTA,WXORLW D'1'BTFSC STATUS,ZGOTO VAMOS
MOVLW D'1'MOVWF ROTAMOVF DIS4,WXORLW D'0'BTFSS STATUS,ZGOTO VAMOS
MOVF DIS3,WXORLW D'0'BTFSS STATUS,ZGOTO VAMOSCALL INTRE
VAMOS RETLW0
;SUBRUTINA DEL PULSADOR DEL JUEZ, PARA LOS DOS RELOJES.. MANIPULANDO ROTA EN 0
SALIR3 CALL RETARD1MOVLW D'0'MOVWF ROTARETLW0
; PULSADOR PRIMER JUGADOR "SALIR4";MANIPULANDO ROTA EN 2
SALIR4 CALL RETARD1MOVF ROTA,WXORLW D'2'BTFSC STATUS,ZGOTO VAMOS1
MOVLW D'2'MOVWF ROTAMOVF DIS8,WXORLW D'0'BTFSS STATUS,ZGOTO VAMOS1
MOVF DIS7,WXORLW D'0'BTFSS STATUS,ZGOTO VAMOS1
CALL INTRE1VAMOS1 RETLW0
;***RUTINA PARA INCREMENTO CUANDO VA MENOS DE 1 MINUTO PRIMER JUGADOR
INTRE MOVF DIS2,WXORLW D'0'
6
BTFSS STATUS,ZGOTO HA
AJA MOVF DIS1,WADDLW D'5'MOVWF AUXMOVLW D'10'SUBWFAUX,0BTFSC STATUS,CCALL CORREMOVF AUX,WMOVWF DIS1
CHAO RETLW0
HA MOVF DIS1,WXORLW D'0'BTFSS STATUS,ZGOTO AJA
GOTO CHAO
CORRE MOVWF DIS1MOVF DIS2,WADDLW D'1'MOVWF AUX1XORLW D'6'BTFSS STATUS,ZCALL CAM
MOVLW D'0'MOVWF DIS2MOVLW D'1'MOVWF DIS3GOTO VENGO
CAM MOVF AUX1,WMOVWF DIS2GOTO VENGO
;***;**RUTINA PARA INCREMENTO CUANDO VA MENOS DE 1 MINUTO SEGUNDO JUGADOR
INTRE1MOVF DIS6,WXORLW D'0'BTFSC STATUS,ZGOTO HA1
AJA1 MOVF DIS5,WADDLW D'5'MOVWF AUX2MOVLW D'10'SUBWFAUX2,0BTFSC STATUS,CCALL CORRE1MOVF AUX2,WMOVWF DIS5
CHAO1 RETLW0
HA1 MOVF DIS5,WXORLW D'0'
BTFSS STATUS,ZGOTO AJA1
GOTO CHAO1
CORRE1 MOVWF DIS5MOVF DIS6,WADDLW D'1'MOVWF AUX3XORLW D'6'BTFSS STATUS,ZCALL CAM1
MOVLW D'0'MOVWF DIS6MOVLW D'1'MOVWF DIS7GOTO VENGO1
CAM1 MOVF AUX3,WMOVWF DIS6GOTO VENGO1
;**;PROGRAMA PRINCIPAL ... DONDE SE HACE EL BARRIDO PARA EL CONTROL DEL DISPLAY; Y LECTURA DEL LOS PULSADORES
INICIO MOVLW D'0'MOVWF DIS1MOVWF DIS2MOVWF DIS3MOVWF DIS4MOVWF DIS5MOVWF DIS6MOVWF DIS7MOVWF DIS8MOVLW D'46'MOVWF TECLAMOVWF TECLA2BSF STATUS,5MOVLW 1F0HMOVWF TRISAMOVLW 00HMOVWF TRISBBCF STATUS,5
;HASTA AQUI CONFIGURTACION DEL PUERTOPRI1 MOVLW 0FFH
MOVWF PTOBMOVF DIS1,WMOVWF PTOACALL RETARD2
MOVLW 0FEHMOVWF PTOBCALL RETARDO
;HASTA AQUI MUESTRA EL DATO POR DISPLAY 1MOVF PTOA,W
7
ANDLW D'16'XORLW B'10000'BTFSS STATUS,ZCALL SALIR
;PREGUNTO POR PULSADOR 1MOVLW 0FFHMOVWF PTOBMOVF DIS2,WMOVWF PTOACALL RETARD2MOVLW 0FDHMOVWF PTOBCALL RETARDO
;HASTA AQUI MUESTRA EL DATO POR DISPLAY 2MOVF PTOA,WANDLW D'16'XORLW B'10000'BTFSS STATUS,ZCALL SALIR1
;PREGUNTO POR PULSADOR 2MOVLW 0FFHMOVWF PTOBMOVF DIS3,WMOVWF PTOACALL RETARD2
MOVLW 0FBHMOVWF PTOBCALL RETARDO
;HASTA AQUI MUESTRA EL DATO POR DISPLAY 3MOVF PTOA,WANDLW D'16'XORLW B'10000'BTFSS STATUS,ZCALL SALIR2
;PREGUNTO PULSADOR 3VENGOMOVLW 0FFH
MOVWF PTOBMOVF DIS4,WMOVWF PTOACALL RETARD2
MOVLW 0F7HMOVWF PTOBCALL RETARDO
;HASTA AQUI MUESTRA EL DATO POR DISPLAY 4MOVF PTOA,WANDLW D'16'XORLW B'10000'BTFSS STATUS,ZCALL SALIR3
;PREGUNTO PULSADOR 4
MOVLW 0FFHMOVWF PTOBMOVF DIS5,WMOVWF PTOACALL RETARD2MOVLW 0EFHMOVWF PTOBCALL RETARDO
;HASTA AQUI MUESTRA EL DATO POR DISPLAY 5MOVF PTOA,WANDLW D'16'XORLW B'10000'BTFSS STATUS,ZCALL SALIR4
;PREGUNTO PULSADOR 5VENGO1 MOVLW 0FFH
MOVWF PTOBMOVF DIS6,WMOVWF PTOACALL RETARD2MOVLW 0DFHMOVWF PTOBCALL RETARDO
;HASTA AQUI MUESTRA EL DATO POR DISPLAY 6MOVLW 0FFHMOVWF PTOBMOVF DIS7,WMOVWF PTOACALL RETARD2
MOVLW 0BFHMOVWF PTOBCALL RETARDO
;HASTA AQUI MUESTRA EL DATO POR DISPLAY 7MOVLW 0FFHMOVWF PTOBMOVF DIS8,WMOVWF PTOACALL RETARD2
MOVLW 07FHMOVWF PTOBCALL RETARDO
;HASTA AQUI MUESTRA EL DATO POR DISPLAY 8;LAS SIGUIENTES LINEAS ME PREGUNTO POR EL ESTADO DEL JUEGO;ES DECIR, ESTA JUGANDO PLAYER 1 O PLAYER 2;ADEMAS CONTROL EL TIEMPO EN SEGUNDOS POR TECLA Y TECLA2;ROTA ES LA VARIABLE QUE ME CONTROLA QUE JUGADOR JUEGA, O SI NO HA EMPEZADO EL JUEGO.
8
MOVF ROTA,WXORLW D'0'BTFSC STATUS,ZGOTO PRI1MOVF ROTA,WXORLW D'1'BTFSC STATUS,ZCALL JUGA1
MOVF ROTA,WXORLW D'2'BTFSC STATUS,ZCALL JUGA2
GOTO PRI1END
9