lietošana DS1307 ar PIC

H

hawk1943

Guest
Hi Ikvienam,

Uzmini nu ...

Es prasu jūsu palīdzību jauna [lol]

Kā daži no jums ir zināms, es esmu cenšas iegūt datu malkas cirtējs izveidota un darbojas, bet lietas nav viegli šajā sakarā ...sākotnējo projektu, sākās off ar 16F684, bet viņi abi bloķēta up par mani, un 16F636 arī iesaldēja par mani, daži uzskata, kā es biju Bit bashing kodu, izmantojot pulksteni un datus tapas ICSP iespējams, izraisīja problēma ...

Taču, kā es bija saspringts tapu nebija citas izvēles, tāpēc es kopš tā pārcēlās pāri izmantot 16F877 ...

Šobrīd man ir LCD parādot pašreizējo temp no DS18B20 temperatūras zondei ...tas ir uzglabātu datu pārnešanai (2off) 24LC256 EEPROM, kā man ir nepieciešams, lai saglabātu temperatūru no 4 sensoriem uz laiku 10 nedēļas ...

Man arī ir pilns sērijas COMMS darba - bitu bashed izmantojot MAX232 par drošību, bet man ir nepieciešams, lai saņemtu usart izveidota un darbojas pareizi, bet laiks ir būtība, jo projektam ir nepieciešams, lai sāktu apmēram 2 nedēļu augustā un nekas pilnīgi darbi vēl ...

Tas ir, ja es sāku sākotnējiem jautājumiem ...

http://www.edaboard.com/viewtopic....ešams pieteikumvārds, lai skatītu šo arestu
 
Tas ir kā es esmu, kas savieno DS1307 ...

Tikai nav pārliecināts, ko PIC pins izmantot, kā es esmu pārliecināts par uzturēšanas to atsevišķi, lai DS18B20 apstāties kā nav pretrunā datu gudrs ...
Atvainojiet, bet jums ir nepieciešams pieteikumvārds, lai skatītu šo arestu

 
Jebkāda iemesla dēļ nevar pieslēgties DS1307 ar esošo I2C autobusu?

 
Nav īsti ...

Just bažas par corrupting dati jau ir tur ...

Es pieņemu, jūs varētu savienot to ar datiem, autobusu?

Vienkārši domāju par to ...

DS18B20 ir 1-wire ...tā ka ir OK ...

Mana kļūda tas 24LC256 EEPROM, kas izmanto autobusu ...un dati ir rakstīts, lai EEPROM beidzot ...

 
Tikai svarīgs priekšnoteikums ir tas, ka EEPROM un RTC ir dažādas I2C vergu adreses, kas ir par laimi gadījumā.

 
Šeit ir atjaunināts shematiska visam projektam ...

Ko es cenšos darīt kods gudrs ...

Man ir bitu sasitu sērijas COMMS kas strādā ar hyperterminal, lai to, ko es cenšos darīt, ir izmantot hyperterminal lasīt datumu un laiku un var arī programmā datumu un laiku, kā es esmu ātri darboties ārpus ostas pins .. .

Kā esmu DS18B20 sadalīts pa dažādām pins tikai tiem lietas viena mirst par mani, jo es preferre ir daži dati pēc 10 nedēļām nekā nav datu ...
Atvainojiet, bet jums ir nepieciešams pieteikumvārds, lai skatītu šo arestu

 
Es neredzu anythink jauns, izņemot trūkstošās I2C pull-ups par atsevišķu DS1307 I2C autobusu.

 
Ooops ...

Nu plankumainais ...

Es, izmantojot 10K pull-ups uz 5V Rail ...

Kā es varu noteikt adresi DS1307 ...kā 24LC256 ir aparatūra, kas ...Pievienots pēc 5 minūtēm:Grozījumi izdarīti Shematisks pievienots ...
Atvainojiet, bet jums ir nepieciešams pieteikumvārds, lai skatītu šo arestu

 
Šeit ir daži kodu, kas man ir sākuši rakstīt ...

Bet es esmu pārliecināts, kā lietot hyperterminal lai uzstādītu datumu un laiku ...
Atvainojiet, bet jums ir nepieciešams pieteikumvārds, lai skatītu šo arestu

 
daudz vienkāršāk pieeja ir, lai saņemtu prom no RTC un izmantošanu iekšējā laiks akumulators, ietaupāt kopā ar temperatūras rādījumus.

Jūs sākt akumulatoru pie varas, un tā kā jūs zināt, tieši tad, kad jūs elektroenerģijas sistēmā, tā precīzi zināt, ko nozīmē "reālā laika" noteiktā laikā akumulators vērtība ir.

Man ir izmantoti romiešu Black pieeju veiksmīgi.un tas ir neticami precīza vairāk nekā ilgtermiņā.

Tomēr šī pieeja nedarbojas, ja jūs vēlas, lai jūsu MCU gulēt laikā mērījumiem.Pievienots pēc 35 minūtēm:Quote:

Kā es varu noteikt adresi DS1307
 
Ka ir problēma, kā es vēlos uzdot PIC gulēt un izslēgtu LCD, utt

Running 10 nedēļas būs viena elle no aizplūšanas uz akumulatoru, tāpēc man ir nepieciešams precīzs veids, kā sekot datumu un laiku ...

 
Es domāju, ka būtu skaidrs, ka abas mikroshēmas izmanto dažādas grūti kodētām I2C bāzes adresēm, tāpēc tos var viegli darbināt, tajā pašā autobusā.I'm doing pats līdzīgu pieteikumu, ja es arī pieslēgt I2C temperatūras sensoru un augstas izšķirtspējas ADC.

Kodēšanas efektīvi mazjaudas darbība ir pilnīgi atšķirīgs jautājums, manuprāt, nav īpaši saistīti ar DS1307 un I2C darbību.Tas ir pamata programmētājs's craftmanship, es domāju.Ar labu dizainu, akumulatoru sevis apstiprinājumu un, iespējams, PIC noplūdes strāvas, ir galvenie faktori, lai noteiktu akumulatora ekspluatācijas laiku.Jāatzīmē, ka jaunā "nanowatt" attēli ir daudz labāks šajā ziņā nekā klasiskie tipi.Pēdējā joprojām ir labs, tomēr.

 
Tad jau nav ...kā mans kods writting ir zem nominālvērtības šajās dienās ...mēģināt vēlreiz mācīties writting kods, ar diezgan stressfull situācija nav veids, kā iet ...

Vienlaikus mēģinot noteikt par ar kodu un push sevi, lai sasniegtu termiņa rada man padarīt kļūdas ...

Ja es nebija tik uzstāja uz laiku, es būtu tiešām būtu bauda šo ...Pievienots pēc 41 minūtēm:Bija spēlē aptuveni ar kodu, izmantojot maksima pieteikumā norāda AN95 & AN3921 ...

Es domāju, ka tas tagad ir vairāk, piemēram, to, kas man nepieciešams ...

Bet es esmu tagad tikai tik sajaukt ...
Atvainojiet, bet jums ir nepieciešams pieteikumvārds, lai skatītu šo arestu

 
ja Jums nav nepieciešams daudz "laika precizitāte" (stundu izteiksmē, nevis sekundēm vai ms, piemēram), un jūsu chip pamostas uz regulāriem intervāliem (piemēram, sargsuns par), Jums kannas nozīmē saskaitīt uzmosties-ups kā laika zīmogs.

Es piekrītu citiem, ka liekot RTC par I2C autobusu, ir vieglāk veids, kā iet par jums.Pievienots pēc 7 minūtēm:Quote:

Bet es esmu tagad tikai tik sajaukt ...
 
Hawk meklē jūsu shematisks vēlaties pievienot diode starp logic_5V un R2.Kā tas ir šobrīd jūs nosūtīsiet VPP līdz 5V.

Arī es esmu ievērojis, ka esat izlaidis 22pf vāciņu uz kristāla

wizpic

 
tagad, ka man ir jāņem apskatīt savu kodu, ir vairākas problēmas ar to, jo nav īpaši lai:

1) Jums nevajadzētu vadīt SCL / SDA līniju augsts.Tā vietā jums vajadzētu ļaut viņiem peldēt tādējādi velk lielu ar pull-up rezistori.Tas ir īpaši svarīgi, ja Jums ir rīdinga no I2C ierīces: vergu jāspēj vadīt SDA līniju, lai nosūtītu datus atpakaļ kapteini.citādi jums ir loģika apgalvojumu.

2) Jums vajadzētu pārbaudīt savu grafiku, I2C lasīšanas / rakstīšanas procesā.tie neizskatās labi.

3) sakarā ar 1), Jūsu I2C lasīt ikdienas nestrādā.

4) atlikt uz 40ms ir vienkārši pārāk daudz.

Es noteikt 1) un 2) un pēc tam atkļūdot, lai pārliecinātos, ka jūs varat nosūtīt datus pa I2C autobusu.

 
Es joprojām nesaprotu, kāpēc jums nav savienot DS1307 ar aparatūras I2C interfeiss un izmantot HighTech I2C kārtība, kā EEPROM.

 

Welcome to EDABoard.com

Sponsor

Back
Top