 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.51 Kraj: Krško
|
Objavljeno: Sre Maj 30, 2007 11:20 am Naslov sporočila: Attiny2313+ds1820 |
|
|
Pozdravljeni!
No, že na sosednjem forumu sem iskal pomoč za tole zadevico. Uporabil sem attiny in ds1820. Napisal program za merjnje temp. in vnesel v uC. Na lcd-ju sem mi izpisuje 0 stopinj. Probam že napisan program od g. Jureta in učinek je isti. Ko pa program,ki sem ga napisal vnesem v Atmego8515 pa stvar delu bp. Ali kdo ve kaj bi bilo narobe?Pri atmegi sem uporabil 4Mhz kristal, za čas med komunikacije med uC in senzorjem pa 300ms in deluje bp. Samo na attiny ga ne morem oživeti(uporabljen tudi 4mhz kristal).
Koda: |
Config 1wire = Portd.3
Dim T As Byte , Ts As Byte
Dim Te As Integer , A(2) As Byte
Config Lcdpin = Pin , Db7 = Portb.4 , Db6 = Portb.5 , Db5 = Portb.3 , Db4 = Portb.6 , E = Portb.2 , Rs = Portb.7
Config Lcd = 16 * 2
Do
Cls
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 250
1wreset
1wwrite &HCC
1wwrite &HBE
A(1) = 1wread()
A(2) = 1wread()
T = A(1)
Ts = A(2)
If Ts = &HFF Then
T = T - 255
T = T / 2
T = T - 0.5
Else
T = T / 2
End If
Cls
Lcd T ; " "
Wait 3
Cls
Loop |
_________________ Denis |
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.70 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Sre Maj 30, 2007 11:48 am Naslov sporočila: |
|
|
Mogoče si pozabil programatorju in še kje drugje povedatim da imaš drug chip (mega/tiny)?
Jur |
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.51 Kraj: Krško
|
Objavljeno: Sre Maj 30, 2007 12:13 pm Naslov sporočila: |
|
|
Vse podatke spremenim za določen uC.V programu in za programirat... _________________ Denis |
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.70 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Sre Maj 30, 2007 1:33 pm Naslov sporočila: |
|
|
Ker sta čipa različna, so izhodi na drugih pinih. Tapravih?
Jur
Nazadnje urejal/a jur Sre Maj 30, 2007 1:49 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.51 Kraj: Krško
|
Objavljeno: Sre Maj 30, 2007 1:37 pm Naslov sporočila: |
|
|
Seveda. Tako kot za LCD, tako tudi za DS-ja. Isto prikljopljeno kot na atmegi, samo drugi porti so uporabljeni,za DS pa pull-up upor. _________________ Denis |
|
Nazaj na vrh |
|
 |
spy Član


Pridružen-a: Sre 06 Sep 2006 20:43 Prispevkov: 403 Aktiv.: 1.76 Kraj: Tržič
|
Objavljeno: Sre Maj 30, 2007 3:09 pm Naslov sporočila: |
|
|
Katero periferijo uporabljaš za komunikacijo? USART izgleda pri obeh enak, ostalo pa se razlikuje: eden ima USI, drugi pa SPI. |
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.51 Kraj: Krško
|
Objavljeno: Sre Maj 30, 2007 5:53 pm Naslov sporočila: |
|
|
Uporabljam SPI. Program sicer dela,se mi na LCD-ju prikazuje neka vrednost, samo je konstantna tudi če nimam gor priključenega DS-ja. Probal sem že veliko programov glede DS-ja, ampak nobeden mi ni delal tako kot treba. _________________ Denis |
|
Nazaj na vrh |
|
 |
spy Član


Pridružen-a: Sre 06 Sep 2006 20:43 Prispevkov: 403 Aktiv.: 1.76 Kraj: Tržič
|
Objavljeno: Sre Maj 30, 2007 9:00 pm Naslov sporočila: |
|
|
Na M8515 ti dela, ker si pisal program za SPI, ki ga M8515 ima. Tiny2313 pa SPI nima. Ima pa USI. Moraš prilagoditi program na USI. Princip prenosa je isti, registri in konfiguracija njih pa je drugačna. Si prilagodil?
Izpis na LCD že dela, ker od periferije uporabljaš le port. Vrednost pa nič, ker.... sklepam, da nimaš komunikacije. |
|
Nazaj na vrh |
|
 |
Vlado Član

Pridružen-a: Sre 03 Mar 2004 21:35 Prispevkov: 563 Aktiv.: 2.38 Kraj: Ljubljana
|
Objavljeno: Sre Maj 30, 2007 9:13 pm Naslov sporočila: ATtiny2313+DS1820 |
|
|
Denis,
preberi Fuse bite in jih daj da vidimo kako so nastavljeni.
Ali si prepričan da tvoj mikrokontroler dela na frekvenci kristala ki ga imaš v vezju.
Vse nastavitve ki jih imaš v "OPTIONS" Bascoma napiši na začetku programa, in ga še enkrat daj gor da ga vidimo.
Imam vtis da tvoj mikrokontroler ne deluje na nastavljeni frekvenci in so časovni intervali drugačni kot jih potrebuje 1Wire komunikacija.
Ja pa še nakaj je, zakaj toliko krat uporabljaš ukaz CLS?
Dovolj je da ga uporabiš pred zanko, in potem preden vpišeše novo vrednost v LCD.
Vlado |
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.51 Kraj: Krško
|
Objavljeno: Sre Maj 30, 2007 10:16 pm Naslov sporočila: |
|
|
Imaš prav,sedaj sem videl.
Citiram: |
Denis,
preberi Fuse bite in jih daj da vidimo kako so nastavljeni.
Ali si prepričan da tvoj mikrokontroler dela na frekvenci kristala ki ga imaš v vezju.
Vse nastavitve ki jih imaš v "OPTIONS" Bascoma napiši na začetku programa, in ga še enkrat daj gor da ga vidimo.
Imam vtis da tvoj mikrokontroler ne deluje na nastavljeni frekvenci in so časovni intervali drugačni kot jih potrebuje 1Wire komunikacija.
Ja pa še nakaj je, zakaj toliko krat uporabljaš ukaz CLS?
Dovolj je da ga uporabiš pred zanko, in potem preden vpišeše novo vrednost v LCD.
Vlado |
Prebrani lock in fuse biti:
Koda: |
Config 1wire = Portd.3
Dim T As Byte , Ts As Byte
Dim Te As Integer , A(2) As Byte
Config Lcd = 20 * 4
Cursor Off Noblink
Config Lcdpin = Pin , Db7 = Portb.4 , Db6 = Portb.5 , Db5 = Portb.3 , Db4 = Portb.6 , E = Portb.2 , Rs = Portb.7
$crystal = 4000000
$baud = 9600
'tole imam v nastavitvah naštimano.
Do
Cls
Beri_t:
1wreset
1wwrite &HCC
1wwrite &H44
Wait 1
1wreset
1wwrite &HCC
1wwrite &HBE
A(1) = 1wread()
A(2) = 1wread()
T = A(1)
Ts = A(2)
If Ts = &HFF Then
T = T - 255
T = T / 2
T = T - 0.5
Else
T = T / 2
End If
Lcd T ; "c "
Wait 1
Cls
Loop
Return |
Frekvenco imam nastavljeno na 4Mhz,zunanji kristal je 12Mhz. Če pa dam na 1Mhz(v programu), sem mi pa nekašni "heroglifi" izpisujejo na LCD. CLS ukaz sem dal, ker mi je na začetku čudne znake izpisaval. _________________ Denis |
|
Nazaj na vrh |
|
 |
mitjaf Član

Pridružen-a: Pet 10 Jun 2005 12:19 Prispevkov: 22 Aktiv.: 0.09 Kraj: Maribor
|
Objavljeno: Sre Maj 30, 2007 10:39 pm Naslov sporočila: |
|
|
Zanima me če obstaja tudi kakšen drug digitalni senzor, ki ga lahko direktno priključimo na atmelove mikronontrolerje z večjo stopinjsko resolucijo (če se ne motim ima ta DS1820 le 0.5 oC) |
|
Nazaj na vrh |
|
 |
igor_k Član

Pridružen-a: Pon 19 Jul 2004 11:44 Prispevkov: 1011 Aktiv.: 4.27 Kraj: Rače
|
Objavljeno: Čet Maj 31, 2007 12:06 am Naslov sporočila: |
|
|
DS18B20 |
|
Nazaj na vrh |
|
 |
NeoTO Član


Pridružen-a: Pon 28 Mar 2005 19:19 Prispevkov: 2752 Aktiv.: 11.61 Kraj: Trzic
|
Objavljeno: Čet Maj 31, 2007 7:51 am Naslov sporočila: |
|
|
mitjaf je napisal/a: |
Zanima me če obstaja tudi kakšen drug digitalni senzor, ki ga lahko direktno priključimo na atmelove mikronontrolerje z večjo stopinjsko resolucijo (če se ne motim ima ta DS1820 le 0.5 oC) |
Poglej datasheet. Če prebereš še tistih nekaj bitov na scratchpad-u, dobiš resolucijo 0.0625 °C (1/16 °C). _________________ Lp,
Matevž |
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.51 Kraj: Krško
|
Objavljeno: Čet Maj 31, 2007 8:19 am Naslov sporočila: |
|
|
mitjaf je napisal/a: |
Zanima me če obstaja tudi kakšen drug digitalni senzor, ki ga lahko direktno priključimo na atmelove mikronontrolerje z večjo stopinjsko resolucijo (če se ne motim ima ta DS1820 le 0.5 oC) |
Imam program, ki mi na LCD-ju izpisuje na 0,1°C resolucije.Uporabljen je pa DS18S20.Tisti zgoraj pripeti program, pa je napisan samo za celo število, brez decimalk. _________________ Denis |
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.51 Kraj: Krško
|
Objavljeno: Pon Jun 04, 2007 11:03 am Naslov sporočila: |
|
|
Pozdravljeni!
Po pomoti sem fuse bite nastavil na 128kHz notranji oscilator. Programator mi ga ne zazna več, a uC še deluje, venda zelo počasi(utripanje LEDice). Probal sem ga zbuditi z RC oscilatorjem in z drugim uC-jem, a ni bilo učinka.Ali kdo ve kak ga naj spravim, da mi ga programator zazna? _________________ Denis |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 495 dni
Powered by phpBB © 2001, 2005 phpBB Group
|