├── LCD.pdf ├── EEPROM.pdf ├── TIMER0.pdf ├── WATCHDOG.pdf ├── LCD ├── LCD.pdsprj ├── Programa_principal.asm └── LCD.X.production.hex ├── LED ├── LED_ON.pdsprj ├── Programa_principal.asm ├── Descripción Programa LED.txt └── LED.X.production.hex ├── Librerias ├── LCD.INC ├── BIN_BCD.INC ├── EEPROM.INC ├── RETARDOS.INC ├── DISPLAY_7S.INC └── LCD_Mensaje.INC ├── EEPROM ├── EEPROM.pdsprj ├── Programa_principal.asm └── EEPROM.X.production.hex ├── LEDS_ON_OFF ├── Main.asm ├── Leds_ON_OFF.pdsprj ├── Hex │ ├── Retardo2.X.production.cof │ ├── Retardo2.X.production.hex │ └── Retardo2.X.production.map └── Description.txt ├── REGISTRO STATUS.pdf ├── DISPLAY ├── DISPLAY.pdsprj ├── Programa_principal.asm ├── Backup Of DISPLAY.pdsbak ├── Diagrama de Bloques - Display.pdf ├── DISPLAY.X.production.hex └── DISPLAY.pdsprj.DESKTOP-L13E3AO.WELS.workspace ├── REGISTROS ALTERADOS.pdf ├── Retardo ├── RETARDOS.pdsprj ├── Programa_principal.asm └── RETARDO.X.production.hex ├── SALTOS CONDICIONALES.pdf ├── Watchdog ├── Watchdog.pdsprj ├── Programa_principal.asm └── Watchdog.X.production.hex ├── COMPARADOR ├── COMPARADOR.pdsprj ├── Programa_principal.asm ├── Last Loaded COMPARADOR.pdsbak ├── Diagrama de Bloques - Comparadores.pdf ├── Diagrama de Bloques - Comparadores.png ├── Comparador.X.production.hex └── COMPARADOR.pdsprj.DESKTOP-L13E3AO.WELS.workspace ├── FLAGS DE INTERRUPCIONES.pdf ├── PROYECTO_1 ├── PROYECTO_1.pdsprj ├── Programa_principal.asm └── PROYECTO_1.X.production.hex ├── REPERTORIO DE INSTRUCCIONES.pdf ├── MOTOR_DC.X ├── Programa_principal.asm ├── Pic16f84a-motor DC.pdsprj ├── build │ └── default │ │ └── production │ │ ├── Programa_principal.o │ │ ├── Programa_principal.err │ │ ├── Programa_principal.lst │ │ └── Programa_principal.o.d ├── dist │ └── default │ │ └── production │ │ ├── MOTOR_DC.X.production.cof │ │ ├── MOTOR_DC.X.production.map │ │ └── MOTOR_DC.X.production.hex ├── nbproject │ ├── Makefile-variables.mk │ ├── private │ │ ├── private.xml │ │ └── configurations.xml │ ├── Makefile-genesis.properties │ ├── project.xml │ ├── Package-default.bash │ ├── Makefile-impl.mk │ ├── Makefile-local-default.mk │ ├── configurations.xml │ └── Makefile-default.mk ├── Pic16f84a-motor DC.pdsprj.DESKTOP-ODV7QT7.Wels.workspace └── Makefile ├── ENTRADA_SALIDA ├── ENTRADA_SALIDA.pdsprj ├── Programa_principal.asm └── Entradas_Salidas.X.production.hex ├── ULTRASONIDO.X ├── Programa_principal.asm ├── build │ └── default │ │ └── production │ │ ├── Programa_principal.err │ │ ├── Programa_principal.lst │ │ ├── Programa_principal.o │ │ └── Programa_principal.o.d ├── dist │ └── default │ │ └── production │ │ ├── ULTRASONIDO.X.production.cof │ │ ├── ULTRASONIDO.X.production.map │ │ └── ULTRASONIDO.X.production.hex ├── nbproject │ ├── Makefile-variables.mk │ ├── private │ │ ├── private.xml │ │ └── configurations.xml │ ├── Makefile-genesis.properties │ ├── project.xml │ ├── Package-default.bash │ ├── Makefile-impl.mk │ ├── Makefile-local-default.mk │ ├── configurations.xml │ └── Makefile-default.mk ├── BIN_BCD.inc ├── Makefile ├── LCD_Mensaje.inc ├── RETARDOS.inc └── LCD.inc ├── Timer0_Contador ├── Programa_principal.asm ├── Timer0_Contadorpdsprj.pdsprj └── Timer0_contador.X.production.hex ├── CONSTANTES NUMÉRICA Y ALFANUMÉRICAS.pdf ├── CONTADOR Y REBOTES ├── CONTADOR_PULSOS.pdsprj ├── Programa_principal.asm └── CONTADOR_PULSOS.X.production.hex ├── INTERRUPCION_RBI ├── Interrupcion_RBI.pdsprj ├── Programa_principal.asm └── INTERRUPCION_RBI.X.production.hex ├── INTERRUPCION_TMR0 ├── Programa_principal.asm ├── INTERRUPCION_TMR0.pdsprj └── Interrupcion_TMR0.X.production.hex ├── Timer0_Temporizador ├── Programa_principal.asm ├── Timer0_Temporizador.pdsprj └── Timer0_Temporizador.X.production.hex ├── INTERRUPCION_EXTERNA ├── EJEMPLO │ ├── Programa_principal.asm │ ├── Interrupcion_ext_Ejemplo.pdsprj │ └── Interrupci_n_Ext_Ejemplo.X.production.hex └── PROGRAMA PRINCIPAL │ ├── Programación_principal.asm │ ├── Interrupcion_externa.pdsprj │ └── Interrupcion_Ext.X.production.hex └── README.md /LCD.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/LCD.pdf -------------------------------------------------------------------------------- /EEPROM.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/EEPROM.pdf -------------------------------------------------------------------------------- /TIMER0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/TIMER0.pdf -------------------------------------------------------------------------------- /WATCHDOG.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/WATCHDOG.pdf -------------------------------------------------------------------------------- /LCD/LCD.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/LCD/LCD.pdsprj -------------------------------------------------------------------------------- /LED/LED_ON.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/LED/LED_ON.pdsprj -------------------------------------------------------------------------------- /Librerias/LCD.INC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Librerias/LCD.INC -------------------------------------------------------------------------------- /EEPROM/EEPROM.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/EEPROM/EEPROM.pdsprj -------------------------------------------------------------------------------- /LEDS_ON_OFF/Main.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/LEDS_ON_OFF/Main.asm -------------------------------------------------------------------------------- /Librerias/BIN_BCD.INC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Librerias/BIN_BCD.INC -------------------------------------------------------------------------------- /Librerias/EEPROM.INC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Librerias/EEPROM.INC -------------------------------------------------------------------------------- /REGISTRO STATUS.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/REGISTRO STATUS.pdf -------------------------------------------------------------------------------- /DISPLAY/DISPLAY.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/DISPLAY/DISPLAY.pdsprj -------------------------------------------------------------------------------- /Librerias/RETARDOS.INC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Librerias/RETARDOS.INC -------------------------------------------------------------------------------- /REGISTROS ALTERADOS.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/REGISTROS ALTERADOS.pdf -------------------------------------------------------------------------------- /Retardo/RETARDOS.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Retardo/RETARDOS.pdsprj -------------------------------------------------------------------------------- /LCD/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/LCD/Programa_principal.asm -------------------------------------------------------------------------------- /LED/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/LED/Programa_principal.asm -------------------------------------------------------------------------------- /Librerias/DISPLAY_7S.INC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Librerias/DISPLAY_7S.INC -------------------------------------------------------------------------------- /Librerias/LCD_Mensaje.INC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Librerias/LCD_Mensaje.INC -------------------------------------------------------------------------------- /SALTOS CONDICIONALES.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/SALTOS CONDICIONALES.pdf -------------------------------------------------------------------------------- /Watchdog/Watchdog.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Watchdog/Watchdog.pdsprj -------------------------------------------------------------------------------- /COMPARADOR/COMPARADOR.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/COMPARADOR/COMPARADOR.pdsprj -------------------------------------------------------------------------------- /FLAGS DE INTERRUPCIONES.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/FLAGS DE INTERRUPCIONES.pdf -------------------------------------------------------------------------------- /PROYECTO_1/PROYECTO_1.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/PROYECTO_1/PROYECTO_1.pdsprj -------------------------------------------------------------------------------- /DISPLAY/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/DISPLAY/Programa_principal.asm -------------------------------------------------------------------------------- /EEPROM/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/EEPROM/Programa_principal.asm -------------------------------------------------------------------------------- /LEDS_ON_OFF/Leds_ON_OFF.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/LEDS_ON_OFF/Leds_ON_OFF.pdsprj -------------------------------------------------------------------------------- /REPERTORIO DE INSTRUCCIONES.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/REPERTORIO DE INSTRUCCIONES.pdf -------------------------------------------------------------------------------- /Retardo/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Retardo/Programa_principal.asm -------------------------------------------------------------------------------- /Watchdog/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Watchdog/Programa_principal.asm -------------------------------------------------------------------------------- /COMPARADOR/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/COMPARADOR/Programa_principal.asm -------------------------------------------------------------------------------- /DISPLAY/Backup Of DISPLAY.pdsbak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/DISPLAY/Backup Of DISPLAY.pdsbak -------------------------------------------------------------------------------- /LED/Descripción Programa LED.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/LED/Descripción Programa LED.txt -------------------------------------------------------------------------------- /MOTOR_DC.X/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/MOTOR_DC.X/Programa_principal.asm -------------------------------------------------------------------------------- /PROYECTO_1/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/PROYECTO_1/Programa_principal.asm -------------------------------------------------------------------------------- /ENTRADA_SALIDA/ENTRADA_SALIDA.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/ENTRADA_SALIDA/ENTRADA_SALIDA.pdsprj -------------------------------------------------------------------------------- /MOTOR_DC.X/Pic16f84a-motor DC.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/MOTOR_DC.X/Pic16f84a-motor DC.pdsprj -------------------------------------------------------------------------------- /ULTRASONIDO.X/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/ULTRASONIDO.X/Programa_principal.asm -------------------------------------------------------------------------------- /ENTRADA_SALIDA/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/ENTRADA_SALIDA/Programa_principal.asm -------------------------------------------------------------------------------- /Timer0_Contador/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Timer0_Contador/Programa_principal.asm -------------------------------------------------------------------------------- /COMPARADOR/Last Loaded COMPARADOR.pdsbak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/COMPARADOR/Last Loaded COMPARADOR.pdsbak -------------------------------------------------------------------------------- /CONSTANTES NUMÉRICA Y ALFANUMÉRICAS.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/CONSTANTES NUMÉRICA Y ALFANUMÉRICAS.pdf -------------------------------------------------------------------------------- /CONTADOR Y REBOTES/CONTADOR_PULSOS.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/CONTADOR Y REBOTES/CONTADOR_PULSOS.pdsprj -------------------------------------------------------------------------------- /CONTADOR Y REBOTES/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/CONTADOR Y REBOTES/Programa_principal.asm -------------------------------------------------------------------------------- /DISPLAY/Diagrama de Bloques - Display.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/DISPLAY/Diagrama de Bloques - Display.pdf -------------------------------------------------------------------------------- /INTERRUPCION_RBI/Interrupcion_RBI.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/INTERRUPCION_RBI/Interrupcion_RBI.pdsprj -------------------------------------------------------------------------------- /INTERRUPCION_RBI/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/INTERRUPCION_RBI/Programa_principal.asm -------------------------------------------------------------------------------- /INTERRUPCION_TMR0/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/INTERRUPCION_TMR0/Programa_principal.asm -------------------------------------------------------------------------------- /LEDS_ON_OFF/Hex/Retardo2.X.production.cof: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/LEDS_ON_OFF/Hex/Retardo2.X.production.cof -------------------------------------------------------------------------------- /INTERRUPCION_TMR0/INTERRUPCION_TMR0.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/INTERRUPCION_TMR0/INTERRUPCION_TMR0.pdsprj -------------------------------------------------------------------------------- /LED/LED.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :0C00000083168601831218308600032846 3 | :04000C000034003488 4 | :02400E00F13F80 5 | :00000001FF 6 | -------------------------------------------------------------------------------- /Timer0_Temporizador/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Timer0_Temporizador/Programa_principal.asm -------------------------------------------------------------------------------- /Timer0_Contador/Timer0_Contadorpdsprj.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Timer0_Contador/Timer0_Contadorpdsprj.pdsprj -------------------------------------------------------------------------------- /Timer0_Temporizador/Timer0_Temporizador.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/Timer0_Temporizador/Timer0_Temporizador.pdsprj -------------------------------------------------------------------------------- /COMPARADOR/Diagrama de Bloques - Comparadores.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/COMPARADOR/Diagrama de Bloques - Comparadores.pdf -------------------------------------------------------------------------------- /COMPARADOR/Diagrama de Bloques - Comparadores.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/COMPARADOR/Diagrama de Bloques - Comparadores.png -------------------------------------------------------------------------------- /INTERRUPCION_EXTERNA/EJEMPLO/Programa_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/INTERRUPCION_EXTERNA/EJEMPLO/Programa_principal.asm -------------------------------------------------------------------------------- /MOTOR_DC.X/build/default/production/Programa_principal.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/MOTOR_DC.X/build/default/production/Programa_principal.o -------------------------------------------------------------------------------- /ENTRADA_SALIDA/Entradas_Salidas.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :10000000831686011F3085008312050886000528A7 3 | :040010000034003484 4 | :02400E00F13F80 5 | :00000001FF 6 | -------------------------------------------------------------------------------- /MOTOR_DC.X/build/default/production/Programa_principal.err: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/MOTOR_DC.X/build/default/production/Programa_principal.err -------------------------------------------------------------------------------- /MOTOR_DC.X/build/default/production/Programa_principal.lst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/MOTOR_DC.X/build/default/production/Programa_principal.lst -------------------------------------------------------------------------------- /MOTOR_DC.X/build/default/production/Programa_principal.o.d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/MOTOR_DC.X/build/default/production/Programa_principal.o.d -------------------------------------------------------------------------------- /INTERRUPCION_EXTERNA/EJEMPLO/Interrupcion_ext_Ejemplo.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/INTERRUPCION_EXTERNA/EJEMPLO/Interrupcion_ext_Ejemplo.pdsprj -------------------------------------------------------------------------------- /MOTOR_DC.X/dist/default/production/MOTOR_DC.X.production.cof: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/MOTOR_DC.X/dist/default/production/MOTOR_DC.X.production.cof -------------------------------------------------------------------------------- /MOTOR_DC.X/dist/default/production/MOTOR_DC.X.production.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/MOTOR_DC.X/dist/default/production/MOTOR_DC.X.production.map -------------------------------------------------------------------------------- /ULTRASONIDO.X/build/default/production/Programa_principal.err: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/ULTRASONIDO.X/build/default/production/Programa_principal.err -------------------------------------------------------------------------------- /ULTRASONIDO.X/build/default/production/Programa_principal.lst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/ULTRASONIDO.X/build/default/production/Programa_principal.lst -------------------------------------------------------------------------------- /ULTRASONIDO.X/build/default/production/Programa_principal.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/ULTRASONIDO.X/build/default/production/Programa_principal.o -------------------------------------------------------------------------------- /ULTRASONIDO.X/build/default/production/Programa_principal.o.d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/ULTRASONIDO.X/build/default/production/Programa_principal.o.d -------------------------------------------------------------------------------- /INTERRUPCION_EXTERNA/PROGRAMA PRINCIPAL/Programación_principal.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/INTERRUPCION_EXTERNA/PROGRAMA PRINCIPAL/Programación_principal.asm -------------------------------------------------------------------------------- /ULTRASONIDO.X/dist/default/production/ULTRASONIDO.X.production.cof: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/ULTRASONIDO.X/dist/default/production/ULTRASONIDO.X.production.cof -------------------------------------------------------------------------------- /ULTRASONIDO.X/dist/default/production/ULTRASONIDO.X.production.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/ULTRASONIDO.X/dist/default/production/ULTRASONIDO.X.production.map -------------------------------------------------------------------------------- /INTERRUPCION_EXTERNA/PROGRAMA PRINCIPAL/Interrupcion_externa.pdsprj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WelsTheory/Assembler-Pic16F84A/HEAD/INTERRUPCION_EXTERNA/PROGRAMA PRINCIPAL/Interrupcion_externa.pdsprj -------------------------------------------------------------------------------- /COMPARADOR/Comparador.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :10000000831686011F308500831208300502F03008 3 | :0C001000031855300319FF308600052846 4 | :04001C000034003478 5 | :02400E00F13F80 6 | :00000001FF 7 | -------------------------------------------------------------------------------- /LEDS_ON_OFF/Description.txt: -------------------------------------------------------------------------------- 1 | Leds_ON_OFF = open with Proteus 2 | 3 | Main.asm = It's the main program 4 | 5 | Hex/Retardo2.X.production.hex = This includes code, EEPROM data, User bytes and most importantly, configuration words. -------------------------------------------------------------------------------- /Timer0_Temporizador/Timer0_Temporizador.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :100000008316061205308100831206120E200E2080 3 | :100010000E2006160E200E200E20052864308100CA 4 | :080020000B110B1D1128080053 5 | :04002800003400346C 6 | :02400E00F13F80 7 | :00000001FF 8 | -------------------------------------------------------------------------------- /Retardo/RETARDO.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :10000000831686011F308500831286170C200E2070 3 | :1000100086130C200C200528C830102864301028C6 4 | :100020008D00F9308C0000008C0B13288D0B1128EB 5 | :020030000800C6 6 | :040032000034003462 7 | :02400E00F13F80 8 | :00000001FF 9 | -------------------------------------------------------------------------------- /DISPLAY/DISPLAY.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :10000000831686011F308500831205080F390A20E8 3 | :100010008600052882073F3406345B344F3466344B 4 | :100020006D347D3407347F34673477347C3439342D 5 | :060030005E3479347134E6 6 | :04003600003400345E 7 | :02400E00F13F80 8 | :00000001FF 9 | -------------------------------------------------------------------------------- /MOTOR_DC.X/dist/default/production/MOTOR_DC.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :10000000831685150514851486018312851D132812 3 | :100010000518152885180D281128913018288930C1 4 | :100020001828A530182803011828851C0F28993096 5 | :040030008600062818 6 | :040034000034003460 7 | :02400E00F13F80 8 | :00000001FF 9 | -------------------------------------------------------------------------------- /INTERRUPCION_TMR0/Interrupcion_TMR0.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :020000000528D1 3 | :040002000034003492 4 | :08000800112883168611073050 5 | :1000100081008312C330810006308C00A0308B0039 6 | :100020001028C33081008C0B1D2886191A288615CC 7 | :0E0030000C301C28861106308C000B110900C4 8 | :02400E00F13F80 9 | :00000001FF 10 | -------------------------------------------------------------------------------- /MOTOR_DC.X/nbproject/Makefile-variables.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated - do not edit! 3 | # 4 | # NOCDDL 5 | # 6 | CND_BASEDIR=`pwd` 7 | # default configuration 8 | CND_ARTIFACT_DIR_default=dist/default/production 9 | CND_ARTIFACT_NAME_default=MOTOR_DC.X.production.hex 10 | CND_ARTIFACT_PATH_default=dist/default/production/MOTOR_DC.X.production.hex 11 | CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package 12 | CND_PACKAGE_NAME_default=motordc.x.tar 13 | CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/motordc.x.tar 14 | -------------------------------------------------------------------------------- /LEDS_ON_OFF/Hex/Retardo2.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :100000008316860183120030860037200130860077 3 | :100010003720023086003720043086003720083031 4 | :1000200086003720103086003720203086003720A9 5 | :1000300040308600372080308600372040308600F0 6 | :1000400037202030860037201030860037200830D7 7 | :1000500086003720043086003720023086003720A3 8 | :100060000130860037200030860037200328FF301B 9 | :100070000C088C0B3C280800FF300D088D0B3E2827 10 | :0200800039281D 11 | :040082000034003412 12 | :02400E00F13F80 13 | :00000001FF 14 | -------------------------------------------------------------------------------- /MOTOR_DC.X/nbproject/private/private.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | file:/E:/Wels%20Theory/Electrónica/PIC16F84A/MOTOR_DC.X/Programa_principal.asm 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/nbproject/Makefile-variables.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated - do not edit! 3 | # 4 | # NOCDDL 5 | # 6 | CND_BASEDIR=`pwd` 7 | # default configuration 8 | CND_ARTIFACT_DIR_default=dist/default/production 9 | CND_ARTIFACT_NAME_default=ULTRASONIDO.X.production.hex 10 | CND_ARTIFACT_PATH_default=dist/default/production/ULTRASONIDO.X.production.hex 11 | CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package 12 | CND_PACKAGE_NAME_default=ultrasonido.x.tar 13 | CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/ultrasonido.x.tar 14 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/nbproject/private/private.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | file:/E:/Wels%20Theory/Electrónica/PIC16F84A/ULTRASONIDO.X/Programa_principal.asm 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MOTOR_DC.X/nbproject/Makefile-genesis.properties: -------------------------------------------------------------------------------- 1 | # 2 | #Thu Feb 22 10:58:41 COT 2018 3 | default.languagetoolchain.dir=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v4.10\\mpasmx 4 | configurations-xml=d4731e349ec549b6be572df0489cb166 5 | com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=24107a0c2bb6fb23e8f1a7c080ca8f8d 6 | default.languagetoolchain.version=5.77 7 | host.platform=windows 8 | conf.ids=default 9 | default.com-microchip-mplab-nbide-toolchainMPASMWIN-MPASMWINLanguageToolchain.md5=4f9d60949b8ea47bbbb5535013344643 10 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/nbproject/Makefile-genesis.properties: -------------------------------------------------------------------------------- 1 | # 2 | #Wed Mar 14 11:11:19 COT 2018 3 | default.languagetoolchain.dir=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v4.10\\mpasmx 4 | configurations-xml=53f1ae18287d833daec9909e392c0af0 5 | com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=24107a0c2bb6fb23e8f1a7c080ca8f8d 6 | default.languagetoolchain.version=5.77 7 | host.platform=windows 8 | conf.ids=default 9 | default.com-microchip-mplab-nbide-toolchainMPASMWIN-MPASMWINLanguageToolchain.md5=4f9d60949b8ea47bbbb5535013344643 10 | -------------------------------------------------------------------------------- /MOTOR_DC.X/nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.microchip.mplab.nbide.embedded.makeproject 4 | 5 | 6 | MOTOR_DC 7 | 4d8bbf67-412a-48e5-ba1f-e8b695b6a391 8 | 0 9 | 10 | 11 | 12 | 13 | ISO-8859-1 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.microchip.mplab.nbide.embedded.makeproject 4 | 5 | 6 | ULTRASONIDO 7 | 461c7e74-1112-4375-80f5-f266358e6010 8 | 0 9 | 10 | 11 | 12 | inc 13 | ISO-8859-1 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Assembler-Pic16F84A 2 | 3 | Tutoriales de PIC16F84A! 4 | 5 | Hola! El 3 de julio del 2017 comencé a desarrollar tutoriales y proyectos sobre el pic16f84a en lenguaje assembler! 6 | Acá están todos los ejemplos desarrollados. 7 | 8 | Espero sean de gran ayuda. Saludos 9 | 10 | #WelsTheory 11 | 12 | Sigueme en: 13 | Youtube: #www.youtube.com/Wels_Theory 14 | Facebook: #www.facebook.com/WelsTheory 15 | Instagram: #www.instagram.com/wels.28 16 | Twitter: #www.twitter.com/Wels_28 17 | Medium: #www.medium.com/the-wels-theory 18 | 19 | I've developed different projects using Assembler with a microcontroller Pic16F84A. 20 | 21 | In each folder there is a description, a simulation, the main program and the .hex files 22 | 23 | I hope it will help you. 24 | 25 | For more info visit #www.thewelstheory.com 26 | -------------------------------------------------------------------------------- /MOTOR_DC.X/nbproject/private/configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Makefile 4 | 0 5 | 6 | 7 | 8 | C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx 9 | 10 | place holder 1 11 | place holder 2 12 | 13 | 14 | 15 | 16 | true 17 | 0 18 | 0 19 | 0 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/nbproject/private/configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Makefile 4 | 0 5 | 6 | 7 | 8 | C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx 9 | 10 | place holder 1 11 | place holder 2 12 | 13 | 14 | 15 | 16 | true 17 | 0 18 | 0 19 | 0 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /CONTADOR Y REBOTES/CONTADOR_PULSOS.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :1000000083168601051683121120051A0C287A2002 3 | :10001000051A0C280D20742005288C0A0A300C02C1 4 | :1000200003188C010C081620860008000F39303E9A 5 | :100030008D00203C031900340D08D13C03195534C0 6 | :100040000D08BA3C031963340D085A3C031C803474 7 | :100050002B300D02031C80348207463404344034B4 8 | :10006000803400343F3406345B344F3466346D34AE 9 | :100070007D3407347F346734413488340034483465 10 | :1000800000340034003477347C3439345E347934CD 11 | :1000900071346F34763419341E347A34383437344A 12 | :1000A00054343F347334673450346D3478341C34F2 13 | :1000B0003E341D3470346E344934000000000000BA 14 | :1000C00000000000000008000000A43070280000BC 15 | :1000D000403070281F30702800000E307028053026 16 | :1000E0008E008E0B71280800C83083286430832866 17 | :1000F00032308328143083280A308328053083283F 18 | :100100000230832801308F00F9308E0000008E0B02 19 | :1001100086288F0B84280800C830972864309728D9 20 | :1001200032309728143097280A30972805309000ED 21 | :1001300064308F00F9308E0000008E0B9C288F0BEE 22 | :080140009A28900B9828080092 23 | :04014800003400344B 24 | :02400E00F13F80 25 | :00000001FF 26 | -------------------------------------------------------------------------------- /LCD/LCD.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :1000000079200130AB205730BA204530BA204C302F 3 | :10001000BA205330BA20DC205430BA204830BA20FD 4 | :100020004530BA204F30BA205230BA205930BA2069 5 | :100030000130AD205330BA205530BA205330BA20A9 6 | :100040004330BA205230BA204930BA204230BA2068 7 | :100050004530BA205430BA204530BA206720B52048 8 | :1000600069200128000000000000000000000000DE 9 | :1000700008000000A43045280000403045281F300B 10 | :10008000452800000E30452805308C008C0B462892 11 | :100090000800C830582864305828323058281430A6 12 | :1000A00058280A305828053058280230582801307E 13 | :1000B0008D00F9308C0000008C0B5B288D0B5928CB 14 | :1000C0000800C8306C2864306C2832306C2814303A 15 | :1000D0006C280A306C2805308E0064308D00F930B1 16 | :1000E0008C0000008C0B71288D0B6F288E0B6D28F7 17 | :1000F000080083160510051185108312851005115F 18 | :1001000005104F20303091205320303091203C207A 19 | :100110003030912020309120B720B520B320A52089 20 | :100120000800F0398F0006080F398F04831606087F 21 | :1001300091000F30860583120F0886000515051102 22 | :10014000831611088600831208000630B828803014 23 | :10015000B828C030B8288038B828C038B828083047 24 | :10016000B8280E30B8280C30B8280130B82828300C 25 | :100170000510BC280514C42090009120100E912079 26 | :10018000051C5520412008008F00F13C031DCB28A1 27 | :10019000EE308F00D8280F08D13C031DD228EE3056 28 | :1001A0008F00D8280F08BA3C031DD828DF308F00F5 29 | :1001B0000F0808001030E1280130E1280230E12862 30 | :1001C000033092002030BA20920BE22808009300FE 31 | :1001D000F039031DEF282030BA20F1289300130EC8 32 | :1001E000F22013080F399200093C031CFA28120868 33 | :0A01F000303EFC281208373EBA2802 34 | :0401FA000034003499 35 | :02400E00F13F80 36 | :00000001FF 37 | -------------------------------------------------------------------------------- /INTERRUPCION_EXTERNA/EJEMPLO/Interrupci_n_Ext_Ejemplo.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :020000000528D1 3 | :040002000034003492 4 | :08000800112862208316061482 5 | :100010008113011383128C01152090308B00630033 6 | :100020000F283820061819288C0A90200C08E62082 7 | :10003000D0208B100900000000000000000000002C 8 | :10004000000008000000A4302E28000040302E28B8 9 | :100050001F302E2800000E302E2805308D008D0B0D 10 | :100060002F280800C8304128643041283230412808 11 | :10007000143041280A3041280530412802304128F7 12 | :1000800001308E00F9308D0000008D0B44288E0B5E 13 | :1000900042280800C8305528643055283230552889 14 | :1000A000143055280A30552805308F0064308E00F2 15 | :1000B000F9308D0000008D0B5A288E0B58288F0BBD 16 | :1000C0005628080083160510051185108312851027 17 | :1000D00005110510382030307A203C2030307A204D 18 | :1000E000252030307A2020307A20A0209E209C20AD 19 | :1000F0008E200800F039900006080F39900483160E 20 | :10010000060892000F308605831210088600051538 21 | :100110000511831612088600831208000630A128F4 22 | :100120008030A128C030A1288038A128C038A1285B 23 | :100130000830A1280E30A1280C30A1280130A128B8 24 | :1001400028300510A5280514AD2091007A20110E45 25 | :100150007A20051C3E202A2008009000F13C031D57 26 | :10016000B428EE309000C1281008D13C031DBB28F4 27 | :10017000EE309000C1281008BA3C031DC128DF30C2 28 | :100180009000100808001030CA280130CA28023038 29 | :10019000CA28033093002030A320930BCB280800FB 30 | :1001A0009400F039031DD8282030A320DA289400C9 31 | :1001B000140EDB2014080F399300093C031CE328BC 32 | :1001C0001308303EE5281308373EA3289501960111 33 | :1001D00097000A301702031CF6289700960A0A3087 34 | :1001E0001602031CE9289601950AE928160E17073E 35 | :0201F000080005 36 | :02400E00F13F80 37 | :00000001FF 38 | -------------------------------------------------------------------------------- /MOTOR_DC.X/nbproject/Package-default.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | # 4 | # Generated - do not edit! 5 | # 6 | 7 | # Macros 8 | TOP=`pwd` 9 | CND_CONF=default 10 | CND_DISTDIR=dist 11 | TMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging 12 | TMPDIRNAME=tmp-packaging 13 | OUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/MOTOR_DC.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 14 | OUTPUT_BASENAME=MOTOR_DC.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 15 | PACKAGE_TOP_DIR=motordc.x/ 16 | 17 | # Functions 18 | function checkReturnCode 19 | { 20 | rc=$? 21 | if [ $rc != 0 ] 22 | then 23 | exit $rc 24 | fi 25 | } 26 | function makeDirectory 27 | # $1 directory path 28 | # $2 permission (optional) 29 | { 30 | mkdir -p "$1" 31 | checkReturnCode 32 | if [ "$2" != "" ] 33 | then 34 | chmod $2 "$1" 35 | checkReturnCode 36 | fi 37 | } 38 | function copyFileToTmpDir 39 | # $1 from-file path 40 | # $2 to-file path 41 | # $3 permission 42 | { 43 | cp "$1" "$2" 44 | checkReturnCode 45 | if [ "$3" != "" ] 46 | then 47 | chmod $3 "$2" 48 | checkReturnCode 49 | fi 50 | } 51 | 52 | # Setup 53 | cd "${TOP}" 54 | mkdir -p ${CND_DISTDIR}/${CND_CONF}/package 55 | rm -rf ${TMPDIR} 56 | mkdir -p ${TMPDIR} 57 | 58 | # Copy files and create directories and links 59 | cd "${TOP}" 60 | makeDirectory ${TMPDIR}/motordc.x/bin 61 | copyFileToTmpDir "${OUTPUT_PATH}" "${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 62 | 63 | 64 | # Generate tar file 65 | cd "${TOP}" 66 | rm -f ${CND_DISTDIR}/${CND_CONF}/package/motordc.x.tar 67 | cd ${TMPDIR} 68 | tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/motordc.x.tar * 69 | checkReturnCode 70 | 71 | # Cleanup 72 | cd "${TOP}" 73 | rm -rf ${TMPDIR} 74 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/nbproject/Package-default.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | # 4 | # Generated - do not edit! 5 | # 6 | 7 | # Macros 8 | TOP=`pwd` 9 | CND_CONF=default 10 | CND_DISTDIR=dist 11 | TMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging 12 | TMPDIRNAME=tmp-packaging 13 | OUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/ULTRASONIDO.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 14 | OUTPUT_BASENAME=ULTRASONIDO.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 15 | PACKAGE_TOP_DIR=ultrasonido.x/ 16 | 17 | # Functions 18 | function checkReturnCode 19 | { 20 | rc=$? 21 | if [ $rc != 0 ] 22 | then 23 | exit $rc 24 | fi 25 | } 26 | function makeDirectory 27 | # $1 directory path 28 | # $2 permission (optional) 29 | { 30 | mkdir -p "$1" 31 | checkReturnCode 32 | if [ "$2" != "" ] 33 | then 34 | chmod $2 "$1" 35 | checkReturnCode 36 | fi 37 | } 38 | function copyFileToTmpDir 39 | # $1 from-file path 40 | # $2 to-file path 41 | # $3 permission 42 | { 43 | cp "$1" "$2" 44 | checkReturnCode 45 | if [ "$3" != "" ] 46 | then 47 | chmod $3 "$2" 48 | checkReturnCode 49 | fi 50 | } 51 | 52 | # Setup 53 | cd "${TOP}" 54 | mkdir -p ${CND_DISTDIR}/${CND_CONF}/package 55 | rm -rf ${TMPDIR} 56 | mkdir -p ${TMPDIR} 57 | 58 | # Copy files and create directories and links 59 | cd "${TOP}" 60 | makeDirectory ${TMPDIR}/ultrasonido.x/bin 61 | copyFileToTmpDir "${OUTPUT_PATH}" "${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 62 | 63 | 64 | # Generate tar file 65 | cd "${TOP}" 66 | rm -f ${CND_DISTDIR}/${CND_CONF}/package/ultrasonido.x.tar 67 | cd ${TMPDIR} 68 | tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/ultrasonido.x.tar * 69 | checkReturnCode 70 | 71 | # Cleanup 72 | cd "${TOP}" 73 | rm -rf ${TMPDIR} 74 | -------------------------------------------------------------------------------- /Timer0_Contador/Timer0_contador.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :100000007020831638308100831281019E200230D7 3 | :10001000A22015300721A0200330A4202130072181 4 | :100020000108F420DE200628820743346F346E3442 5 | :100030007434613464346F3472342034643465341D 6 | :100040000034503475346C3473346F3473343A3450 7 | :100050000034000000000000000000000000080064 8 | :100060000000A4303C28000040303C281F303C28D1 9 | :1000700000000E303C2805308C008C0B3D28080019 10 | :10008000C8304F2864304F2832304F2814304F2862 11 | :100090000A304F2805304F2802304F2801308D009C 12 | :1000A000F9308C0000008C0B52288D0B5028080072 13 | :1000B000C8306328643063283230632814306328E2 14 | :1000C0000A30632805308E0064308D00F9308C00D2 15 | :1000D00000008C0B68288D0B66288E0B64280800A6 16 | :1000E0008316051005118510831285100511051062 17 | :1000F0004620303088204A2030308820332030306D 18 | :10010000882020308820AE20AC20AA209C20080027 19 | :10011000F0398F0006080F398F0483160608910006 20 | :100120000F30860583120F0886000515051183160A 21 | :1001300011088600831208000630AF288030AF28EF 22 | :10014000C030AF288038AF28C038AF280830AF287B 23 | :100150000E30AF280C30AF280130AF282830051002 24 | :10016000B3280514BB2090008820100E8820051CA1 25 | :100170004C20382008008F00F13C031DC228EE30CF 26 | :100180008F00CF280F08D13C031DC928EE308F0007 27 | :10019000CF280F08BA3C031DCF28DF308F000F088F 28 | :1001A00008001030D8280130D8280230D828033071 29 | :1001B00092002030B120920BD92808009300F0392A 30 | :1001C000031DE6282030B120E8289300130EE92013 31 | :1001D00013080F399200093C031CF1281208303E25 32 | :1001E000F3281208373EB1289401950196000A3091 33 | :1001F0001602031C04299600950A0A301502031CF6 34 | :10020000F7289501940AF728150E1607080097009D 35 | :1002100014309702970317081420980098080319C0 36 | :100220001429B120970A0B2908009700143097026F 37 | :1002300097039901AC2010301902031D2429402096 38 | :1002400040200F30970219291708142098009808A9 39 | :0E02500003192E29B120990A970A1B290800CC 40 | :02025E0000346A 41 | :02026000003468 42 | :02400E00F13F80 43 | :00000001FF 44 | -------------------------------------------------------------------------------- /Watchdog/Watchdog.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :100000009620031E102821301A21831605160F3062 3 | :10001000810083128C0118207120051E13200D28E9 4 | :100020002D301A21630064005920051A1F288C0AFC 5 | :10003000C4200C08832004216400051E1C2808002D 6 | :10004000820720342034203420344334753465341E 7 | :100050006E3474346134203400344D347534793462 8 | :1000600020346C3465346E3474346F342034653429 9 | :100070007234653473340034000000000000000066 10 | :100080000000000008000000A4304F2800004030AD 11 | :100090004F281F304F2800000E304F2805308D00AC 12 | :1000A0008D0B50280800C830622864306228323036 13 | :1000B0006228143062280A30622805306228023033 14 | :1000C000622801308E00F9308D0000008D0B65280C 15 | :1000D0008E0B63280800C8307628643076283230CA 16 | :1000E0007628143076280A30762805308F00643060 17 | :1000F0008E00F9308D0000008D0B7B288E0B792847 18 | :100100008F0B772808009001910192000A301202AB 19 | :10011000031C93289200910A0A301102031C8628BE 20 | :100120009101900A8628110E120708008316051007 21 | :1001300005118510831285100511051059203030E6 22 | :10014000AE205D203030AE2046203030AE20203052 23 | :10015000AE20D420D220D020C2200800F039930055 24 | :1001600006080F3993048316060895000F3086059C 25 | :1001700083121308860005150511831615088600DD 26 | :10018000831208000630D5288030D528C030D52805 27 | :100190008038D528C038D5280830D5280E30D52845 28 | :1001A0000C30D5280130D52828300510D928051461 29 | :1001B000E1209400AE20140EAE20051C5F204B20E1 30 | :1001C00008009300F13C031DE828EE309300F52869 31 | :1001D0001308D13C031DEF28EE309300F5281308D7 32 | :1001E000BA3C031DF528DF309300130808001030D7 33 | :1001F000FE280130FE280230FE2803309600203011 34 | :10020000D720960BFF2808009700F039031D0C2912 35 | :100210002030D7200E299700170E0F2117080F390D 36 | :100220009600093C031C17291608303E19291608A8 37 | :10023000373ED728980020309802980318082020CD 38 | :100240009900990803192729D720980A1E29080020 39 | :1002500098002030980298039A01D22010301A0298 40 | :10026000031D3729532053200F3098022C291808DA 41 | :1002700020209900990803194129D7209A0A980A41 42 | :040280002E2908001B 43 | :04028400003400340E 44 | :02400E00F53F7C 45 | :00000001FF 46 | -------------------------------------------------------------------------------- /EEPROM/EEPROM.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :100000008220030106218C0004300C0203181328FF 3 | :100010000C080F391720C3201E3023218C0A0C082E 4 | :100020000F21630011282930232163001328820740 5 | :100030003034313432343334003482072034523493 6 | :1000400045345334453454344534413444344F34C6 7 | :1000500000344534533454344F345934203442340A 8 | :100060004C344F34513455344534413444344F3496 9 | :1000700021342134003400000000000000000000A2 10 | :10008000000008000000A4304E28000040304E2838 11 | :100090001F304E2800000E304E2805308D008D0B8D 12 | :1000A0004F280800C8306128643061283230612848 13 | :1000B000143061280A306128053061280230612837 14 | :1000C00001308E00F9308D0000008D0B64288E0BFE 15 | :1000D00062280800C83075286430752832307528C9 16 | :1000E000143075280A30752805308F0064308E0072 17 | :1000F000F9308D0000008D0B7A288E0B78288F0B3D 18 | :1001000076280800831605100511851083128510C6 19 | :1001100005110510582030309A205C2030309A208C 20 | :10012000452030309A2020309A20C020BE20BC20AC 21 | :10013000AE200800F039900006080F3990048316AD 22 | :10014000060892000F3086058312100886000515F8 23 | :100150000511831612088600831208000630C12894 24 | :100160008030C128C030C1288038C128C038C1289B 25 | :100170000830C1280E30C1280C30C1280130C128F8 26 | :1001800028300510C5280514CD2091009A20110EA5 27 | :100190009A20051C5E204A2008009000F13C031DB7 28 | :1001A000D428EE309000E1281008D13C031DDB2854 29 | :1001B000EE309000E1281008BA3C031DE128DF3042 30 | :1001C0009000100808001030EA280130EA280230B8 31 | :1001D000EA28033093002030C320930BEB2808005B 32 | :1001E0009400F039031DF8282030C320FA28940029 33 | :1001F000140EFB2014080F399300093C031C03293B 34 | :100200001308303E05291308373EC328831289009E 35 | :100210008316081408180A29831208080800831294 36 | :1002200088000B08950083168B130815553089003C 37 | :10023000AA308900881488181B2908110812831213 38 | :1002400015088B00080096001D30960296031608CC 39 | :100250001D209700970803193029C320960A2729E3 40 | :10026000080096001D30960296039801BE201030BB 41 | :100270001802031D4029522052200F3096023529C2 42 | :1002800016081D209700970803194A29C320980AC9 43 | :06029000960A3729080060 44 | :0402960000340034FC 45 | :02400E00F13F80 46 | :024200000000BC 47 | :00000001FF 48 | -------------------------------------------------------------------------------- /MOTOR_DC.X/nbproject/Makefile-impl.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a pre- and a post- target defined where you can add customization code. 6 | # 7 | # This makefile implements macros and targets common to all configurations. 8 | # 9 | # NOCDDL 10 | 11 | 12 | # Building and Cleaning subprojects are done by default, but can be controlled with the SUB 13 | # macro. If SUB=no, subprojects will not be built or cleaned. The following macro 14 | # statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf 15 | # and .clean-reqprojects-conf unless SUB has the value 'no' 16 | SUB_no=NO 17 | SUBPROJECTS=${SUB_${SUB}} 18 | BUILD_SUBPROJECTS_=.build-subprojects 19 | BUILD_SUBPROJECTS_NO= 20 | BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} 21 | CLEAN_SUBPROJECTS_=.clean-subprojects 22 | CLEAN_SUBPROJECTS_NO= 23 | CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} 24 | 25 | 26 | # Project Name 27 | PROJECTNAME=MOTOR_DC.X 28 | 29 | # Active Configuration 30 | DEFAULTCONF=default 31 | CONF=${DEFAULTCONF} 32 | 33 | # All Configurations 34 | ALLCONFS=default 35 | 36 | 37 | # build 38 | .build-impl: .build-pre 39 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf 40 | 41 | 42 | # clean 43 | .clean-impl: .clean-pre 44 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf 45 | 46 | # clobber 47 | .clobber-impl: .clobber-pre .depcheck-impl 48 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean 49 | 50 | 51 | 52 | # all 53 | .all-impl: .all-pre .depcheck-impl 54 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build 55 | 56 | 57 | 58 | # dependency checking support 59 | .depcheck-impl: 60 | # @echo "# This code depends on make tool being used" >.dep.inc 61 | # @if [ -n "${MAKE_VERSION}" ]; then \ 62 | # echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \ 63 | # echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ 64 | # echo "include \$${DEPFILES}" >>.dep.inc; \ 65 | # echo "endif" >>.dep.inc; \ 66 | # else \ 67 | # echo ".KEEP_STATE:" >>.dep.inc; \ 68 | # echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ 69 | # fi 70 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/nbproject/Makefile-impl.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a pre- and a post- target defined where you can add customization code. 6 | # 7 | # This makefile implements macros and targets common to all configurations. 8 | # 9 | # NOCDDL 10 | 11 | 12 | # Building and Cleaning subprojects are done by default, but can be controlled with the SUB 13 | # macro. If SUB=no, subprojects will not be built or cleaned. The following macro 14 | # statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf 15 | # and .clean-reqprojects-conf unless SUB has the value 'no' 16 | SUB_no=NO 17 | SUBPROJECTS=${SUB_${SUB}} 18 | BUILD_SUBPROJECTS_=.build-subprojects 19 | BUILD_SUBPROJECTS_NO= 20 | BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} 21 | CLEAN_SUBPROJECTS_=.clean-subprojects 22 | CLEAN_SUBPROJECTS_NO= 23 | CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} 24 | 25 | 26 | # Project Name 27 | PROJECTNAME=ULTRASONIDO.X 28 | 29 | # Active Configuration 30 | DEFAULTCONF=default 31 | CONF=${DEFAULTCONF} 32 | 33 | # All Configurations 34 | ALLCONFS=default 35 | 36 | 37 | # build 38 | .build-impl: .build-pre 39 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf 40 | 41 | 42 | # clean 43 | .clean-impl: .clean-pre 44 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf 45 | 46 | # clobber 47 | .clobber-impl: .clobber-pre .depcheck-impl 48 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean 49 | 50 | 51 | 52 | # all 53 | .all-impl: .all-pre .depcheck-impl 54 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build 55 | 56 | 57 | 58 | # dependency checking support 59 | .depcheck-impl: 60 | # @echo "# This code depends on make tool being used" >.dep.inc 61 | # @if [ -n "${MAKE_VERSION}" ]; then \ 62 | # echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \ 63 | # echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ 64 | # echo "include \$${DEPFILES}" >>.dep.inc; \ 65 | # echo "endif" >>.dep.inc; \ 66 | # else \ 67 | # echo ".KEEP_STATE:" >>.dep.inc; \ 68 | # echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ 69 | # fi 70 | -------------------------------------------------------------------------------- /MOTOR_DC.X/nbproject/Makefile-local-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # 5 | # This file contains information about the location of compilers and other tools. 6 | # If you commmit this file into your revision control server, you will be able to 7 | # to checkout the project and build it from the command line with make. However, 8 | # if more than one person works on the same project, then this file might show 9 | # conflicts since different users are bound to have compilers in different places. 10 | # In that case you might choose to not commit this file and let MPLAB X recreate this file 11 | # for each user. The disadvantage of not commiting this file is that you must run MPLAB X at 12 | # least once so the file gets created and the project can be built. Finally, you can also 13 | # avoid using this file at all if you are only building from the command line with make. 14 | # You can invoke make with the values of the macros: 15 | # $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ... 16 | # 17 | SHELL=cmd.exe 18 | PATH_TO_IDE_BIN=C:/Program Files (x86)/Microchip/MPLABX/v4.10/mplab_ide/platform/../mplab_ide/modules/../../bin/ 19 | # Adding MPLAB X bin directory to path. 20 | PATH:=C:/Program Files (x86)/Microchip/MPLABX/v4.10/mplab_ide/platform/../mplab_ide/modules/../../bin/:$(PATH) 21 | # Path to java used to run MPLAB X when this makefile was created 22 | MP_JAVA_PATH="C:\Program Files (x86)\Microchip\MPLABX\v4.10\sys\java\jre1.8.0_144/bin/" 23 | OS_CURRENT="$(shell uname -s)" 24 | # MP_CC is not defined 25 | # MP_CPPC is not defined 26 | # MP_BC is not defined 27 | MP_AS="C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx\mpasmx.exe" 28 | MP_LD="C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx\mplink.exe" 29 | MP_AR="C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx\mplib.exe" 30 | DEP_GEN=${MP_JAVA_PATH}java -jar "C:/Program Files (x86)/Microchip/MPLABX/v4.10/mplab_ide/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar" 31 | # MP_CC_DIR is not defined 32 | # MP_CPPC_DIR is not defined 33 | # MP_BC_DIR is not defined 34 | MP_AS_DIR="C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx" 35 | MP_LD_DIR="C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx" 36 | MP_AR_DIR="C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx" 37 | # MP_BC_DIR is not defined 38 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/nbproject/Makefile-local-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # 5 | # This file contains information about the location of compilers and other tools. 6 | # If you commmit this file into your revision control server, you will be able to 7 | # to checkout the project and build it from the command line with make. However, 8 | # if more than one person works on the same project, then this file might show 9 | # conflicts since different users are bound to have compilers in different places. 10 | # In that case you might choose to not commit this file and let MPLAB X recreate this file 11 | # for each user. The disadvantage of not commiting this file is that you must run MPLAB X at 12 | # least once so the file gets created and the project can be built. Finally, you can also 13 | # avoid using this file at all if you are only building from the command line with make. 14 | # You can invoke make with the values of the macros: 15 | # $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ... 16 | # 17 | SHELL=cmd.exe 18 | PATH_TO_IDE_BIN=C:/Program Files (x86)/Microchip/MPLABX/v4.10/mplab_ide/platform/../mplab_ide/modules/../../bin/ 19 | # Adding MPLAB X bin directory to path. 20 | PATH:=C:/Program Files (x86)/Microchip/MPLABX/v4.10/mplab_ide/platform/../mplab_ide/modules/../../bin/:$(PATH) 21 | # Path to java used to run MPLAB X when this makefile was created 22 | MP_JAVA_PATH="C:\Program Files (x86)\Microchip\MPLABX\v4.10\sys\java\jre1.8.0_144/bin/" 23 | OS_CURRENT="$(shell uname -s)" 24 | # MP_CC is not defined 25 | # MP_CPPC is not defined 26 | # MP_BC is not defined 27 | MP_AS="C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx\mpasmx.exe" 28 | MP_LD="C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx\mplink.exe" 29 | MP_AR="C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx\mplib.exe" 30 | DEP_GEN=${MP_JAVA_PATH}java -jar "C:/Program Files (x86)/Microchip/MPLABX/v4.10/mplab_ide/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar" 31 | # MP_CC_DIR is not defined 32 | # MP_CPPC_DIR is not defined 33 | # MP_BC_DIR is not defined 34 | MP_AS_DIR="C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx" 35 | MP_LD_DIR="C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx" 36 | MP_AR_DIR="C:\Program Files (x86)\Microchip\MPLABX\v4.10\mpasmx" 37 | # MP_BC_DIR is not defined 38 | -------------------------------------------------------------------------------- /INTERRUPCION_RBI/INTERRUPCION_RBI.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :020000000528D1 3 | :040002000034003492 4 | :080008001528C0202A30442114 5 | :10001000F0200830F4203630442183168617061766 6 | :10002000831288308B00630013289620861F1B20C4 7 | :10003000061F22200900FC203F304421F0204D30D3 8 | :1000400044210800FC205C304421F0206930442128 9 | :1000500008008207503472346534733469346F3465 10 | :100060006E346134203475346E3400345034753459 11 | :100070006C347334613464346F347234003420343B 12 | :1000800020342034533455345334433452344934B7 13 | :100090004234453454344534003420342034203440 14 | :1000A000573445344C345334203454344834453474 15 | :1000B0004F34523459340034203420342034453401 16 | :1000C0005534523445344B344134213421342134B5 17 | :1000D0000034203420342034463455344E344334F4 18 | :1000E00049344F344E344134213421343D34443486 19 | :1000F00000340000000000000000000000000800C4 20 | :100100000000A4308C28000040308C281F308C2840 21 | :1001100000000E308C2805308C008C0B8D280800D8 22 | :10012000C8309F2864309F2832309F2814309F2881 23 | :100130000A309F2805309F2802309F2801308D000B 24 | :10014000F9308C0000008C0BA2288D0BA028080031 25 | :10015000C830B3286430B3283230B3281430B32801 26 | :100160000A30B32805308E0064308D00F9308C00E1 27 | :1001700000008C0BB8288D0BB6288E0BB428080015 28 | :1001800083160510051185108312851005110510C1 29 | :1001900096203030D8209A203030D820832030303C 30 | :1001A000D8202030D820FE20FC20FA20EC200800A7 31 | :1001B000F0398F0006080F398F0483160608910066 32 | :1001C0000F30860583120F0886000515051183166A 33 | :1001D00011088600831208000630FF288030FF28AF 34 | :1001E000C030FF288038FF28C038FF280830FF289B 35 | :1001F0000E30FF280C30FF280130FF282830051072 36 | :10020000032905140B219000D820100ED820051CBE 37 | :100210009C20882008008F00F13C031D1229EE303D 38 | :100220008F001F290F08D13C031D1929EE308F00C4 39 | :100230001F290F08BA3C031D1F29DF308F000F084C 40 | :1002400008001030282901302829023028290330DD 41 | :10025000920020300121920B292908009300F039E7 42 | :10026000031D36292030012138299300130E39212E 43 | :1002700013080F399200093C031C41291208303E33 44 | :1002800043291208373E012994002930940294032F 45 | :100290001408292095009508031951290121940A71 46 | :1002A0004829080094002930940294039601FC2008 47 | :1002B00010301602031D6129902090200F30940207 48 | :1002C0005629140829209500950803196B29012146 49 | :0802D000960A940A582908005F 50 | :02400E00F13F80 51 | :00000001FF 52 | -------------------------------------------------------------------------------- /PROYECTO_1/PROYECTO_1.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :100000008316851505168312F4202E213021E62053 3 | :1000100044303521453035215330352141303521AB 4 | :100020004330352154303521493035215630352182 5 | :1000300041303521CC20073028214C30352141304A 6 | :1000400035215721423035214F3035214D30352172 7 | :100050004230352141303521E420302149303521ED 8 | :100060004E3035214730352152303521453035214C 9 | :100070005330352141303521CC2004302821433004 10 | :1000800035214F3035214D30352142303521493031 11 | :1000900035214E303521413035214330352149302D 12 | :1000A00035214F3035214E303521E420CA208519C5 13 | :1000B0005D28051A6F2860280628051A97288228C7 14 | :1000C0003021423035214F3035214F3035214D30F0 15 | :1000D00035212130352121303521C42056283021C9 16 | :1000E00042303521593035214530352142303521D6 17 | :1000F00059303521453035213A30352129303521E7 18 | :10010000C42056283021433035214F30352152301C 19 | :100110003521523035214530352143303521543099 20 | :1001200035214F30352121303521C420562830214A 21 | :1001300046303521413035214C3035215430352180 22 | :10014000413035214E305721352131303521303085 23 | :10015000352153303521C42056280000000000000E 24 | :1001600000000000000008000000A430C0280000CB 25 | :100170004030C0281F30C02800000E30C028053095 26 | :100180008C008C0BC1280800C830D3286430D328D9 27 | :100190003230D3281430D3280A30D3280530D3285E 28 | :1001A0000230D32801308D00F9308C0000008C0B18 29 | :1001B000D6288D0BD4280800C830E7286430E728FB 30 | :1001C0003230E7281430E7280A30E72805308E005F 31 | :1001D00064308D00F9308C0000008C0BEC288D0B06 32 | :1001E000EA288E0BE82808008316051005118510F3 33 | :1001F0008312851005110510CA2030300C21CE2045 34 | :1002000030300C21B72030300C2120300C2132212D 35 | :1002100030212E2120210800F0398F0006080F39E7 36 | :100220008F048316060891000F30860583120F088D 37 | :100230008600051505118316110886008312080033 38 | :100240000630332980303329C030332980383329B0 39 | :10025000C0383329083033290E3033290C30332984 40 | :100260000130332928300510372905143F2190002B 41 | :100270000C21100E0C21051CD020BC2008008F0082 42 | :10028000F13C031D4629EE308F0053290F08D13C65 43 | :10029000031D4D29EE308F0053290F08BA3C031D72 44 | :1002A0005329DF308F000F08080010305C2901301F 45 | :1002B0005C2902305C290330920020303521920BFA 46 | :1002C0005D2908009300F039031D6A29203035218B 47 | :1002D0006C299300130E6D2113080F399200093C0D 48 | :1002E000031C75291208303E77291208373E35293C 49 | :0402F00000340034A2 50 | :02400E00F13F80 51 | :00000001FF 52 | -------------------------------------------------------------------------------- /INTERRUPCION_EXTERNA/PROGRAMA PRINCIPAL/Interrupcion_Ext.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :020000000528D1 3 | :040002000034003492 4 | :080008001D28B2208316061426 5 | :1000100086108113011383128C0190308B00E02035 6 | :100020005A300C1848304921E2203A3049218220C8 7 | :10003000E2200C18132182200F288D00030E8E0061 8 | :10004000831211088F0012089000882006182F28AC 9 | :100050008C0986182D2886142F2886102F280E0E1E 10 | :1000600083008D0E0D0E0F089100100892008B106A 11 | :100070000900820720342034573465346C347334DB 12 | :1000800020345434683465346F3472347934003435 13 | :1000900020345334753473346334723469346234C5 14 | :1000A0006534743465342134213420343D3444348F 15 | :1000B0002034003420345434753474346F34723442 16 | :1000C000693461346C34203431343234203449346E 17 | :1000D0004E345434003400000000000000000000E2 18 | :1000E000000008000000A4307E28000040307E2878 19 | :1000F0001F307E2800000E307E2805309100910BC5 20 | :100100007F280800C8309128643091283230912827 21 | :10011000143091280A309128053091280230912816 22 | :1001200001309200F93091000000910B9428920B5D 23 | :1001300092280800C830A5286430A5283230A528A8 24 | :100140001430A5280A30A5280530930064309200A9 25 | :10015000F93091000000910BAA28920BA828930B6C 26 | :10016000A628080083160510051185108312851036 27 | :100170000511051088203030CA208C203030CA206C 28 | :1001800075203030CA202030CA20F020EE20EC202C 29 | :10019000DE200800F039940006080F399404831615 30 | :1001A000060896000F308605831214088600051590 31 | :1001B0000511831616088600831208000630F12800 32 | :1001C0008030F128C030F1288038F128C038F1287B 33 | :1001D0000830F1280E30F1280C30F1280130F128D8 34 | :1001E00028300510F5280514FD209500CA20150EAD 35 | :1001F000CA20051C8E207A2008009400F13C031DC3 36 | :100200000429EE30940011291408D13C031D0B2958 37 | :10021000EE30940011291408BA3C031D1129DF3077 38 | :1002200094001408080010301A2901301A290230ED 39 | :100230001A29033097002030F320970B1B29080060 40 | :100240009800F039031D28292030F3202A2998002E 41 | :10025000180E2B2118080F399700093C031C33296D 42 | :100260001708303E35291708373EF32899019A01BF 43 | :100270009B000A301B02031C46299B009A0A0A3085 44 | :100280001A02031C39299A01990A39291A0E1B07E7 45 | :1002900008009C0039309C029C031C0839209D00FA 46 | :1002A0009D0803195629F3209C0A4D2908009C003B 47 | :1002B00039309C029C039E01EE2010301E02031D6B 48 | :1002C0006629822082200F309C025B291C0839207D 49 | :1002D0009D009D0803197029F3209E0A9C0A5D2940 50 | :0202E000080014 51 | :02400E00F13F80 52 | :00000001FF 53 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/dist/default/production/ULTRASONIDO.X.production.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :020000000528D1 3 | :040002000034003492 4 | :080008001D28C8208316851194 5 | :10001000051600308100831285118C018515812021 6 | :100020008511051E1128E3308100A0308B00051AD0 7 | :1000300017288B012620B6200D28E33081000130DF 8 | :100040008C07903003188C000B110900042102303A 9 | :100050000C02031C33280C08903C031837289030FE 10 | :100060008C007130382802308C00613038284C30D8 11 | :100070004C210530FC200C0874211808031D44286D 12 | :100080000C0874213621482841210C0874213D2197 13 | :100090005D304C21080082074C34613420346434D4 14 | :1000A00069347334743461346E3463346934613464 15 | :1000B0002034653473343A340034203463346D347E 16 | :1000C000003452342D346D3469346E34203473343A 17 | :1000D0007534703465347234613464346F343A3456 18 | :1000E000003452342D346D34613478342034733418 19 | :1000F0007534703465347234613464346F343A3436 20 | :1001000000340000000000000000000000000800B3 21 | :100110000000A43094280000403094281F30942818 22 | :1001200000000E30942805308D008D0B95280800B6 23 | :10013000C830A7286430A7283230A7281430A72851 24 | :100140000A30A7280530A7280230A72801308E00E2 25 | :10015000F9308D0000008D0BAA288E0BA82808000E 26 | :10016000C830BB286430BB283230BB281430BB28D1 27 | :100170000A30BB2805308F0064308E00F9308D00C6 28 | :1001800000008D0BC0288E0BBE288F0BBC280800EA 29 | :1001900083160510051185108312851005110510B1 30 | :1001A0009E203030E020A2203030E0208B20303004 31 | :1001B000E0202030E020062104210221F420080064 32 | :1001C000F039900006080F39900483160608920053 33 | :1001D0000F30860583121008860005150511831659 34 | :1001E000120886008312080006300729803007298C 35 | :1001F000C030072980380729C03807290830072967 36 | :100200000E3007290C300729013007292830051046 37 | :100210000B29051413219100E020110EE020051C8C 38 | :10022000A4209020080090003F3C031D1A29EE30C6 39 | :100230009000272910083F3C031D2129EE30900033 40 | :10024000272910083F3C031D2729DF3090001008A4 41 | :1002500008001030302901303029023030290330B5 42 | :10026000930020300921930B312908009400F039C4 43 | :10027000031D3E292030092140299400140E4121FC 44 | :1002800014080F399300093C031C49291308303E18 45 | :100290004B291308373E092995004B3095029503E9 46 | :1002A00015084B2096009608031959290921950A2B 47 | :1002B0005029080095004B309502950397010421C1 48 | :1002C00010301702031D6929982098200F309502DD 49 | :1002D0005E2915084B2096009608031973290921F9 50 | :1002E000970A950A60290800980199019A000A3036 51 | :1002F0001A02031C84299A00990A0A301902031C65 52 | :0E03000077299901980A7729190E1A07080023 53 | :02400E00F13F80 54 | :00000001FF 55 | -------------------------------------------------------------------------------- /LEDS_ON_OFF/Hex/Retardo2.X.production.map: -------------------------------------------------------------------------------- 1 | MPLINK 5.08, LINKER 2 | Linker Map File - Created Fri Jun 23 11:06:29 2017 3 | 4 | Section Info 5 | Section Type Address Location Size(Bytes) 6 | --------- --------- --------- --------- --------- 7 | .org_0 code 0x000000 program 0x000082 8 | .cinit romdata 0x000041 program 0x000004 9 | .config_2007_BUILD/DEFAULT/PRODUCTION/NEWPIC_ code 0x002007 program 0x000002 10 | 11 | 12 | 13 | Program Memory Usage 14 | Start End 15 | --------- --------- 16 | 0x000000 0x000042 17 | 0x002007 0x002007 18 | 68 out of 1094 program addresses used, program memory utilization is 6% 19 | 20 | 21 | 22 | Symbols - Sorted by Name 23 | Name Address Location Storage File 24 | --------- --------- --------- --------- --------- 25 | DEC 0x000039 program static E:\Electronica\ejemplos_creados\Retardo2.X\newpic_8b_general.asm 26 | DEC1 0x00003c program static E:\Electronica\ejemplos_creados\Retardo2.X\newpic_8b_general.asm 27 | DEC3 0x00003e program static E:\Electronica\ejemplos_creados\Retardo2.X\newpic_8b_general.asm 28 | INICIO 0x000003 program static E:\Electronica\ejemplos_creados\Retardo2.X\newpic_8b_general.asm 29 | RETARDO 0x000037 program static E:\Electronica\ejemplos_creados\Retardo2.X\newpic_8b_general.asm 30 | 31 | 32 | 33 | Symbols - Sorted by Address 34 | Name Address Location Storage File 35 | --------- --------- --------- --------- --------- 36 | INICIO 0x000003 program static E:\Electronica\ejemplos_creados\Retardo2.X\newpic_8b_general.asm 37 | RETARDO 0x000037 program static E:\Electronica\ejemplos_creados\Retardo2.X\newpic_8b_general.asm 38 | DEC 0x000039 program static E:\Electronica\ejemplos_creados\Retardo2.X\newpic_8b_general.asm 39 | DEC1 0x00003c program static E:\Electronica\ejemplos_creados\Retardo2.X\newpic_8b_general.asm 40 | DEC3 0x00003e program static E:\Electronica\ejemplos_creados\Retardo2.X\newpic_8b_general.asm 41 | 42 | 43 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/BIN_BCD.inc: -------------------------------------------------------------------------------- 1 | ;******************************** Librer?a "BIN_BCD.INC" ******************************** 2 | ; 3 | ; =================================================================== 4 | ; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" 5 | ; E. Palacios, F. Remiro y L. L?pez. 6 | ; Editorial Ra-Ma. www.ra-ma.es 7 | ; =================================================================== 8 | ; 9 | ; Un n?mero binario natural de 8 bits es convertido a BCD. El resultado se guarda en tres 10 | ; posiciones de memorias llamadas: BCD_Centenas, BCD_Decenas y BCD_Unidades. 11 | ; 12 | ; El procedimiento utilizado es mediante restas de 10, tal como se explic? en el cap?tulo 9. 13 | ; 14 | ; Entrada: En el registro W el n?mero binario natural a convertir. 15 | ; Salidas: En (BCD_Centenas), (BCD_Decenas) y (BCD_Unidades). 16 | ; En el registro W tambi?n las decenas (nibble alto) y unidades (nibble bajo). 17 | 18 | ; Subrutina "BIN_a_BCD" ----------------------------------------------------------------- 19 | 20 | CBLOCK ; En las subrutinas no se debe fijar la direcci?n 21 | BCD_Centenas ; de la RAM de usuario. Se toma a continuaci?n de 22 | BCD_Decenas ; la ?ltima asignada. 23 | BCD_Unidades 24 | ENDC 25 | ; 26 | BIN_a_BCD 27 | clrf BCD_Centenas ; Carga los registros con el resultado inicial. 28 | clrf BCD_Decenas ; En principio las centenas y decenas a cero. 29 | movwf BCD_Unidades ; Se carga el n?mero binario a convertir. 30 | BCD_Resta10 31 | movlw .10 ; A las unidades se les va restando 10 en cada 32 | subwf BCD_Unidades,W ; pasada. (W)=(BCD_Unidades) -10. 33 | btfss STATUS,C ; ?C = 1?, ?(W) positivo?, ?(BCD_Unidades)>=10? 34 | goto BIN_BCD_Fin ; No, es menor de 10. Se acab?. 35 | BCD_IncrementaDecenas 36 | movwf BCD_Unidades ; Recupera lo que queda por restar. 37 | incf BCD_Decenas,F ; Incrementa las decenas y comprueba si ha llegado 38 | movlw .10 ; a 10. Lo hace mediante una resta. 39 | subwf BCD_Decenas,W ; (W)=(BCD_Decenas)-10). 40 | btfss STATUS,C ; ?C = 1?, ?(W) positivo?, ?(BCD_Decenas)>=10? 41 | goto BCD_Resta10 ; No. Vuelve a dar otra pasada, rest?ndole 10 a 42 | BCD_IncrementaCentenas ; las unidades. 43 | clrf BCD_Decenas ; Pone a cero las decenas 44 | incf BCD_Centenas,F ; e incrementa las centenas. 45 | goto BCD_Resta10 ; Otra pasada: Resta 10 al n?mero a convertir. 46 | BIN_BCD_Fin 47 | swapf BCD_Decenas,W ; En el nibble alto de (W) tambi?n las decenas. 48 | addwf BCD_Unidades,W ; En el nibble bajo de (W) las unidades. 49 | return ; Vuelve al programa principal. 50 | 51 | ; La directiva "END" se debe poner en el programa principal no aqu?. 52 | 53 | ; =================================================================== 54 | ; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" 55 | ; E. Palacios, F. Remiro y L. L?pez. 56 | ; Editorial Ra-Ma. www.ra-ma.es 57 | ; =================================================================== 58 | 59 | 60 | -------------------------------------------------------------------------------- /MOTOR_DC.X/Pic16f84a-motor DC.pdsprj.DESKTOP-ODV7QT7.Wels.workspace: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2c0000000200000003000000ffffffffffffffffffffffffffffffff8300000009000000d3040000cf020000 5 | 6 | 7 | 8 | 9 | 10 | 11 | 663 12 | No 13 | 100 14 | 100 15 | 16 | 17 | 18 | 19 | No 20 | Yes 21 | Yes 22 | No 23 | No 24 | Yes 25 | 0 26 | 100 27 | 0 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 2 36 | Yes 37 | 2 38 | Yes 39 | Yes 40 | 00000000 41 | 42 | 43 | 44 | 45 | 2 46 | Yes 47 | 2 48 | Yes 49 | Yes 50 | 00000000 51 | 52 | 53 | 54 | 55 | 2 56 | Yes 57 | 2 58 | Yes 59 | Yes 60 | 00000000 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 2 69 | Yes 70 | 2 71 | Yes 72 | Yes 73 | 00000000 74 | 75 | 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /DISPLAY/DISPLAY.pdsprj.DESKTOP-L13E3AO.WELS.workspace: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2c00000002000000030000000083ffff0083ffffffffffffffffffff8300000009000000d3040000cf020000 5 | 6 | 7 | 8 | 9 | 10 | 11 | 663 12 | No 13 | 100 14 | 100 15 | 16 | 17 | 18 | 19 | 83 20 | No 21 | Yes 22 | 83 23 | Yes 24 | No 25 | No 26 | Yes 27 | 0 28 | 83 29 | 100 30 | 83 31 | 0 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 2 40 | Yes 41 | 2 42 | Yes 43 | Yes 44 | 00000000 45 | 46 | 47 | 48 | 49 | 2 50 | Yes 51 | 2 52 | Yes 53 | Yes 54 | 00000000 55 | 56 | 57 | 58 | 59 | 2 60 | Yes 61 | 2 62 | Yes 63 | Yes 64 | 00000000 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 2 73 | Yes 74 | 2 75 | Yes 76 | Yes 77 | 00000000 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /COMPARADOR/COMPARADOR.pdsprj.DESKTOP-L13E3AO.WELS.workspace: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2c0000000200000003000000ffffffffffffffffffffffffffffffff8300000009000000d3040000cf020000 5 | 6 | 7 | 8 | 9 | 10 | 11 | 663 12 | No 13 | 100 14 | 100 15 | 16 | 17 | 18 | 19 | 83 20 | No 21 | Yes 22 | 83 23 | Yes 24 | No 25 | No 26 | Yes 27 | 0 28 | 83 29 | 100 30 | 83 31 | 0 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 2 40 | Yes 41 | 2 42 | Yes 43 | Yes 44 | 00000000 45 | 46 | 47 | 48 | 49 | 2 50 | Yes 51 | 2 52 | Yes 53 | Yes 54 | 00000000 55 | 56 | 57 | 58 | 59 | 2 60 | Yes 61 | 2 62 | Yes 63 | Yes 64 | 00000000 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 2 73 | Yes 74 | 2 75 | Yes 76 | Yes 77 | 00000000 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /MOTOR_DC.X/nbproject/configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 11 | 12 | 15 | Programa_principal.asm 16 | 17 | 20 | Makefile 21 | 22 | 23 | Makefile 24 | 25 | 26 | 27 | localhost 28 | PIC16F84A 29 | 30 | 31 | PICkit3PlatformTool 32 | MPASMWIN 33 | 5.77 34 | 3 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | false 45 | false 46 | 47 | 48 | 49 | 50 | 51 | 52 | false 53 | 54 | false 55 | 56 | false 57 | false 58 | false 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/nbproject/configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 11 | 12 | 15 | BIN_BCD.inc 16 | LCD_Mensaje.inc 17 | RETARDOS.inc 18 | LCD.inc 19 | Programa_principal.asm 20 | 21 | 24 | Makefile 25 | 26 | 27 | Makefile 28 | 29 | 30 | 31 | localhost 32 | PIC16F84A 33 | 34 | 35 | PICkit3PlatformTool 36 | MPASMWIN 37 | 5.77 38 | 3 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | false 49 | false 50 | 51 | 52 | 53 | 54 | 55 | 56 | false 57 | 58 | false 59 | 60 | false 61 | false 62 | false 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /MOTOR_DC.X/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # There exist several targets which are by default empty and which can be 3 | # used for execution of your targets. These targets are usually executed 4 | # before and after some main targets. They are: 5 | # 6 | # .build-pre: called before 'build' target 7 | # .build-post: called after 'build' target 8 | # .clean-pre: called before 'clean' target 9 | # .clean-post: called after 'clean' target 10 | # .clobber-pre: called before 'clobber' target 11 | # .clobber-post: called after 'clobber' target 12 | # .all-pre: called before 'all' target 13 | # .all-post: called after 'all' target 14 | # .help-pre: called before 'help' target 15 | # .help-post: called after 'help' target 16 | # 17 | # Targets beginning with '.' are not intended to be called on their own. 18 | # 19 | # Main targets can be executed directly, and they are: 20 | # 21 | # build build a specific configuration 22 | # clean remove built files from a configuration 23 | # clobber remove all built files 24 | # all build all configurations 25 | # help print help mesage 26 | # 27 | # Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and 28 | # .help-impl are implemented in nbproject/makefile-impl.mk. 29 | # 30 | # Available make variables: 31 | # 32 | # CND_BASEDIR base directory for relative paths 33 | # CND_DISTDIR default top distribution directory (build artifacts) 34 | # CND_BUILDDIR default top build directory (object files, ...) 35 | # CONF name of current configuration 36 | # CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration) 37 | # CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration) 38 | # CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration) 39 | # CND_PACKAGE_DIR_${CONF} directory of package (current configuration) 40 | # CND_PACKAGE_NAME_${CONF} name of package (current configuration) 41 | # CND_PACKAGE_PATH_${CONF} path to package (current configuration) 42 | # 43 | # NOCDDL 44 | 45 | 46 | # Environment 47 | MKDIR=mkdir 48 | CP=cp 49 | CCADMIN=CCadmin 50 | RANLIB=ranlib 51 | 52 | 53 | # build 54 | build: .build-post 55 | 56 | .build-pre: 57 | # Add your pre 'build' code here... 58 | 59 | .build-post: .build-impl 60 | # Add your post 'build' code here... 61 | 62 | 63 | # clean 64 | clean: .clean-post 65 | 66 | .clean-pre: 67 | # Add your pre 'clean' code here... 68 | # WARNING: the IDE does not call this target since it takes a long time to 69 | # simply run make. Instead, the IDE removes the configuration directories 70 | # under build and dist directly without calling make. 71 | # This target is left here so people can do a clean when running a clean 72 | # outside the IDE. 73 | 74 | .clean-post: .clean-impl 75 | # Add your post 'clean' code here... 76 | 77 | 78 | # clobber 79 | clobber: .clobber-post 80 | 81 | .clobber-pre: 82 | # Add your pre 'clobber' code here... 83 | 84 | .clobber-post: .clobber-impl 85 | # Add your post 'clobber' code here... 86 | 87 | 88 | # all 89 | all: .all-post 90 | 91 | .all-pre: 92 | # Add your pre 'all' code here... 93 | 94 | .all-post: .all-impl 95 | # Add your post 'all' code here... 96 | 97 | 98 | # help 99 | help: .help-post 100 | 101 | .help-pre: 102 | # Add your pre 'help' code here... 103 | 104 | .help-post: .help-impl 105 | # Add your post 'help' code here... 106 | 107 | 108 | 109 | # include project implementation makefile 110 | include nbproject/Makefile-impl.mk 111 | 112 | # include project make variables 113 | include nbproject/Makefile-variables.mk 114 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # There exist several targets which are by default empty and which can be 3 | # used for execution of your targets. These targets are usually executed 4 | # before and after some main targets. They are: 5 | # 6 | # .build-pre: called before 'build' target 7 | # .build-post: called after 'build' target 8 | # .clean-pre: called before 'clean' target 9 | # .clean-post: called after 'clean' target 10 | # .clobber-pre: called before 'clobber' target 11 | # .clobber-post: called after 'clobber' target 12 | # .all-pre: called before 'all' target 13 | # .all-post: called after 'all' target 14 | # .help-pre: called before 'help' target 15 | # .help-post: called after 'help' target 16 | # 17 | # Targets beginning with '.' are not intended to be called on their own. 18 | # 19 | # Main targets can be executed directly, and they are: 20 | # 21 | # build build a specific configuration 22 | # clean remove built files from a configuration 23 | # clobber remove all built files 24 | # all build all configurations 25 | # help print help mesage 26 | # 27 | # Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and 28 | # .help-impl are implemented in nbproject/makefile-impl.mk. 29 | # 30 | # Available make variables: 31 | # 32 | # CND_BASEDIR base directory for relative paths 33 | # CND_DISTDIR default top distribution directory (build artifacts) 34 | # CND_BUILDDIR default top build directory (object files, ...) 35 | # CONF name of current configuration 36 | # CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration) 37 | # CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration) 38 | # CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration) 39 | # CND_PACKAGE_DIR_${CONF} directory of package (current configuration) 40 | # CND_PACKAGE_NAME_${CONF} name of package (current configuration) 41 | # CND_PACKAGE_PATH_${CONF} path to package (current configuration) 42 | # 43 | # NOCDDL 44 | 45 | 46 | # Environment 47 | MKDIR=mkdir 48 | CP=cp 49 | CCADMIN=CCadmin 50 | RANLIB=ranlib 51 | 52 | 53 | # build 54 | build: .build-post 55 | 56 | .build-pre: 57 | # Add your pre 'build' code here... 58 | 59 | .build-post: .build-impl 60 | # Add your post 'build' code here... 61 | 62 | 63 | # clean 64 | clean: .clean-post 65 | 66 | .clean-pre: 67 | # Add your pre 'clean' code here... 68 | # WARNING: the IDE does not call this target since it takes a long time to 69 | # simply run make. Instead, the IDE removes the configuration directories 70 | # under build and dist directly without calling make. 71 | # This target is left here so people can do a clean when running a clean 72 | # outside the IDE. 73 | 74 | .clean-post: .clean-impl 75 | # Add your post 'clean' code here... 76 | 77 | 78 | # clobber 79 | clobber: .clobber-post 80 | 81 | .clobber-pre: 82 | # Add your pre 'clobber' code here... 83 | 84 | .clobber-post: .clobber-impl 85 | # Add your post 'clobber' code here... 86 | 87 | 88 | # all 89 | all: .all-post 90 | 91 | .all-pre: 92 | # Add your pre 'all' code here... 93 | 94 | .all-post: .all-impl 95 | # Add your post 'all' code here... 96 | 97 | 98 | # help 99 | help: .help-post 100 | 101 | .help-pre: 102 | # Add your pre 'help' code here... 103 | 104 | .help-post: .help-impl 105 | # Add your post 'help' code here... 106 | 107 | 108 | 109 | # include project implementation makefile 110 | include nbproject/Makefile-impl.mk 111 | 112 | # include project make variables 113 | include nbproject/Makefile-variables.mk 114 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/LCD_Mensaje.inc: -------------------------------------------------------------------------------- 1 | ;**************************** Librer?a "LCD_MENS.INC" ******************************** 2 | ; 3 | ; =================================================================== 4 | ; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" 5 | ; E. Palacios, F. Remiro y L. L?pez. 6 | ; Editorial Ra-Ma. www.ra-ma.es 7 | ; =================================================================== 8 | ; 9 | ; Librer?a de subrutinas para el manejo de mensajes a visualizar en un visualizador LCD. 10 | 11 | CBLOCK 12 | LCD_ApuntaCaracter ; Indica la posici?n del car?cter a visualizar 13 | ; respecto del comienzo de todos los mensajes, 14 | ; (posici?n de la etiqueta "Mensajes"). 15 | LCD_ValorCaracter ; C?digo ASCII del car?cter a 16 | ENDC ; visualizar. 17 | 18 | ; Los mensajes tienen que estar situados dentro de las 256 primeras posiciones de la 19 | ; memoria de programa, es decir, no pueden superar la direcci?n 0FFh. 20 | 21 | ; Subrutina "LCD_Mensaje" --------------------------------------------------------------- 22 | ; 23 | ; Visualiza por pantalla el mensaje apuntado por el registro W. 24 | ; 25 | ; Los mensajes deben localizarse dentro de una zona encabezada por la etiqueta "Mensajes" y que 26 | ; tenga la siguiente estructura: 27 | ; 28 | ; Mensajes ; ?Etiqueta obligatoria! 29 | ; addwf PCL,F 30 | ; Mensaje0 ; Posici?n inicial del mensaje. 31 | ; DT ".. ..", 0x00 ; Mensaje terminado en 0x00. 32 | ; Mensaje1 33 | ; ... 34 | ; ... 35 | ; FinMensajes 36 | ; 37 | ; La llamada a esta subrutina se realizar? siguiendo este ejemplo: 38 | ; 39 | ; movlw Mensaje0 ; Carga la posici?n del mensaje. 40 | ; call LCD_Mensaje ; Visualiza el mensaje. 41 | ; 42 | LCD_Mensaje 43 | movwf LCD_ApuntaCaracter ; Posici?n del primer car?cter del mensaje. 44 | movlw Mensajes ; Halla la posici?n relativa del primer car?cter 45 | subwf LCD_ApuntaCaracter,F ; del mensaje respecto de etiqueta "Mensajes". 46 | decf LCD_ApuntaCaracter,F ; Compensa la posici?n que ocupa "addwf PCL,F". 47 | LCD_VisualizaOtroCaracter 48 | movf LCD_ApuntaCaracter,W 49 | call Mensajes ; Obtiene el c?digo ASCII del car?cter apuntado. 50 | movwf LCD_ValorCaracter ; Guarda el valor de car?cter. 51 | movf LCD_ValorCaracter,F ; Lo ?nico que hace es posicionar flag Z. En caso 52 | btfsc STATUS,Z ; que sea "0x00", que es c?digo indicador final 53 | goto LCD_FinMensaje ; de mensaje, sale fuera. 54 | LCD_NoUltimoCaracter 55 | call LCD_Caracter ; Visualiza el car?cter ASCII le?do. 56 | incf LCD_ApuntaCaracter,F ; Apunta a la posici?n del siguiente car?cter 57 | goto LCD_VisualizaOtroCaracter ; dentro del mensaje. 58 | LCD_FinMensaje 59 | return ; Vuelve al programa principal. 60 | 61 | ; Subrutina "LCD_MensajeMovimiento" ----------------------------------------------------- 62 | ; 63 | ; Visualiza un mensaje de mayor longitud que los 16 caracteres que pueden representarse 64 | ; en una l?nea, por tanto se desplaza a trav?s de la pantalla. 65 | ; 66 | ; En el mensaje debe dejarse 16 espacios en blanco, al principio y al final para 67 | ; conseguir que el desplazamiento del mensaje sea lo m?s legible posible. 68 | ; 69 | CBLOCK 70 | LCD_CursorPosicion ; Contabiliza la posici?n del cursor dentro de la 71 | ENDC ; pantalla LCD 72 | 73 | LCD_MensajeMovimiento 74 | movwf LCD_ApuntaCaracter ; Posici?n del primer car?cter del mensaje. 75 | movlw Mensajes ; Halla la posici?n relativa del primer car?cter 76 | subwf LCD_ApuntaCaracter,F ; del mensaje respecto de la etiqueta "Mensajes". 77 | decf LCD_ApuntaCaracter,F ; Compensa la posici?n que ocupa "addwf PCL,F". 78 | LCD_PrimeraPosicion 79 | clrf LCD_CursorPosicion ; El cursor en la posici?n 0 de la l?nea. 80 | call LCD_Borra ; Se sit?a en la primera posici?n de la l?nea 1 y 81 | LCD_VisualizaCaracter ; borra la pantalla. 82 | movlw LCD_CaracteresPorLinea ; ?Ha llegado a final de l?nea? 83 | subwf LCD_CursorPosicion,W 84 | btfss STATUS,Z 85 | goto LCD_NoEsFinalLinea 86 | LCD_EsFinalLinea 87 | call Retardo_200ms ; Lo mantiene visualizado durante este tiempo. 88 | call Retardo_200ms 89 | movlw LCD_CaracteresPorLinea-1; Apunta a la posici?n del segundo car?cter visualizado 90 | subwf LCD_ApuntaCaracter,F ; en pantalla, que ser? el primero en la siguiente 91 | goto LCD_PrimeraPosicion ; visualizaci?n de l?nea, para producir el efecto 92 | LCD_NoEsFinalLinea ; de desplazamiento hacia la izquierda. 93 | movf LCD_ApuntaCaracter,W 94 | call Mensajes ; Obtiene el ASCII del car?cter apuntado. 95 | movwf LCD_ValorCaracter ; Guarda el valor de car?cter. 96 | movf LCD_ValorCaracter,F ; Lo ?nico que hace es posicionar flag Z. En caso 97 | btfsc STATUS,Z ; que sea "0x00", que es c?digo indicador final 98 | goto LCD_FinMovimiento ; de mensaje, sale fuera. 99 | LCD_NoUltimoCaracter2 100 | call LCD_Caracter ; Visualiza el car?cter ASCII le?do. 101 | incf LCD_CursorPosicion,F ; Contabiliza el incremento de posici?n del 102 | ; cursor en la pantalla. 103 | incf LCD_ApuntaCaracter,F ; Apunta a la siguiente posici?n por visualizar. 104 | goto LCD_VisualizaCaracter ; Vuelve a visualizar el siguiente car?cter 105 | LCD_FinMovimiento ; de la l?nea. 106 | return ; Vuelve al programa principal. 107 | 108 | ; =================================================================== 109 | ; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" 110 | ; E. Palacios, F. Remiro y L. L?pez. 111 | ; Editorial Ra-Ma. www.ra-ma.es 112 | ; =================================================================== 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /MOTOR_DC.X/nbproject/Makefile-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a -pre and a -post target defined where you can add customized code. 6 | # 7 | # This makefile implements configuration specific macros and targets. 8 | 9 | 10 | # Include project Makefile 11 | ifeq "${IGNORE_LOCAL}" "TRUE" 12 | # do not include local makefile. User is passing all local related variables already 13 | else 14 | include Makefile 15 | # Include makefile containing local settings 16 | ifeq "$(wildcard nbproject/Makefile-local-default.mk)" "nbproject/Makefile-local-default.mk" 17 | include nbproject/Makefile-local-default.mk 18 | endif 19 | endif 20 | 21 | # Environment 22 | MKDIR=gnumkdir -p 23 | RM=rm -f 24 | MV=mv 25 | CP=cp 26 | 27 | # Macros 28 | CND_CONF=default 29 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 30 | IMAGE_TYPE=debug 31 | OUTPUT_SUFFIX=cof 32 | DEBUGGABLE_SUFFIX=cof 33 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/MOTOR_DC.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 34 | else 35 | IMAGE_TYPE=production 36 | OUTPUT_SUFFIX=hex 37 | DEBUGGABLE_SUFFIX=cof 38 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/MOTOR_DC.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 39 | endif 40 | 41 | ifeq ($(COMPARE_BUILD), true) 42 | COMPARISON_BUILD= 43 | else 44 | COMPARISON_BUILD= 45 | endif 46 | 47 | ifdef SUB_IMAGE_ADDRESS 48 | 49 | else 50 | SUB_IMAGE_ADDRESS_COMMAND= 51 | endif 52 | 53 | # Object Directory 54 | OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE} 55 | 56 | # Distribution Directory 57 | DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} 58 | 59 | # Source Files Quoted if spaced 60 | SOURCEFILES_QUOTED_IF_SPACED=Programa_principal.asm 61 | 62 | # Object Files Quoted if spaced 63 | OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/Programa_principal.o 64 | POSSIBLE_DEPFILES=${OBJECTDIR}/Programa_principal.o.d 65 | 66 | # Object Files 67 | OBJECTFILES=${OBJECTDIR}/Programa_principal.o 68 | 69 | # Source Files 70 | SOURCEFILES=Programa_principal.asm 71 | 72 | 73 | CFLAGS= 74 | ASFLAGS= 75 | LDLIBSOPTIONS= 76 | 77 | ############# Tool locations ########################################## 78 | # If you copy a project from one host to another, the path where the # 79 | # compiler is installed may be different. # 80 | # If you open this project with MPLAB X in the new host, this # 81 | # makefile will be regenerated and the paths will be corrected. # 82 | ####################################################################### 83 | # fixDeps replaces a bunch of sed/cat/printf statements that slow down the build 84 | FIXDEPS=fixDeps 85 | 86 | .build-conf: ${BUILD_SUBPROJECTS} 87 | ifneq ($(INFORMATION_MESSAGE), ) 88 | @echo $(INFORMATION_MESSAGE) 89 | endif 90 | ${MAKE} -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/MOTOR_DC.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 91 | 92 | MP_PROCESSOR_OPTION=16f84a 93 | MP_LINKER_DEBUG_OPTION= 94 | # ------------------------------------------------------------------------------------ 95 | # Rules for buildStep: assemble 96 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 97 | ${OBJECTDIR}/Programa_principal.o: Programa_principal.asm nbproject/Makefile-${CND_CONF}.mk 98 | @${MKDIR} "${OBJECTDIR}" 99 | @${RM} ${OBJECTDIR}/Programa_principal.o.d 100 | @${RM} ${OBJECTDIR}/Programa_principal.o 101 | @${FIXDEPS} dummy.d -e "${OBJECTDIR}/Programa_principal.err" $(SILENT) -c ${MP_AS} $(MP_EXTRA_AS_PRE) -d__DEBUG -d__MPLAB_DEBUGGER_PK3=1 -q -p$(MP_PROCESSOR_OPTION) -l\"${OBJECTDIR}/Programa_principal.lst\" -e\"${OBJECTDIR}/Programa_principal.err\" $(ASM_OPTIONS) -o\"${OBJECTDIR}/Programa_principal.o\" \"Programa_principal.asm\" 102 | @${DEP_GEN} -d "${OBJECTDIR}/Programa_principal.o" 103 | @${FIXDEPS} "${OBJECTDIR}/Programa_principal.o.d" $(SILENT) -rsi ${MP_AS_DIR} -c18 104 | 105 | else 106 | ${OBJECTDIR}/Programa_principal.o: Programa_principal.asm nbproject/Makefile-${CND_CONF}.mk 107 | @${MKDIR} "${OBJECTDIR}" 108 | @${RM} ${OBJECTDIR}/Programa_principal.o.d 109 | @${RM} ${OBJECTDIR}/Programa_principal.o 110 | @${FIXDEPS} dummy.d -e "${OBJECTDIR}/Programa_principal.err" $(SILENT) -c ${MP_AS} $(MP_EXTRA_AS_PRE) -q -p$(MP_PROCESSOR_OPTION) -l\"${OBJECTDIR}/Programa_principal.lst\" -e\"${OBJECTDIR}/Programa_principal.err\" $(ASM_OPTIONS) -o\"${OBJECTDIR}/Programa_principal.o\" \"Programa_principal.asm\" 111 | @${DEP_GEN} -d "${OBJECTDIR}/Programa_principal.o" 112 | @${FIXDEPS} "${OBJECTDIR}/Programa_principal.o.d" $(SILENT) -rsi ${MP_AS_DIR} -c18 113 | 114 | endif 115 | 116 | # ------------------------------------------------------------------------------------ 117 | # Rules for buildStep: link 118 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 119 | dist/${CND_CONF}/${IMAGE_TYPE}/MOTOR_DC.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 120 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 121 | ${MP_LD} $(MP_EXTRA_LD_PRE) -p$(MP_PROCESSOR_OPTION) -w -x -u_DEBUG -z__ICD2RAM=1 -m"${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map" -z__MPLAB_BUILD=1 -z__MPLAB_DEBUG=1 -z__MPLAB_DEBUGGER_PK3=1 $(MP_LINKER_DEBUG_OPTION) -odist/${CND_CONF}/${IMAGE_TYPE}/MOTOR_DC.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} 122 | else 123 | dist/${CND_CONF}/${IMAGE_TYPE}/MOTOR_DC.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 124 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 125 | ${MP_LD} $(MP_EXTRA_LD_PRE) -p$(MP_PROCESSOR_OPTION) -w -m"${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map" -z__MPLAB_BUILD=1 -odist/${CND_CONF}/${IMAGE_TYPE}/MOTOR_DC.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} 126 | endif 127 | 128 | 129 | # Subprojects 130 | .build-subprojects: 131 | 132 | 133 | # Subprojects 134 | .clean-subprojects: 135 | 136 | # Clean Targets 137 | .clean-conf: ${CLEAN_SUBPROJECTS} 138 | ${RM} -r build/default 139 | ${RM} -r dist/default 140 | 141 | # Enable dependency checking 142 | .dep.inc: .depcheck-impl 143 | 144 | DEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES}) 145 | ifneq (${DEPFILES},) 146 | include ${DEPFILES} 147 | endif 148 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/nbproject/Makefile-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a -pre and a -post target defined where you can add customized code. 6 | # 7 | # This makefile implements configuration specific macros and targets. 8 | 9 | 10 | # Include project Makefile 11 | ifeq "${IGNORE_LOCAL}" "TRUE" 12 | # do not include local makefile. User is passing all local related variables already 13 | else 14 | include Makefile 15 | # Include makefile containing local settings 16 | ifeq "$(wildcard nbproject/Makefile-local-default.mk)" "nbproject/Makefile-local-default.mk" 17 | include nbproject/Makefile-local-default.mk 18 | endif 19 | endif 20 | 21 | # Environment 22 | MKDIR=gnumkdir -p 23 | RM=rm -f 24 | MV=mv 25 | CP=cp 26 | 27 | # Macros 28 | CND_CONF=default 29 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 30 | IMAGE_TYPE=debug 31 | OUTPUT_SUFFIX=cof 32 | DEBUGGABLE_SUFFIX=cof 33 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/ULTRASONIDO.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 34 | else 35 | IMAGE_TYPE=production 36 | OUTPUT_SUFFIX=hex 37 | DEBUGGABLE_SUFFIX=cof 38 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/ULTRASONIDO.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 39 | endif 40 | 41 | ifeq ($(COMPARE_BUILD), true) 42 | COMPARISON_BUILD= 43 | else 44 | COMPARISON_BUILD= 45 | endif 46 | 47 | ifdef SUB_IMAGE_ADDRESS 48 | 49 | else 50 | SUB_IMAGE_ADDRESS_COMMAND= 51 | endif 52 | 53 | # Object Directory 54 | OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE} 55 | 56 | # Distribution Directory 57 | DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} 58 | 59 | # Source Files Quoted if spaced 60 | SOURCEFILES_QUOTED_IF_SPACED=Programa_principal.asm 61 | 62 | # Object Files Quoted if spaced 63 | OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/Programa_principal.o 64 | POSSIBLE_DEPFILES=${OBJECTDIR}/Programa_principal.o.d 65 | 66 | # Object Files 67 | OBJECTFILES=${OBJECTDIR}/Programa_principal.o 68 | 69 | # Source Files 70 | SOURCEFILES=Programa_principal.asm 71 | 72 | 73 | CFLAGS= 74 | ASFLAGS= 75 | LDLIBSOPTIONS= 76 | 77 | ############# Tool locations ########################################## 78 | # If you copy a project from one host to another, the path where the # 79 | # compiler is installed may be different. # 80 | # If you open this project with MPLAB X in the new host, this # 81 | # makefile will be regenerated and the paths will be corrected. # 82 | ####################################################################### 83 | # fixDeps replaces a bunch of sed/cat/printf statements that slow down the build 84 | FIXDEPS=fixDeps 85 | 86 | .build-conf: ${BUILD_SUBPROJECTS} 87 | ifneq ($(INFORMATION_MESSAGE), ) 88 | @echo $(INFORMATION_MESSAGE) 89 | endif 90 | ${MAKE} -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/ULTRASONIDO.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 91 | 92 | MP_PROCESSOR_OPTION=16f84a 93 | MP_LINKER_DEBUG_OPTION= 94 | # ------------------------------------------------------------------------------------ 95 | # Rules for buildStep: assemble 96 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 97 | ${OBJECTDIR}/Programa_principal.o: Programa_principal.asm nbproject/Makefile-${CND_CONF}.mk 98 | @${MKDIR} "${OBJECTDIR}" 99 | @${RM} ${OBJECTDIR}/Programa_principal.o.d 100 | @${RM} ${OBJECTDIR}/Programa_principal.o 101 | @${FIXDEPS} dummy.d -e "${OBJECTDIR}/Programa_principal.err" $(SILENT) -c ${MP_AS} $(MP_EXTRA_AS_PRE) -d__DEBUG -d__MPLAB_DEBUGGER_PK3=1 -q -p$(MP_PROCESSOR_OPTION) -l\"${OBJECTDIR}/Programa_principal.lst\" -e\"${OBJECTDIR}/Programa_principal.err\" $(ASM_OPTIONS) -o\"${OBJECTDIR}/Programa_principal.o\" \"Programa_principal.asm\" 102 | @${DEP_GEN} -d "${OBJECTDIR}/Programa_principal.o" 103 | @${FIXDEPS} "${OBJECTDIR}/Programa_principal.o.d" $(SILENT) -rsi ${MP_AS_DIR} -c18 104 | 105 | else 106 | ${OBJECTDIR}/Programa_principal.o: Programa_principal.asm nbproject/Makefile-${CND_CONF}.mk 107 | @${MKDIR} "${OBJECTDIR}" 108 | @${RM} ${OBJECTDIR}/Programa_principal.o.d 109 | @${RM} ${OBJECTDIR}/Programa_principal.o 110 | @${FIXDEPS} dummy.d -e "${OBJECTDIR}/Programa_principal.err" $(SILENT) -c ${MP_AS} $(MP_EXTRA_AS_PRE) -q -p$(MP_PROCESSOR_OPTION) -l\"${OBJECTDIR}/Programa_principal.lst\" -e\"${OBJECTDIR}/Programa_principal.err\" $(ASM_OPTIONS) -o\"${OBJECTDIR}/Programa_principal.o\" \"Programa_principal.asm\" 111 | @${DEP_GEN} -d "${OBJECTDIR}/Programa_principal.o" 112 | @${FIXDEPS} "${OBJECTDIR}/Programa_principal.o.d" $(SILENT) -rsi ${MP_AS_DIR} -c18 113 | 114 | endif 115 | 116 | # ------------------------------------------------------------------------------------ 117 | # Rules for buildStep: link 118 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 119 | dist/${CND_CONF}/${IMAGE_TYPE}/ULTRASONIDO.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 120 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 121 | ${MP_LD} $(MP_EXTRA_LD_PRE) -p$(MP_PROCESSOR_OPTION) -w -x -u_DEBUG -z__ICD2RAM=1 -m"${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map" -z__MPLAB_BUILD=1 -z__MPLAB_DEBUG=1 -z__MPLAB_DEBUGGER_PK3=1 $(MP_LINKER_DEBUG_OPTION) -odist/${CND_CONF}/${IMAGE_TYPE}/ULTRASONIDO.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} 122 | else 123 | dist/${CND_CONF}/${IMAGE_TYPE}/ULTRASONIDO.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 124 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 125 | ${MP_LD} $(MP_EXTRA_LD_PRE) -p$(MP_PROCESSOR_OPTION) -w -m"${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map" -z__MPLAB_BUILD=1 -odist/${CND_CONF}/${IMAGE_TYPE}/ULTRASONIDO.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} 126 | endif 127 | 128 | 129 | # Subprojects 130 | .build-subprojects: 131 | 132 | 133 | # Subprojects 134 | .clean-subprojects: 135 | 136 | # Clean Targets 137 | .clean-conf: ${CLEAN_SUBPROJECTS} 138 | ${RM} -r build/default 139 | ${RM} -r dist/default 140 | 141 | # Enable dependency checking 142 | .dep.inc: .depcheck-impl 143 | 144 | DEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES}) 145 | ifneq (${DEPFILES},) 146 | include ${DEPFILES} 147 | endif 148 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/RETARDOS.inc: -------------------------------------------------------------------------------- 1 | ;**************************** Librer?a "RETARDOS.INC" ********************************* 2 | ; 3 | ; =================================================================== 4 | ; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" 5 | ; E. Palacios, F. Remiro y L. L?pez. 6 | ; Editorial Ra-Ma. www.ra-ma.es 7 | ; =================================================================== 8 | ; 9 | ; Librer?a con m?ltiples subrutinas de retardos, desde 4 microsegundos hasta 20 segundos. 10 | ; Adem?s se pueden implementar otras subrutinas muy f?cilmente. 11 | ; 12 | ; Se han calculado para un sistema microcontrolador con un PIC trabajando con un cristal 13 | ; de cuarzo a 4 MHz. Como cada ciclo m?quina son 4 ciclos de reloj, resulta que cada 14 | ; ciclo m?quina tarda 4 x 1/4MHz = 1 ?s. 15 | ; 16 | ; En los comentarios, "cm" significa "ciclos m?quina". 17 | ; 18 | ; ZONA DE DATOS ********************************************************************* 19 | 20 | CBLOCK 21 | R_ContA ; Contadores para los retardos. 22 | R_ContB 23 | R_ContC 24 | ENDC 25 | ; 26 | ; RETARDOS de 4 hasta 10 microsegundos --------------------------------------------------- 27 | ; 28 | ; A continuaci?n retardos peque?os teniendo en cuenta que para una frecuencia de 4 MHZ, 29 | ; la llamada a subrutina "call" tarda 2 ciclos m?quina, el retorno de subrutina 30 | ; "return" toma otros 2 ciclos m?quina y cada instrucci?n "nop" tarda 1 ciclo m?quina. 31 | ; 32 | Retardo_10micros ; La llamada "call" aporta 2 ciclos m?quina. 33 | nop ; Aporta 1 ciclo m?quina. 34 | nop ; Aporta 1 ciclo m?quina. 35 | nop ; Aporta 1 ciclo m?quina. 36 | nop ; Aporta 1 ciclo m?quina. 37 | nop ; Aporta 1 ciclo m?quina. 38 | Retardo_5micros ; La llamada "call" aporta 2 ciclos m?quina. 39 | nop ; Aporta 1 ciclo m?quina. 40 | Retardo_4micros ; La llamada "call" aporta 2 ciclos m?quina. 41 | return ; El salto del retorno aporta 2 ciclos m?quina. 42 | ; 43 | ; RETARDOS de 20 hasta 500 microsegundos ------------------------------------------------ 44 | ; 45 | Retardo_500micros ; La llamada "call" aporta 2 ciclos m?quina. 46 | nop ; Aporta 1 ciclo m?quina. 47 | movlw d'164' ; Aporta 1 ciclo m?quina. Este es el valor de "K". 48 | goto RetardoMicros ; Aporta 2 ciclos m?quina. 49 | Retardo_200micros ; La llamada "call" aporta 2 ciclos m?quina. 50 | nop ; Aporta 1 ciclo m?quina. 51 | movlw d'64' ; Aporta 1 ciclo m?quina. Este es el valor de "K". 52 | goto RetardoMicros ; Aporta 2 ciclos m?quina. 53 | Retardo_100micros ; La llamada "call" aporta 2 ciclos m?quina. 54 | movlw d'31' ; Aporta 1 ciclo m?quina. Este es el valor de "K". 55 | goto RetardoMicros ; Aporta 2 ciclos m?quina. 56 | Retardo_50micros ; La llamada "call" aporta 2 ciclos m?quina. 57 | nop ; Aporta 1 ciclo m?quina. 58 | movlw d'14' ; Aporta 1 ciclo m?quina. Este es el valor de "K". 59 | goto RetardoMicros ; Aporta 2 ciclos m?quina. 60 | Retardo_20micros ; La llamada "call" aporta 2 ciclos m?quina. 61 | movlw d'5' ; Aporta 1 ciclo m?quina. Este es el valor de "K". 62 | ; 63 | ; El pr?ximo bloque "RetardoMicros" tarda: 64 | ; 1 + (K-1) + 2 + (K-1)x2 + 2 = (2 + 3K) ciclos m?quina. 65 | ; 66 | RetardoMicros 67 | movwf R_ContA ; Aporta 1 ciclo m?quina. 68 | Rmicros_Bucle 69 | decfsz R_ContA,F ; (K-1)x1 cm (cuando no salta) + 2 cm (al saltar). 70 | goto Rmicros_Bucle ; Aporta (K-1)x2 ciclos m?quina. 71 | return ; El salto del retorno aporta 2 ciclos m?quina. 72 | ; 73 | ;En total estas subrutinas tardan: 74 | ; - Retardo_500micros: 2 + 1 + 1 + 2 + (2 + 3K) = 500 cm = 500 ?s. (para K=164 y 4 MHz). 75 | ; - Retardo_200micros: 2 + 1 + 1 + 2 + (2 + 3K) = 200 cm = 200 ?s. (para K= 64 y 4 MHz). 76 | ; - Retardo_100micros: 2 + 1 + 2 + (2 + 3K) = 100 cm = 100 ?s. (para K= 31 y 4 MHz). 77 | ; - Retardo_50micros : 2 + 1 + 1 + 2 + (2 + 3K) = 50 cm = 50 ?s. (para K= 14 y 4 MHz). 78 | ; - Retardo_20micros : 2 + 1 + (2 + 3K) = 20 cm = 20 ?s. (para K= 5 y 4 MHz). 79 | ; 80 | ; RETARDOS de 1 ms hasta 200 ms. -------------------------------------------------------- 81 | ; 82 | Retardo_200ms ; La llamada "call" aporta 2 ciclos m?quina. 83 | movlw d'200' ; Aporta 1 ciclo m?quina. Este es el valor de "M". 84 | goto Retardos_ms ; Aporta 2 ciclos m?quina. 85 | Retardo_100ms ; La llamada "call" aporta 2 ciclos m?quina. 86 | movlw d'100' ; Aporta 1 ciclo m?quina. Este es el valor de "M". 87 | goto Retardos_ms ; Aporta 2 ciclos m?quina. 88 | Retardo_50ms ; La llamada "call" aporta 2 ciclos m?quina. 89 | movlw d'50' ; Aporta 1 ciclo m?quina. Este es el valor de "M". 90 | goto Retardos_ms ; Aporta 2 ciclos m?quina. 91 | Retardo_20ms ; La llamada "call" aporta 2 ciclos m?quina. 92 | movlw d'20' ; Aporta 1 ciclo m?quina. Este es el valor de "M". 93 | goto Retardos_ms ; Aporta 2 ciclos m?quina. 94 | Retardo_10ms ; La llamada "call" aporta 2 ciclos m?quina. 95 | movlw d'10' ; Aporta 1 ciclo m?quina. Este es el valor de "M". 96 | goto Retardos_ms ; Aporta 2 ciclos m?quina. 97 | Retardo_5ms ; La llamada "call" aporta 2 ciclos m?quina. 98 | movlw d'5' ; Aporta 1 ciclo m?quina. Este es el valor de "M". 99 | goto Retardos_ms ; Aporta 2 ciclos m?quina. 100 | Retardo_2ms ; La llamada "call" aporta 2 ciclos m?quina. 101 | movlw d'2' ; Aporta 1 ciclo m?quina. Este es el valor de "M". 102 | goto Retardos_ms ; Aporta 2 ciclos m?quina. 103 | Retardo_1ms ; La llamada "call" aporta 2 ciclos m?quina. 104 | movlw d'1' ; Aporta 1 ciclo m?quina. Este es el valor de "M". 105 | ; 106 | ; El pr?ximo bloque "Retardos_ms" tarda: 107 | ; 1 + M + M + KxM + (K-1)xM + Mx2 + (K-1)Mx2 + (M-1) + 2 + (M-1)x2 + 2 = 108 | ; = (2 + 4M + 4KM) ciclos m?quina. Para K=249 y M=1 supone 1002 ciclos m?quina 109 | ; que a 4 MHz son 1002 ?s = 1 ms. 110 | ; 111 | Retardos_ms 112 | movwf R_ContB ; Aporta 1 ciclo m?quina. 113 | R1ms_BucleExterno 114 | movlw d'249' ; Aporta Mx1 ciclos m?quina. Este es el valor de "K". 115 | movwf R_ContA ; Aporta Mx1 ciclos m?quina. 116 | R1ms_BucleInterno 117 | nop ; Aporta KxMx1 ciclos m?quina. 118 | decfsz R_ContA,F ; (K-1)xMx1 cm (cuando no salta) + Mx2 cm (al saltar). 119 | goto R1ms_BucleInterno ; Aporta (K-1)xMx2 ciclos m?quina. 120 | decfsz R_ContB,F ; (M-1)x1 cm (cuando no salta) + 2 cm (al saltar). 121 | goto R1ms_BucleExterno ; Aporta (M-1)x2 ciclos m?quina. 122 | return ; El salto del retorno aporta 2 ciclos m?quina. 123 | ; 124 | ;En total estas subrutinas tardan: 125 | ; - Retardo_200ms: 2 + 1 + 2 + (2 + 4M + 4KM) = 200007 cm = 200 ms. (M=200 y K=249). 126 | ; - Retardo_100ms: 2 + 1 + 2 + (2 + 4M + 4KM) = 100007 cm = 100 ms. (M=100 y K=249). 127 | ; - Retardo_50ms : 2 + 1 + 2 + (2 + 4M + 4KM) = 50007 cm = 50 ms. (M= 50 y K=249). 128 | ; - Retardo_20ms : 2 + 1 + 2 + (2 + 4M + 4KM) = 20007 cm = 20 ms. (M= 20 y K=249). 129 | ; - Retardo_10ms : 2 + 1 + 2 + (2 + 4M + 4KM) = 10007 cm = 10 ms. (M= 10 y K=249). 130 | ; - Retardo_5ms : 2 + 1 + 2 + (2 + 4M + 4KM) = 5007 cm = 5 ms. (M= 5 y K=249). 131 | ; - Retardo_2ms : 2 + 1 + 2 + (2 + 4M + 4KM) = 2007 cm = 2 ms. (M= 2 y K=249). 132 | ; - Retardo_1ms : 2 + 1 + (2 + 4M + 4KM) = 1005 cm = 1 ms. (M= 1 y K=249). 133 | ; 134 | ; RETARDOS de 0.5 hasta 20 segundos --------------------------------------------------- 135 | ; 136 | Retardo_20s ; La llamada "call" aporta 2 ciclos m?quina. 137 | movlw d'200' ; Aporta 1 ciclo m?quina. Este es el valor de "N". 138 | goto Retardo_1Decima ; Aporta 2 ciclos m?quina. 139 | Retardo_10s ; La llamada "call" aporta 2 ciclos m?quina. 140 | movlw d'100' ; Aporta 1 ciclo m?quina. Este es el valor de "N". 141 | goto Retardo_1Decima ; Aporta 2 ciclos m?quina. 142 | Retardo_5s ; La llamada "call" aporta 2 ciclos m?quina. 143 | movlw d'50' ; Aporta 1 ciclo m?quina. Este es el valor de "N". 144 | goto Retardo_1Decima ; Aporta 2 ciclos m?quina. 145 | Retardo_2s ; La llamada "call" aporta 2 ciclos m?quina. 146 | movlw d'20' ; Aporta 1 ciclo m?quina. Este es el valor de "N". 147 | goto Retardo_1Decima ; Aporta 2 ciclos m?quina. 148 | Retardo_1s ; La llamada "call" aporta 2 ciclos m?quina. 149 | movlw d'10' ; Aporta 1 ciclo m?quina. Este es el valor de "N". 150 | goto Retardo_1Decima ; Aporta 2 ciclos m?quina. 151 | Retardo_500ms ; La llamada "call" aporta 2 ciclos m?quina. 152 | movlw d'5' ; Aporta 1 ciclo m?quina. Este es el valor de "N". 153 | ; 154 | ; El pr?ximo bloque "Retardo_1Decima" tarda: 155 | ; 1 + N + N + MxN + MxN + KxMxN + (K-1)xMxN + MxNx2 + (K-1)xMxNx2 + 156 | ; + (M-1)xN + Nx2 + (M-1)xNx2 + (N-1) + 2 + (N-1)x2 + 2 = 157 | ; = (2 + 4M + 4MN + 4KM) ciclos m?quina. Para K=249, M=100 y N=1 supone 100011 158 | ; ciclos m?quina que a 4 MHz son 100011 ?s = 100 ms = 0,1 s = 1 d?cima de segundo. 159 | ; 160 | Retardo_1Decima 161 | movwf R_ContC ; Aporta 1 ciclo m?quina. 162 | R1Decima_BucleExterno2 163 | movlw d'100' ; Aporta Nx1 ciclos m?quina. Este es el valor de "M". 164 | movwf R_ContB ; Aporta Nx1 ciclos m?quina. 165 | R1Decima_BucleExterno 166 | movlw d'249' ; Aporta MxNx1 ciclos m?quina. Este es el valor de "K". 167 | movwf R_ContA ; Aporta MxNx1 ciclos m?quina. 168 | R1Decima_BucleInterno 169 | nop ; Aporta KxMxNx1 ciclos m?quina. 170 | decfsz R_ContA,F ; (K-1)xMxNx1 cm (si no salta) + MxNx2 cm (al saltar). 171 | goto R1Decima_BucleInterno ; Aporta (K-1)xMxNx2 ciclos m?quina. 172 | decfsz R_ContB,F ; (M-1)xNx1 cm (cuando no salta) + Nx2 cm (al saltar). 173 | goto R1Decima_BucleExterno ; Aporta (M-1)xNx2 ciclos m?quina. 174 | decfsz R_ContC,F ; (N-1)x1 cm (cuando no salta) + 2 cm (al saltar). 175 | goto R1Decima_BucleExterno2 ; Aporta (N-1)x2 ciclos m?quina. 176 | return ; El salto del retorno aporta 2 ciclos m?quina. 177 | ; 178 | ;En total estas subrutinas tardan: 179 | ; - Retardo_20s: 2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) = 20000807 cm = 20 s. 180 | ; (N=200, M=100 y K=249). 181 | ; - Retardo_10s: 2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) = 10000407 cm = 10 s. 182 | ; (N=100, M=100 y K=249). 183 | ; - Retardo_5s: 2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) = 5000207 cm = 5 s. 184 | ; (N= 50, M=100 y K=249). 185 | ; - Retardo_2s: 2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) = 2000087 cm = 2 s. 186 | ; (N= 20, M=100 y K=249). 187 | ; - Retardo_1s: 2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) = 1000047 cm = 1 s. 188 | ; (N= 10, M=100 y K=249). 189 | ; - Retardo_500ms: 2 + 1 + (2 + 4N + 4MN + 4KMN) = 500025 cm = 0,5 s. 190 | ; (N= 5, M=100 y K=249). 191 | 192 | ; =================================================================== 193 | ; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" 194 | ; E. Palacios, F. Remiro y L. L?pez. 195 | ; Editorial Ra-Ma. www.ra-ma.es 196 | ; ===================================================== 197 | 198 | 199 | -------------------------------------------------------------------------------- /ULTRASONIDO.X/LCD.inc: -------------------------------------------------------------------------------- 1 | ;**************************** Librer?a "LCD_4BIT.INC" *********************************** 2 | ; 3 | ; =================================================================== 4 | ; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" 5 | ; E. Palacios, F. Remiro y L. L?pez. 6 | ; Editorial Ra-Ma. www.ra-ma.es 7 | ; =================================================================== 8 | ; 9 | ; Estas subrutinas permiten realizar las tareas b?sicas de control de un m?dulo LCD de 2 10 | ; l?neas por 16 caracteres, compatible con el modelo LM016L. 11 | ; 12 | ; El visualizador LCD est? conectado al Puerto B del PIC mediante un bus de 4 bits. Las 13 | ; conexiones son: 14 | ; - Las 4 l?neas superiores del m?dulo LCD, pines se conectan a las 4 15 | ; l?neas superiores del Puerto B del PIC, pines . 16 | ; - Pin RS del LCD a la l?nea RA0 del PIC. 17 | ; - Pin R/W del LCD a la l?nea RA1 del PIC, o a masa. 18 | ; - Pin Enable del LCD a la l?nea RA2 del PIC. 19 | ; 20 | ; Se utilizan llamadas a subrutinas de retardo de tiempo localizadas en la librer?a RETARDOS.INC. 21 | ; 22 | ; ZONA DE DATOS ********************************************************************* 23 | 24 | CBLOCK 25 | LCD_Dato 26 | LCD_GuardaDato 27 | LCD_GuardaTRISB 28 | LCD_Auxiliar1 29 | LCD_Auxiliar2 30 | ENDC 31 | 32 | LCD_CaracteresPorLinea EQU .16 ; N?mero de caracteres por l?nea de la pantalla. 33 | 34 | #DEFINE LCD_PinRS PORTA,0 35 | #DEFINE LCD_PinRW PORTA,1 36 | #DEFINE LCD_PinEnable PORTA,2 37 | #DEFINE LCD_BusDatos PORTB 38 | 39 | ; Subrutina "LCD_Inicializa" ------------------------------------------------------------ 40 | ; 41 | ; Inicializaci?n del m?dulo LCD: Configura funciones del LCD, produce reset por software, 42 | ; borra memoria y enciende pantalla. El fabricante especifica que para garantizar la 43 | ; configuraci?n inicial hay que hacerla como sigue: 44 | ; 45 | LCD_Inicializa 46 | bsf STATUS,RP0 ; Configura las l?neas conectadas al pines RS, 47 | bcf LCD_PinRS ; R/W y E. 48 | bcf LCD_PinEnable 49 | bcf LCD_PinRW 50 | bcf STATUS,RP0 51 | bcf LCD_PinRW ; En caso de que est? conectado le indica 52 | ; que se va a escribir en el LCD. 53 | bcf LCD_PinEnable ; Impide funcionamiento del LCD poniendo E=0. 54 | bcf LCD_PinRS ; Activa el Modo Comando poniendo RS=0. 55 | call Retardo_20ms 56 | movlw b'00110000' 57 | call LCD_EscribeLCD ; Escribe el dato en el LCD. 58 | call Retardo_5ms 59 | movlw b'00110000' 60 | call LCD_EscribeLCD 61 | call Retardo_200micros 62 | movlw b'00110000' 63 | call LCD_EscribeLCD 64 | movlw b'00100000' ; Interface de 4 bits. 65 | call LCD_EscribeLCD 66 | 67 | ; Ahora configura el resto de los par?metros: 68 | 69 | call LCD_2Lineas4Bits5x7 ; LCD de 2 l?neas y caracteres de 5x7 puntos. 70 | call LCD_Borra ; Pantalla encendida y limpia. Cursor al principio 71 | call LCD_CursorOFF ; de la l?nea 1. Cursor apagado. 72 | call LCD_CursorIncr ; Cursor en modo incrementar. 73 | return 74 | 75 | ; Subrutina "LCD_EscribeLCD" ----------------------------------------------------------- 76 | ; 77 | ; Env?a el dato del registro de trabajo W al bus de dato y produce un peque?o pulso en el pin 78 | ; Enable del LCD. Para no alterar el contenido de las l?neas de la parte baja del Puerto B que 79 | ; no son utilizadas para el LCD (pines RB3:RB0), primero se lee estas l?neas y despu?s se 80 | ; vuelve a enviar este dato sin cambiarlo. 81 | 82 | LCD_EscribeLCD 83 | andlw b'11110000' ; Se queda con el nibble alto del dato que es el 84 | movwf LCD_Dato ; que hay que enviar y lo guarda. 85 | movf LCD_BusDatos,W ; Lee la informaci?n actual de la parte baja 86 | andlw b'00001111' ; del Puerto B, que no se debe alterar. 87 | iorwf LCD_Dato,F ; Enviar? la parte alta del dato de entrada 88 | ; y en la parte baja lo que hab?a antes. 89 | bsf STATUS,RP0 ; Acceso al Banco 1. 90 | movf TRISB,W ; Guarda la configuraci?n que ten?a antes TRISB. 91 | movwf LCD_GuardaTRISB 92 | movlw b'00001111' ; Las 4 l?neas inferiores del Puerto B se dejan 93 | andwf PORTB,F ; como estaban y las 4 superiores como salida. 94 | bcf STATUS,RP0 ; Acceso al Banco 0. 95 | ; 96 | movf LCD_Dato,W ; Recupera el dato a enviar. 97 | movwf LCD_BusDatos ; Env?a el dato al m?dulo LCD. 98 | bsf LCD_PinEnable ; Permite funcionamiento del LCD mediante un peque?o 99 | bcf LCD_PinEnable ; pulso y termina impidiendo el funcionamiento del LCD. 100 | bsf STATUS,RP0 ; Acceso al Banco 1. Restaura el antiguo valor en 101 | movf LCD_GuardaTRISB,W ; la configuraci?n del Puerto B. 102 | movwf PORTB ; Realmente es TRISB. 103 | bcf STATUS,RP0 ; Acceso al Banco 0. 104 | return 105 | 106 | ; Subrutinas variadas para el control del m?dulo LCD ----------------------------------------- 107 | ; 108 | ;Los comandos que pueden ser ejecutados son: 109 | ; 110 | LCD_CursorIncr ; Cursor en modo incrementar. 111 | movlw b'00000110' 112 | goto LCD_EnviaComando 113 | LCD_Linea1 ; Cursor al principio de la L?nea 1. 114 | movlw b'10000000' ; Direcci?n 00h de la DDRAM 115 | goto LCD_EnviaComando 116 | LCD_Linea2 ; Cursor al principio de la L?nea 2. 117 | movlw b'11000000' ; Direcci?n 40h de la DDRAM 118 | goto LCD_EnviaComando 119 | LCD_PosicionLinea1 ; Cursor a posici?n de la L?nea 1, a partir de la 120 | iorlw b'10000000' ; direcci?n 00h de la DDRAM m?s el valor del 121 | goto LCD_EnviaComando ; registro W. 122 | LCD_PosicionLinea2 ; Cursor a posici?n de la L?nea 2, a partir de la 123 | iorlw b'11000000' ; direcci?n 40h de la DDRAM m?s el valor del 124 | goto LCD_EnviaComando ; registro W. 125 | LCD_OFF ; Pantalla apagada. 126 | movlw b'00001000' 127 | goto LCD_EnviaComando 128 | LCD_CursorON ; Pantalla encendida y cursor encendido. 129 | movlw b'00001110' 130 | goto LCD_EnviaComando 131 | LCD_CursorOFF ; Pantalla encendida y cursor apagado. 132 | movlw b'00001100' 133 | goto LCD_EnviaComando 134 | LCD_Borra ; Borra toda la pantalla, memoria DDRAM y pone el 135 | movlw b'00000001' ; cursor a principio de la l?nea 1. 136 | goto LCD_EnviaComando 137 | LCD_2Lineas4Bits5x7 ; Define la pantalla de 2 l?neas, con caracteres 138 | movlw b'00101000' ; de 5x7 puntos y conexi?n al PIC mediante bus de 139 | ; goto LCD_EnviaComando ; 4 bits. 140 | 141 | ; Subrutinas "LCD_EnviaComando" y "LCD_Caracter" ------------------------------------ 142 | ; 143 | ; "LCD_EnviaComando". Escribe un comando en el registro del m?dulo LCD. La palabra de 144 | ; comando ha sido entregada a trav?s del registro W. Trabaja en Modo Comando. 145 | ; "LCD_Caracter". Escribe en la memoria DDRAM del LCD el car?cter ASCII introducido a 146 | ; a trav?s del registro W. Trabaja en Modo Dato. 147 | ; 148 | LCD_EnviaComando 149 | bcf LCD_PinRS ; Activa el Modo Comando, poniendo RS=0. 150 | goto LCD_Envia 151 | LCD_Caracter 152 | bsf LCD_PinRS ; Activa el "Modo Dato", poniendo RS=1. 153 | call LCD_CodigoCGROM ; Obtiene el c?digo para correcta visualizaci?n. 154 | LCD_Envia 155 | movwf LCD_GuardaDato ; Guarda el dato a enviar. 156 | call LCD_EscribeLCD ; Primero env?a el nibble alto. 157 | swapf LCD_GuardaDato,W ; Ahora env?a el nibble bajo. Para ello pasa el 158 | ; nibble bajo del dato a enviar a parte alta del byte. 159 | call LCD_EscribeLCD ; Se env?a al visualizador LCD. 160 | btfss LCD_PinRS ; Debe garantizar una correcta escritura manteniendo 161 | call Retardo_2ms ; 2 ms en modo comando y 50 ?s en modo c?racter. 162 | call Retardo_50micros 163 | return 164 | 165 | ; Subrutina "LCD_CodigoCGROM" ----------------------------------------------------------- 166 | ; 167 | ; A partir del car?cter ASCII n?mero 127 los c?digos de los caracteres definidos en la 168 | ; tabla CGROM del LM016L no coinciden con los c?digos ASCII. As? por ejemplo, el c?digo 169 | ; ASCII de la "?" en la tabla CGRAM del LM016L es EEh. 170 | ; 171 | ; Esta subrutina convierte los c?digos ASCII de la "?", "?" y otros, a c?digos CGROM para que 172 | ; que puedan ser visualizado en el m?dulo LM016L. 173 | ; 174 | ; Entrada: En (W) el c?digo ASCII del car?cter que se desea visualizar. 175 | ; Salida: En (W) el c?digo definido en la tabla CGROM. 176 | 177 | LCD_CodigoCGROM 178 | movwf LCD_Dato ; Guarda el valor del car?cter y comprueba si es 179 | LCD_EnheMinuscula ; un car?cter especial. 180 | sublw '?' ; ?Es la "?"? 181 | btfss STATUS,Z 182 | goto LCD_EnheMayuscula ; No es "?". 183 | movlw b'11101110' ; C?digo CGROM de la "?". 184 | movwf LCD_Dato 185 | goto LCD_FinCGROM 186 | LCD_EnheMayuscula 187 | movf LCD_Dato,W ; Recupera el c?digo ASCII de entrada. 188 | sublw '?' ; ?Es la "?"? 189 | btfss STATUS,Z 190 | goto LCD_Grado ; No es "?". 191 | movlw b'11101110' ; C?digo CGROM de la "?". (No hay s?mbolo para 192 | movwf LCD_Dato ; la "?" may?scula en la CGROM). 193 | goto LCD_FinCGROM 194 | LCD_Grado 195 | movf LCD_Dato,W ; Recupera el c?digo ASCII de entrada. 196 | sublw '?' ; ?Es el s?mbolo "?"? 197 | btfss STATUS,Z 198 | goto LCD_FinCGROM ; No es "?". 199 | movlw b'11011111' ; C?digo CGROM del s?mbolo "?". 200 | movwf LCD_Dato 201 | LCD_FinCGROM 202 | movf LCD_Dato,W ; En (W) el c?digo buscado. 203 | return 204 | 205 | ; Subrutina "LCD_DosEspaciosBlancos" y "LCD_LineaBlanco" -------------------------------- 206 | ; 207 | ; Visualiza espacios en blanco. 208 | 209 | LCD_LineaEnBlanco 210 | movlw LCD_CaracteresPorLinea 211 | goto LCD_EnviaBlancos 212 | LCD_UnEspacioBlanco 213 | movlw .1 214 | goto LCD_EnviaBlancos 215 | LCD_DosEspaciosBlancos 216 | movlw .2 217 | goto LCD_EnviaBlancos 218 | LCD_TresEspaciosBlancos 219 | movlw .3 220 | LCD_EnviaBlancos 221 | movwf LCD_Auxiliar1 ; (LCD_Auxiliar1) se utiliza como contador. 222 | LCD_EnviaOtroBlanco 223 | movlw ' ' ; Esto es un espacio en blanco. 224 | call LCD_Caracter ; Visualiza tanto espacios en blanco como se 225 | decfsz LCD_Auxiliar1,F ; haya cargado en (LCD_Auxiliar1). 226 | goto LCD_EnviaOtroBlanco 227 | return 228 | 229 | ; Subrutinas "LCD_ByteCompleto" y "LCD_Byte" -------------------------------------------- 230 | ; 231 | ; Subrutina "LCD_ByteCompleto", visualiza el byte que almacena el registro W en el 232 | ; lugar actual de la pantalla. Por ejemplo, si (W)=b'10101110' visualiza "AE". 233 | ; 234 | ; Subrutina "LCD_Byte" igual que la anterior, pero en caso de que el nibble alto sea cero 235 | ; visualiza en su lugar un espacio en blanco. Por ejemplo si (W)=b'10101110' visualiza "AE" 236 | ; y si (W)=b'00001110', visualiza " E" (un espacio blanco delante). 237 | ; 238 | ; Utilizan la subrutina "LCD_Nibble" que se analiza m?s adelante. 239 | ; 240 | LCD_Byte 241 | movwf LCD_Auxiliar2 ; Guarda el valor de entrada. 242 | andlw b'11110000' ; Analiza si el nibble alto es cero. 243 | btfss STATUS,Z ; Si es cero lo apaga. 244 | goto LCD_VisualizaAlto ; No es cero y lo visualiza. 245 | movlw ' ' ; Visualiza un espacio en blanco. 246 | call LCD_Caracter 247 | goto LCD_VisualizaBajo 248 | 249 | LCD_ByteCompleto 250 | movwf LCD_Auxiliar2 ; Guarda el valor de entrada. 251 | LCD_VisualizaAlto 252 | swapf LCD_Auxiliar2,W ; Pone el nibble alto en la parte baja. 253 | call LCD_Nibble ; Lo visualiza. 254 | LCD_VisualizaBajo 255 | movf LCD_Auxiliar2,W ; Repite el proceso con el nibble bajo. 256 | ; call LCD_Nibble ; Lo visualiza. 257 | ; return 258 | 259 | ; Subrutina "LCD_Nibble" ---------------------------------------------------------------- 260 | ; 261 | ; Visualiza en el lugar actual de la pantalla, el valor hexadecimal que almacena en el nibble 262 | ; bajo del registro W. El nibble alto de W no es tenido en cuenta. Ejemplos: 263 | ; - Si (W)=b'01010110', se visualizar? "6". 264 | ; - Si (W)=b'10101110', se visualizar? "E". 265 | ; 266 | LCD_Nibble 267 | andlw b'00001111' ; Se queda con la parte baja. 268 | movwf LCD_Auxiliar1 ; Lo guarda. 269 | sublw 0x09 ; Comprueba si hay que representarlo con letra. 270 | btfss STATUS,C 271 | goto LCD_EnviaByteLetra 272 | movf LCD_Auxiliar1,W 273 | addlw '0' ; El n?mero se pasa a car?cter ASCII sum?ndole 274 | goto LCD_FinVisualizaDigito ; el ASCII del cero y lo visualiza. 275 | LCD_EnviaByteLetra 276 | movf LCD_Auxiliar1,W 277 | addlw 'A'-0x0A ; S?, por tanto, se le suma el ASCII de la 'A'. 278 | LCD_FinVisualizaDigito 279 | goto LCD_Caracter ; Y visualiza el car?cter. Se hace con un "goto" 280 | ; para no sobrecargar la pila. 281 | 282 | ; =================================================================== 283 | ; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" 284 | ; E. Palacios, F. Remiro y L. L?pez. 285 | ; Editorial Ra-Ma. www.ra-ma.es 286 | ; =================================================================== 287 | 288 | 289 | --------------------------------------------------------------------------------