www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DS1990A und ATmega 8


Autor: Chris C. (chris-berlin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
vieleicht kann mir jemand ein Tip geben, ich wollte ein iButton DS1990A 
zur Sicherheitsabfrage nutzen. Angeschlossen haben ich Ihnen wie folgt.

an PB1 geht ein Kabel zur Kontakteinheit des iButtons "Leser" (Data) und 
auch ein 4,7 KOhm Wiederstand von PB1 zu 5 Volt. Die Masse ebend an 
Masse, soweit so gut.

Mit folgendem Programm passiert rein garnichts. Normalerweise sollte 
hier die Seriennummer und die Anzahl der 1wire Geräte angezeigt werden. 
Habe ich da irgwendwo ein denkfehler, bin noch ein neuling bei AVR 
Programmierung.

$regfile = "m8def.dat"
$crystal = 3000000
$baud = 9600
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space

Config 1wire = Portb.1

Config Lcd = 16 * 2 ' LCD 16x2 mit HD 44780 Controller
Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2 , Db5 = 
Portc.3 , Db6 = Portc.4 , Db7 = Portc.5


Dim Rom_data(8) As Byte
Dim I As Byte , W As Word

Declare Sub Crc8_check()
Cls
Do


Rom_data(1) = 1wsearchfirst()
If Err = 1 Then Goto Cnt

For I = 1 To 8
Print Hex(rom_data(i));
Next
Crc8_check
Print

Do
Rom_data(1) = 1wsearchnext()
If Err = 1 Then Exit Do
For I = 1 To 8
Print Hex(rom_data(i));
Next
Crc8_check
Print
Loop

Cnt:
W = 1wirecount()
Locate 2 , 0
Lcd "iButtons ist" ; W

Loop

End

Sub Crc8_check()
$external _crc8
Local Result As Byte

Loadadr Rom_data(1) , Z
ldi R24,8
!Call _crc8
Loadadr Result , X
st X,R16
If Result = 0 Then
Lcd "CRC-8 OK";
Wait 2
Else
Lcd "Crc -8 Error ";
Wait 2
End If
End Sub


Gruß

Chris

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian Schaebsdat wrote:

> Habe ich da irgwendwo ein denkfehler, bin noch ein neuling bei AVR
> Programmierung.

Naja, mit AVR hat das nichts mehr zu tun, sondern mit Bascom.

Da sollte doch irgendwo ne Doku und Beispiele zu den "Schwarzen 
Kästelchen" mit bei sein.


Ich habe keine Black Boxen genommen, sondern mir die Funktionen anhand 
der Ablaufdiagramme in den Maxim Datenblättern selber geschrieben:

Beitrag "DS1820, DS18B20 in C"


Peter

P.S.:
Womit erzeugst Du die 3MHz ?
Ein recht ungebräuchlicher Wert.
Stehen die Fuses vielleicht noch auf 1MHz ?

Autor: chris-berlin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 3 Mhz waren schon immer da, hatt ich immer als Vorlage bei ATmega8 
der kann doch 3 Mhz Intern oder ? oder muß ich ihm das noch woanders 
sagen ?

Also mal kurz, hardwareseitig sollte es also funktionieren ? Dann weis 
ich wenigstens wo ich dann suchen muß.

Chris

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
chris-berlin wrote:
> Die 3 Mhz waren schon immer da, hatt ich immer als Vorlage bei ATmega8

Vorlagen sind schön, wenn sie zutreffen.
Also erstmal prüfen, was sie bedeuten und ob sie zutreffen.

> der kann doch 3 Mhz Intern oder ?

Nein.

> oder muß ich ihm das noch woanders
> sagen ?

Ja.

Ich würde sagen, es ist allerhöchste Zeit für Dich, mal das Datenblatt 
zur Hand zu nehmen (mindestens die Abschnitte "System Clock and Clock 
Options" und "Fuse Bits").


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.