hvor de kan finde RTC programmer bruger Dallas DS1307?

W

weifeng

Guest
hej,

Jeg har brug for at finde en RTC program bruger DS1307 chip.Jeg bruger PIC18F452, MPLAB IDE/C18 compiler.Kan nogen fortælle mig, hvor kan jeg finde det?Thanx.

 
Xiaomi jak wiadomo jest największym producentem telefonów w Chinach i rozwija się w niewiarygodnym tempie. Zawdzięcza to dobrej jakości swoich produktów oferowanych w atrakcyjnej cenie. Stąd też duży nacisk chińskiego producenta na częstą aktualizację portfolio swoich wyrobów. Tym razem modernizacji uległ największy z telefonów Xiaomi, przy okazji ...

Read more...
 
Jeg er bange for, at jeg ikke forstår spørgsmålet.
Den DS1307 er RTC.Alt hvad du behøver at gøre er virkelig bruge I2C interface til at læse / skrive register.

 
se dette link:
http://www.sixca.com/micro/pic/ds1307/
sin C-kildekode (link) er i bunden af denne side<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />Hilsen,
Davood.

 
hej.thanx for hjemmesiden link.sin programmet im konstatering.thanx a lot.

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Smile" border="0" />
 
Hej,

Hør her:

DS1307 Real Time Clock eksempel med PIC16f88:

http://www.sparkfun.com/datasheets/Components/rtc-demo.zip

 
Hej,
Hvis du bruger CCS C compiler får du eksempelkode til DS1307.

Farvel

 
Hej alle.realiteter thanx for al den hjælp gives.

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Smile" border="0" />
 
hej,
vedrørende Abt tis website = http://www.sixca.com/micro/pic/ds1307/
kildekoden i det, jeg fik summen dele af udtalelser ikke helt forstå det.
hvad er # brug
# sikringer
# bruge????
anyway samtidig forsøger at interface wif min chip, denne del cums ud som en fejl.
det gør man ved, hvordan skal jeg ændre det?
Thanx.

 
Hej,
Jeg har lige nu arbejder med DS1307 om mine fire 7-segment ur projektet.Her er koden.Jeg skriver det i Hi-tech-C for PIC.

første erklærer:

usignerede CHAR rtcvalue_bin, rtcvalue_bcd, rtcreg;
usignerede CHAR rtensec, rsec, rtenmin, rmin, rtenhour, rhour, rday, rtendate, rdate, rmonth, rtenmonth, rtenyear, ryear;

void rtc_read (usignerede char * rtc_buffer);

Derefter:

void read_ds (void)
(
usignerede CHAR RTC [8];
rtc_read (RTC); / / RTC læse delrutinen forvandleTil
rsec = (RTC [0] & 0x0f); / / sekunder
rtensec = (RTC [0]>> 4);
rmin = (RTC [1] & 0x0f); / / minutter
rtenmin = (RTC [1]>> 4);
rhour = (RTC [2] & 0x0f); / / timer
rtenhour = (RTC [2]>> 4);
rday = (RTC [3] & 0x0f); / / ugedag
rdate = (RTC [4] & 0x0f); / / dato
rtendate = (RTC [4]>> 4);
rmonth = (RTC [5] & 0x0f);
rtenmonth = ((RTC [5] & 0b00010000)>> 4);
ryear = (RTC [6] & 0x0f); / / år
rtenyear = (RTC [6]>> 4);
)

void rtc_set (usignerede CHAR rtcreg)
(
SEN = 1 / / sende start bit START
mens (SEN); / / og vente på det til at klare
ACKDT = 0; / / anerkende bit

SSPIF = 0;
SSPBUF = 0xD0 / / indstille enheden adresse 0xd0 / / skrive SLAVE ADRESSE
while (! SSPIF); / / vente for afbryder
SSPIF = 0; / / derefter klare det.

SSPBUF = rtcreg / / register vælge RTC WORD ADRESSE
while (! SSPIF); / /
SSPIF = 0 / /

SSPBUF = rtcvalue_bcd / / skrive data til RTC DATA 0
while (! SSPIF); / / vente for afbryder
SSPIF = 0; / / derefter klare det.

PEN = 1 / / sende stop bit STOP
mens (PEN);
)

void rtc_read (usignerede char * rtc_buffer) / / i2c RTC læse 8 bytes
(
SEN = 1 / / sende start bit START
mens (SEN); / / og vente på det til at klare
ACKDT = 0; / / anerkende bit

SSPIF = 0;
SSPBUF = 0xd0 / / indstille enheden adresse 0xd0 / / skrive SLAVE ADRESSE
while (! SSPIF); / / vente for afbryder
SSPIF = 0; / / derefter klare det.

SSPBUF = 0; / / læses fra adressen 0 = register 0, RTC WORD adresse - kontrol 1
while (! SSPIF); / / vente for afbryder
SSPIF = 0; / / derefter klare det.

RSEN = 1 / / sende gentagne start bit GENTAGES START
while (RSEN); / / og vente på det til at klare

SSPIF = 0;
SSPBUF = 0xd1 / / indstille enheden adresse - læs WORD adresse - CONTROL 2
while (! SSPIF); / / vente for afbryder
SSPIF = 0; / / derefter klare det.

RCEN = 1 / / begynde at modtage READ & ACK buffer 0
while (! STAT_BF); / / vente på data
rtc_buffer [0] = SSPBUF; / / og få den / / buffer
ACKEN = 1 / / start anerkende sekvens
while (ACKEN); / / vente på ack.sekvens for at afslutteRCEN = 1 / / begynde at modtage READ & ACK buffer 1
while (! STAT_BF); / / vente på data
rtc_buffer [1] = SSPBUF; / / og få den / / buffer
ACKEN = 1 / / start anerkende sekvens
while (ACKEN); / / vente på ack.sekvens for at afslutte

RCEN = 1 / / begynde at modtage READ & ACK buffer 2
while (! STAT_BF); / / vente på data
rtc_buffer [2] = SSPBUF; / / og få den / / buffer
ACKEN = 1 / / start anerkende sekvens
while (ACKEN); / / vente på ack.sekvens for at afslutte

RCEN = 1 / / begynde at modtage READ & ACK buffer 3
while (! STAT_BF); / / vente på data
rtc_buffer [3] = SSPBUF; / / og få den / / buffer
ACKEN = 1 / / start anerkende sekvens
while (ACKEN); / / vente på ack.sekvens for at afslutte

RCEN = 1 / / begynde at modtage READ & ACK buffer 4
while (! STAT_BF); / / vente på data
rtc_buffer [4] = SSPBUF; / / og få den / / buffer
ACKEN = 1 / / start anerkende sekvens
while (ACKEN); / / vente på ack.sekvens for at afslutte

RCEN = 1 / / begynde at modtage READ & ACK buffer 5
while (! STAT_BF); / / vente på data
rtc_buffer [5] = SSPBUF; / / og få den / / buffer
ACKEN = 1 / / start anerkende sekvens
while (ACKEN); / / vente på ack.sekvens for at afslutte

RCEN = 1 / / begynde at modtage READ & ACK buffer 6
while (! STAT_BF); / / vente på data
rtc_buffer [6] = SSPBUF; / / og få den / / buffer
ACKEN = 1 / / start anerkende sekvens
while (ACKEN); / / vente på ack.sekvens for at afslutte

RCEN = 1 / / begynde at modtage READ LAST & NO ACK buffer 7
while (! STAT_BF); / / vente på data
rtc_buffer [7] = SSPBUF; / / og få den / / buffer7
ACKDT = 1 / / ikke anerkende for sidste byte

PEN = 1 / / sende stop bit STOP
mens (PEN);
)I vigtigste program, du skal oprette I2C bus og bruge denne til at starte DS1307:

void Main (void)
(
.
.
rtcreg = 0x00;
rtcvalue_bcd = 0b00000000;
rtc_set (rtcreg);
DelayMs (10);
mens (1)
(
.
.
.IT skal arbejde

 
hej,
de las del af programmet, som er til at starte op I2C bus, de "dot prikker" i mellem og efter skal tilføje noget ritual?hvad der skal tilføjes?

 
Hej,
Jeg skrev du, at du skal starte RTC før mens løkke, og i mens loop skrive hvad du ønsker.Og før RTC blokere oprettet I2C registre.

 
WEIFENG ..
JA!AT rutiner VÆRKER kan du gå til siden www.techdesign.be / projects.htm Hvis du vil hente Project ..Lagt efter 6 minutter:HVIS DU gonna BRUGE C18 compiler, skal ændre navnet på den BITS
IE.CHANGE
mens (PEN), at mens (SSPCON2bits.PEN);

 
hej,
Jeg prøvede det program, men den her ud:

»SEN« er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 30: Fejl [1101] lvalue kræves
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 31: Fejl [1105] symbolet »SEN« er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 32: Fejl [1105] symbolet »ACKDT 'er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 32: Fejl [1101] lvalue kræves
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 34: Fejl [1105] symbolet »SSPIF 'er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 34: Fejl [1101] lvalue kræves
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 36: Fejl [1105] symbolet »SSPIF 'er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 37: Fejl [1105] symbolet »SSPIF 'er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 37: Fejl [1101] lvalue kræves
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 40: Fejl [1105] symbolet »SSPIF 'er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 41: Fejl [1105] symbolet »SSPIF 'er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 41: Fejl [1101] lvalue kræves
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 44: Fejl [1105] symbolet »SSPIF 'er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 45: Fejl [1105] symbolet »SSPIF 'er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 45: Fejl [1101] lvalue kræves
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 47: Fejl [1105] symbol 'Pen' er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 47: Fejl [1101] lvalue kræves
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 48: Fejl [1105] symbol 'Pen' er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 53: Fejl [1105] symbolet »SEN« er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 53: Fejl [1101] lvalue kræves
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 54: Fejl [1105] symbolet »SEN« er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 55: Fejl [1105] symbolet »ACKDT 'er ikke defineret
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 55: Fejl [1101] lvalue kræves
C: \ Documents and Settings \ bruger \ Dokumenter \ testing.c: 57: Fejl [1105] symbolet »SSPIF 'er ikke defineret
Stop bygge på første svigt som ønsket.

kom ud som fejl ....

 
Hej,
Jeg har kildekoden til keil compiler (C51).
Beklager, men du skal login for at se denne tilslutningskrav

 
hej,

kildekoden i Dallas Jeg forsøgte allerede, at der stadig er fejl ...

 
hej,

samtidig forsøger at opbygge mit program, i stil står over for mange fejl i det ...???

enhver kender hw SHD jeg ændre dette: void read_clock (byte control_reg)???Thanx.

 
kan nogle finde en fejl på denne kode?
brug Proteus, keil
Beklager, men du skal login for at se denne tilslutningskrav

 
Der er nogle gode exmples på MichrochipC.com.Det omfatter også en for realtidsuret grænseflade ....

 
eksempelkode
Beklager, men du skal login for at se denne tilslutningskrav

 

Welcome to EDABoard.com

Sponsor

Back
Top