Que tal compañeros,
Tengo una duda en mi programa, ya lo he escrito y se que tiene muchas fallas; Pues no tengo mucha experiencia programando PIC's.
Para hacer este programa me base en uno que edite, al colocarle un valor en el deep en Binario me soltaba el numero en Decimal y descendía cada segundo hasta llegar a 0.
Ahora lo que tengo que hacer al tener '00' en el deep, salga una oración; '01' otra oración; '10' otra oración, cambiando una letra por segundo. Y aparte el 3 bit del deep, cambie la temporización del cambio de cada letra; Es decir si el deep tiene esta configuración '100' - Se desplegara la oración 1 con la temporizacion de 3 segundos por letra.
Espero me hayan entendido: Aquí esta mi código...
Me gustaría no cambiar mucho la estructura del programa si es posible; Espero obtener sus respuestas, y agradezco por el tiempo.
Saludos a todos.
Tengo una duda en mi programa, ya lo he escrito y se que tiene muchas fallas; Pues no tengo mucha experiencia programando PIC's.
Para hacer este programa me base en uno que edite, al colocarle un valor en el deep en Binario me soltaba el numero en Decimal y descendía cada segundo hasta llegar a 0.
Ahora lo que tengo que hacer al tener '00' en el deep, salga una oración; '01' otra oración; '10' otra oración, cambiando una letra por segundo. Y aparte el 3 bit del deep, cambie la temporización del cambio de cada letra; Es decir si el deep tiene esta configuración '100' - Se desplegara la oración 1 con la temporizacion de 3 segundos por letra.
Espero me hayan entendido: Aquí esta mi código...
Código:
;Practica 3 (628)
;Cardenas
;La final
; By: HAckerjj!!!!
; AMX432!!! - Cap. Jair Gracia :::::---::::----:::
; Papa-Alfa-Romeo-Alfa Metro-India Goulf-Romeo-Union-Papa-Oscar 6IM9 ---...--- :)
__CONFIG _WDT_OFF&_INTRC_OSC_NOCLKOUT&_CP_OFF&_PWRTE_OFF&_MCLRE_OFF&_LVP_OFF&_BODEN_OFF
LIST p=16F628A
include P16F628A.INC
RADIX HEX
ORG 0
Inicio
movlw 07h ; Apaga los comparadores
movwf CMCON ; Activa los pines como I/0
bsf 03,05
movlw 0xFF
movwf 05
clrf 06
bcf 03,05
clrf 05
clrf 06
Boton
btfss 05,03
goto Boton
movf 05,00
andlw b'00000011'
movwf 0F
movf 0F,01
btfsc 03,02
goto alarma
Cambio
btfsc 05,02
goto Compa
Comp
btfsc 05,00
goto comp2
goto comp1
comp1
btfsc 05,01
goto palabra3
goto palabra
comp2
btfsc 05,01
goto alarma
goto palabra1
Compa
btfsc 05,00
goto compa2
goto compa1
compa1
btfsc 05,01
goto palabras3
goto palabras
compa2
btfsc 05,01
goto alarma
goto palabras1
palabra1
movf 0F,00
call Decoder1
movwf 06
call Retardo1seg
decfsz 0F,01
goto palabra1
goto Boton
palabras1
movf 0F,00
call Decoder1
movwf 06
call Retardo3seg
decfsz 0F,01
goto palabras1
goto Boton
palabra
movf 0F,00
call Decoder
movwf 06
call Retardo1seg
decfsz 0F,01
goto palabra
goto Boton
palabras
movf 0F,00
call Decoder
movwf 06
call Retardo3seg
decfsz 0F,01
goto palabras
goto Boton
palabra3
movf 0F,00
call Decoder2
movwf 06
call Retardo1seg
decfsz 0F,01
goto palabra3
goto Boton
palabras3
movf 0F,00
call Decoder2
movwf 06
call Retardo3seg
decfsz 0F,01
goto palabras3
goto Boton
alarma
movf 0F,00
call Decoder3
movwf 06
call Retardo1seg
goto Boton
;Rutina de visualizacion
Decoder1
addwf 02,01
retlw b'11110111' ;A
retlw b'11010000' ;r
retlw b'11111100' ;B
Decoder
addwf 02,01
retlw b'11110001' ;F
retlw b'10111000' ;L
retlw b'11110111' ;A
Decoder2
addwf 02,01
retlw b'11110111' ;A
retlw b'11110000' ;h
retlw b'11011000' ;c
Decoder3
addwf 02,01
retlw b'11011100' ;o
retlw b'11010000' ;r
retlw b'11111001' ;E
;Rutina de retardo
Retardo1seg
movlw d'10'
movwf 0C
Cicloexterno2
movlw d'100'
movwf 0B
Cicloexterno1
movlw d'249'
movwf 0E
Ciclointerno
nop
decfsz 0E,01
goto Ciclointerno
decfsz 0B,01
goto Cicloexterno1
decfsz 0C,01
goto Cicloexterno2
return
Retardo3seg
movlw d'60'
movwf 0C
Ciclo2externo2
movlw d'100'
movwf 0B
Ciclo2externo1
movlw d'249'
movwf 0E
Ciclo2interno
nop
decfsz 0E,01
goto Ciclointerno
decfsz 0B,01
goto Cicloexterno1
decfsz 0C,01
goto Cicloexterno2
return
end
Me gustaría no cambiar mucho la estructura del programa si es posible; Espero obtener sus respuestas, y agradezco por el tiempo.
Saludos a todos.
Última edición por un moderador: