; } ?>
:ISP: 7 SegmentanzeigeSynopsis [TIL311.pdf] [TIL311.jpg]
Aufgabe: Entwickeln Sie einen Code-Umsetzer BCD -> 7 Segmentanzeige

Mit den 4 DIP-Schalter eingestellte BCD-Zahl (Ziffern 0 bis 9 möglich) wird in der 7-Segment-Anzeige angezeigt.
| Zn | X3 | X2 | X1 | X0 | a | b | c | d | e | f | g |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | |||||||
| 1 | 0 | 0 | 0 | 1 | |||||||
| 2 | 0 | 0 | 1 | 0 | |||||||
| 3 | 0 | 0 | 1 | 1 | |||||||
| 4 | 0 | 1 | 0 | 0 | |||||||
| 5 | 0 | 1 | 0 | 1 | |||||||
| 6 | 0 | 1 | 1 | 0 | |||||||
| 7 | 0 | 1 | 1 | 1 | |||||||
| 8 | 1 | 0 | 0 | 0 | |||||||
| 9 | 1 | 0 | 0 | 1 | |||||||
| 10 | 1 | 0 | 1 | 0 | |||||||
| 11 | 1 | 0 | 1 | 1 | |||||||
| 12 | 1 | 1 | 0 | 0 | |||||||
| 13 | 1 | 1 | 0 | 1 | |||||||
| 14 | 1 | 1 | 1 | 0 | |||||||
| 15 | 1 | 1 | 1 | 1 |
Füllen Sie die Tabelle aus für 0..9. Die Zustände 10..15 kommen bei BCD nicht vor und können als Don't care verwendet werden. Entwickeln Sie mit KV-Diagrammen die Schaltfunktionen für a..g und daraus einen Schaltplan. Testen Sie Ihre Lösung mit LogiFlash oder dem Digtalboard.
Hier der Vorgabe-Quellcode, Ihr Job ist es, die Funktionstabelle zu erstellen.
@dcset; "Don’t-Care-Set: Auswirkungen siehe Simulationsergebnisse
DECLARATIONS "*************** Ein- und Ausgänge ***************************
in3..in0 PIN 25,26,27,28; "Eingänge
a,b,c,d,e,f,g PIN 4,3,6,7,8,9,10 ISTYPE'BUFFER,COM'; "Anzeige-Ausgänge ohne Flipflops
"********************* SET Deklarationen ********************************
dipschalter = [in3..in0]; "Zusammenfassung der Eingänge
leds = [a,b,c,d,e,f,g]; "Zusammenfassung der Ausgänge
EQUATIONS "****************************************************************
TRUTH_TABLE "************** Funktionstabelle ******************************
(dipschalter -> [a ,b ,c ,d ,e ,f ,g ]) "Eingänge -> Ausgänge
0 -> [1 ,1 ,1 ,1 ,1 ,1 ,0 ]; " LEDs high-aktiv!
1 -> [ ]; " a
2 -> [ ]; " ---
3 -> [ ]; " f | g | b
4 -> [ ]; " ---
5 -> [ ]; " e | d | c
6 -> [ ]; " ---
7 -> [ ];
8 -> [ ];
9 -> [ ];
TEST_VECTORS "************* Simulation ************************************
(dipschalter -> leds); "oder [in3..in0]->[a,b,c,d,e,f,g]
@const i = 0; "Angangswert der Zählvariablen
@repeat 16 "in { } folgendes 16 mal wiederholen
{ i -> [.x.,.x.,.x.,.x.,.x.,.x.,.x.];
@const i = i+1; "Zählvariable um 1 erhöhen
}
END