Vizitator s_marius Postat Decembrie 15, 2006 Partajează Postat Decembrie 15, 2006 Salut.Stiu ca exista tata "GOOGLE" dar engleza mea cam lasa de dorit , asa ca:-poate cineva sa ma ajute cu cateva informatii despre ds1307 (serial real-time clock (RTC)).De exemplu cum as putea lucra cu un ds1307 si un at89s52. Link spre comentariu
sborkuti Postat Decembrie 16, 2006 Partajează Postat Decembrie 16, 2006 ce vrei sa stii mai exact? Link spre comentariu
Vizitator s_marius Postat Decembrie 17, 2006 Partajează Postat Decembrie 17, 2006 cum transmite ds1307 secunda, minutul,ora... si cum citeste si in ce adrese salveaza at89s52 aceste variabile. Link spre comentariu
sborkuti Postat Decembrie 17, 2006 Partajează Postat Decembrie 17, 2006 DS1307 comunica prin intermediul I2C bus (de la Philips),practic el este o memorie ram care este citit si scris pe I2C.La adresele 00h pana la 07h sunt adresele unde se afla data si ora in format BCD.Cand vrei sa setezi data si ora scrii la adresele respective,iar cand vrei sa citesti ora si data citesti valorile din adresele respective. Link spre comentariu
Vizitator s_marius Postat Decembrie 17, 2006 Partajează Postat Decembrie 17, 2006 Multumes pentru informatie Link spre comentariu
Vizitator s_marius Postat Ianuarie 2, 2007 Partajează Postat Ianuarie 2, 2007 Am urmarit si datasheet-ul ... dar te rog ...poti fi mai explicit... explica-mi asa mai pe "romaneste" algoritmul de lucru cu 8051 . Link spre comentariu
psanyi Postat Ianuarie 2, 2007 Partajează Postat Ianuarie 2, 2007 Am urmarit si datasheet-ul ... dar te rog ...poti fi mai explicit... explica-mi asa mai pe "romaneste" algoritmul de lucru cu 8051 .Microcontroller-ul 89s52 nu are hardware incorporat pentru comunicare i2c... Daca chiar vrei sa folosesti acest tip de microcontroller trebuie sa scrii o rutina pentru acest tip de comunicatie.. In locul tau as folosi microcontroller din seria AVR in acest caz ...(ATmega8 de ex) Link spre comentariu
sborkuti Postat Ianuarie 3, 2007 Partajează Postat Ianuarie 3, 2007 Am urmarit si datasheet-ul ... dar te rog ...poti fi mai explicit... explica-mi asa mai pe "romaneste" algoritmul de lucru cu 8051 .depinde si cu ce compilator lucrezi dar e plin netul de rutine gata facute pt. protocolul I2C (http://www.8052.com) ,iar daca lucrezi cu un limbaj de nivel inalt,majoritatea au deja implementat I2C Link spre comentariu
Vizitator s_marius Postat Ianuarie 3, 2007 Partajează Postat Ianuarie 3, 2007 Lucrez in assembler si intradevar am gasit rutine pentru protocolul i2c dar nu prea inteleg cum lucreaza.Sunt la inceput de drum in ale mc-ului si engleza mea... Iata o rutina: http://8052.com/codelib/I2C%20library Dar nu prea imi dau seama ce sa fac cu ea. :( Link spre comentariu
bercioiu Postat Aprilie 22, 2011 Partajează Postat Aprilie 22, 2011 Postez si eu aici poate ma ajuta cineva... Am realizat ceasul din lin-kul: http://www.best-microcontroller-project ... ck-ic.html Sunt foarte multumit de precizia sa, merge de o saptamana pe breadboard si a pierdut aproape o secunda. Schema are mici inadvertente, dar citind codul sursa m-am prins cum este cu legaturile la display-ul cu leduri. Am montat al 3-lea digit rasturnat ca sa formez acele doua puncte intre ore si minute si acum am nevoie de putin ajutor din partea unui cunoscator al programarii: Vreau sa introduc o linie in program sa obtin semnal de 1 hz pe pinul 7 (SQW/OUT) al ceasului DS1307. Dupa indelungi cautari si discutii am gasit ceva de genul acesta: " I2COUT SDA, SLC, Schrijven ,$07 , [%00010000] " pus la inceputul codului deja existent si recompilat din nou codul. Sincer am incercat, dar imi da tot felul de erori. Atasez in continuare fisierele dupa care am pus in practica acel proiect. In speranta ca ma va ajuta cineva, va multumesc anticipat! Link spre comentariu
bercioiu Postat Aprilie 26, 2011 Partajează Postat Aprilie 26, 2011 Nu ma poate ajuta nimeni? Link spre comentariu
Liviu M Postat Aprilie 26, 2011 Partajează Postat Aprilie 26, 2011 Cred ca in fisierul 16F88_RTC_DS1307.c, in main, dupa init_ds1307(); iti trebuie o linie de genul:write_DS1307(7, 0x10);Adica scrii in DS, la adresa 7, 0x10:Bit 4: Square-Wave Enable (SQWE). This bit, when set to logic 1, enables the oscillator output. The frequency of the square-wave output depends upon the value of the RS0 and RS1 bits. With the square-wave output set to 1Hz, the clock registers update on the falling edge of the square wave. On initial application of power to the device, this bit is typically set to a 0.Bits 1 and 0: Rate Select (RS[1]). These bits control the frequency of the square-wave output when the square-wave output has been enabled. The following table lists the square-wave frequencies that can be selected with the RS bits. On initial application of power to the device, these bits are typically set to a 1. Link spre comentariu
bercioiu Postat Aprilie 29, 2011 Partajează Postat Aprilie 29, 2011 Cred ca in fisierul 16F88_RTC_DS1307.c, in main, dupa init_ds1307(); iti trebuie o linie de genul:write_DS1307(7, 0x10); Stiu ca mai trebuie acea linie trecuta in codul sursa dar problema este ca nu ma descurc, de aceea am cerut ajutorul pe forum si am postat si codul sursa, poate gasesc pe cineva sa ma ajute. Sincer am incercat dar nu ma pricep sa compilez... :cry: Link spre comentariu
Liviu M Postat Aprilie 29, 2011 Partajează Postat Aprilie 29, 2011 Dupa ce am inlocuit data cu dataLoc in cateva functii (se pare ca intre timp data a devenit cuvant rezervat) si dupa ce am schimbat Bcd2Dec() in Bcd2Dec16() in vreo 2 locuri, (numai functia asta am gasit-o printre bibliotecile mikroC), am reusit sa compilez programul (pentru 16F88 si clock de 8MHz.) Anexez proiectul complet, asa cum se compileaza la mine (folosesc o varianta demo a mikroC Pro v3.2); desi ar trebui ca fisierul realTimeClock.hex sa fie suficient, poate o sa vrei sa mai modifici cate ceva (sunt sanse ca daca ai proiectul complet sa mearga; nu sunt sigur ca nu prea am folosit mikroC). PS Posturile tale ar sta mai bine la PIC. Link spre comentariu
bercioiu Postat Aprilie 30, 2011 Partajează Postat Aprilie 30, 2011 Am pus hexul modificat de tine dar nu-mi afiseaza nimic In schimb DS-ul scoate 1 Hz pe pinul 7 ... Daca scot picul cu hexul tau si bag alt pic cu hexul original, merge tot, adica afiseaza normal si "bate" si secunda pe led. Daca intrerup bateria de back-up de la DS cu alimentarea oprita, normal, revine la starea initiala adica afiseaza ceasul dar nu mai am 1 Hz pe pinul 7. Cu modificarea facuta de tine trebuie sa setez altceva in fusebiti decat setarile originale? Acum am config wold 3F310 adica toate pe off in afara de Power Up Timer care este pe on si OSC intern. Rog un moderator sa mute posturile mele la PIC. Am postat aici sa nu deschid alt topic pentru DS1307. Multumesc! Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum