Archiv verlassen und diese Seite im Standarddesign anzeigen : Polling-Verfahren
Import-Script
15.05.2003, 17:53
Aufgabe: Sie wollen nacheinander die analogen Kanäle 3 bis 5 in dem Spannungsfenster von 1,25V-2,75V wandeln. Die Ergebnisse dieser einmaligen Wandlung speichern sie im internen Speicher ab Adresse 70h ab. Der AD-Wandler arbeitet dabei im Polling-Verfahren. <BR> <BR>soweit ich noch weis, ist das Polling-Verfahren, das ständige Abfrage der Leitung? Stimmt das? <BR> <BR>ich habe auch schon das Programm geschrieben, bloß weis ich jetzt nicht, ob es so richtig ist mit dem Polling-Verfahren: <BR>INCLUDE 80515.mc <BR> <BR>start: <BR> ; Startadresse des internen RAM <BR> MOV R0,#70h <BR> <BR>loop: <BR> ; Kanal 3 <BR> SETB Mx0 <BR> SETB Mx1 <BR> CLR Mx2 <BR> ; Aufruf AD-Wandler <BR> call ad_wandler <BR> <BR> ; Kanal 4 <BR> CLR Mx0 <BR> CLR Mx1 <BR> SETB Mx2 <BR> ; Aufruf AD-Wandler <BR> call ad_wandler <BR> <BR> ; Kanal 5 <BR> SETB Mx0 <BR> CLR Mx1 <BR> SETB Mx2 <BR> ; Aufruf AD-Wandler <BR> call ad_wandler <BR> ; Endlosschleife <BR> JMP loop <BR> <BR>ad_wandler: <BR> ; fortlaufende Wandlung <BR> SETB adm <BR> ; Wandelbereich zwischen 1,25 V (4) und 3,75 V (C) <BR> MOV dapr, #0C4h <BR> ; Springen solange bis bsy den Wert null angenommen hat <BR> JB bsy, $ <BR> ; Wert in den internen RAM speichern <BR> MOV @R0, addat <BR> ; R0 um eins erhoehen <BR> INC R0 <BR> ; Ruecksprung ins Hauptprogramm <BR> RET <BR>END
Import-Script
15.05.2003, 23:49
Probiers doch aus... <BR>Wenn´s läuft ist´s richtig! <BR>... oder wo ist Dein Problem?
Import-Script
16.05.2003, 12:09
ich bin noch kein Profi in Mikrocontroller! <BR> <BR>bin am lernen! Vielleicht gibt es ja eine einfachere Form von meiner! <BR> <BR>oder jemand sagt, das kann man anders schreiben oder sonst was!
Import-Script
16.05.2003, 16:40
Hi, <BR> <BR>Generell: <BR><b>Polling</b> bedeutet permanentes Nachschauen, ob ein Ereignis stattgefunden hat. Neue Daten, irgendwelche Zustände usw. Also in deinem Fall nachschauen, ob die Wandlung schon fertig ist. <BR> <BR>Das gegenstück ist <b>Interrupt</b>. Dabei meldet sich die Hardware bzw. das Ereignis und fordert eine Programmunterbrechung. <BR> <BR>Veranschaulichen läßt sich das so: <BR>wenn das Telefon klingelt (Interrupt) unterbricht man seine Tätigkeit, sofern man nicht wichtigeres zu tun hat und beantwortet den Anruf. Polling wäre jede Minute zum telefon gehen, den Hörer abnehmen und hören, ob jemand gerade angerufen hat. <BR> <BR>Polling nimmt man also, wenn man sowiso nichts zu tun hat (auf den Anruf wartet) und sich stark langweilt. Interrupt ist vorzuziehen, wenn man viel zu tun hat und sich nicht gerade übernatürlich langweilt. Ob man in dem Moment rangeht, oder etwas später kann man im Einzelfall immer noch entscheiden. (Interrupt vorrübergehend abschalten bei Zeitkritischen Tätigkeiten) <BR> <BR>Gruß <BR>Elmar
Powered by vBulletin® Version 4.1.12 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.