Praktikum Mikrocomputertechnik
|
|
|
- Eduard Buchholz
- vor 9 Jahren
- Abrufe
Transkript
1 Praktikum Mikrocomputertechnik Versuch 5M: Labor: Termin der Durchführung: IE-Labor oder DT-Labor 1-Wire Thermometer Teilnehmer: Gruppe: Semester: Student 1: Student 2: Testat: Datum: Bemerkungen: Unterschrift: Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
2 Praktikum Mikrocomputertechnik Versuch 5M: 1-Wire Thermometer 1) Allgemeine Beschreibung Auf dem Rapid-IO Board befindet sich ein digitaler Temperatursensor DS18S20 von Maxim. Der Baustein wird über einen Eindraht-Bus (1-Wire) an den XC164 angebunden. Der Sensor beinhaltet einen 9-Bit AD-Wandler, mit dem ein Temperaturbereich von -10 C bis +55 C abgedeckt werden kann. Die Standard-Auflösung beträgt hierbei 0,5 C. Des weiteren hat jeder Baustein eine eindeutige Seriennummer, die ebenfalls über den Eindraht-Bus ausgelesen werden kann. Aufgrund der Komplexität des Protokolls sind schon einige Unterprogramme vorgegeben. Diese sind in Keil (V3) Projekt PMC_V5M.zip auf der Labor-Homepage abgelegt. Folgende Funktionen sollen realisiert werden: Auf dem LC-Display soll in der ersten Zeile die ID des Bausteins und in der zweiten Zeile die aktuelle Temperatur angezeigt werden. Binden Sie Ihre Software aus V2 in das Projekt mit ein. Dies können Sie entweder über ein include machen oder die benötigten Unterprogramme einfach an das Ende der MAIN-Sektion kopieren. Sollten Sie im LCD-Versuch Timer T3 für das Timing verwendet haben, müssen Sie dies ändern oder die gegebenen Unterprogramme anpassen, da hier dieser Timer für den 1µs Takt verwendet wird. Für die Ansteuerung des 1-Wire Bausteins sind die folgenden Unterprogramme vorgesehen: ow_init_t3 Initialisiert Timer T3 um einen 1µs Takt zu generieren. Der Timer wird manuell bedient, da ein 1µs Takt mit Interrupt zu viel Overhead erzeugt. ow_wait Warteprogramm auf µs-basis... die Anzahl der µs wird in R15 übergeben. ACHTUNG: Programm macht einen Fehler von ca. +2,5 µs (Overhead). Dieser rührt aus dem Unterprogramm-Aufruf und der Initialisierung der Register etc. ow_init Initialisiert die Ports für die One-Wire Schnittstelle Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
3 ow_reset Liefert die Reset-Bedingung für den One-Wire Baustein. Dieser Reset muss vor jeder Kommunikation auf dem Bus ausgeführt werden. ow_read_byte Liest ein Byte vom One-Wire-Bus ow_write_byte Schreibt ein Byte an den One-Wire-Bus ow_convert Startet die Konvertierung der Temperatur und wartet bis der Baustein fertig ist und das Datenpaket zur Abholung bereit ist. ow_read_temp Startet die Konvertierung (durch Aufruf des Unterprogramms ow_convert und liest das unbearbeitete Datenpaket aus und legt es im Speicher (RAM: OW_Temp) ab. ow_read_rom Liest die Familiy ID, Seriennummer und CRC-Byte aus dem DS18S20 aus und legt diese im Speicher (RAM: OW_ROM) ab. create_ascii_id Konvertiert die im µc Speicher befindliche Hex-Zahl der Device ID in AS- CII Zeichen und legt diese ebenfalls im RAM (OW_ID) ab. create_ascii_temp Konvertiert die beiden gelesenen Temperatur-bytes in ASCII-Zeichen um und legt diese als Text-String ebenfalls im Speicher ab (OW_ASCII_Temp) Folgende Aufgaben sind von Ihnen durchzuführen: Unterprogramm: Assemblerprogramm Flußdiagramm ow_init_t3 Gegeben - ow_wait Gegeben Gegeben ow_init Gegeben - ow_read_byte Gegeben Gegeben ow_write_byte Gegeben Ihre Aufgabe ow_convert Gegeben Ihre Aufgabe ow_read_temp Gegeben Ihre Aufgabe ow_read_rom Ihre Aufgabe Ihre Aufgabe create_ascii_id Ihre Aufgabe Ihre Aufgabe create_ascii_temp Ihre Aufgabe Ihre Aufgabe ow_reset Gegeben Gegeben Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
4 2) Versuchsvorbereitung Dieser Versuch baut sehr stark auf Kenntnisse über die Schnittstelle zum Temperatursensor als auch auf das Verständnis der vorhandenen Programmstrukturen. Daher ist es unerlässlich sich in das Thema einzulesen und die Flußdiagramme vor Beginn der Programmierarbeit zu erarbeiten. Lesen Sie sich in das Datenblatt des DS18S20 (finden Sie auf der Internetseite des Labores wo sich auch die Versuchsbeschreibungen befinden) ein. Besonders wichtig ist das Protokoll, wie Daten übertragen werden, als auch der Inhalt und der Aufbau der Datenpakete. Leider werden Device ID und Temperatur nicht als ASCII Werte übertragen, sondern hexadezimal. Die Daten müssen also zunächst in auf dem Display darstellbare Zeichen umgewandelt werden. Im Anhang dieser Versuchsbeschreibung finden Sie die bereitgestellten Unterprogramme (wie sie auch im Projektfile auf der Homepage enthalten sind). Lesen Sie sich in die Funktionen ein und beachten Sie die notwendigen Übergabeparameter für die unterschiedlichen Funktionen. Zeichnen Sie die funktionalen Flussdiagramme der gegebenen Programme sowie die Flußdiagramme, für Unterprogramme, die sie noch selbst erstellen müssen mit Hilfe einer PC-Software. Die Ablaufpläne sollen keine graphische Repräsentation des Assembler Programms sein. Verwenden Sie allgemeinverständliche Ausdrücke, um den Ablauf abstrakt zu beschreiben. In den Flussdiagrammen sind die korrekten Symbole zu verwenden. Im Anhang finden Sie des weiteren extrahierte Informationen zum One-Wire Interface. Schlüsselinformationen wurden dort aus dem Datenblatt extrahiert. Es sind allerdings nicht alle für den Versuch notwendigen Informationen dort enthalten. Ein Studium des Datenblattes ist daher zwingend notwendig. 3) Versuchsdurchführung Die technische Umsetzung der Aufgabe wird weitestgehend Ihnen überlassen. Es gelten aber folgende Rahmenbedingungen: Erstellen Sie die geforderten Unterprogramme. Sie müssen auch ein Hauptprogramm erstellen, das die notwendige Ausgabe zyklisch auf das Display schreibt. Die ID muss nur 1x ausgegeben werden. Die AD-Wandlung der Temperatur benötigt ca. 700ms und kann so kontinuierlich konvertiert, verarbeitet und ausgegeben werden. Die gegebenen Unterprogramme sind mit entsprechenden Köpfen ausgestattet. Einen Rumpf des Kopfes sowie den Unterprogrammrahmen für die durch Sie zu erstellenden Softwarekomponenten finden Sie ebenfalls in der zur Verfügung gestellten Projektdatei. Codieren Sie Ihre Überlegungen und Flussdiagramme in Assembler und testen Sie die Software. Gehen Sie beim Testen schrittweise vor und probieren Sie auch Teillösungen aus. Das Suchen von Fehlern an der Gesamtlösung kann oft aufwendig sein. Erst wenn ein Teilprogramm zuverlässig funktioniert, widmen Sie sich dem folgenden Schritt. Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
5 Die Programme sind so zu schreiben, dass leicht Anpassungen durchgeführt werden können. Es sollen z.b. Equate-Anweisungen verwendet werden und deren Bedeutung/Funktion auch eindeutig kommentiert sein. Im RAM sind bereits die notwendigen Speicherbereiche für das Ablegen der Sensordaten sowie deren Umrechnung in ASCII vorhanden. Sollte der bereitgestellte Rahmen Ihnen nicht in das Konzept passen, dann können Sie existierende Unterprogramme sowie Speicherbereiche gerne für sich anpassen. Bitte markieren Sie aber solche Änderungen in den Ausdrucken. Die Software ist in den einzelnen Funktionsschritten zu dokumentieren, so dass auch Nicht-Assembler-Kenner den Funktionsablauf nachvollziehen können. Auf gute Lesbarkeit und Dokumentation der Software achten. Mit dem Logikport ist das Einlesen der Device-ID zu protokollieren. Fertigen Sie hierzu bitte zwei Screen-Shots an (Gesamtpaket ist zu lange, um leserlich dargestellt werden zu können; verwenden Sie die verfügbare Auflösung der Darstellung der Signale auf dem Bildschirm so gut wie möglich): Reset des 1-Wire Bus mit Senden des Kommandos. Markieren Sie den Reset-Vorgang und das Kommando-Byte, das an den Baustein geschickt wird. Senden der kompletten Device ID (incl. CRC und Family Code). Markieren Sie im Screenshot die zusammengehörigen Bytes sowie deren Werte. LSB, MSB und Leserichtung sind mit anzugeben. 4) Ausarbeitung Nach Beendigung des Versuches haben Sie alle Arbeiten erledigt. Sie können die Ausarbeitung direkt nach dem Praktikumstermin abgeben. Die Ausarbeitung besteht aus folgenden Komponenten: Ausgefülltes Deckblatt Ausdruck der am PC erstellten Flussdiagramme Ausdruck der Assemblerdateien zur Durchsicht. Nicht verwendete Unterprogramme bitte vor dem Ausdruck entfernen! Gegebene Unterprogramme bitte mit ausdrucken Ausdruck der Logikport Diagramme für die geforderte Übertragung incl. Ihrer Anmerkungen Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
6 5) Anhang: 5.1) Vorgefertigte Unterprogramme Auf den folgenden Seiten finden Sie die gegebenen Unterprogramme. Alle diese Unterprogramme finden Sie in digitaler Form im vorbereiteten Projekt für diesen Versuch auf der Labor Homepage. Sollten für Ihr Konzept Anpassungen erforderlich sein, markieren Sie diese bitte in Ihrem Ausdruck für die Abgabe. ;################################################################################## ;# Unterprogramm: ow_init_t3 # ;# # ;# Initialisiert Timer T3 im einen 1µs Takt zu generieren # ;# Der Timer wird manuell bedient, da ein 1µs Takt mit Interrupt zu viel Overhead # ;# erzeugt # ;# Übergabewerte: - keiner - # ;# Rückgabewerte: - keiner - # ;# Zerstörte Register: - keine - # ;# Erstellt: 02. April 2015, Armin Schön # ;################################################################################## ow_init_t3 PROC NEAR mov RET GPT12E_T3CON, #0000$1000$1000$0000b ; Timer T3: Timer, PS:4, zählt runter, gestoppt ow_init_t3 ENDP ;################################################################################## ;# Unterprogramm: ow_wait # ;# # ;# Warteprogramm auf µs-basis... die Anzahl der µs wird in R15 übergeben. # ;# ACHTUNG: Programm macht einen Fehler von ca. +2,5 µs (Overhead) # ;# Basis ist eine normale Warteschleife ohne IRQ # ;# Übergabewerte: R15: Anzahl der µs, die gewartet werden soll # ;# Rückgabewerte: - keiner - # ;# Zerstörte Register: - keine - # ;# Erstellt: 26. März 2015, Armin Schön # ;################################################################################## ow_wait PROC NEAR PUSH R15 PUSH R14 ; Rette benötigte Register mov R14, #5 ; Multipliziere R15 mit 5 (5 Timer Steps = 1us) mulu R14, R15 mov GPT12E_T3, MDL ; Multiplikationsergebnis als Timer-Wert laden ; High-Word der Multiplikation wird ignoriert, da eine ; größere Zeit im aktuellen Kontext nicht notwendig ist. bclr GPT12E_T3CON_T3OTL bset GPT12E_T3CON_T3R ; Lösche Timer T3 OTL für aktuellen Durchgang ; Starte Timer ow_wait_on_t3: jnb GPT12E_T3CON_T3OTL, ow_wait_on_t3 ; Warte bis Output-Toggle-Latch gesetzt bclr GPT12E_T3CON_T3R ; T3 bis zum nächsten Aufruf anhalten POP R14 POP R15 ; Gesicherte Register zurück holen RET ; Rücksprung zum aufrufenden Programm ow_wait ENDP Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
7 ow_wait Timer vorab initialisieren, prescaler = 4 aber auf STOP Register R15, R14 sichern Timerwert * 5 1 µs (prescaler = 4 d.h. 200 ns) * 5 = 1µs Anfangszustand OTL = 0 starte Timer OTL = 0 = 0 = 1 Timer anhalten Register R1, R15 zurückspeichern ret Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
8 ;################################################################################## ;# Unterprogramm: ow_init # ;# # ;# Initialisiert die Ports notwendig für die One-Wire Schnittstelle # ;# Übergabewerte: - keiner - # ;# Rückgabewerte: - keiner - # ;# Zerstörte Register: - keine - # ;# Erstellt: 26. März 2015, Armin Schön # ;################################################################################## ow_init PROC NEAR extr #1 bset ODP4.1 ; Onw-Wire Pin auf Open-Drain bclr ow_pin ; Pin auf logisch "0" RET ow_init ENDP ;################################################################################## ;# Unterprogramm: ow_reset # ;# # ;# Liefert die Reset-Bedingung für den One-Wire Baustein # ;# Übergabewerte: - keiner - # ;# Rückgabewerte: - keiner - # ;# Zerstörte Register: Port 1, High Byte, Bit 7 # ;# Ausgabe: Auf LED 15 wird gelesener Rückgabewert ausgegeben # ;# Erstellt: 26. März 2015, Armin Schön # ;################################################################################## ow_reset PROC NEAR push R15 ; Rette benötigte Register push R0 bset ow_dir ; One-Wire auf Ausgang (und 0) mov R15, #500 ; warte 500µs bclr ow_dir ; One-Wire auf Eingang (und 1) mov R15, #65 ; warte 65µs bmov R0.0, ow_pin mov R15, #435 ; warte 435µs bmov P1H.7, R0.0 ; Gib Erfolg auf LED 15 aus pop R0 pop R15 ; Hole gerettete Register zurück RET ow_reset ENDP Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
9 ow_reset Register sichern log. 0 ausgeben 500 µs warten log. 1 ausgeben 65 µs warten 1-wire einlesen (R0.0) 435 µs warten LED on / off LED = 0 Reset OK LED = 1 Reset nicht OK Register rückspeichern ret nach erfolgreichem Reset ist der DS1820-Baustein bereit für weitere Kommunikation Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
10 ;################################################################################## ;# Unterprogramm: ow_read_byte # ;# # ;# Liest ein Byte vom One-Wire-Bus # ;# Übergabewerte: - keiner - # ;# Rückgabewerte: - RL0: Gelesenes byte # ;# Zerstörte Register: - R0 # ;# Erstellt: , Armin Schön # ;################################################################################## ow_read_byte PROC NEAR push R15 ; Rette benötigte Register push R1 mov R0, #0 ; Initialisiere Werteregister mov R1, #8 ; Initialisiere Bit-Zähler ow_rd_next_bit: bset ow_dir ; One-Wire auf Ausgang (und 0) mov R15, #1 ; warte 1µs bclr ow_dir ; One-Wire auf Eingang (und 1) mov R15, #8 ; warte 8µs bmov R0.8, ow_pin ; Bit vom Bus einlesen mov R15, #50 ; warte 50µs shr R0, #1 ; R0 Eingangsregister um 1 rechts sub R1, #1 ; Bitzähler dekrementieren jmp cc_nz, ow_rd_next_bit ; Nächstes Bit bis ein Byte komplett pop R1 pop R15 ; Hole gerettete Register zurück RET ow_read_byte ENDP Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
11 Lesevorgang für ein einziges Bit read_byte Register R15, R1 sichern Bit-Zähler (= 8) vorbesetzen Bit-Lesezyklus starten 1 µs warten Portrichtung auf Einlesen 8 µs warten Bit einlesen 50 µs warten eingelesenes Bit shiften Bit-Zähler - 1 Schleife 8 x nein Byte eingelesen Register R1, R15 zurückspeichern ret Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
12 ;################################################################################## ;# Unterprogramm: ow_write_byte # ;# # ;# Schreibt ein Byte an den One-Wire-Bus # ;# Übergabewerte: - RL0: zu schreibendes Byte # ;# Rückgabewerte: - keiner - # ;# Zerstörte Register: - keines - # ;# Erstellt: , Armin Schön # ;################################################################################## ow_write_byte PROC NEAR push R15 ; Rette benötigte Register push R0 push R1 mov R1, #8 ; Initialisiere Bit-Zähler ow_wr_next_bit: jb R0.0, ow_wr_1 ow_wr_0: bset ow_dir ; One-Wire auf Ausgang (und 0) mov R15, #65 ; warte 65µs bclr ow_dir ; One-Wire auf Eingang (und 1) mov R15, #1 ; warte 65µs jmp cc_uc, ow_er_b_done ow_wr_1: bset ow_dir ; One-Wire auf Ausgang (und 0) mov R15, #2 ; warte 65µs bclr ow_dir ; One-Wire auf Eingang (und 1) mov R15, #60 ; warte 65µs jmp cc_uc, ow_er_b_done ow_er_b_done: shr R0, #1 ; R0 Eingangsregister um 1 rechts sub R1, #1 ; Bitzähler dekrementieren jmp cc_nz, ow_wr_next_bit ; Nächstes Bit bis ein Byte komplett pop R1 pop R0 pop R15 ; Hole gerettete Register zurück RET ow_write_byte ENDP Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
13 ;################################################################################## ;# Unterprogramm: ow_convert # ;# # ;# Startet die Konvertierung und wartet bis fertig # ;# Übergabewerte: - keiner - # ;# Rückgabewerte: - keiner - # ;# Zerstörte Register: - keines - # ;# Erstellt: , Armin Schön # ;################################################################################## ow_convert PROC NEAR push R15 ; Rette benötigte Register push R0 call ow_reset movb RL0, #0xCC ; Schreibt Kommando, um Adressierung zu überspringen call ow_write_byte ; Schreibt Kommando auf OW-Bus movb RL0, #0x44 ; Schreibt Kommando, um Konvertierung zu starten call ow_write_byte ; Schreibt Kommando auf OW-Bus ow_rd_until_done: bset ow_dir ; One-Wire auf Ausgang (und 0) mov R15, #1 ; warte 1µs bclr ow_dir ; One-Wire auf Eingang (und 1) mov R15, #8 ; warte 8µs jb ow_pin, ow_conv_done ; In der Schleife bleiben bis eine 1 gelesen wird mov R15, #5000 ; 5ms Zeit geben jmp ow_conv_done: cc_uc, ow_rd_until_done ; Erneut lesen, bis '1' pop R0 pop R15 ; Hole gerettete Register zurück RET ow_convert ENDP Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
14 ;################################################################################## ;# Unterprogramm: ow_read_temp # ;# # ;# Startet Konvertierung, wartet bis fertig und legt Ergebnis im Speicher ab # ;# Übergabewerte: - keiner - # ;# Rückgabewerte: - 8-Byte-Ergebnis im RAM (OW_ROM) # ;# Zerstörte Register: - keines - # ;# Erstellt: , Armin Schön # ;################################################################################## ow_read_temp PROC NEAR push R15 ; Rette benötigte Register push R0 push R1 mov R15, #OW_Temp ; Lade Startwert für zu schreibenden Speicherbereich mov R1, #9 ; Zähler für zu lesende Bytes call call ow_convert ow_reset movb RL0, #0xCC ; Schreibt Commando, um Addressierung zu überspringen call ow_write_byte ; Schreibt Kommando auf OW-Bus movb RL0, #0xBE ; Schreibt Kommando, um das Scratchpad zu lesen call ow_write_byte ; Schreibt Kommando auf OW-Bus ow_read_sp_next_byte: call ow_read_byte movb [R15], RL0 ; Schreibe Byte in RAM-Bereich add R15, #1 ; Pointer auf nächste Speicherstelle sub R1, #1 ; Alle Bytes eingelesen? jmp cc_nz, ow_read_sp_next_byte pop R1 pop R0 pop R15 ; Hole gerettete Register zurück RET ow_read_temp ENDP Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
15 5.2) Elektrische Informationen zum 1-Wire Bus Der 1-Wire Bus besteht, wie der Name schon sagt, nur aus einer einzigen Datenleitung. An dieser einen Leitung können Teilnehmer angeschlossen sein. Diese Topologie ist eine strikte Master/Slave Organisation. Vom Master werden alle Kommunikationen, egal ob senden oder empfangen, initiiert und auch zeitlich getriggert. Über die individuelle Device ID (Seriennummer) kann der Master alle Busteilnehmer gezielt ansprechen. Über ein bestimmtes Protokoll kann der Master auch herausfinden, wie viele Bausteine und mit welcher individuellen Adresse am Bus angeschlossen sind. Neben der Device-ID gibt es auch noch eine Familiy-ID über die der Master erfährt, um welchen Sensor-Typ es sich handelt. In unserem Versuch ist nur ein einzelner Maxim DS18S20 angeschlossen. Das relativ aufwendige Suchen nach Busteilnehmern kann also entfallen. Der Master in unserem System ist der XC164. Er ist also verantwortlich für die gesamte Kommunikation, die auf dem Bus stattfindet. Da es sich um einen Eindraht-Bus handelt, müssen sowohl Master als auch Slave diesen Bus treiben können. Hierzu wird ein einfaches Verfahren angewendet. Alle Busteilnehmer haben einen Open-Kollektor- bzw. Open-Drain-Ausgang. Sie können das Signal also nur auf GND ziehen. Den Pegel für den elektrischen High-Pegel übernimmt ein Pull-Up Widerstand von typisch 4,7kW. Dieser ist selbstverständlich auf dem Board vorhanden. Funktionsweise beim Schreiben auf 1-wire-Bus Mit dem Öffnen / Schließen des Bustreibers (im Portpin) durch den direction port DP wird das Potential am 1-wire-Bus gesteuert: DP = 0 Treiberausgang floatet, d.h. pull-up-widerstand zieht nach log. 1 DP = 1 Treiber durchgeschalten, d.h. 1-wire-Bus wird nach log. 0 gezogen GND DP pull up Vcc 1-wire-Bus Temperatursensor DS1820 Abbildung: Treiber des µc mit one-wire incl. Pull-Up und Sensor Der Pin am µc, der für die Kommunikation mit dem 1-Wire Bus zuständig ist, ist der Port 4.1. Dieser Port muss im Register ODP4 (Extended Special Function Register!) auf '1' gesetzt werden, um den Treiber als Open-Drain auszuführen. Der Einfachheit halber wird der Output P4.1 auf logisch '0' gesetzt und bleibt im weiteren Verlauf unverändert. Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
16 Nun kann mit dem Direction-Port der Port 4.1 auf Ausgang geschaltet werden und dieser treibt eine logische '0' auf dem Bus. Wenn der DP4.1 nun auf Eingang geschaltet wird, übernimmt der externe Pull-Up die Aufgabe, die logische '1' zu treiben. Der Pin am µc kann nun direkt verwendet werden, um im Lesemodus die Antwort des 1-Wire Teilnehmers zu lesen. 5.3) Timing Informationen des 1-Wire Buses Im folgenden sehen Sie das Timing und die verschiedenen Buszugriffsarten, die sie im Versuch für die Kommunikation mit dem Temperatursensor benötigen. Die vollständigen Details können aus dem Datenblatt für den DS18S20 entnommen werden, das Sie auf der Homepage des Labors ebenfalls finden können. Vor jeder Kommunikation mit dem Baustein muss ein Reset-Puls initiiert werden. Dieser versetzt den 1-wire Bus und dessen Teilnehmer in einen definierten Zustand. Der Master (µc) zieht den Bus auf '0' und geht nach mindestens 480µs in den Lesemodus und der Pull-Up zieht den Bus nach logisch '1'. Nach spätestens 60µs antworten angeschlossene Busteilnehmer ihrerseits mit einem LOW auf dem Bus. Danach kann mit einem entsprechenden Kommando die gewünschte Kommunikation gestartet werden. Abbildung: Timing für Bus-Reset Nun kann die Kommunikation mit dem Baustein erfolgen. Zunächst muss der Master ein Kommando auf den Bus absetzen. Danach antwortet entweder der Busteilnehmer oder der Master sendet die entsprechenden Daten. In unserem Fall befindet sich nur ein Teilnehmer am Bus, so dass die gezielte Adressierung entfallen kann. Hierzu gibt es ein eigenes Bypass-Kommando ( Skip ROM ). Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
17 Soll ein Bit auf den Bus geschrieben werden (Kommando oder Daten), dann verhält sich der Busteilnehmer (Slave) passiv, und das korrekte Timing ist vom Master zu liefern. Es gibt während der Übertragung kein Feedback von dem Busteilnehmer(n). Abbildung: Timing das Schreiben eines Bits (Master auf Bus) Muss der Master vom Bus Daten lesen, die der Temperatursensor bereitstellt, dann wird ebenfalls das Timing durch den Master bestimmt. Der Master muss jedes Bit auf dem Bus initiieren. In einem definierten Zeitrahmen antwortet der 1-Wire Baustein auf dem Bus. In dieser Zeit muss der µc den Wert einlesen. Das Zeitfenster beträgt hier nur wenige µs und muss daher ziemlich genau erfolgen. Abbildung: Timing das Lesens eines Bits (Master vom Bus) Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
18 5.4) Kommunikation mit dem DS18S20 Für das Auslesen der ID und das Auslesen der Temperatur sind für unseren Versuch nur drei Kommunikations-Modi relevant. Diese sind das Auslesen der ID, das Starten einer A/D-Wandlung der aktuellen Temperatur und das Auslesen des sogenannten Scratchpads, das auch die beiden Bytes für die Temperatur enthält. Diese Abläufe sollen die folgenden drei Flussdiagramme auf Protokoll-Ebene erläutern. Für die ID und das Scratch Pad sind reine Lesevorgänge notwendig. Der Ablauf ist also sehr ähnlich: Read ID Read Scratchpad 1-Wire Reset 1-Wire Reset Command: Read ROM 33h Read from DS18S20: Family Code 1 Byte Read from DS18S20: Serial Number 6 Byte Read from DS18S20: CRC 1 Byte Bus Idle Abbildung: Lesen der Baustein Seriennummer Command: Skip ROM 0xCC Command: Read Scratch Pad 0xBE Read from DS18S20: Scratch Pad 8 Byte Read from DS18S20: CRC 1 Byte Bus Idle Abbildung: Lesen des Scratch Pads Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
19 Beim Auslesen der Temperatur muss die Wandlung der Daten abgewartet werden. Dies kann beim verwendeten Baustein bis zu 780ms dauern. Daher kann die Temperatur durchaus kontinuierlich ausgelesen werden. Die Konvertierungszeit von knapp einer Sekunde ist gleichzeitig eine akzeptable Aktualisierungszeit für die Temperaturausgabe auf dem Display. Convert Temp. 1-Wire Reset Command: Skip ROM 0xCC Command: Convert Temperature 0x44 Einzelnes Bit vom 1-Wire Bus lesen Nein Gelesenes Bit = '1' Ja Bus Idle Abbildung: Start der Temperaturkonvertierung 5.5) Interpretation der Datenpakete Wenn die Datenpakete vom DS18S20 eingelesen wurden und durch die entsprechenden Unterprogramme im RAM des µc abgelegt sind, können diese Daten nun interpretiert werden und als ASCII-Zeichen auf dem LCD ausgegeben werden. Wichtig bei der gesamten Kommunikation ist, dass das LSB zuerst gesendet wird. Dies bezieht sich auf das gesamte Datenpaket und nicht nur auf die einzelnen Bytes. Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
20 Sehen wir uns zunächst die Device ID an. Diese besteht aus insgesamt 8 Bytes: CRC ID, Byte 5 ID, Byte 4 ID, Byte 3 ID, Byte 2 ID, Byte 1 ID, Byte 0 Family ID MSB LSB Die Family ID ist beim DS18S20 grundsätzlich 0x10. Daran kann der µc erkennen, welche Art von Bausteinen am Bus hängen, um sie korrekt anzusprechen. Die mittleren sechs Byte liefern die individuelle Seriennummer (wird bei mehreren Bausteinen am Bus auch als Adresse verwendet). Das letzte gesendete Byte (aber erstes in der Darstellung) beinhaltet einen CRC Wert, mit dessen Hilfe die Richtigkeit der gesendeten Daten überprüft werden kann. Dieses Byte kann aber im Rahmen des Versuches ignoriert werden. Für Sie relevant sind eigentlich nur die mittleren sechs Bytes. Diese beinhalten die ID als HEX-Zahl. In dieser Form eignet sie sich nicht zur Darstellung auf dem LCD. Die Sechs Bytes müssen also zunächst in 12 ASCII-Zeichen umgewandelt werden. Wegen der Lesbarkeit wäre es vorteilhaft, wenn die Bytes durch Bindestriche getrennt auf dem Display dargestellt würden. z.b.: 00-E4-8C-DD-32-0F Hierzu teilen Sie die einzelnen Bytes in die oberen und unteren 4 Bit (verschieben und ausmaskieren). Für die Ziffern (0-9) addieren Sie nun einfach 0x30, und sie haben die jeweilige ASCII-Darstellung und für Buchstaben entsprechend 0x37 (A-F). Diese legen Sie am besten als Block im RAM ab. Sie können Ihre Textausgabe aus Versuch 2 verwenden, um den String komplett auf dem LCD darzustellen. Bei dem Inhalt des Scratch Pad wird die Temperatur ebenfalls als Hex-Wert geliefert. Da diese allerdings vorzeichenbehaftet ist, ist die Umwandlung in ASCII etwas komplexer. Sie erhalten hier 9 Bytes (incl. CRC): Byte 0 Temperature Low Byte Temperaturinformation Byte 1 Temperature High Byte Temperatur Vorzeichen Byte 2 Th Register or User byte 1 Byte 3 Tl Register or User byte 2 Byte 4 Byte 5 Byte 6 Reserved (0xFF) Reserved (0xFF) Count Remain Byte 7 Count per C Byte 8 CRC Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
21 Für uns relevant sind nur die beiden Temperatur-Bytes. (Byte 0 und Byte 1) LS Byte Temp. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 HS Byte S S S S S S S S Sign Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Das High-Byte wird vollständig zur Darstellung des Vorzeichens verwendet. Die Bits 7..1 stellen die Temperatur in vollen C dar. Achtung, diese Zahl ist vorzeichenbehaftet und muss entsprechend behandelt werden. Die Temperatur kann auch negativ sein! Das Bit 0 gibt noch an, ob die Nachkommastelle ',0' oder ',5' ist. Sie hat also die Wertigkeit 2-1, was aber leider nicht direkt durch eine Division umgerechnet werden kann. Wenn alles richtig umsetzt wird, dann könnte es in etwa so aussehen: Um zur ASCII-Darstellung zu kommen, könnte man sich die Vorgehensweise auf der folgenden Seite vorstellen. Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
22 Temp. To ASCII 1 LS-Byte [Bit 0] 0 Nachkommastelle: ',5' Nachkommastelle: ',0' LS-Byte um eine Stelle nach rechts shiften und die Bits 6..0 ausmaskieren => Temperatur-Byte MS-Byte [Bit 8..15] Vorzeichen = '-' Vorzeichen = '+' Zweierkomplement des Temperatur-Bytes berechnen Temperatur-Byte durch 10 dividieren Teilerergebnis + 0x30 => 10er Stelle in ASCII Teilerrest + 0x30 => 1er Stelle in ASCII Temperatur-Byte durch 10 dividieren Teilerergebnis + 0x30 => 10er Stelle in ASCII Teilerrest + 0x30 => 1er Stelle in ASCII ASCII-String im Speicher Ablegen DONE Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
23 6) Weitere Informationsquellen: 1. Infineon technologies; XC User s Manual, Volume 1 (of 2): System Units 2. Infineon technologies; XC User s Manual, Volume 2 (of 2): Peripheral Units 3. Infineon technologies; XC Data Sheet 4. Infineon technologies, C166S User Manual (Befehlssatz) G. Schmitt; Mikrocomputertechnik mit dem Controller C167, Oldenbourg Wissenschaftsverlag GmbH, München Maxim Datenblatt zum DS18S20 (auf der Labor-Homepage oder direkt bei Maxim-IC) Praktikum Mikrocomputertechnik V5M 1-Wire Thermometer
Praktikum Mikrocomputertechnik
Praktikum Mikrocomputertechnik Versuch 5j: PEC & ADC Labor: Termin der Durchführung: IE-Labor oder DT-Labor Teilnehmer: Gruppe: Semester: Student 1: Student 2: Testat: Datum: Bemerkungen: Unterschrift:
Praktikum Mikrocomputertechnik
Praktikum Mikrocomputertechnik Versuch 5: Labor: Termin der Durchführung: IE-Labor und DT-Labor Ampelsteuerung als Automat Teilnehmer: Gruppe: Semester: Student 1: Student 2: Testat: Datum: Bemerkungen:
Ausarbeitung eines Praktikumsversuches zum Design eines 1-Wire-Master-Controllers Falk Niederlein
Großer Beleg Ausarbeitung eines Praktikumsversuches zum Design eines 1-Wire-Master-Controllers Falk Niederlein Folie 1 Gliederung 1 Allgemein 2 Architektur 3 1-Wire-Protokoll 4 Praktikumsversuch 5 Zusammenfassung
USB > I2C- Bus Modul. Startet den I2C-Bus. Daten einlesen NACK senden
USB > I2C- Bus Modul Info Das USB > I2C-Bus Modul stellt eine Verbindung zwischen einen PC und dem I2C-Bus her. Über ein Terminal Programm können nun Daten zum I2C-Bus gesendet und vom I2C-Bus empfangen
Arduino Kurs Das LC-Display. Stephan Laage-Witt FES Lörrach
Arduino Kurs Das LC-Display Stephan Laage-Witt FES Lörrach - 2018 Themen LC-Display zur Anzeige von Text Serieller Datenbus Ausgabe von Zeichen, Texten und Zahlen FES Lörrach Juli 2017 2 LC-Display zur
LCD board EB
LCD board EB005-00-3 Inhalt 1. Über dieses Dokument...2 2. Allgemeine Information...3 3. Board-Layout...6 4. Schaltungsbeschreibung...7 Anhang 1 Schaltplan Copyright Matrix Multimedia Limited 2005 seite
SMP Übung 8 - Lösungsvorschlag
1. Aufgabe: A/D-Wandlermethode auswählen Eine analoge Eingangsgröße, die Temperatur, soll in dieser Aufgabe in ein digitales Ausgangssignal umgewandelt werden. Aus Rechnertechnologie 2 sind folgende Methoden
Die Temperaturmessung mit dem Sensor LM75. Andreas Heller & Eduard Auer
Die Temperaturmessung 14-14 mit dem Sensor LM75 Andreas Heller & Eduard Auer 2 Andreas Heller & Eduard Auer Unser Ablauf Einleitung Fakten über LM 75 I²C - Bussystem Pin Belegung des Sensors Adressen Programmierung
Der I²C-Bus. Vorstellung des Inter-Integrated Circuit -Bus. Aufbau und Funktionsweise. Beispiel PortExpander am Arduino
Der I²C-Bus Vorstellung des Inter-Integrated Circuit -Bus Aufbau und Funktionsweise Beispiel PortExpander am Arduino Weitere Anwendungsmöglichkeiten Was ist der I²C-Bus entwickelt von Philips Anfang der
Die Temperaturmessung
Die Temperaturmessung Praktikum Embedded Software 28.11.2016 Ingo Hericks 1 Inhalt Anforderungen Der Temperatursensor LM75 Der I²C-Bus Temperatursensorplatine Hinweise zur Programmierung 28.11.2016 Ingo
Mikrocomputertechnik
Mikrocomputertechnik Bernd-Dieter Schaaf Mit Mikrocontrollern der Familie 8051 ISBN 3-446-40017-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40017-6 sowie im Buchhandel
HD44780-LC-Display am Atmel-AVR Mikrocontroller
Fachbereich Elektrotechnik und Informatik Labor für Angewandte Informatik und Datenbanken Praktikum Automatisierung / Echtzeitregelung (BAU/BER) Prof.Dr.-Ing. Coersmeier HD44780-LC-Display am Atmel-AVR
Der I²C-Bus. Bearbeitet von: Thomas Finke, EL5
Der I²C-Bus Bearbeitet von: Thomas Finke, EL5 [email protected] Inhaltsverzeichnis 1. Entstehungsgeschichte des I²C-Bus...3 2. Technik der I²C-Bus...3 2.1 Hardware-Struktur...3 2.2 Das I²C-Protokoll...4
Ansteuerung eines LCD-Screens
Ansteuerung eines LCD-Screens Marcel Meinersen 4. Mai 2013 Marcel Meinersen Ansteuerung eines LCD-Screens 4. Mai 2013 1 / 27 Inhaltsverzeichnis 1 Allgemeines Was ist ein LCD-Screen? LCD 162C LED Marcel
DMXface ACTIVE SEND mit RS232
DMXface ACTIVE SEND mit RS232 Für DMXface FW Version ab 5.07 Allgemeines... 2 Einstellen des ACTIVE Send für RS232 Port 1... 3 Daten Sendungen vom DMXface... 4 DMX Daten... 4 Infrarot Empfang... 4 Änderungen
Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg
Hardware PCI-Bus Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 Hardware PCI-Bus 1/23 2008-08-06 Übersicht Inhalt:
Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg
Hardware PCI-Bus Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2007/2008 Hardware PCI-Bus 1/23 2007-10-26 Übersicht Inhalt:
Arduino Kurs Bits und Bytes. Stephan Laage-Witt FES Lörrach
Arduino Kurs Bits und Bytes Stephan Laage-Witt FES Lörrach - 2018 Themen Digitale Eingabe Bit, Byte und Wort Reaktionszeittester FES Lörrach Juli 2017 2 Was ist ein Bit? Ein Bit ist die kleinste Informationseinheit
Zusatzanleitung. MPR-1 I²C-Protokoll. Version 1.01
Zusatzanleitung MPR-1 I²C-Protokoll DE Version 1.01 Inhalt Inhalt 1. I²C Allgemein... 1 1.1 Beschreibung... 1 1.2 Konfiguration... 1 2. I²C-Protokoll des Drucksensormoduls MPR-1... 2 2.1 Parameter... 2
Praktikum Mikrocomputertechnik
Praktikum Mikrocomputertechnik Versuch 3: Labor: Termin der Durchführung: Ansteuerung eines alpha-numerischen LC-Display über Ports des XC164 IE-Labor oder DT-Labor Teilnehmer: Gruppe: Semester: Student
SMP Übung 9 - Lösungsvorschlag
1. Aufgabe: Sieben Segment Anzeigen, Multiplexing, a) Bestimmung der Zeichenkodierung Bei der Zeichenkodierung ist zu beachten, dass ein Low-Pegel auf der Leitung PDA(j) (in Verbindung mit einem Low- Pegel
Serielle Kommunikation - Kodierung
Serielle Kommunikation - Kodierung (1.) Erstellen Sie nachfolgende Klasse: Dabei haben die Methoden folgende Funktionen: exists(): Überprüft, ob eine serielle Schnittstelle existiert getproperties(): Liefert
Projektlabor. LCD Ansteuerung
Projektlabor LCD Ansteuerung Contents 1 LCD 3 2 Hardware des Displays 3 2.1 Hardware............................... 3 2.2 Verbindung.............................. 4 3 Softwareansteuerung 6 4 Quellen 10
Arduino Nano. Hello World per LED On-Board LED (Pin D13) Beispiel: Arduino IDE / Beispiele / Basics / Blink 5 / 20
Inhalt Inbetriebnahme Arduino Nano Einführung I2C Bus Inbetriebnahme Real-Time-Clock DS1307 (I2C) Inbetriebnahme 4x 7-Segment Anzeige TM1637 Kombination RTC mit 7-Segment Anzeige => Uhr 2 / 20 Arduino
10 Versuch Nr Anmerkungen zum Versuch Nr. 8
10 Versuch Nr. 8 10.1 Anmerkungen zum Versuch Nr. 8 Während der letzten 4 Versuche haben Sie sich mit dem detaillierten Rechner-Entwurf beschäftigt. Im letzten Versuch konnten Sie abschließend einen kleinen
Remote-Objekt-Überwachung. von Jan Schäfer und Matthias Merk
Remote-Objekt-Überwachung von Jan Schäfer und Matthias Merk Aufgabenstellung Steuerung von Sensoren zur Remote Objektüberwachung mit einem µc PIC16F874. Welcher Sensor hat gemeldet? Die Überwachung Mehrere
1.9 Atmega-Programmierung in ASM/LED-Ziffernanzeige
1.9 Atmega-Programmierung in ASM/LED-Ziffernanzeige 1.9.1 Idee Bei der Programmentwicklung braucht man es ab und zu, dass man sich an bestimmten Stellen des Programms Variablenwerte anzeigen lässt. Bei
Mikrocomputertechnik. Thema: Serielle Schnittstelle / UART
Mikrocomputertechnik Thema: Serielle Schnittstelle / UART Parallele vs. serielle Datenübertragung Parallele Datenübertragung Mehrere Bits eines Datums werden zeitgleich mittels mehrerer Datenleitungen
LCD-Ansteuerung mit MikroForth
Das Attiny-Projekt LCD-Ansteuerung mit MikroForth 1 LCD-Ansteuerung mit MikroForth Zu unserer Attiny-Platine wird standardmäßig ein kleines LCD von der Firma Pollin beigelegt. Dieses ist auf eine kleine
Bus Manuals SPI I2C. Busse und Sensoren. Twix. Chaos Computer Club Cologne Twix
Twix e.v. http://koeln.ccc.de 2017-10-30 Outline 1 Bus Basics Parallele Busse Serielle Busse 2 SPI SPI mit dem STM32 HAL 3 I2C Praxis I2C Anwenden 1 Bus Basics Parallele Busse Serielle Busse 2 SPI SPI
1. TÜ-Zusammenfassung zum Modul Computersysteme
1. TÜ-Zusammenfassung zum Modul Computersysteme Kurzzusammenfassung 1. Kapitel Netzteil: Aufbau: Bereitgestellte Spannungen: 12V, -12V, 5V, -5V und 3.3V Leistung: Da bei Transformatoren die übertragbare
Anleitung zum Einstieg in die Assemblerprogrammierung des Mikrocontroller C167
Anleitung zum Einstieg in die Assemblerprogrammierung des Mikrocontroller C167 1. Einführung was Sie alles brauchen Diese Anleitung soll Ihnen einen möglichst einfachen Einstieg in die Programmierung des
Manual RS232/485 ISO Artikelnummer: 8410.CON2
Manual /485 ISO Artikelnummer: 8410.CON2 Stand V15/ 22.4.2005 Inhaltsverzeichnis 1 ALLGEMEINES 3 2 LAGERBEDINGUNGEN 4 3 BETRIEBSBEDINGUNGEN 4 4 BLOCKSCHALTBILD 5 5 HARDWARE-BESCHREIBUNG 6 6 BEISPIELHAFTE
Mikroprozessortechnik Grundlagen 1
Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes
Aufgabe 1 Entwicklung einer Virtuellen Maschine
Aufgabe 1 Entwicklung einer Virtuellen Maschine Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Entwicklung
11. Die PC-Schnittstelle
PC-Schnittstelle Funktion -1. Die PC-Schnittstelle.1. Funktion Die folgenden Angaben gelten ohne Einschränkung für den PC, PC-XT, PC-AT, AT-386, AT-486 und kompatible Rechner. Sie sind nur für jene interessant,
Programmierübungen in Assembler
Programmierübungen in Assembler 1. LED Ein-/Ausschalten Verwendet: Ports An Portpin P3.0 ist eine LED angeschlossen. An Portpin P1.0 ist ein Taster angeschlossen. a) Schreiben Sie ein Programm, welches
C-DIAS-Serielles-Interface CSI 021
C-DIAS-Serielles-Interface CSI 021 Das CSI 021 ermöglicht die Kommunikation über 2 unabhängige UART s. Es stehen 2 x RS232/485/422 Ausgänge zur Verfügung. Diese Ausgänge sind per Software umschaltbar.
Arbeitsblatt Nr.19: RFID Kit
Aufgabe: Mit Hilfe eines Arduino-Mikrocontrollers soll ein RFID-TAG ausgelesen werden. Sofern es sich um den richtigen TAG handelt, soll eine Leuchtdiode für 5 Sekunden leuchten. Material: Arduino-Board
Aufgabe 4, I2C Kommunikation mit Temperatursensor. Labor Mikrocontroller mit NUC130
Aufgabe 4, I2C Kommunikation mit Temperatursensor Labor Mikrocontroller mit NUC130 Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber 09.12.2016 Gruppe A Inhalt 1 Einführung...
Anwendungen der Mikrocontrollertechnik
Anwendungen der Mikrocontrollertechnik Projektarbeit WS15/16 Prof. Dr.-Ing. Dietmar A. Brück Jannik Haupenthal 3601110 Stichpunkte: Entwicklung der Aufgabenstellung zu der Erweiterungsplatine 7 Segment
Beschreibung RS232-Protokoll für POWER-TRAP Fotovoltaik-Wechselrichter (ab Protokollversion ENS1 = 5 und ENS2 = 6)
Beschreibung RS232-Protokoll für POWER-TRAP Fotovoltaik-Wechselrichter (ab Protokollversion ENS1 = 5 und ENS2 = 6) 1. Allgemein Da die RS232-Schnittstelle elektrisch auch mit der RS485-Schnittstelle verbunden
Microcomputertechnik
Microcomputertechnik mit Mikrocontrollern der Familie 8051 Bearbeitet von Bernd-Dieter Schaaf 2. Auflage 2002. Buch. 230 S. Hardcover ISBN 978 3 446 22089 8 Format (B x L): 16 x 22,7 cm Gewicht: 407 g
Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -
Mikrocomputertechnik Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikroprozessor-Achritekturen Folie 2 Mikroprozessor-Achritekturen Klassifizierung anhand Wortbreite CPU-Architektur und Busleitungen
Übungsaufgaben. Stand
AUTOMATISIERUNGSTECHNIK AU1 ÜBUNGSAUFGABEN 1 Übungsaufgaben Stand 1.1 5. 5. 2008 1. Lottozahlen. Schreiben Sie ein Programm zum Ziehen von Lottozahlen. Darstellung auf zwei Siebensegmentanzeigen. Die Anzeigen
Interrupts im Handbuch des ATmega128 gründlich lesen.
1 Versuch 1 1.1 Ziel Ziel des ersten Versuchs ist es die USART-Schnittstelle kennenzulernen, sowie Assemblerprogramme um eine interaktive Eingabe zu erweitern. Zu diesem Zweck werden vom Praktikums-PC
Modbus TCP/IP Gateway für 1-Wire Sensoren
Modbus TCP/IP Gateway für 1-Wire Sensoren Der Modbus Gateway verbindet 1-Wire Sensoren wie DS18S20 und DS18B20 mit Ihrem Heimnetzwerk. Er verfügt über eine 1-Wire Schnittstelle zu den Sensoren und eine
Applikationen zur Mikrocontroller-Familie
Applikationen zur 8051- Mikrocontroller-Familie Band 1 Otmar Feger Jürgen Ortmann Siemens Aktiengesellschaft Inhaltsverzeichnis 9 Inhaltsverzeichnis Vorwort zu MC-Tools 13 und MC-Tools 16 5 Inhaltsverzeichnis
Mikrocomputertechnik mit Controllern der AtmelAVR-RISC-Familie
Mikrocomputertechnik mit Controllern der AtmelAVR-RISC-Familie Programmierung in Assembler und C - Schaltungen und Anwendungen von Prof. Dipl.-Ing. Günter Schmitt 4., korrigierte Auflage Oldenbourg Verlag
Klausur "Informatik I" vom Teil "Rechnerstrukturen"
Seite 1 von 6 Seiten Klausur "Informatik I" vom 20.2.2001 Teil "Rechnerstrukturen" Aufgabe 1: Binäre Informationsdarstellung (18 Punkte) 1.1 Gleitkommazahlen: Gegeben sei eine 8-bit Gleitkommazahl-Darstellung
Tag 4 7 Segment-Anzeige, File Include, LC-Display
Tag 4 7 Segment-Anzeige, File Include, LC-Display 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Die 7-Segment-Anzeige Eigentlich 8-Segment-Anzeige Gesteuert über 8
U5-2 Register beim AVR-µC
U5 4. Übungsaufgabe U5 4. Übungsaufgabe U5-2 Register beim AVR-µC U5-2 Register beim AVR-mC Grundlegendes zur Übung mit dem AVR-µC 1 Überblick Register Beim AVR µc sind die Register: I/O Ports Interrupts
Datentechnik. Prinzipieller Aufbau eines Schnittstellenbausteins
Prinzipieller Aufbau eines Schnittstellenbausteins DB /CS A0-Ai R/W Reset Takt Int IntAck zum µp Datenbus Puffer Steuerung Interruptsteuerung & IF Statusregister IE Steuerregister Befehlsregister Datenregister
Adressierung von Speichern und Eingabe- Ausgabegeräten
Adressierung von Speichern und Eingabe- Ausgabegeräten Adressdecodierung Die Busstruktur von Prozessorsystemen verbindet die Bauteile über gemeinsame Leitungen. Auf dem Bus darf zu einer Zeit immer nur
Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller
Mini- Mikroprozessor-Experimentier-System mit einem 8051-Mikrocontroller Version 1.0b vom 04.10.2004 14:21 Inhalt 1 Einleitung...3 2 Hardware...4 2.1 Übersicht...4 2.2 Mikrocontroller AT89C51RB2...5 2.3
Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher
Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher Version D3_16 vom 25.05.2016 Ziel dieses Versuches: Entwicklung einer Ablaufsteuerung mit einem 32 * 4 bit Speicherbaustein, um eine flexible
D.1 Vorbereitung. Teil D Analog-Digital-Wandler 1
D.1 Vorbereitung So wird der Analog-Digital-Wandler des Mikrocontrollers ATmega328P initialisiert: ADMUX = _BV(REFS0); ADCSRA = _BV(ADEN) _BV(ADPS2) _BV(ADPS1) _BV(ADPS0); Der Analog-Digital-Wandler ist
Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer
Übung RA, Kapitel 1.5 1. Beantworten Sie bitte folgende Repetitionsfragen 1. Beschreiben Sie in eigenen Worten und mit einer Skizze die Schichtung einer Multilevel Maschine. Folie 5, rechte Seite 2. Welche
qfix ASCII-Protokoll
www.qfix.de qfix ASCII-Protokoll Referenz qfix Dokument Nr. D100502R1 Inhaltsverzeichnis 1 Einleitung 3 1.1 Referenz................................... 3 2 qfix ASCII Protokoll 4 2.1 Verbindung und Zeichensatz.........................
C++ mit dem Arduino (Uno und Mega2560)
C++ mit dem Arduino (Uno und Mega2560) 1. Toolchain Als toolchain bezeichnet man die Reihe von Software, die nötig ist um den Prozessor zu programmieren, das Ergebnis draufzuladen und dann zu testen. Hier
Displaysteuerung: ATmega32u4. HTL St.Pölten. EL Autor: Kuran. Displaysteuerung Fachspezifische Softwaretechnik 2
isplaysteuerung Fachspezifische Softwaretechnik 2 Skriptum 208 HTL St.ölten Elektronik und Technische Informatik EL Autor: Kuran isplaysteuerung: Für einen µc des Typs ATmega32u4, an dem ein isplay (Hitachi
Laborübung 3. Latches, Flipflops, Counter
Laborübung 3 Latches, Flipflops, Counter Teil 1 Abbildung 1 zeigt den Schaltkreis eines gated D-Latches. In Listing 1 wird exemplarisch ein Stück VHDL-Code vorgestellt, der den abgebildeten Schaltkreis
Technische Informatik I - HS 18
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Musterlösung zu Übung 3 Datum : 25.-26. Oktober 2018 Aufgabe 1: Wurzelverfahren nach Heron Das
FAKULTÄT FÜR INFORMATIK
FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Martin Schulz Einführung in die Rechnerarchitektur Wintersemester 2017/2018 Lösungsvorschlag
Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1
Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated
RGB-Sequenzer RS232 RS485 MDX512 AD / IO Platine
RGB-Sequenzer RS232 RS485 MDX512 AD / IO Platine HARDWARE Platine Osram LED controller 85 x 130 mm, Industriestandard, doppelseitig, Lötstop, Positionsdruck Halterung 4 Bohrlöcher 2,8 mm Durchmesser Ein-
SPI-Bus. 282 Ergänzung zu Kapitel 10
282 Ergänzung zu Kapitel 10 10.21. SPI-Bus Allgemeines Beim SPI-Bus (Serial Peripheral Interface) handelt es sich um einen synchronen 3-Draht Bus mit einer zusätzlichen Steuerleitung (/SS) (siehe Abbildung
Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
Zähler- und Zeitgeber-Baugruppen
Zähler- und Zeitgeber-Baugruppen Sinn: häufig müssen Zeitbedingungen eingehalten werden z.b.: einige ms warten, Häufigkeit von Ereignissen zählen etc... Lösung: 1.) Zeitschleifen = Programm abarbeiten,
Projektdokumentation: DCF 77 Funkuhr
Projektdokumentation: DCF 77 Funkuhr Seite 1 von 8 DCF-77 Signalanalyse Die DCF-77 Signale werden von einem Sender in Mainflingen (ca. 25 km südöstlich von Frankfurt am Main) von der Physikalisch-Technischen
Speichern von Zuständen
Speichern von Zuständen Erweiterung eines R S Latch zu einem D Latch (D=Data, C=Clock) R S altes Q neues Q 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 R S C D altes Q neues Q 0 0 0 0 0 1 0 1 0 0 1
Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 6: Computergrafik und Sprites
Praktikum Grundlagen von Hardwaresystemen Sommersemester 2007 Versuch 6: Computergrafik und Sprites 28. Juni 2007 Fachbereich 12: Informatik und Mathematik Institut für Informatik Professur für Technische
Parallele Datenübertragung mit Hilfe von WinSim85. über einen reellen PC Port
Parallele Datenübertragung mit Hilfe von WinSim85 über einen reellen PC Port Seite: 1 Hardware: Bei der Programmierung der parallelen Schnittstelle eines IBM PC s mit der Simulationssoftware WinSim85 gibt
Die Robo-TX RS-485 Schnittstelle
Die Robo-TX RS-485 Schnittstelle Die Idee... Gleich nach dem Kauf des TX fiel mir in der Anleitung auf, dass auf den Extension-Anschlüssen nur die RS-485-Schnittstelle auf beiden vorkommt. Somit war klar,
Protokoll TID v0.1 ( )
Einleitung Der Opel Radio-Display Bus ist ein serieller Bus, der ein Master Gerät, das Radio mit dem Slave Gerät, dem Triple Info Display oder dem Multi Info Display verbindet. Er basiert auf dem I²C Protokoll,
1. Allgemein Technische Daten... 2
Inhalt 1. Allgemein... 2 2. Technische Daten... 2 3. Beschreibung der s... 3 3.1. Allgemein... 3 3.2. Aufbau einer Übertragung... 3 3.2.1. Nur Daten... 3 3.2.2. s und Daten:... 3 3.2.3. s und Daten gemischt:...
Der Magnetfeldsensor HMC5883L
Unter der Bezeichnung GY-273 wird ein preiswertes Modul (Preis unter 2 Euro) angeboten, mit dem Magnetfelder gemessen werden können. Herzstück dieses Moduls ist der Baustein HMC5883L. Hierbei handelt es
Speicheraufbau des AT89C5131
Speicheraufbau des AT89C5131 Prinzip: - getrennter Programmspeicher (ROM) und Datenspeicher (RAM) - interner Speicher (auf dem Chip) und externer Speicher (Zusatzbausteine) Das Experimentalsystem hat keinen
Manual SPI Module zum CARME-Kit
Berner Fachhochschule Technik und Informatik EKT Labor für technische Informatik Manual SPI Module zum -Kit November 2010 Jürgen Schüpbach Inhaltsverzeichnis Inhaltsverzeichnis 1 Übersicht SPI Module...
Carry Lookahead Adder
Carry Lookahead Adder Mittels der Generate und Propagate Ausdrücke lässt ich dann für jede Stelle i der Carry (Übertrag) für die Stelle i+1 definieren: Für einen 4 Stelligen Addierer ergibt sich damit:
ArduBlock Station 4 - Farbthermometer
Temperatur zum Leuchten bringen Wie viele Menschen haben sich schon die Finger verbrannt, weil die Herdplatte noch heiß war? Oder haben angewidert das Gesicht verzogen, weil der Tee schon kalt war? Das
Arduino Kurs Timer und Interrupts. Stephan Laage-Witt FES Lörrach
Arduino Kurs Timer und Interrupts Stephan Laage-Witt FES Lörrach - 2018 Themen Timer Interrupts Regelmäßige Aufgaben ausführen Exakte Zeitintervalle messen FES Lörrach Juni 2018 2 Exakte Zeiten sind gar
JX6-INT1 Versions Update von V1.00 auf V1.24
JX6-INT1 Versions Update von V1.00 auf V1.24 Auflage 1.00 16. September 2002 / Printed in Germany Versions Update - 16. September 2002 JX6-INT1 - von V1.00 auf V1.24 Die Firma JETTER AG behält sich das
Arduino für FunkAmateure
Arduino für FunkAmateure Arduino & graphische Programmiersprachen Workshop Sensoren aus ALLNET 4Arduino Set (ArdDevKIT1) Schaltung 1: Analoge Pins Schaltung 2: Digitale Pins Schaltung 3: Blinkende LED
ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen
ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen Aufgabenstellung: - das beigefügte Assembler-Programm schrittweise ausführen - sich mit der Handhabung der Entwicklungswerkzeuge
2017/01/23 15:50 1/5 Bedienung
2017/01/23 15:50 1/5 Bedienung Bedienung (J.Müller, Hilfe zu JTCEMU) Das originale 2K-System Das 2 KByte große Betriebssystem bietet die wichtigsten Funktionen zur Eingabe und Verwaltung von BASIC-Programmen.
TCP/IP ASCII Schnittstelle Programmierhandbuch
TCP/IP ASCII Schnittstelle Programmierhandbuch Version 3.0 1. Einleitung Das IRTrans ASCII Format dient der Ansteuerung von IRTrans Modulen (über den irserver oder Ethernetmodule mit IRDB bzw. LAN Controller
Temperaturmodul. Software. Bedeutung der Leuchtdioden. Kanal-LEDs. System-LEDs. Start nach Reset
Temperaturmodul Software Bedeutung der Leuchtdioden Alle LED sind sog. Bicolor-LEDs, die, wie der Name nicht sagt, drei Farben anzeigen können. Rot, grün und gelb, wenn rot und grün gemeinsam aktiviert
Handbuch Digi-Prog. Revision 1.0. Copyright c Welzel GbR Steinstrasse Giessen
Copyright c Welzel GbR Steinstrasse 56 35390 Giessen 16. August 2003 Inhaltsverzeichnis 1 Einleitung 1 2 Hardware-Beschreibung 1 2.1 Programmierstecker.......................... 2 2.2 SUB-D Buchse............................
Beschreibung Modell Motorspindel
Beschreibung Modell Motorspindel Allgemein : Mit dem Modell Motorspindel können sowohl Übungen im Bereich der Regelungstechnik als auch Aufgaben in der Controllertechnik mit allen gängigen Bussystemen
MSP 430. Einführung. Was kann er? Hauptthemen. Wie sieht er aus? 64 / 100 polig. Was kann er? MSP 430 1
MSP 430 Mixed Signal Microcontroller MSP 430 Einführung Der Mikrocontrollers MSP430 von Texas Instruments Das Entwicklungsboard MSP-STK 430A320 http://www.ti.com Texas Instruments 1 Texas Instruments 2
Type ME23 ProfiNet Ethernet IP Modbus TCP
Type ME23 ProfiNet Ethernet IP Modbus TCP Digital Communications Digitale Kommunikation Communications numériques Supplement to Operating Instructions Ergänzung zur Betriebsanleitung Supplément aux instructions
Vorbereitung. Teil D Analog-Digital-Wandler 1
Vorbereitung So wird der Analog-Digital-Wandler des Mikrocontrollers ATmega328P initialisiert: ADMUX = _BV(REFS0); ADCSRA = _BV(ADEN) _BV(ADPS2) _BV(ADPS1) _BV(ADPS0); Der Analog-Digital-Wandler ist im
Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega
Einleitung... 11 Die Pins alphabetisch.... 12 Kapitel 1 Programmierung des ATmega8 und des ATmega328.... 15 1.1 Was Sie auf den nächsten Seiten erwartet... 19 1.2 Was ist eine Micro Controller Unit (MCU)?....
