; } ?>
:ISP: 7 Segmentanzeige Lösung
@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 -> [0 ,1 ,1 ,0 ,0 ,0 ,0 ]; " a
2 -> [1 ,1 ,0 ,1 ,1 ,0 ,1 ]; " ---
3 -> [1 ,1 ,1 ,1 ,0 ,0 ,1 ]; " f | g | b
4 -> [0 ,1 ,1 ,0 ,0 ,1 ,1 ]; " ---
5 -> [1 ,0 ,1 ,1 ,0 ,1 ,1 ]; " e | d | c
6 -> [1 ,0 ,1 ,1 ,1 ,1 ,1 ]; " ---
7 -> [1 ,1 ,1 ,0 ,0 ,0 ,0 ];
8 -> [1 ,1 ,1 ,1 ,1 ,1 ,1 ];
9 -> [1 ,1 ,1 ,1 ,0 ,1 ,1 ];
TEST_VECTORS "************* Simulation ************************************
(dipschalter -> leds); "oder [in3..in0]->[a,b,c,d,e,f,g]
0 -> .x.;
@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
| ohne @dcset (Don’t-Care-Set) | mit @dcset (Don’t-Care-Set) |
![]() |
![]() |
| Vom Compiler erzeugte Logikgleichungen ohne @dcset (Don’t-Care-Set) |
Vom Compiler erzeugte Logikgleichungen mit @dcset (Don’t-Care-Set) |
a = (!in3 & !in2 & !in0 # in3 & !in2 & !in1 # !in3 & in1 # !in3 & in2 & in0); b = (!in3 & in1 & in0 # !in2 & !in1 # !in3 & !in1 & !in0 # !in3 & !in2); c = (!in2 & !in1 # !in3 & in2 # !in3 & in0); d = (!in3 & !in2 & !in0 # !in3 & in1 & !in0 # in3 & !in2 & !in1 # !in3 & in2 & !in1 & in0 # !in3 & !in2 & in1); e = (!in2 & !in1 & !in0 # !in3 & in1 & !in0); f = (!in2 & !in1 & !in0 # !in3 & in2 & !in0 # in3 & !in2 & !in1 # !in3 & in2 & !in1); g = (!in3 & in2 & !in0 # in3 & !in2 & !in1 # !in3 & in2 & !in1 # !in3 & !in2 & in1); |
a = (!in2 & !in0 # in3 # in1 # in2 & in0); b = ( in1 & in0 # !in2 # !in1 & !in0); c = (!in1 # in2 # in0); d = ( in1 & !in0 # in3 # in2 & !in1 & in0 # !in2 & in1 # !in2 & !in0); e = (!in2 & !in0 # in1 & !in0); f = ( in2 & !in0 # in3 # in2 & !in1 # !in1 & !in0); g = ( in2 & !in0 # in3 # in2 & !in1 # !in2 & in1); |