| |
| | #1 (permalink) Top |
| User Data registr.: 21-01-2004 Residenza: Milano
Messaggi: 989
|
Scritto così mi sembra giusto e dovrebbe andare; devi controllare alcune cosette: 1) hai programmato i bit di configurazione per abilitare l'oscillatore, il reset e disabilitare il watch-dog? 2) la tensione variabile per far scattare il comparatore deve essere inviata su GPIO1 (CIN-), altrimenti devi settare CMCON0 a 00011101 3) prova a muovere un bit in uscita e a vedere se il micro funziona 4) se guardi il pin GPIO5 devi usare un oscilloscopio, perchè oscilla e con un tester non vedresti niente... Controlla questi punti e poi ne riparliamo Michele
__________________ __________________________________________________ The worst day flying is better than the best day working. |
| | |
| | #2 (permalink) Top |
| User Data registr.: 27-11-2008 Residenza: vicenza
Messaggi: 8
| ![]() ![]() ![]() onore al merito. cambiato il settaggio di CMCON0.Mi sono piantato perchè da POLLO GPIO1 è il secondo piedino dall'alto del comparatore,io non contavo il Vss quindi il secondo dall'alto è il CIN+. Ho battuto parecchio la testa prima di vedere l'errore, non ho fatto subito quello che mi hai detto perchè ho poco tempo a disposizione. per ora ti ringrazio enormemente. spero di non piantarmi ancora su errori così.Tempo addietro ho fatto un tiro a segno,interamente progettato da me, avevo utilizzato 17 ic a porte logiche, ora vorrei farlo con i pic, molto, ma moto meno complicato. ci sentiamo
|
| | |
| | #3 (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 |
| | |
| | #4 (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. | |
| | |
| | #5 (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 |
| | |
| | #6 (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 |