(nach Abiaufgabe 85/86) Quelle: Bubbers
Die Helligkeit einer Leuchtdiode LED kann digital gesteuert werden, indem die Impulsdauer ti des periodischen digitalen Signals A verändert wird. Gewünscht sind 4 Helligkeitsstufen: dunkel bis hell. Die dazugehörigen Signalverläufe A0 bis A3 sind unten dargestellt. Geliefert werden diese Signale von einer Logik, der die Ausgänge Qa bis Qd eines Dezimalzählers und die beide Steuereingänge S1, S2 zugeführt werden.
Ablaufdiagramm
Zuordnung Schalterstellung S2,S1 - Ausgangssignal A
MODULE LEDhell "Helligkeitssteuerung einer LED "Die Schalter S1 und S2 steuerun in 4 Stufen "die Helligkeit der LED an Pin 10 "Alternativ: Geschwindigkeitssteuerung eines Gleichstrommotors "nach Abiaufgabe 85/86, Signalnamen wie in der Aufgabe DECLARATIONS takt PIN 11; "Takt vom Generator qa,qb,qc,qd NODE ISTYPE 'BUFFER,REG'; "Zaehlerausgnge a2,a1 NODE ISTYPE 'BUFFER,COM'; "Hilfs-Logikausgnge s2,s1 PIN 19,21; "Steuereingnge f¸r Helligkeit a PIN 10 ISTYPE'BUFFER,COM'; ctr = [qd,qc,qb,qa]; EQUATIONS when (ctr.q == 9) then ctr.d = 0 "Zaehler 0..9 else ctr.d = (ctr.q + 1); ctr.clk = takt; "Zaehlertakt when !s2 & !s1 then a = 0; "Multiplexer f¸r die when !s2 & s1 then a = a1; "Hilfssignale a1 und a2 when s2 & !s1 then a = a2; "zur Helligkeitssteuerung when s2 & s1 then a = 1; TRUTH_TABLE "Funktionstabelle (ctr.q -> [a2,a1]) "f¸r die Hilfssignale 0 -> [0 , 0]; 1 -> [0 , 0]; 2 -> [0 , 0]; 3 -> [1 , 0]; 4 -> [1 , 0]; 5 -> [1 , 0]; 6 -> [1 , 1]; 7 -> [1 , 1]; 8 -> [1 , 1]; 9 -> [1 , 1]; TEST_VECTORS "Simulation ([s2,s1,takt] -> a); @repeat 20 {[0 ,0 ,.c. ] -> .x.;} @repeat 20 {[0 ,1 ,.c. ] -> .x.;} @repeat 20 {[1 ,0 ,.c. ] -> .x.;} @repeat 20 {[1 ,1 ,.c. ] -> .x.;} END
Simulationsergebnis