Pagina 1 di 3

Utilizzo del DS1302 con PIC16F690

MessaggioInviato: 14 feb 2012, 23:52
da Paolino
Ricevo questo messaggio in MP da Foto Utenteciclingman, messaggio che riporto interamente. L'utente Foto Utenteciclingman ha avuto difficoltà ad aprire un thread, pertanto l'ho fatto io.

ciclingman ha scritto:Ciao Paolino, ho letto la tua lezione riguardo il datario. Io sono un programmatore amatoriale che da poco si occupa di programmazione C sui processori PIC. Sto cercando di visualizzare anche solo i secondi che scorrono su un display alfanumerico mediante un PIC16F690. Premetto che l'hardware e' a posto, completo di datario e quarzo 32768 kHz. Dopo aver scritto il software che scrive il primo byte sul fronte di salita (0x81), all'ultimo fronte di salita scrive e sul fronte di discesa legge il primo bit restituito dal datario e cosi' via per altre 7 volte. Visualizzo sempre 00. I miei tabu' sono molti: i bye che vado a scrivere e leggere partono dal bit 7 o bit 0? La porta I/O del PIC va settata in scrittura OUT e in lettuta IN? Che cosa vuol dire CH nel byte dei secondi? Quando si cambia il fronte del clock va posta una pausa? Queste sono tutte cose che nel datasheet non sono spiegate. Aiutami per favore
Ciao
Fabrizio


Da ora, la discussione sull'argomento continua qui.

Ciao.

Paolo.

Re: Utilizzo del DS1302 con PIC16F690

MessaggioInviato: 15 feb 2012, 0:02
da ciclingman
Ciao Paolino, ho letto la tua lezione riguardo il datario. Io sono un programmatore amatoriale che da poco si occupa di programmazione C sui processori PIC. Sto cercando di visualizzare anche solo i secondi che scorrono su un display alfanumerico mediante un PIC16F690. Premetto che l'hardware e' a posto, completo di datario e quarzo 32768 kHz. Dopo aver scritto il software che scrive il primo byte sul fronte di salita (0x81), all'ultimo fronte di salita scrive e sul fronte di discesa legge il primo bit restituito dal datario e cosi' via per altre 7 volte. Visualizzo sempre 00. I miei tabu' sono molti: i bye che vado a scrivere e leggere partono dal bit 7 o bit 0? La porta I/O del PIC va settata in scrittura OUT e in lettuta IN? Che cosa vuol dire CH nel byte dei secondi? Quando si cambia il fronte del clock va posta una pausa? Queste sono tutte cose che nel datasheet non sono spiegate. Aiutami per favore
Ciao
Fabrizio

Re: Utilizzo del DS1302 con PIC16F690

MessaggioInviato: 15 feb 2012, 0:34
da AjKDAP
Provo a dare delle risposte,

ciclingman ha scritto:Queste sono tutte cose che nel datasheet non sono spiegate...
...i bytes che vado a scrivere e leggere partono dal bit 7 o bit 0?


se parli di questo datasheet a pagina 8 puoi vedere la sequenza temporale di ricezione dei bytes che sono LSB first, ovvero prima il bit 0 e poi fino al 7. Infatti a pagina 6 specificano:
Data is output starting with bit 0.

e lo stesso per i dati in input ;-)

ciclingman ha scritto:Quando si cambia il fronte del clock va posta una pausa?


idem come sopra, leggendo il datasheet puoi vedere a pagina 11 che se stai lavorando a 5V il tempo minimo che il clock deve rimanere alto o basso (CLK High Time e CLK Low Time) è di 250 nano secondi.

ciao :ok:

Re: Utilizzo del DS1302 con PIC16F690

MessaggioInviato: 15 feb 2012, 1:05
da ciclingman
Grazie Paolo, domani provero' e ti diro' qualcosa, garzie di nuovo

Re: Utilizzo del DS1302 con PIC16F690

MessaggioInviato: 15 feb 2012, 1:25
da DirtyDeeds
ciclingman ha scritto:Grazie Paolo, domani provero' e ti diro' qualcosa, garzie di nuovo


Foto UtenteAjKDAP non si chiama Paolo ;-)

Re: Utilizzo del DS1302 con PIC16F690

MessaggioInviato: 15 feb 2012, 1:28
da AjKDAP
:mrgreen:

Re: Utilizzo del DS1302 con PIC16F690

MessaggioInviato: 16 feb 2012, 22:26
da ciclingman
Ciao Paolo, ho provato a far funzionare il datario DS1302, seguendo le tue dritte ma niente!
io adesso vado a scrivergli 0x8E come byte di controllo, opportunamente settando la porta del PIC di I/O come uscita, poi vado a scrivergli un byte 0x00 per settare il CH e quindi abilitargli il clock,
poi davo a scrivergli il byte 0x81 per digli che andro' a leggere i secondi ed infine vado a leggere un byte di soli 7 bit che sono i secondi avendo settato la porta di I/O come entrata. Vedo sempre i caratteri 00 anche se tolgo il datario dallo zoccolo. Ho provato anche a collegare una resistenza da 10 k in parallelo tra la porta I/O e il +5V. Non so piu' cosa fare, ciao

Re: Utilizzo del DS1302 con PIC16F690

MessaggioInviato: 16 feb 2012, 23:04
da OberoN
ciclingman ha scritto:Ciao Paolo

Il fantomatico Paolo si dà da fare :mrgreen:

Re: Utilizzo del DS1302 con PIC16F690

MessaggioInviato: 17 feb 2012, 0:12
da ciclingman
Invece di correggermi nel chiamare Paolo una persona che si chiama Paolino, potresti darmi qualche dritta sul mio problema, ammesso che ci riesca

Re: Utilizzo del DS1302 con PIC16F690

MessaggioInviato: 17 feb 2012, 0:15
da ciclingman
...che poi si chiama Paolo!!!