Title | Uebungsaufgabe 7Segment |
---|---|
Course | Informatik 3 |
Institution | Hochschule für Angewandte Wissenschaften Hamburg |
Pages | 3 |
File Size | 195.9 KB |
File Type | |
Total Downloads | 80 |
Total Views | 146 |
SoSe 17 Übungsaufgabe zur Klausur...
Hochschule für Angewandte Wissenschaften Hamburg Michael Berens
Informatik 3 & Elektronik Aufgaben: In dieser Aufgabe sollen Sie den Umgang mit digitalen Ausgängen des Cortex-M0-µControllers LPC1114 von NXP vertiefen. Zu diesem Zweck ist an dem µController ein Board mit drei 7-Segment-Anzeigen mit Hilfe eines 34-poligen Flachbandkabels angeschlossen; s. folgende Abbildung 1:
7-Segment-1 Abb. 1 Die 7-Segment-Anzeige besteht aus den 7 Segmenten a bis g zur Darstellung von Ziffern und einem Segment für den Punkt (DP), der als Kommastelle verwendet werden kann, s. Abb. 2. Zur Darstellung der Ziffer 3 beispielsweise müssen die Segmente a, b, c, d und g leuchten.
a f b g e c d DP
Abb. 2
In der Tabelle (Abb. 3) sehen Sie die Zuordnung der einzelnen Segmente zu den Portpins des µControllers. Nur an den ersten beiden 7-Segment-Anzeigen (7-Segment-Anzeige 1 und 7Segment-Anzeige 2) ist jeweils der Punkt (DP) an dem µController angeschlossen. µC: PIO
Signal 3,3V GND N.C. N.C. (Reset) (Temp.-Sensor) 7-Seg. 1
Segment
0_0 0_1 0_2
EXT 34 Pin 34 33 32 31 30 29 28
0_3
27
7-Seg. 1
f
0_4 0_5 0_6 0_7
26 25
(D/C SPI0) 7-Seg. 1
e
24 23
7-Seg. 1 7-Seg. 1
d g
0_8
22
7-Seg. 1
c
0_9 0_10 0_11 1_0
21 20 19 18
N.C. N.C. 7-Seg. 1 7-Seg. 2
b b
1_1 1_2 1_3 1_4 1_5
17 16 15 14 13
7-Seg. 1 7-Seg. 2 N.C. 7-Seg. 2 / Button-2 7-Seg. 2
1_6 1_7 1_8 1_9 1_10
12 11 10
7-Seg. 2 N.C. 7-Seg. 2
c
9 8
7-Seg. 2 7-Seg. 3
g b
1_11
7
7-Seg. 2
DP
2_0 2_1 2_2 2_3 2_4 2_5
6 5
7-Seg. 3 7-Seg. 3
d a
4 3
7-Seg. 3 7-Seg. 3
f e
2
7-Seg. 3
c
1
7-Seg. 3
g
Abb. 3
DP
a a e d f
Das 7-Segment-Anzeigenboard ist so gebaut, dass die einzelnen Segmente bei Anliegen von LowPegeln ein- und bei Anliegen von High-Pegeln ausgeschaltet sind. Die Portpins PIO2_4 und PIO2_5 sind mit den Portpins PIO3_4 und PIO3_5 auf dem Experimentierboard „verknüpft“. Damit Ihr Programm erwartungsgemäß funktioniert, müssen Sie, wenn Sie beispielsweise PIO2_4 ansprechen PIO3_4 entsprechend konfigurieren (sowohl im DIR-Register als auch im DATARegister). Aufgaben: 1. Laden Sie das Projekt Olimex-7-Segment aus Emil herunter, entpacken Sie es in Ihrem Arbeitsverzeichnis und öffnen Sie das Projekt 7-Segment.uvproj per Doppelklick. Erstellen Sie ein C-Programm für den µController, in dem alle Portpins der 7-Segment-Anzeigen als Ausgänge konfiguriert werden. Versuchen Sie alle 23 Segmente „auszuschalten“. Welche Segmente lassen sich nicht ausschalten und welche Portpins gehören dazu? 2. Suchen Sie im Manual nach den IOCON (Input/Output-Konfigurations)-Registern der nicht ausschaltbaren Portpins. Welche Default-Einstellungen sind gesetzt und wie müssen Sie diese Register konfigurieren, damit auch diese Portpins als digitale Ausgänge verwendet werden können. Konfigurieren Sie diese Portpins entsprechend. „Fassen“ Sie jedoch nur die Bits an, die Sie verändern müssen. Alle anderen Bits müssen unverändert bleiben. 3. Erzeugen Sie auf den Anzeigeelementen die Zahl 736. Denken Sie sich Zahlen aus, die Sie anzeigen wollen und testen Sie diese. Verwenden Sie dabei auch die Punkte (DP) der ersten beiden 7-Segment-Anzeigen. 4. Programmieren Sie den µController so, dass eine der drei Ziffern von 0 bis 9 im Sekundentakt hochzählt. Die Peripherie-Clock hat einen Takt von 12MHz. Ist die Ziffer bei 9 angekommen, soll wieder mit 0 gestartet werden. Beginnen Sie damit, alle Segmente der drei Segment-Anzeigen auszuschalten. Verwenden Sie dafür eine selbst programmierte Funktion „ClearSegments“....