| | #11 (permalink) Top |
| User Data registr.: 27-11-2008 Residenza: vicenza
Messaggi: 8
| Attivare 2 Uscite
CIAO,ho proseguito il mio circuito, mi sono trovato un piccolo problema, l'ho bypassato ma vorrei sapere il perchè: quando il comparatore mi da uscita alta attiva 2 uscite, con due istruzioni come a seguito non succede nulla: BSF GPIO,LED BSF GPIO,RF ho modificato con MOVLW B'00110000' MOVWF GPIO così ottengo il mio scopo, dopo un tot di tempo devo spegnere il led,mettto BCF GPIO,LED |
| | |
| | #12 (permalink) Top | |
| User Data registr.: 21-01-2004 Residenza: Milano
Messaggi: 989
| Citazione:
Michele
__________________ __________________________________________________ The worst day flying is better than the best day working. | |
| | |
| | #13 (permalink) Top |
| User Data registr.: 27-11-2008 Residenza: vicenza
Messaggi: 8
|
ciao, ho impostato LED e RF in due modi: ho collocato 2 memorie FLY1 EQU 0X24 FLY2 EQU 0X25 poi ho collocato nelle memorie i seguenti binari MOVLW B'00110000' MOVWF FLY1 MOVLW B'00010000' MOVWF FLY2 in questo modo FLY1 mette a valore alto il bit n°5 (LED) e n°4 (RF) è FLY2 mette a valore alto il bit n°4(RF) nel programma ho bisogno di RF attivo e LED lampeggiante per un lasso di tempo x. con l'istruzione go MOVF FLY1,GPIO ;"dovrei" accendere il LED e abilitare l'uscita RF. CALL TIME1 ;tempo di ritardo per lampeggio LED MOVF FLY2,GPIO ;"dovrebbe" spegnere il LED e restare attivo RF. GOTO go invece non si attiva nulla.ho risolto togliendo i FLY1 e FLY2 e modificato il programma così go MOVLW B'00110000' ; ![]() MOVWF GPIO ; ![]() CALL TIME1 ; ![]() MOVLW B'00010000' ; ![]() MOVWF GPIO ; ![]() GOTO go così ho 5 istruzioni dove, secondo il mio ragionamento ne bastano 3! Ho anche provato a mettere FLY1 EQU B'00110000' FLY2 EQU B'00010000' ho tolto le 4 istruzioni per collocare i binari nelle 2 FLY ma nulla ho usato anche #DEFINE FLY1 B'00110000' ; ho anche sostituito il binario con 30H #DEFINE FLY2 B'00010000' ; ho anche sostituito il binario con 10H ma nulla, mi sono tenuto il programma con le faccette. forse è il mio ragionamento che è errato? Ultima modifica di buby72 : 22 gennaio 10 alle ore 23:48 |
| | |
| | #14 (permalink) Top |
| User Data registr.: 21-01-2004 Residenza: Milano
Messaggi: 989
| Non del tutto, ma un po' sì. MOVF FLY1,GPIO Non puoi muovere direttamente il contenuto di un registro in un altro: devi sempre passare dal registro W; l'istruzione MOVF reg,d muove il contenuto del registro in W se d=0 in reg se d=1. Nel tuo caso ti servono due valori costanti da usare per settare le uscite di GPIO; la soluzione più semplice è: #define FLY1 0x30 #define FLY2 0x10 . . . MOVLW FLY1 MOVWF GPIO Michele
__________________ __________________________________________________ The worst day flying is better than the best day working. |
| | |
![]() |
| Bookmarks |
| |
Discussioni simili | ||||
| Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
| Pin Out futaba T9CAP | antonio60 | Radiocomandi | 1 | 14 febbraio 09 15:04 |
| Vref per PIC | Mrk89 | Circuiti Elettronici | 3 | 08 gennaio 09 21:05 |
| New terra pin HPI | Francescorosso | Automodellismo Mot. Scoppio On-Road | 23 | 05 settembre 08 21:29 |
| Timer pin 10 per GMFC | urology | CNC e Stampanti 3D | 2 | 06 aprile 08 22:41 |
| Aiuto PIN | Pepus | Circuiti Elettronici | 3 | 23 febbraio 06 18:42 |