PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 1-wire von Dallas



Import-Script
24.03.2002, 22:06
Hi! <BR>kann mir vielleicht einer von euch, ein datei in asembler, schicken die ein Bauteil ansteuert, dass den 1-Wire Bus von Dallas verwendet? <BR> <BR>mfg Peter

Import-Script
25.03.2002, 11:02
<A HREF="http://www.specs.de/~danni/appl/soft/c51/thclock/1wire.lst" TARGET="_top">http://www.specs.de/~danni/appl/soft/c51/thclock/1wire.lst</A>

Import-Script
26.03.2002, 08:17
Tolle asembler Datei Peter !!! <BR>Kann mich nicht erinnern das nach C gefragt wurde.

Import-Script
26.03.2002, 09:47
Hallo --- <BR> <BR>das ist das generierte Assembler Listing. <BR>Mit Cut &amp; Paste kann man es bequem ausschneiden: <BR> <BR> MOV R7,#078H <BR>?C0003: <BR> <BR> <BR> CLR W1_DIO <BR> <BR> INC A <BR> <BR> DJNZ R7,?C0003 <BR> <BR> CLR EA <BR> <BR> SETB W1_DIO <BR> <BR> MOV R7,#021H <BR>?C0004: <BR> <BR>usw. <BR>Das es nicht so gut lesbar ist, wie C, daf&uuml;r kann ich nichts. Aber es funktioniert. <BR> <BR> <BR>Peter

Import-Script
26.03.2002, 12:11
Hi, <BR>kann nicht vielleicht jemand mit einer &#34;normalen&#34; assembler datei dienen, die gut komentiert ist und vielleicht als include datei beim assembler zu gebrauchen ist? ich sag ja immer &#34;wozu soll man das rad neu erfinden.&#34; <BR> <BR>mfg peter

Import-Script
26.03.2002, 21:06
Hi, <BR>hab hier mal folgenes ausprobiert, Peter Dannegger, <BR>vielleicht kannst du dir das ja mal genauer ansehen. <BR> <BR><FONT FACE="Courier New"><B><FONT COLOR="ff0000">Der folgende Text wurde mit dem Textkonverter eingef&auml;rbt.<br> <A HREF="http://www.batronix.com/exe/textkonverter.zip">Zum Herunterladen bitte hier klicken &#40;11 KByte&#41;</A><br><br></FONT><FONT COLOR="119911">;Dallas 1-wire Routinen</FONT> <BR> <BR><FONT COLOR="119911">;Routine um 1-wire Bus System von Dallas zu steuern, dazu werden folgende Daten ben&ouml;tigt:</FONT> <BR><FONT COLOR="119911">; DQ - Pin muss als Bit &#40;Portpin&#41; festgelegt werden.</FONT> <BR> <BR><FONT COLOR="0000ff">DS_Init:</FONT> <BR> CLR DQ <BR> CALL wait_500 <BR> SETB DQ <BR> CALL wait_15 <BR> CALL wait_15 <BR> MOV C,DQ <BR>RET <BR> <BR> <BR><FONT COLOR="0000ff">DS_senden:</FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="119911">&#39;Daten sind im AKKU<FONT COLOR="119911">&#39;</FONT></FONT> <BR>&nbsp;&nbsp;&nbsp;&nbsp;PUSH B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="119911">&#39;Rette Inhalt von B auf den Stack.<FONT COLOR="119911">&#39;</FONT></FONT> <BR>&nbsp;&nbsp;&nbsp;&nbsp;MOV B,#8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="119911">&#39;Wird in diesem Programm eigentlich<FONT COLOR="119911">&#39;</FONT></FONT> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="119911">&#39;nicht ben&ouml;tigt, nur zum &#34;Angew&ouml;hnen&#34;<FONT COLOR="119911">&#39;</FONT></FONT> <BR><FONT COLOR="0000ff">DS8_Bits:</FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT COLOR="119911">&#39;f&uuml;r sp&auml;ter :-&#41;<FONT COLOR="119911">&#39;</FONT></FONT> <BR>&nbsp;&nbsp;&nbsp;&nbsp;CLR DQ <BR>&nbsp;&nbsp;&nbsp;&nbsp;CALL wait_15 <BR>&nbsp;&nbsp;&nbsp;&nbsp;RLC A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT COLOR="119911">&#39;Schiebe den Akkuinhalt nach links<FONT COLOR="119911">&#39;</FONT></FONT> <BR>&nbsp;&nbsp;&nbsp;&nbsp;MOV DQ,C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="119911">&#39;durch das Carry Flag um ihn Bitweise<FONT COLOR="119911">&#39;</FONT></FONT> <BR>&nbsp;&nbsp;&nbsp;&nbsp;CALL wait_15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="119911">&#39;zu senden.<FONT COLOR="119911">&#39;</FONT></FONT> <BR>&nbsp;&nbsp;&nbsp;&nbsp;CALL wait_15 <BR>&nbsp;&nbsp;&nbsp;&nbsp;CALL wait_15 <BR>&nbsp;&nbsp;&nbsp;&nbsp;SETB DQ <BR>&nbsp;&nbsp;&nbsp;&nbsp;DJNZ B,DS8_Bits <BR>&nbsp;&nbsp;&nbsp;&nbsp;POP B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT COLOR="119911">&#39;Stelle B wieder her &#40;vom Stack holen&#41;<FONT COLOR="119911">&#39;</FONT></FONT> <BR>RET <BR> <BR><FONT COLOR="0000ff">DS_lesen:</FONT> <BR>&nbsp;&nbsp;&nbsp;&nbsp;PUSH B <BR>&nbsp;&nbsp;&nbsp;&nbsp;MOV B,#8 <BR><FONT COLOR="0000ff">DS8_Bit_l:</FONT> <BR>&nbsp;&nbsp;&nbsp;&nbsp;CLR DQ <BR>&nbsp;&nbsp;&nbsp;&nbsp;SETB DQ <BR>&nbsp;&nbsp;&nbsp;&nbsp;NOP <BR>&nbsp;&nbsp;&nbsp;&nbsp;NOP <BR>&nbsp;&nbsp;&nbsp;&nbsp;NOP <BR>&nbsp;&nbsp;&nbsp;&nbsp;NOP <BR>&nbsp;&nbsp;&nbsp;&nbsp;NOP <BR>&nbsp;&nbsp;&nbsp;&nbsp;NOP <BR>&nbsp;&nbsp;&nbsp;&nbsp;NOP <BR>&nbsp;&nbsp;&nbsp;&nbsp;NOP <BR>&nbsp;&nbsp;&nbsp;&nbsp;NOP <BR>&nbsp;&nbsp;&nbsp;&nbsp;MOV C,DQ <BR> RLC A <BR> DJNZ B,DS8_Bit_l <BR>&nbsp;&nbsp;&nbsp;&nbsp;POP B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="119911">&#39;siehe oben<FONT COLOR="119911">&#39;</FONT></FONT> <BR>RET <BR></B></FONT>} <BR> <BR>danke schonmal f&uuml;rs lesen

Import-Script
26.03.2002, 22:21
Also im Listing stehen doch ganz &#34;normale&#34; Assembleranweisungen und die werden auch fehlerfrei &uuml;bersetzt &#40;Keil- bzw. Metalink-Assembler&#41;. <BR>Die Kommentare beziehen sich nat&uuml;rlich nur auf das C-File, aber im Listing steht ja auch jeweils die Zeilennummer. <BR>Das ich keine Lust habe, alles nochmal in Assembler zu kommentieren, ist doch verst&auml;ndlich oder ? <BR> <BR> <BR>Peter

Import-Script
26.03.2002, 22:34
Falls es speziell mit dem Batronix-Assembler Probleme geben sollte, liegt das wohl daran, da&szlig; dessen Syntax wohl zu unterschiedlich in Bezug auf alle anderen weltweit gebr&auml;uchlichen 8051-Assembler ist. <BR> <BR>Aber das Problem sollte dann auch auf alle anderen weltweit erh&auml;ltlichen 8051-Programmbeispiele zutreffen, z.B. von Philips, Atmel, Dallas, Intel usw. <BR> <BR>Ich hatte mir Anfangs auch mal einen eigenen Assembler selbst geschrieben. Aber sp&auml;ter habe ich ihn nicht mehr verwendet. Eben, weil er auch zu gro&szlig;e Syntaxunterschiede zum Intel-Standard hatte und ich nicht jedesmal andere Programmbeispiele umschreiben wollte. <BR> <BR> <BR>Peter

Import-Script
26.03.2002, 22:49
&#34;DS8_Bits:&#34; ist wohl falsch, soweit ich mich erinnere ist 1&micro;s = 0 und 15&micro;s = 1. <BR> <BR>Der Rest k&ouml;nnte hinhauen, aber denke an Interrupts, wenn Du sie verwendest, sonst geht das Timing fl&ouml;ten. <BR> <BR>Warum nimmst Du B als Schleifenz&auml;hler und nicht z.B. R2. Das kostet dich doch jedesmal 2 Bytes mehr. <BR> <BR> <BR>Sieht aber Syntaxm&auml;&szlig;ig voll Intel-kompatibel aus, wei&szlig; also nicht, wo Du mit meinem Assemblerlisting Probleme hast. <BR> <BR> <BR>Peter

Import-Script
26.03.2002, 23:55
&#34;DS8_Bits:&#34; m&uuml;&szlig;te doch richtig sein. Ist eben schon lange her, da&szlig; ich mich damit besch&auml;ftigt habe. <BR> <BR>Peter