Κεφάλαιο 06

Κωδικοποιητές & Αποκωδικοποιητές

Κωδικοποιητής (Encoder): μετατρέπει πολλές γραμμές εισόδου σε λίγες γραμμές κωδικοποιημένης εξόδου. Αποκωδικοποιητής (Decoder): κάνει το αντίθετο — από κωδικοποιημένη είσοδο ενεργοποιεί μία και μόνο μία από τις πολλές εξόδους.

01

Encoder vs Decoder

📥

Κωδικοποιητής

M εισόδων → N εξόδων (M > N)

Από τις M εισόδους ενεργοποιείται μόνο μία, και η έξοδος δίνει τον BCD αριθμό της.

Π.χ. 10→4, 16→4, 8→3

📤

Αποκωδικοποιητής

N εισόδων → 2ᴺ εξόδων

Με βάση την δυαδική είσοδο, ενεργοποιείται μία μόνο έξοδος.

Π.χ. 2→4, 3→8, 4→16

💡 Active High vs Active Low

Οι είσοδοι/έξοδοι μπορούν να είναι ενεργές στο ψηλό επίπεδο (Active High = 1) ή στο χαμηλό επίπεδο (Active Low = 0). Το datasheet του ολοκληρωμένου σου λέει ποιο ισχύει.

02

Αποκωδικοποιητές (Decoders)

Ένας αποκωδικοποιητής με N εισόδους έχει μέγιστο αριθμό εξόδων M = 2ᴺ.

Mmax = 2N

Παραδείγματα:

  • Decoder 2→4: 2 είσοδοι → 4 έξοδοι
  • Decoder 3→8: 3 είσοδοι → 8 έξοδοι
  • Decoder 4→16: 4 είσοδοι → 16 έξοδοι
  • Decoder BCD→DEC (4→10): 4 είσοδοι BCD → 10 έξοδοι (0-9)

Παράδειγμα: BCD σε Δεκαδικό

Όταν στην είσοδο έχεις τον αριθμό 0101 (δηλαδή 5 σε BCD), η μόνη έξοδος που ενεργοποιείται είναι η Y₅. Όλες οι άλλες παραμένουν στο 0.

🎮

Διαδραστικό: Decoder N→2ᴺ

Πάτα τα bits

Δες ποια έξοδος ενεργοποιείται

Επίλεξε αριθμό εισόδων (2, 3 ή 4 bits). Πάτα τα κουμπιά A₀, A₁, A₂, A₃ για να φτιάξεις τη δυαδική είσοδο. Παρατήρησε ότι μόνο μία έξοδος ανάβει κάθε φορά — αυτή που αντιστοιχεί στη δεκαδική τιμή της εισόδου.

3 bits
Δυαδική είσοδος
000
Ενεργή έξοδος
Y₀
Συνολικές έξοδοι
8

Είσοδοι (A)

Έξοδοι (Y)

03

BCD σε 7-Segment Decoder

Ο πιο διάσημος αποκωδικοποιητής! Παίρνει 4 bits (BCD 0-9) και ενεργοποιεί 7 εξόδους a, b, c, d, e, f, g για να εμφανίσει το αντίστοιχο ψηφίο σε 7-segment display.

Πίνακας αλήθειας

BCDA₃A₂A₁A₀abcdefg
000001111110
100010110000
200101101101
300111111001
401000110011
501011011011
601100011111
701111110000
810001111111
910011110011

Δύο τύποι 7-segment displays:

  • Κοινής Καθόδου (Common Cathode): Active High — λογικό 1 ανάβει το segment
  • Κοινής Ανόδου (Common Anode): Active Low — λογικό 0 ανάβει το segment
🎮

Διαδραστικό: BCD → 7-Segment Display

Σχημάτισε ψηφία

Δες το ψηφιακό display ζωντανά!

Πάτα τα bits A₃A₂A₁A₀ για να φτιάξεις έναν αριθμό σε BCD (0-9). Δες ζωντανά πώς ανάβουν τα segments a-g στο display. Δοκίμασε όλους τους αριθμούς από 0 ως 9!

BCD Είσοδος

7-Segment Display

BCD Input
0000
Δεκαδικό
0
Segments ON
a,b,c,d,e,f
04

Κωδικοποιητές (Encoders)

Ο κωδικοποιητής έχει M εισόδους και N εξόδους, με M < 2ᴺ. Όταν ενεργοποιηθεί μία είσοδος, στην έξοδο εμφανίζεται ο BCD κωδικός της.

Για παράδειγμα, ένας κωδικοποιητής δεκαδικού/BCD (10→4) δέχεται 10 εισόδους D₀-D₉ και βγάζει 4 εξόδους Y₀-Y₃ (BCD).

Y₀ (LSB): D₁ + D₃ + D₅ + D₇ + D₉
Y₁: D₂ + D₃ + D₆ + D₇
Y₂: D₄ + D₅ + D₆ + D₇
Y₃ (MSB): D₈ + D₉
05

Κωδικοποιητής με Προτεραιότητα

Στον απλό κωδικοποιητή, αν ενεργοποιηθούν πάνω από μία είσοδοι ταυτόχρονα, το αποτέλεσμα είναι λάθος. Ο κωδικοποιητής με προτεραιότητα (priority encoder) λύνει αυτό το πρόβλημα: όταν ενεργοποιηθούν πολλές είσοδοι, κωδικοποιεί την πιο μεγάλη από αυτές.

🎯 Παράδειγμα

Αν πατηθούν ταυτόχρονα τα κουμπιά 3 και 5, ο priority encoder θα κωδικοποιήσει το 5 (μεγαλύτερο) και θα αγνοήσει το 3.

🎮

Διαδραστικό: Priority Encoder

Πάτα πολλά μαζί!

Δες τη λογική προτεραιότητας

Πάτα διάφορα κουμπιά εισόδου D₀-D₉ ταυτόχρονα. Παρατήρησε ότι η έξοδος BCD αντιστοιχεί πάντα στο μεγαλύτερο ενεργό κουμπί. Δοκίμασε να πατήσεις D₂ και D₇ — η έξοδος θα είναι 7!

Είσοδοι (D₀ - D₉)

Πατημένα
Μέγιστο (κωδικοποιείται)
Έξοδος BCD
0000

Έξοδοι (Y₃ Y₂ Y₁ Y₀)

06

Τυπικές Εφαρμογές

Αποκωδικοποιητές:

  • Επιλογή μνήμης (memory address decoding) σε επεξεργαστές
  • Οθόνες 7-segment, 14-segment, dot matrix
  • Multiplexers/Demultiplexers (επόμενο κεφάλαιο!)
  • Πίνακες πληκτρολογίου (keyboard scanning)

Κωδικοποιητές:

  • Κωδικοποίηση πατημάτων πληκτρολογίου σε ASCII
  • Συμπίεση δεδομένων
  • Συστήματα προτεραιότητας (interrupt controllers)
07

📄 Διαφάνειες & Σημειώσεις

📚 Οι διαφάνειες και χειρόγραφες σημειώσεις είναι διαθέσιμες στην τάξη από την/τον εκπαιδευτικό σου.