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

PRÁCTICA ALARMA DESCENDENTE PROGRAMABLE.


Enviado por   •  27 de Octubre de 2013  •  Exámen  •  14.470 Palabras (58 Páginas)  •  217 Visitas

Página 1 de 58

TAREA 15. PRÁCTICA ALARMA DESCENDENTE PROGRAMABLE.

Implementación:

Para lograr la implementación de una ALARMA DESCENDENTE PROGRAMABLE debemos de manejar varios puertos de entrada como salida, de la misma forma para crear el circuito y visualizar los valores necesitamos del uso de displays de cátodo común como el uso de latchs(74LS373), a través de señales de entrada podríamos controlar los valores de diferentes variables e irlas decrementando hasta que lleve un valor 0 y avise cuando llegue a este valor con ayuda de un buzzer.

Para realizar las funciones mencionadas necesitamos programar el PIC16F877A con el siguiente programa a partir de la siguiente lista de funciones.

B0=botón de encendido ó apagado

B1=botón selección de unidades(Segundos/Minutos).

B2= botón de correr ó parar.

B3=botón de aumento.

B4=botón de aumento.

B5=Buzzer.

Por lo tanto a partir de la lista de funciones podemos escribir el siguiente código en MPLAB, obteniendo:

list p=16f877a ;selección de dispositivO

ORG 0X00 ;SELECCIONAMOS EL ORIGEN

#INCLUDE<P16F877A.INC> ;INCLUIMOS LAS BIBLIOTECAS

VALOR EQU 0X20 ;CREAMOS LA VARIBALE VALOR

VAL2 EQU 0X21 ;CREAMOS LA VARIBALE VAL2

VAL3 EQU 0X22 ;CREAMOS LA VARIBALE VAL3

CONTADOR EQU 0X23 ;CREAMOS LA VARIBALE CONTADOR

SUMA2 EQU 0X24

SUMA3 EQU 0X25 ;CREAMOS LA VARIABLE NUMERO

SUMA EQU 0X26 ;CREAMOS LA VARIABLE SUMA

SUMA4 EQU 0X27 ;CREAMOS LA VARIBALE SUMA4

__CONFIG _FOSC_XT & _WDTE_OFF & _PWRTE_OFF & _BOREN_ON & _LVP_OFF & _CPD_OFF & _WRT_OFF & _CP_OFF;CONFIGURAMOS EL PIC PARA SU CORRECTO FUNCIONAMIENTO

BSF STATUS,0x05 ;Se cambio un bit del registro status para cambiar del banco 0 al 1

CLRF TRISD ;Limpiamos trisd

CLRF TRISC ;CONFIGURAMOS EL TRISC COMO SALIDAS

MOVLW B'11011111'

MOVWF TRISB ;CONFIGURAMOS TRISB COMO ENTRADAS

BCF STATUS,0x05 ;Regresamos al banco cero

GOTO RETARDO ;VAMOS A LA SUBRUTINA RETARDO

LUT ADDWF PCL,1 ;CREAMOS LA SUBRUTINA LUT

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

RETLW B'00100111';7

RETLW B'01111111';8

RETLW B'01100111';9

RETARDO GOTO FOR25 ;SIRVE PARA EVITAR EFECTO REBOTE EN PUSH BOTON

CONTINUARFOR25

APAGARENCENDER BTFSS PORTB,0 ;CHECAMOS EL BIT0 DLE PORTB PARA COMPROBAR SI ESTA PRENDIDO O APAGADO EL CIRCUITO

GOTO APAGAR ;SI ES 0 APAGADMOS EL CIRCUITO

GOTO ENCENDER ;SI ES 1 ENCENDEMOS EL CIRCUITO

APAGAR MOVLW B'00001111' ;EN ESTA SUBRUTINA APAGAMOS EL CIRCUITO

MOVWF PORTC

MOVLW 0X00

MOVWF PORTD

MOVLW B'00000000'

MOVWF PORTC

CLRF SUMA

CLRF SUMA2

GOTO RETARDO ;REGRESAMOS AL RETARDO

ENCENDER GOTO EFECTOREBOTE2 ;EVITAMOS EL EFECTO REBOTE

CONTINUARREBOTE2 BTFSC PORTB,2

GOTO CORRER ;SI ESTA PRENDIDO EL B2 DE PORTB VAMOS A CORRER

GOTO PARAR

PARAR BTFSS PORTB,1 ;SI ESTA APAGADO VAMOS A PARAR

GOTO CHECARBIT

INCF CONTADOR,1

CHECARBIT BTFSS CONTADOR,0 ;CHECAMOS QUE DESEA FIJAR MINUTOS O SEGUNDOS

GOTO CONTADOR0

GOTO CONTADOR1

CONTADOR0 BTFSS CONTADOR,1

GOTO CONTADOR00

GOTO CONTADOR10

CONTADOR1 BTFSS CONTADOR,1

GOTO CONTADOR01

GOTO CONTADOR11

CONTADOR10 BTFSS

...

Descargar como (para miembros actualizados)  txt (34 Kb)  
Leer 57 páginas más »
Disponible sólo en Clubensayos.com