C kód pro propojení DS1302 s PIC16F877

I

imp

Guest
Ahoj všem,

Potřebuji C kód pro propojení DS1302 RTC s PIC16F877

PODĚKOVÁNÍ

IMP

 
Měli byste získat nějaké info kontrolou toto:
http://www.dontronics.com/rtc.html
http://www.picant.com/c2c/examples.htmls pozdravem

 
Je třeba říct, co jste pomocí kompilátoru.
PCW z ccs již knihovna pro DS1302.

 
Můžete najít ukázkový kód z http://www.microchipc.com<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Velmi Happy" border="0" />
 
Přejít na hxxp: / / www.htsoft.com/forum/all/search.php?Cat = a hledání DS1302 na HiTech fóra, možná najdete nějaké info.Pokud máte rádi
uvidíme zde řidič z CCS, možná můžete přístavu kód picc.

 
Dobrý den, Imp.
Najdete kompletní C například v PICC od CCS.
Soubor je EX_RTCLK.C a že je v adresáři:
C: \ Program Files \ PICC \ Příklady
S.

 
Ahoj,
pro programování PIC v jazyce C a měla by jít na knihy

1). PIC C-Úvod do programování PIC v jazyce C (podle Nigel Garner & Marka sigsmund)
****
2). Mikrokontrolér PIC projektu Book **
3.) Programování & Úpravení OOPic Micro *
4.) C pro PICmicros (nadšenec) *****

pro datový list PIC16F877 jít za
http://www.microchip.com/download/lit/pline/picmicro/families/16f87x/39582a.pdf

doufáme, že máš ur cesta

<img src="http://www.edaboard.com/images/smiles/icon_surprised.gif" alt="Překvapen" border="0" />
 
Ahoj všem,

DS-1302 je úspěšně interfaced, a tady je kód.

void display_write (void)
(
unsigned char yr1, mn1, date1, dy1, hr1, min1, sec1, řádek1 [16];

reset_3w ();
wbyte_3w (0xBF); / * hodiny praskla * /
sec1 = rbyte_3w ();
min1 = rbyte_3w ();
hr1 = rbyte_3w ();
dy1 = rbyte_3w ();
date1 = rbyte_3w ();
mn1 = rbyte_3w ();
yr1 = rbyte_3w ();
reset_3w ();

řádek1 [0] = ((date1/10%) 10) 0 X30;
řádek1 [1] = ((date1%) 10) 0 X30;
řádek1 [2] = 0x2F; / / symbol "/"
řádek1 [3] = ((mn1/10%) 10) 0 X30;
řádek1 [4] = ((mn1%) 10) 0 X30;
řádek1 [5] = 0x2F;
řádek1 [6] = ((yr1/10%) 10) 0 X30;
řádek1 [7] = ((yr1%) 10) 0 X30;
řádek1 [8] = ((hr1/10%) 10) 0 X30;
řádek1 [9] = ((hr1%) 10) 0 X30;
řádek1 [10] = 0x3A; / / symbol ":"
řádek1 [11] = ((min1/10%) 10) 0 X30;
řádek1 [12] = ((min1%) 10) 0 X30;
řádek1 [13] = 0x3A;
řádek1 [14] = ((sec1/10%) 10) 0 X30;
řádek1 [15] = ((sec1%) 10) 0 X30;

lcd_goto (0x00);
lcd_puts (řádek1);
)

void initialize_DS1302 ()
(
reset_3w ();
wbyte_3w (0x8e); / * kontrola registru * /
wbyte_3w (0); / * zakázat psát chránit * /
reset_3w ();
wbyte_3w (0x90); / * crčení nabíječky registru * /
wbyte_3w (0xab); / * umožnit, 2 diody, rezistor 8K * /
reset_3w ();
wbyte_3w (0xbe); / * hodiny praskla psát (osm registrů) * /
wbyte_3w (sec);
wbyte_3w (min);
wbyte_3w (hr);
wbyte_3w (dy);
wbyte_3w (data);
wbyte_3w (mn);
wbyte_3w (r);
wbyte_3w (0); / * musí napsat kontroly registru, v režimu praskla * /
reset_3w ();
)

void reset_3w ()
(
RTC_SCLK = 0;
RTC_RS = 0;
RTC_RS = 1;
)

void wbyte_3w (unsigned char W_Byte) / / zápis do DS1302
(
unsigned char i;

TRISB = 0b00000011, / / RB3 jako o / p
for (i = 0; i <8; i)
(
RTC_IO = 0;
if (W_Byte & 0x01)
(
RTC_IO = 1; / * set port pin vysoké číst data * /
)
RTC_SCLK = 0;
RTC_SCLK = 1;
W_Byte>> = 1;
)
)

unsigned char rbyte_3w () / / čtení z DS1302
(
unsigned char i;
unsigned char R_Byte;
unsigned char TmpByte;

TRISB = 0b00001011, / / RB3 jako i / p

R_Byte = 0x00;
RTC_IO = 1;
for (i = 0; i <8; i)
(
RTC_SCLK = 1;
RTC_SCLK = 0;
TmpByte = (uchar) RTC_IO;
TmpByte <<= 7;
R_Byte>> = 1;
R_Byte | = TmpByte;
)

TRISB = 0b00000011, / / RB3 jako o / p
návrat R_Byte;
)Díky všem.

-IMP

 
Ahoj IMP,
Dělám projekt pomocí DS1302 a 16F877.Snažím se používat svůj kód v mém projektu.Ale je to nefunguje.Potřebuju jen pár minut a hodin od DS302.Jsem upravil svůj kód, ale je to tedy nefunguje.Je důležité, aby přístup k roztržení 1302 v režimu b'cause Nejsem používání tímto způsobem.Moje měřič ukazuje nevypočitatelným chováním.Pokud by mohlo pomoci mi, že by bylo great.I am spojená můj zdrojový kód souboru pro vaše pohodlí.
Pozdravy,
Tushar.
Omlouváme se, ale musíte přihlásit a prohlížet tuto přílohu

 
HI přátelé,
Im DS1302 propojení s AT89s8253.
Moje kompileru je SDCC a KEILuv2
Potřeba ukázkový kód.
pozdravy,
Nikhilesh

 
nikhileshsawarkar napsal:

HI přátelé,

Im DS1302 propojení s AT89s8253.

Moje kompileru je SDCC a KEILuv2

Potřeba ukázkový kód.

pozdravy,

Nikhilesh
 
Ahoj,

Dělám stejnou práci, DS1302 s 16F877, ale všechno, co jsem dostal stejnou chybu ...

Mám zkusit jinou cestu, ale pokaždé,
když jsem dostal tento hodnoty:

0 - 1 - 0 - 3 - 0 - 1 - 0 - 7 - 0 - 1 místo 0-1-2-3 -...- 8-9, a to pro každé číslice.

Pokud někdo víte proč?

Tady je moje číslo: http://pastebin.com/febf0f69díky.

 

Welcome to EDABoard.com

Sponsor

Back
Top