Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
list p=16f886 ; list directive to define processor
#include <p16f886.inc> ; processor specific variable definitions
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V
RESET_VECTOR CODE 0x0000 ; processor reset vector
nop
goto start ; go to beginning of program
INT_VECTOR CODE 0x0004 ; interrupt vector location
MAIN_PROG CODE 0X05
TABLA
ADDWF PCL
RETLW B'00000000'
RETLW B'00000000'
RETLW B'00000000'
RETLW B'00000000'
RETLW B'00000000'
RETLW B'00000000'
RETLW B'00110111'
RETLW B'01111110'
RETLW B'00001110'
RETLW B'01110111'
RETLW B'00000000'
RETLW B'00000000'
RETLW B'00000000'
RETLW B'00000000'
RETLW B'00000000'
RETLW B'00000000'
GOTO PROG
DATOS
MOVLW D'1'
MOVWF 0X50
MOVLW D'2'
MOVWF 0X21
MOVLW D'3'
MOVWF 0X22
MOVLW D'4'
MOVWF 0X23
MOVLW D'5'
MOVWF 0X24
MOVLW D'6'
MOVWF 0X25
RETURN
INCREMENTO
INCFSZ 0X50
INCFSZ 0X21
INCFSZ 0X22
INCFSZ 0X23
INCFSZ 0X24
INCFSZ 0X25
RETURN
;SUBRUTINA
TIME
MOVLW D'5'
MOVWF 0X26
TIME1
MOVLW D'200'
MOVWF 0X27
TIME2 NOP
DECFSZ 0X27
GOTO TIME2
DECFSZ 0X26
GOTO TIME1
RETURN
start
MOVLW 0X20
MOVWF STATUS
CLRF TRISA
CLRF TRISC
MOVLW 0X60
MOVWF STATUS
CLRF ANSEL
CLRF ANSELH
CLRF STATUS
PROG
CALL DATOS
PROG1
MOVLW D'10'
MOVWF 0X30
PROG2
MOVLW B'11011111'
MOVWF PORTA
MOVFW 0X25
CALL TABLA
MOVWF PORTB
CALL TIME
MOVLW B'11101111'
MOVWF PORTA
MOVFW 0X24
CALL TABLA
MOVWF PORTB
CALL TIME
MOVLW B'11110111'
MOVWF PORTA
MOVFW 0X23
CALL TABLA
MOVWF PORTB
CALL TIME
MOVLW B'11111011'
MOVWF PORTA
MOVFW 0X22
CALL TABLA
MOVWF PORTB
CALL TIME
MOVLW B'11111101'
MOVWF PORTA
MOVFW 0X21
CALL TABLA
MOVWF PORTC
CALL TIME
MOVLW B'11111110'
MOVWF PORTA
MOVFW 0X50
CALL TABLA
MOVWF PORTB
CALL TIME
DECFSZ 0X30
GOTO PROG2
CALL INCREMENTO
GOTO PROG1
END
list p=16f886
#include <p16f886.inc>
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V
RESET_VECTOR CODE 0x0000
nop
goto start
MAIN_PROG
;SUBRUTINA 1 SEGUNDO
TIME
MOVLW D'10'
GOTO RETARDO_1DECIMA
RETARDO_1DECIMA
MOVWF 0X24
R1DECIMA_BUCLE_EXTERNO2
MOVLW D'100'
MOVWF 0X25
R1DECIMA_BUCLE_EXTERNO
MOVLW D'249'
MOVWF 0X26
R1DECIMA_BUCLEINTERNO
NOP
DECFSZ 0X26,F
GOTO R1DECIMA_BUCLEINTERNO
DECFSZ 0X25,F
GOTO R1DECIMA_BUCLE_EXTERNO
DECFSZ 0X24,F
GOTO R1DECIMA_BUCLE_EXTERNO2
RETURN
start
;CONFIGURACIÓN DE PUERTOS
MOVLW 0X20
MOVWF STATUS
CLRF TRISA
CLRF TRISC
MOVLW 0X60
MOVWF STATUS
CLRF ANSEL
CLRF ANSELH
CLRF STATUS
;***********************************************************************************************************************************
;BASE DEL PROGRAMA
PRINCIPIO_HOLA
;PARA LETRA "H"
MOVLW D'1'
MOVWF 0X30
MOVLW B'00110111' ;LETRA H
MOVWF PORTB
BCF PORTA,RA0
CALL TIME
BSF PORTA,RA0
BCF PORTA,RA1 ;(PREGUNTAR SI LLEGO A 0)
CALL TIME
BSF PORTA,RA1
BCF PORTA,RA2
CALL TIME
BSF PORTA,RA2
BCF PORTA,RA3
DECFSZ 0X30
GOTO LETRAO
;PARA LETRA "O"
LETRAO
MOVLW D'10'
MOVWF 0X31
MOVLW B'01111110' ;LETRA O
MOVWF PORTB
BCF PORTA,RA0
CALL TIME
BSF PORTA,RA1 ;PREGUNTAR SI LLEGO A 0
CALL TIME
BSF PORTA,RA1
BCF PORTA,RA2
CALL TIME
BSF PORTA,RA2
DECFSZ 0X31
GOTO LETRAL
;PARE LETRA "L"
LETRAL
MOVLW D'10'
MOVWF 0X32
MOVLW B'00001110' ;LETRA L
MOVWF PORTB
BCF PORTA,RA0
CALL TIME
BSF PORTA,RA0
BCF PORTA,RA1
CALL TIME
BSF PORTA,RA1
DECFSZ 0X32
;PARA LETRA "A"
MOVLW D'10'
MOVWF 0X33
MOVLW B'01110111' ;LETRA A
MOVWF PORTB
BCF PORTA,RA0
CALL TIME
BSF PORTA,RA0
DECFSZ 0X33
GOTO PRINCIPIO_HOLA
END
;ELABORATED BY VIKTROK
Adjunto un ejemplo para mostrar la palabra HOLA en 4 displays de 7 segmentos.Bueno estoy desarrollando una práctica, la cual consiste en mover el mensaje HOLA letra por letra en displays de 7 segmentos cátodo común