CARIOLA#91 Inserita: 21 gennaio 2004 Segnala Share Inserita: 21 gennaio 2004 Ciao a tutti.Io sono un ignorante assoluto e mi sono iscritto a questo forum soltanto (per adesso) perchè ho la necessità di costruirmi un tale orologio.Lo schema che ho adottato l'ho copiato da qui: http://spazioinwind.libero.it/nferrarese/e...er/pictimer.htmCon buona pace di quelli che pensano che le cose bisogna inventarle! Link al commento Condividi su altri siti More sharing options...
aleda5859 Inserita: 21 gennaio 2004 Autore Segnala Share Inserita: 21 gennaio 2004 Bhè vedi,il fatto era che partendo da zero potevo imparare meglio il percorso,difficoltà e soddisfazioni di un progetto.. stessa cosa per i componenti scelti..utilizzando decodifiche ecc sarebbe stato più facile fare il sw ma avrei appreso meno.. ecco tutto.Grazie però per l'intervento potrebbe essere d'aiuto.. e benvenuto tr anoi! Link al commento Condividi su altri siti More sharing options...
CARIOLA#91 Inserita: 21 gennaio 2004 Segnala Share Inserita: 21 gennaio 2004 Il fatto è che programmare da zero e progettare una cosa così va molto aldilà delle mie competenze, mentre questo oggetto mi serve con una certa urgenza.Comunque poi le cose si imparano con pazienza. Link al commento Condividi su altri siti More sharing options...
bit Inserita: 22 gennaio 2004 Segnala Share Inserita: 22 gennaio 2004 Capisco l'urgenza. Se il progetto descritto nelle pagine che citi è quello che ti serve non hai che da realizzarlo. Non l'ho guardato attentamente, ma mi sembra che sia fornita tutta la documentazione per realizzarlo senza problemi.Quello descritto è un timer (mi pare) qua invece stiamo realizzando un orologio, un po' differente. Se ti interessa piano piano lo realizzaremo.Comunque benvenuto!Ciao!Per Aleda5859: A che punto è la realizzazione? Link al commento Condividi su altri siti More sharing options...
aleda5859 Inserita: 23 gennaio 2004 Autore Segnala Share Inserita: 23 gennaio 2004 Sto collegando tutti i cavetti.. senti non sò come ho fatto ma ho perso i led(s) .. e indovina.. mi è venuta la febbre.. vorrei continuare quindi ho deciso di collegare il tutto per il momento senza i diodi.. va bene? così da provare per adesso interruttori e display.. Link al commento Condividi su altri siti More sharing options...
aleda5859 Inserita: 24 gennaio 2004 Autore Segnala Share Inserita: 24 gennaio 2004 Ta tara ta ta ta-tara-tata tataraaaa-taaaaaaaaaaaa!Ecco la bread finita... wow..che casino!Ma in linea di massima riesco a capirci.. che ne dite?Cominciamo col software? Link al commento Condividi su altri siti More sharing options...
aleda5859 Inserita: 24 gennaio 2004 Autore Segnala Share Inserita: 24 gennaio 2004 dimenticavo la foto.. che cervello!eccola: Link al commento Condividi su altri siti More sharing options...
bit Inserita: 25 gennaio 2004 Segnala Share Inserita: 25 gennaio 2004 Non ho capito bene cosa manca: i led o i diodi per i pulsanti?A che livello sei per la programmazione del pic? Link al commento Condividi su altri siti More sharing options...
aleda5859 Inserita: 25 gennaio 2004 Autore Segnala Share Inserita: 25 gennaio 2004 Mancano i led.. i diodi per la programmazione dei pulsanti sono in fondo a destra.. alto.Programmazione? a zero.. non avevamo detto di fare prima la bread? Link al commento Condividi su altri siti More sharing options...
bit Inserita: 26 gennaio 2004 Segnala Share Inserita: 26 gennaio 2004 Non vedo l'immagine, ma è lo stesso...Si, beh, non mi riferivo a questo progetto in particolare, intendevo se avevi mai fatto programmini per pic, anche semplici, o almeno letto qualcosa sull'argomento, tanto per conoscere almeno le istruzioni, o come impostare un programma.Se non hai letto mai nulla ti consiglio il corso pubblicato su http://www.tanzilli.com/?id=207 è fatto molto bene e parte davvero da zero.Poi cominceremo con i primi programmini.Beh, appena ti sei documentato un po' prova a fare un programma che faccia le seguenti funzioni:Programma 1:Configurare i bit della porta A come uscite.Configurare i primi 7 bit della porta B come uscite (quelli che vanno ai display).Configurare l'ultimo bit della porta B come ingresso (quello con i pulsanti collegati)Mettere a 1 il bit della porta A che pilota il primo display (lascia a 0 gli altri)Mettere a 1 tutti i bit di uscita della porta B.Si dovrebbero accentere tutti i segmenti del primo display.Fine del primo programma di test.Buon lavoro. Link al commento Condividi su altri siti More sharing options...
aleda5859 Inserita: 26 gennaio 2004 Autore Segnala Share Inserita: 26 gennaio 2004 Si ho letto qualcosa..(direi più di qualcosa..) provo a postare il programmino allora..tento di rimandare l'immagine.. non la vedo neanche io.. :-( Link al commento Condividi su altri siti More sharing options...
aleda5859 Inserita: 27 gennaio 2004 Autore Segnala Share Inserita: 27 gennaio 2004 ecco lo schema..______________________________________________________________________________________________PROCESSOR 16F84RADIX DECINCLUDE "P16F84.INC"ORG 0CHcount RES 2ORG 00Hbsf STATUS,RP0movlw 00000000movwf TRISAmovlw 10000000movwf TRISBbsf PORTA,00001000bsf PORTB,11111111END Link al commento Condividi su altri siti More sharing options...
bit Inserita: 27 gennaio 2004 Segnala Share Inserita: 27 gennaio 2004 Non c'è male per essere tra i primi programmi, ti faccio solo alcune osservazioni.Ecco il tuo programma con le correzioni: PROCESSOR 16F84 ;intestazione corretta RADIX DEC INCLUDE "P16F84.INC";per ora questa parte non serve; ORG 0CH ; count RES 2 ORG 00H ;inizio programma, per ora va bene così, poi vedremo ;di spostarlo più avanti, dobbiamo lasciare spazio ;al vettore di interruzione bsf STATUS,RP0 ;corretto, i registri tris sono nel bank 1 movlw B'00000000' movwf TRISA movlw B'10000000' movwf TRISB bcf STATUS,RP0 ;alla fine però è necessario reimpostare il bank 0 ;dove si trovano tutti i registri usati solitamente;qua hai fatto un po' di confusione tra due istruzioni diverse:; bsf PORTA,B'00001000'; bsf PORTB,B'11111111';la sintassi corretta è questa (volendo impostare tutti i bit di una porta in un colpo solo): movlw B'00001000' movwf PORTA movlw B'11111111' movwf PORTB;inoltre secondo la direttiva RADIX messa in alto i numeri sono espressi in decimale.;se vuoi introdurli in binario devi metterli tra apici e farli precedere dalla lettera B;come ti ho corretto;l'istruzione bsf (e bcf) impostano invece un solo bit per volta;quello che abbiamo fatto sopra con 4 istruzioni lo faremmo così: bcf PORTA,0 ;bcf porta il bit a zero bcf PORTA,1 bcf PORTA,2 bcf PORTA,3 bsf PORTA,4 bsf PORTB,0 ;bsf invece lo porta a uno bsf PORTB,1 bsf PORTB,2 bsf PORTB,3 bsf PORTB,4 bsf PORTB,5 bsf PORTB,6 END Link al commento Condividi su altri siti More sharing options...
bit Inserita: 27 gennaio 2004 Segnala Share Inserita: 27 gennaio 2004 Ah! Le parti scritte dopo il punto e virgola sono tutti commenti. Il compilatore ignora ciò che si trova dopo di essi, quindi non fanno parte del programma.Possiamo usare questo trucco anche per bloccare l'esecuzione di una istruzione durante un test, senza doverla cancellare. Link al commento Condividi su altri siti More sharing options...
aleda5859 Inserita: 4 febbraio 2004 Autore Segnala Share Inserita: 4 febbraio 2004 Scusate ragazzi..ma mi hanno fatto saltare il compu un altra volta..e come se non bastasse la donna delle pulizie ha decisamente annientato il programmatore... I lavori saranno ritardati di un pochetto...bit non hai qualche altra direttiva da farmi provare a scrivere..così che intanto faccio esercizio e ampliamo il codice?Scusate... Link al commento Condividi su altri siti More sharing options...
bit Inserita: 4 febbraio 2004 Segnala Share Inserita: 4 febbraio 2004 (modificato) Beh, se hai già testato questo programma e tutti i display puoi procedere con questi semplici programmini:1-Far lampeggiare tutti i segmenti di un display alla cadenza di 1 lampeggio al secondo.2-Realizzare l'effetto supercar (avanti e indietro) con i 7 led.Ciao. Modificato: 4 febbraio 2004 da bit Link al commento Condividi su altri siti More sharing options...
aleda5859 Inserita: 5 febbraio 2004 Autore Segnala Share Inserita: 5 febbraio 2004 ok..allora..lampeggio di tutti i display ad un secondo e supercar.. intanto provo pe ril primo!Grazie ancora bit.Questo è un progetto che vorrei portare alla maturità..credete che faremo in tempo per i primi di Giugno?Ancora mile grazie! Link al commento Condividi su altri siti More sharing options...
bit Inserita: 5 febbraio 2004 Segnala Share Inserita: 5 febbraio 2004 Beh, per lo più dipende da te e dalle tue capacità.Penso comunque che sia fattibilissimo.Buon lavoro!Ciao! Link al commento Condividi su altri siti More sharing options...
aleda5859 Inserita: 6 febbraio 2004 Autore Segnala Share Inserita: 6 febbraio 2004 Ok grazie per la fiducia..Per fare il lampeggio ad un sec di distanza ( temporale ) devo impostare un ritardo nella istruzione di RETURNo mettere un clock? Link al commento Condividi su altri siti More sharing options...
bit Inserita: 7 febbraio 2004 Segnala Share Inserita: 7 febbraio 2004 Non capisco la domanda.Ti do un suggerimento. Poichè il programma dovrà solo accendere e spengere il display puoi crearti una subroutine di ritardo da 0,5 secondi; Il programma principale dovra quindi accendere il display, eseguire il ritardo, spengere il display, eseguire di nuovo il ritardo e ricominciare dall'accensione.Ciao! Link al commento Condividi su altri siti More sharing options...
dlgcom Inserita: 7 febbraio 2004 Segnala Share Inserita: 7 febbraio 2004 Aleda,Non vorrei essere insistente , ma penso che dovresti studiarti le istruzioni base e l'uso del timer a bordo del pic .Senza queste nozioni , non potrai fare molto.Per esempio una istruzione base come BSF si usa per un bit e non un byte .Leggi nella documentazione come funziona il TMR 0 che e' il principale , quali sono i registri associati e come funziona il prescaler.Con questo strumento ti sara' facilissimo fare un ritardo.Se non hai bisogno di precisione puoi anche usare un lool con un numero fisso di cicli che ti daranno un ritardo, ma devi sapere come associare un valora ad una variabile , come fare un salto condizionato ecc.Quello che dice Bit e' giustissimo , ma come avevamo consigliato, questa fase avresti duvuto gia' passarla se avessi letto il corso di Tanzilli .In questo corso ci sono gia' questi esempi per chiarire le basi della programmazione PIC.E' normale che per il grande entusiasmo si voglia saltare delle fasi , ma e' come cercare di risolvere i sistemi senza sapere la tabellina del 9 o cosa significa il simbolo "+". Ora passiamo ai fatti Il primo passo quindi e' creare una routine di ritardo per far lampeggiare il tuo led.Ti faccio una domanda : come faresti tu una routine di ritardo?Anche senza entrare in dettagli con le istruzioni , ma prova a costruire una logica su un pezzo di carta ... Link al commento Condividi su altri siti More sharing options...
CARIOLA#91 Inserita: 9 febbraio 2004 Segnala Share Inserita: 9 febbraio 2004 Riciao a tutti!Sono riuscito a completare il mio conto alla rovescia e per questo sono molto fiero.A questo punto sto studiando il corso di Tanzilli per poter progettare qualcosa da solo.Però ho una domanda pertinente: se volessi realizzare un orologio con display molto più grandi e visibili in pieno sole, come potrei fare?Ho pensato a due cose: o fare dei display mettendo 5-6 led per ogni segmento (i d7s grandi costano un putiferio), oppure farli elettromeccanici.Se volessi mettere tanti led in parallelo su ogni singola linea, mantenendo una luminosità accettabile, come farei a calcolare la resistenza da mettere in serie a monte di questi?Qualcuno sa inoltre se esistono in commercio display 7s elettromeccanici? (ci sono in alcuni distributori di benzina).Grazie ancora.P.S. per Aleda: non ti scoraggiare; sono riuscito a fare un circuito stampato a doppia faccia senza bromografo, senza pennarelli, se vuoi ti scrivo come ho fatto via IM! Link al commento Condividi su altri siti More sharing options...
bit Inserita: 9 febbraio 2004 Segnala Share Inserita: 9 febbraio 2004 Ho pensato a due cose: o fare dei display mettendo 5-6 led per ogni segmento (i d7s grandi costano un putiferio), oppure farli elettromeccanici Link al commento Condividi su altri siti More sharing options...
aleda5859 Inserita: 15 febbraio 2004 Autore Segnala Share Inserita: 15 febbraio 2004 Salve a tutti,mi scuso per i ritardi ma essendo in vacanza non ho trovato un attimo per rispondere..Il corso di tanzilli l'avevo studiato.. solo che passato un pò di tempo,essendomi dovuto concentrare sulla bread bord,ho un pò rimosso.. avevo anche scritto qualche programmino per conto mio.. e sommariamente credo tornassero.In effetti poi,quando ho ricontrollato avrei potuto correggermi il prog da solo..darò una riguardata e poi posterò qualche idea..GRAZIEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE Link al commento Condividi su altri siti More sharing options...
aleda5859 Inserita: 21 febbraio 2004 Autore Segnala Share Inserita: 21 febbraio 2004 Va bene una cosa del genere?PER ADESSO HO SOLO COMPILATO LA FUNZIONE RITARDO..poi dovrei fare controllare al pic quando TMR0 è a zero e reimpostarlo (inizializzarlo giusto?) un altra volta a 125 .. è corretto?Poi controllare che Count non sia a zero.. quando questo arriva a quel valore allora è passato un secondo e faccio spegnere i led per un altro secondo..e così via... una domanda: Nella compilazione dei valori OPTION_REG a che corrispondono i vari bit?bit0 : PS01: PS12:PS23:PSA4:TOCSE POI????? Quelli che ho scritto prima sono corretti??????aiuto... PROCESSOR 16F84aRADIX DECINCLUDE “P16F84.INC”ORG 0CHCOUNT RES 2 ORG 00H bsf STATUS,RP0 movlw ‘1000 0000’ movwf TRISB movlw ‘1111 0000’ movwf TRISA bcf STATUS,RP0 movlw ‘0111 1111’ movwf PORTB movlw ‘00001111’ movwf PORTA ;subroutine Delay Delay movlw ‘00000110B’ movwf OPTION_REG movlw 125 movwf TMR0 movlw 131 movwf COUNT Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora