Elettronica e Radiotecnica > Pic micro
problema ciclo macchina troppo veloce su un listato
scienziato:
salve a tutti , ho fatto una centralina per pilotare dei rele , e houn problema , i 5 giochi sono troppo veloci , per evitare di riscrivere e riprogramare il pic ormai montato in 2 giorni devo risolvere il problema di rallentare il ciclo macchina , ho pensato se al posto di un quarzo da 4mhz si mette uno da 3 mhz si riesce a rallentare il gioco di luci ??
ecco il listato , " santo aiutami tu hihihi " :grin: abbraccino abbraccino :up: :up: :up:
PROCESSOR PIC16F84
INCLUDE "P16F84.INC"
ORG 0
CONT1 EQU 0CH
CONT2 EQU 0DH
CONT3 EQU 0EH
CONT4 EQU 0FH
CONT5 EQU 10H
CONT6 EQU 11H
MOVLW 0FFH
TRIS 05H
MOVLW 00H
TRIS 06H
MOVLW 00H
MOVWF 06H
inizio:
clrf PORTB
btfsc PORTA, 4
goto SCHEMA1
btfsc PORTA, 3
goto SCHEMA1
btfsc PORTA, 2
goto SCHEMA1
btfsc PORTA, 1
goto SCHEMA1
btfsc PORTA, 0
goto SCHEMA1
goto inizio
SCHEMA1: BTFSS 05H,0
GOTO SCHEMA2
MOVLW 00H
MOVWF PORTB
GOTO PRO1
SCHEMA2: BTFSS 05H,1
GOTO SCHEMA3
MOVLW 00H
MOVWF 06H
GOTO PRO2
SCHEMA3: BTFSS 05H,2
GOTO SCHEMA4
MOVLW 00H
MOVWF 06H
GOTO PRO3
SCHEMA4: BTFSS 05H,3
GOTO SCHEMA5
MOVLW 00H
MOVWF 06H
GOTO PRO4
SCHEMA5: BTFSS 05H,4
GOTO SCHEMA1
MOVLW 00H
MOVWF 06H
GOTO PRO5
PRO1: MOVLW 00H
MOVWF 06H
CALL RIT
MOVLW 81H
MOVWF 06H
CALL RIT
MOVLW 0C3H
MOVWF 06H
CALL RIT
MOVLW 0E7H
MOVWF 06H
CALL RIT
MOVLW 0FFH
MOVWF 06H
CALL RIT
MOVLW 0E7H
MOVWF 06H
CALL RIT
MOVLW 0C3H
MOVWF 06H
CALL RIT
MOVLW 81H
MOVWF 06H
CALL RIT
MOVLW 00H
MOVWF 06H
CALL RIT
btfss PORTA, 0
goto inizio
GOTO PRO1
PRO2: MOVLW 01H
MOVWF 06H
CALL RIT
MOVLW 02H
MOVWF 06H
CALL RIT
MOVLW 04H
MOVWF 06H
CALL RIT
MOVLW 08H
MOVWF 06H
CALL RIT
MOVLW 10H
MOVWF 06H
CALL RIT
MOVLW 20H
MOVWF 06H
CALL RIT
MOVLW 40H
MOVWF 06H
CALL RIT
MOVLW 80H
MOVWF 06H
CALL RIT
MOVLW 40H
MOVWF 06H
CALL RIT
MOVLW 20H
MOVWF 06H
CALL RIT
MOVLW 10H
MOVWF 06H
CALL RIT
MOVLW 08H
MOVWF 06H
CALL RIT
MOVLW 04H
MOVWF 06H
CALL RIT
MOVLW 02H
MOVWF 06H
CALL RIT
MOVLW 01H
MOVWF 06H
CALL RIT
MOVLW 02H
MOVWF 06H
CALL RIT
MOVLW 04H
MOVWF 06H
CALL RIT
MOVLW 08H
MOVWF 06H
CALL RIT
MOVLW 10H
MOVWF 06H
CALL RIT
MOVLW 20H
MOVWF 06H
CALL RIT
MOVLW 40H
MOVWF 06H
CALL RIT
MOVLW 80H
MOVWF 06H
CALL RIT
MOVLW 40H
MOVWF 06H
CALL RIT
MOVLW 20H
MOVWF 06H
CALL RIT
MOVLW 10H
MOVWF 06H
CALL RIT
MOVLW 08H
MOVWF 06H
CALL RIT
MOVLW 04H
MOVWF 06H
CALL RIT
MOVLW 02H
MOVWF 06H
CALL RIT
MOVLW 01H
MOVWF 06H
CALL RIT
MOVLW 02H
MOVWF 06H
CALL RIT
MOVLW 04H
MOVWF 06H
CALL RIT
MOVLW 08H
MOVWF 06H
CALL RIT
MOVLW 10H
MOVWF 06H
CALL RIT
MOVLW 20H
MOVWF 06H
CALL RIT
MOVLW 40H
MOVWF 06H
CALL RIT
MOVLW 80H
MOVWF 06H
CALL RIT
MOVLW 40H
MOVWF 06H
CALL RIT
MOVLW 20H
MOVWF 06H
CALL RIT
MOVLW 10H
MOVWF 06H
CALL RIT
MOVLW 08H
MOVWF 06H
CALL RIT
MOVLW 04H
MOVWF 06H
CALL RIT
MOVLW 02H
MOVWF 06H
CALL RIT
MOVLW 01H
MOVWF 06H
CALL RIT
MOVLW 02H
MOVWF 06H
CALL RIT
MOVLW 04H
MOVWF 06H
CALL RIT
MOVLW 08H
MOVWF 06H
CALL RIT
MOVLW 10H
MOVWF 06H
CALL RIT
MOVLW 20H
MOVWF 06H
CALL RIT
MOVLW 40H
MOVWF 06H
CALL RIT
MOVLW 80H
MOVWF 06H
CALL RIT
MOVLW 40H
MOVWF 06H
CALL RIT
MOVLW 20H
MOVWF 06H
CALL RIT
MOVLW 10H
MOVWF 06H
CALL RIT
MOVLW 08H
MOVWF 06H
CALL RIT
MOVLW 04H
MOVWF 06H
CALL RIT
MOVLW 02H
MOVWF 06H
CALL RIT
MOVLW 01H
MOVWF 06H
btfss PORTA, 1
goto inizio
GOTO PRO2
PRO3: MOVLW 01H
MOVWF 06H
CALL RIT
MOVLW 03H
MOVWF 06H
CALL RIT
MOVLW 07H
MOVWF 06H
CALL RIT
MOVLW 0FH
MOVWF 06H
CALL RIT
MOVLW 1FH
MOVWF 06H
CALL RIT
MOVLW 3FH
MOVWF 06H
CALL RIT
MOVLW 7FH
MOVWF 06H
CALL RIT
MOVLW 0FFH
MOVWF 06H
CALL RIT
MOVLW 0FEH
MOVWF 06H
CALL RIT
MOVLW 0FCH
MOVWF 06H
CALL RIT
MOVLW 0F8H
MOVWF 06H
CALL RIT
MOVLW 0F0H
MOVWF 06H
CALL RIT
MOVLW 0E0H
MOVWF 06H
CALL RIT
MOVLW 0C0H
MOVWF 06H
CALL RIT
MOVLW 80H
MOVWF 06H
CALL RIT
MOVLW 0C0H
MOVWF 06H
CALL RIT
MOVLW 0E0H
MOVWF 06H
CALL RIT
MOVLW 0F0H
MOVWF 06H
CALL RIT
MOVLW 0F8H
MOVWF 06H
CALL RIT
MOVLW 0FCH
MOVWF 06H
CALL RIT
MOVLW 0FEH
MOVWF 06H
CALL RIT
MOVLW 0FFH
MOVWF 06H
CALL RIT
MOVLW 7FH
MOVWF 06H
CALL RIT
MOVLW 3FH
MOVWF 06H
CALL RIT
MOVLW 1FH
MOVWF 06H
CALL RIT
MOVLW 0FH
MOVWF 06H
CALL RIT2
MOVLW 07H
MOVWF 06H
CALL RIT2
MOVLW 03H
MOVWF 06H
CALL RIT2
MOVLW 01H
MOVWF 06H
CALL RIT2
btfss PORTA, 2
goto inizio
GOTO PRO3
PRO4: MOVLW 00H
MOVWF 06H
CALL RIT
CALL RIT
CALL RIT
MOVLW 01H
MOVWF 06H
CALL RIT
CALL RIT
CALL RIT
MOVLW 00H
MOVWF 06H
CALL RIT
CALL RIT
CALL RIT
MOVLW 01H
MOVWF 06H
CALL RIT
CALL RIT
CALL RIT
MOVLW 00H
MOVWF 06H
CALL RIT
CALL RIT
CALL RIT
MOVLW 01H
MOVWF 06H
CALL RIT
CALL RIT
CALL RIT
MOVLW 00H
MOVWF 06H
CALL RIT
CALL RIT
CALL RIT
MOVLW 01H
MOVWF 06H
CALL RIT
MOVLW 02H
MOVWF 06H
CALL RIT
MOVLW 04H
MOVWF 06H
CALL RIT
MOVLW 08H
MOVWF 06H
CALL RIT
MOVLW 10H
MOVWF 06H
CALL RIT
MOVLW 20H
MOVWF 06H
CALL RIT
MOVLW 40H
MOVWF 06H
CALL RIT
MOVLW 80H
MOVWF 06H
CALL RIT
MOVLW 40H
MOVWF 06H
CALL RIT
MOVLW 20H
MOVWF 06H
CALL RIT
MOVLW 10H
MOVWF 06H
CALL RIT
MOVLW 08H
MOVWF 06H
CALL RIT
MOVLW 04H
MOVWF 06H
CALL RIT
MOVLW 02H
MOVWF 06H
CALL RIT
MOVLW 01H
MOVWF 06H
CALL RIT
btfss PORTA, 3
goto inizio
GOTO PRO4
PRO5: MOVLW 00H
MOVWF 06H
CALL RIT3
CALL RIT3
MOVLW 18H
MOVWF 06H
CALL RIT3
CALL RIT3
MOVLW 00H
MOVWF 06H
CALL RIT3
CALL RIT3
MOVLW 18H
MOVWF 06H
CALL RIT3
CALL RIT3
MOVLW 00H
MOVWF 06H
CALL RIT3
CALL RIT3
MOVLW 18H
MOVWF 06H
CALL RIT3
CALL RIT3
MOVLW 00H
MOVWF 06H
CALL RIT3
CALL RIT3
MOVLW 24H
MOVWF 06H
CALL RIT3
MOVLW 42H
MOVWF 06H
CALL RIT3
MOVLW 81H
MOVWF 06H
CALL RIT3
MOVLW 42H
MOVWF 06H
CALL RIT3
MOVLW 24H
MOVWF 06H
CALL RIT3
MOVLW 00H
MOVWF 06H
CALL RIT3
btfss PORTA, 4
goto inizio
GOTO PRO5
RIT: MOVLW 78H
MOVWF CONT1
LOOP2: MOVLW 93H
MOVWF CONT2
LOOP1: DECFSZ CONT2
GOTO LOOP1
DECFSZ CONT1
GOTO LOOP2
RETURN
RIT2: MOVLW 94H
MOVWF CONT3
LOOP4: MOVLW 93H
MOVWF CONT4
LOOP3: DECFSZ CONT4
GOTO LOOP3
DECFSZ CONT3
GOTO LOOP4
RETURN
RIT3: MOVLW 79H
MOVWF CONT5
LOOP6: MOVLW 70H
MOVWF CONT6
LOOP5: DECFSZ CONT6
GOTO LOOP5
DECFSZ CONT5
GOTO LOOP6
RETURN
END
Ricciolino:
potresti inserire, dove vuoi, delle chiamate "sleep"
http://utenti.multimania.it/americanchip/pic/sleep.htm
:birra:
Lino:
Perchè invece di utilizzare il quarzo non usi un oscillatore R-C?
Di quanto vorresti rallentare le routine?
Se usi il quarzo da 3 MHz invece di quello da 4 ottieni solo un incremente di 1/4 di tempo, ti è sufficiente?
Con la rete R-C puo oscillare fino a 200 KHz; con i risonatori ceramici, quelli a tre piedini, puoi spaziare fino a 4 MHz, tutto dipende dalle tue esigenze.
Comunque sul datasheet trovi tutte le informazioni precise, anche sui valori dei condensatori da utilizzare.
Saluti, Lino
scienziato:
--- Citazione da: Lino - 14 Febbraio 2012, 13:21:14 ---Perchè invece di utilizzare il quarzo non usi un oscillatore R-C?
Di quanto vorresti rallentare le routine?
Se usi il quarzo da 3 MHz invece di quello da 4 ottieni solo un incremente di 1/4 di tempo, ti è sufficiente?
Con la rete R-C puo oscillare fino a 200 KHz; con i risonatori ceramici, quelli a tre piedini, puoi spaziare fino a 4 MHz, tutto dipende dalle tue esigenze.
Comunque sul datasheet trovi tutte le informazioni precise, anche sui valori dei condensatori da utilizzare.
Saluti, Lino
--- Termina citazione ---
la scia e troppo veloce tantevvero che i rele scattano velocissimi e non si capisce con le lampade a incandescenza , bastarebbe un poco rallentare il ciclo e di conseguenza tutti i giochi memorizzati per capire meglio posto un video , la centralita pilota un carro di carnevale io sono messo all'interno della cabine dove i trasformatori portano le fasi ai contatti dei rele , su ogni contatto dei rele ci sono un massimo di 60 lampade quindi le prime file di tutti i pupazzi , leseconde ,leterze ecc ecc,
ecco un video spero che si capisca !
[youtube]http://www.youtube.com/watch?v=ZOGtUFq856Y&list=HL1329223465&feature=mh_lolz[/youtube]
Lino:
Se non sbaglio, tutta la tempistica fà riferimento alle 3 routine (RIT, RIT2, e RIT3); raddoppia i valori delle costanti alla prima riga di ogni routine (di più non puoi fare) e verifica come cambiano gli effetti.
C'è ancora margine per rallentare le singole routine ma dipende dal risultato che si vuole ottenere.
Saluti, Lino
Navigazione
[0] Indice dei post
Vai alla versione completa