;RUNNING SIGN for 80x7 Display ; projeto dm_led produto e preço ; iniciado em 23/10/2021 terminado em 02/11/2021 ; desenvolvido por Dino Martins list p=16F877A list n=0 include __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _LVP_OFF & _CPD_OFF & _DEBUG_OFF ERRORLEVEL -302 #DEFINE bank0 bcf STATUS,RP0 ;volta para banco 0 #DEFINE bank1 bsf STATUS,RP0 ;seleciona banco 1 cblock 0x20 load load2 flags cycles countnum countai countjq countrz countsp rall1 temp1 temp2 ENDC DCounter1 EQU 0X0C #DEFINE bt_gol portc,0 #DEFINE bt_penalty portc,1 #DEFINE bt_enter portd,0 #DEFINE bt_back portd,1 #DEFINE bt_space portd,2 #DEFINE bt_numero portd,3 #DEFINE bt_ai portd,4 #DEFINE bt_jq portd,5 #DEFINE bt_rz portd,6 ;************************************* ORG 0x00 ;This sets up the ports GOTO INICIO ORG 0X04 RETFIE ;*********************** tablent ADDWF 02h,1 RETLW b'00000001' ; enter RETLW b'00000001' RETLW b'00000001' RETLW b'00000001' RETLW b'00000001' RETLW b'00000000' ;*********************** Tablesp ADDWF 02h,1 ;Add W to Program Counter RETLW b'00000000' ; space RETLW b'00000000' RETLW b'00000000' RETLW b'00000000' RETLW b'00000000' RETLW b'00000000' ;*********************** Tablenum ; numeros ADDWF 02h,1 ;Add W to Program Counter RETLW 3Eh ; ;0 RETLW 41h RETLW 41h RETLW 41h RETLW 3Eh RETLW b'00000000' RETLW 00h ;1 RETLW 10h RETLW 20h RETLW 7Fh RETLW 00h RETLW b'00000000' RETLW 27h ;2 RETLW 49h RETLW 49h RETLW 49h RETLW 31h RETLW b'00000000' RETLW 22h ;3 RETLW 41h RETLW 49h RETLW 49h RETLW 36h RETLW b'00000000' RETLW 0Ch ;4 RETLW 14h RETLW 24h RETLW 7Fh RETLW 04h RETLW b'00000000' RETLW 7Ah ;5 RETLW 49h RETLW 49h RETLW 49h RETLW 46h RETLW b'00000000' RETLW 3Eh ;6 RETLW 49h RETLW 49h RETLW 49h RETLW 26h RETLW b'00000000' RETLW 40h ;7 RETLW 47h RETLW 48h RETLW 50h RETLW 60h RETLW b'00000000' RETLW 36h ;8 RETLW 49h RETLW 49h RETLW 49h RETLW 36h RETLW b'00000000' RETLW 32h ;9 RETLW 49h RETLW 49h RETLW 49h RETLW 3Eh RETLW b'00000000' RETLW b'00001000' ; traço RETLW b'00001000' RETLW b'00001000' RETLW b'00001000' RETLW b'00001000' RETLW b'00000000' RETLW b'00000000' ;parentese RETLW b'00000000' RETLW b'00111110' RETLW b'01000001' RETLW b'00000000' RETLW b'00000000' RETLW b'00000000' ;parentese RETLW b'01000001' RETLW b'00111110' RETLW b'00000000' RETLW b'00000000' RETLW b'00000000' RETLW b'00000000' ;barra RETLW b'00000001' RETLW b'00000100' RETLW b'00010000' RETLW b'01000000' RETLW b'00000000' RETLW b'00000000' ;barra RETLW b'01000000' RETLW b'00010000' RETLW b'00000100' RETLW b'00000001' RETLW b'00000000' RETLW b'00000000' ; exclamação RETLW b'00000000' RETLW b'01111101' RETLW b'00000000' RETLW b'00000000' RETLW b'00000000' ;**************************************** Tableai ADDWF 02h,1 ;Add W to Program Counter RETLW b'00111111' ;A RETLW b'01001000' RETLW b'01001000' RETLW b'01001000' RETLW b'00111111' RETLW b'00000000' RETLW b'01111111' ; B RETLW b'01001001' RETLW b'01001001' RETLW b'01001001' RETLW b'00110110' RETLW b'00000000' RETLW b'00111110' ; C RETLW b'01000001' RETLW b'01000001' RETLW b'01000001' RETLW b'00100010' RETLW b'00000000' RETLW b'01111111' ; D RETLW b'01000001' RETLW b'01000001' RETLW b'01000001' RETLW b'00111110' RETLW b'00000000' RETLW 7Fh ;E RETLW 49h RETLW 49h RETLW 49h RETLW 41h RETLW b'00000000' RETLW b'01111111' ; F RETLW b'01001000' RETLW b'01001000' RETLW b'01001000' RETLW b'01000000' RETLW b'00000000' RETLW b'00111110' ; G RETLW b'01000001' RETLW b'01000001' RETLW b'01000101' RETLW b'00100110' RETLW b'00000000' RETLW b'01111111' ; H RETLW b'00001000' RETLW b'00001000' RETLW b'00001000' RETLW b'01111111' RETLW b'00000000' ; RETLW b'00000000' ; I RETLW b'01000001' RETLW b'01111111' RETLW b'01000001' RETLW b'00000000' RETLW b'00000000' ;********************************* tablejq ADDWF 02h,1 ; Add W to Program Counter RETLW b'00000110' ; J RETLW b'00000001' RETLW b'00000001' RETLW b'00000001' RETLW b'01111110' RETLW b'00000000' RETLW b'01111111' ; K RETLW b'00001000' RETLW b'00010100' RETLW b'00100010' RETLW b'00000001' RETLW b'00000000' RETLW b'01111111' ;L RETLW b'00000001' RETLW b'00000001' RETLW b'00000001' RETLW b'00000001' RETLW b'00000000' RETLW b'00111100' ;Ç RETLW b'01000010' RETLW b'01000011' RETLW b'01000010' RETLW b'00100100' RETLW b'00000000' RETLW b'01111111'; M RETLW b'00100000' RETLW b'00011110' RETLW b'00100000' RETLW b'01111111' RETLW b'00000000' RETLW b'01111111' ;N RETLW b'00100000' RETLW b'00011000' RETLW b'00000100' RETLW b'01111111' RETLW b'00000000' RETLW 3Eh ;O RETLW 41h RETLW 41h RETLW 41h RETLW 3Eh RETLW b'00000000' RETLW b'01111111' ;P RETLW b'01001000' RETLW b'01001000' RETLW b'01001000' RETLW b'00110000' RETLW b'00000000' RETLW b'00111110' ;Q RETLW b'01000001' RETLW b'01000101' RETLW b'01000011' RETLW b'00111111' RETLW b'00000000' ;************************************** tablerz ADDWF 02h,1 ; Add W to Program Counter RETLW b'01111111' ;R RETLW b'01001000' RETLW b'01001100' RETLW b'01001010' RETLW b'00110001' RETLW b'00000000' RETLW 32h ;S RETLW 49h RETLW 49h RETLW 49h RETLW 26h RETLW b'00000000' RETLW 40h ;T RETLW 40h RETLW 7Fh RETLW 40h RETLW 40h RETLW b'00000000' RETLW b'01111110' ;U RETLW b'00000001' RETLW b'00000001' RETLW b'00000001' RETLW b'01111110' RETLW b'00000000' RETLW b'01111000' ;v RETLW b'00000110' RETLW b'00000001' RETLW b'00000110' RETLW b'01111000' RETLW b'00000000' RETLW b'01111110' ; W RETLW b'00000001' RETLW b'00011111' RETLW b'00000001' RETLW b'01111110' RETLW b'00000000' RETLW b'01000001' ; X RETLW b'00100010' RETLW b'00011100' RETLW b'00100010' RETLW b'01000001' RETLW b'00000000' RETLW b'01100000' ;Y RETLW b'00010000' RETLW b'00001111' RETLW b'00010000' RETLW b'01100000' RETLW b'00000000' RETLW b'01000011' ;Z RETLW b'01000101' RETLW b'01001001' RETLW b'01010001' RETLW b'01100001' RETLW b'00000000' ;**************************************** tablegol ADDWF 02h,1 ; Add W to Program Counter RETLW b'00111110' ; G RETLW b'01000001' RETLW b'01000001' RETLW b'01000101' RETLW b'00100110' RETLW b'00000000' RETLW 3Eh ;O RETLW 41h RETLW 41h RETLW 41h RETLW 3Eh RETLW b'00000000' RETLW 3Eh ;O RETLW 41h RETLW 41h RETLW 41h RETLW 3Eh RETLW b'00000000' RETLW 3Eh ;O RETLW 41h RETLW 41h RETLW 41h RETLW 3Eh RETLW b'00000000' RETLW 3Eh ;O RETLW 41h RETLW 41h RETLW 41h RETLW 3Eh RETLW b'00000000' RETLW 3Eh ;O RETLW 41h RETLW 41h RETLW 41h RETLW 3Eh RETLW b'00000000' RETLW 3Eh ;O RETLW 41h RETLW 41h RETLW 41h RETLW 3Eh RETLW b'00000000' RETLW 3Eh ;O RETLW 41h RETLW 41h RETLW 41h RETLW 3Eh RETLW b'00000000' RETLW b'00000000' ; exclamação RETLW b'00000000' RETLW b'01111101' RETLW b'00000000' RETLW b'00000000' ;**************************************** GHOST BCF PORTA,0 BSF PORTA,1 NOP BCF PORTA,1 ;************************ MOVF 2ch,0 CALL DelA MOVF 2dh,0 CALL DelA MOVF 2eh,0 CALL DelA MOVF 2fh,0 CALL DelA MOVF 30h,0 CALL DelA MOVF 31h,0 CALL DelA MOVF 32h,0 CALL DelA MOVF 33h,0 CALL DelA MOVF 34h,0 CALL DelA MOVF 35h,0 CALL DelA MOVF 36h,0 CALL DelA MOVF 37h,0 CALL DelA MOVF 38h,0 CALL DelA MOVF 39h,0 CALL DelA MOVF 3ah,0 CALL DelA MOVF 3bh,0 CALL DelA MOVF 3ch,0 CALL DelA MOVF 3dh,0 CALL DelA MOVF 3eh,0 CALL DelA MOVF 3fh,0 CALL DelA MOVF 40h,0 CALL DelA MOVF 41h,0 CALL DelA MOVF 42h,0 CALL DelA MOVF 43h,0 CALL DelA MOVF 44h,0 CALL DelA MOVF 45h,0 CALL DelA MOVF 46h,0 CALL DelA MOVF 47h,0 CALL DelA MOVF 48h,0 CALL DelA MOVF 49h,0 CALL DelA MOVF 4ah,0 CALL DelA MOVF 4bh,0 CALL DelA MOVF 4ch,0 CALL DelA MOVF 4dh,0 CALL DelA MOVF 4eh,0 CALL DelA MOVF 4fh,0 CALL DelA RETURN MOVF 50h,0 CALL DelA MOVF 51h,0 CALL DelA MOVF 52h,0 CALL Dela MOVF 53h,0 CALL Dela MOVF 54h,0 CALL Dela MOVF 55h,0 CALL Dela MOVF 56h,0 CALL Dela MOVF 57h,0 CALL Dela MOVF 58h,0 CALL Dela MOVF 59h,0 CALL Dela MOVF 5ah,0 CALL Dela MOVF 5bh,0 CALL Dela MOVF 5ch,0 CALL DelA MOVF 5dh,0 CALL DelA MOVF 5eh,0 CALL DelA MOVF 5fh,0 CALL DelA MOVF 60h,0 CALL DelA MOVF 61h,0 CALL DelA MOVF 62h,0 CALL DelA MOVF 63h,0 CALL DelA MOVF 64h,0 CALL DelA MOVF 65h,0 CALL DelA MOVF 66h,0 CALL DelA MOVF 67h,0 RETURN ;************************ DelA MOVWF PORTB MOVLW 0X30 MOVWF DCounter1 LOOP DECFSZ DCounter1, 1 GOTO LOOP BSF PORTA,0 BSF PORTA,1 BCF PORTA,1 RETURN ;*************************** INICIO BANK1 MOVLW b'11111100' MOVWF TRISA ; SETA PORTA COMO ENTRADA MOVLW b'00000000' MOVWF TRISB ; SETA PORTB COMO SAIDA MOVLW b'00001111' MOVWF TRISC ; SETA PORTC COMO ENTRADA MOVLW b'11111111' MOVWF TRISD ; SETA PORTD COMO SAIDA/ENTRADA MOVLW b'00000000' MOVWF TRISE ; SETA PORTE COMO SAIDA MOVLW b'10000001' ; ps0=1;prescale 1:4;psa= timer0;tose=subida;tocs=clockinternorbpu=0pullupativados MOVWF OPTION_REG ; PULL UP DESABILITADOS E TMR0 1:256 MOVLW b'10000000' ; MOVWF INTCON ;INTERRUPÇÃO TIMER0 HABILITADA MOVLW b'00000110' ;00000110 MOVWF ADCON1 BANK0 MOVLW H'7' MOVWF CMCON ;************************************************* clrf load2 clrf load clrf cycles clrf countnum clrf countsp clrf countai clrf countjq clrf countrz clrf rall1 clrf porta clrf portb clrf portc clrf portd clrf porte clrf 73h ; ENTRA clrf 74h ; GOL clrf 75h ; PENALTY goto main END