#include <P16F877A.INC>
#include <definitions.inc>
#include <rutinas.inc>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC&_BODEN_ON&_LVP_OFF
;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;####################################################################################################################
org 0x00
PAGESEL CONFIGURACION
GOTO CONFIGURACION
;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;####################################################################################################################
ORG 0X04
RUTINA_DE_INTERRUPCION ;RUTINA DE INTERRUPCION
;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;####################################################################################################################
RUTINAS ;RUTINAS QUE USA EL PROGRAMA
CONVERT_7SEGMENT ;CONVERTIDOR BCD A 7 SEGMENTOS PARA LOS DISPLAYS
;------------------------------------
OUT_SHIFT_REGISTER ;PARA LOS 74595
;------------------------------------
MIDI_OUT ;RUTINA DE ENVIO USART
;------------------------------------
PULSADORES_MENU ;PARA EL TECLADO CON LOS 74165
;------------------------------------
ADC_IN ;PARA LOS 4051 Y LOS POTES
;------------------------------------
CONVERTIDORES
;------------------------------------
R_W_EEPROM ;ESCRITURA LECTURA DE LA EEPROM
;------------------------------------
PAUSAS ;PAUSAS CAD, TECLADO...
;------------------------------------
;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;####################################################################################################################
PROGRAMA
;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;##################################################### LLAMADA A RUTINAS ############################################
TODOS_LOS_CANALES ;TESTEA LOS CANALES ANALOGICOS
TECLADO_DIN ;TESTEA LOS PULSADORES DEL MENU Y TECLADO
;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;####################################################################################################################
GOTO PROGRAMA ;BUCLE EL MICRO NO DESCANSA ;)
;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;####################################################################################################################
ORG 0X1C00 ;DIRECCION DONDE SE GUARDARA LA CONFIGURACION DE LOS PERIFERICOS
PAGESEL PROGRAMA
RETURN ;ESTO DEBERIA HACER UNA ESPECIE DE RESET SI EL PIC SE SALTA LA RUTINA DE PROGRAMA :(
CONFIGURACION ;HACERLO AL PRINCIPIO DE UNA PAGINA
CONFIG_16F877A_CONTROLOGIC
ORG MEM_EEPROM_POTES
TABLAS_EEPROM
END