├── 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 |
--------------------------------------------------------------------------------