PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Temperatur messen mit DS1820 in Assembler mit Atmega16



robotfreak
16.02.2005, 14:44
Hallo,

hat jemand ein Code-Beispiel mit dem ich den DS1820 in Assembler mit dem Mikroprozessor Atmega16 auslesen kann?
Ich habe schon einige Beispiele in C gesehen, aber für Assembler habe ich keine gefunden auch nicht bei google.
Ich will einfach nur die Temperatur auslesen, sonst nichts.

Ich hoffe ihr könnt mir weiterhelfen. [-o<

robotfreak
20.02.2005, 22:04
Weiß keiner eine Antwort? Wenigsens ein kleiner Hinweis oder so?

20.02.2005, 22:46
http://www.mikrocontroller.net/forum/read-4-27035.html#57131

20.02.2005, 23:35
Das müsste fast passen:




'************************************************* *********
'Compiler : BasCom
' : DS1820
'Chip type : AT90S8535
'Clock frequency : 8,000000 MHz
'************************************************* *********

$include "ac_lcd.inc"

Config 1wire = Portd.4 'use this pin

Dim Ar(2) As Byte, A As Byte, I As Byte, Temperatur As Integer
Dim Halb As Byte

Lcd "Temp:"
Do
Wait 1
1 wreset 'reset the device
1 wwrite &HCC 'read ROM command
1 wwrite &H44
Waitms 100 'read ROM command
1 wreset 'reset the device
1 wwrite &HCC 'read ROM command
1 wwrite &HBE 'read ROM command
For I = 1 To 2
Ar(i) = 1wread() 'place into array
Next

Locate 2, 1
Temperatur = Ar(1)

If Ar(2) > 0 Then Temperatur = 0 Else Shift Temperatur, Right

Lcd Temperatur ; ".";

Halb = Ar(1) And 1

If Halb = 1 Then Lcd "5" Else Lcd "0"

Lcd " C"
Loop

End

robotfreak
21.02.2005, 16:18
Eigentlich würde ich gerne in Assembler programmieren.

Kjion
21.02.2005, 17:25
Eigentlich würde ich gerne in Assembler programmieren.

Dann mach das doch.

C Beispiel kannst du mit ein bisher nachdenken auch in Assembler umsetzten, es gibt von Atmel AN zu 1-Wire und im Datenblatt zu DS1820 steht vermutlich drinnen wie man ihne ansprechen kann...