| Unterprogramm DAK2 | Letztmalig dran rumgefummelt: 23.04.04 20:53:46 |
Funktion:
einmalige Ansteuerung der Anzeige und Tastatur, Hauptanwendung ist die Anzeigesteuerung
Tastatur, alle 6 LED-Anzeigen werden nacheinander angesteuert (Ausführungszeit ca. 10 ms).
Einsprungadresse unter Einsatz des EPROM 2716: 0483H
Einsprungadresse unter Einsatz des ROM U505: 0883H
Eintritt:
IX, zeigt auf die niederwertigste Adresse des Speicherbereiches, der zur
Anzeige gelangen soll (das ist das rechte Zeichen)
Austritt:
CY = 1, wenn keine Taste gedrückt
CY = 0, wenn eine Taste gedrückt (außer RES oder NM1)
der Positionscode der
Taste befindet sich im A-Register (siehe unten)
Register:
die Inhalte von AF, A'F', B'C', D'E' werden zerstört.
Beschreibung:
jeder 7-Segment Anzeige ist ein Byte im Speicher zugeordnet, insgesamt also 6 Byte
dabei ist der rechtesten LED das niederwertigste Byte zugeordnet (man muss so zu sagen von "hinten" schreiben - das letzte Zeichen zuerst!)
IX zeigt auf niederwertiges Byte- z.B. 2300H - System-Index ist 23F2H
| 2300H | Datenanzeigespeicher |
| 2301H | Datenanzeigespeicher |
| 2302H | Adressanzeigespeicher |
| 2303H | Adressanzeigespeicher |
| 2304H | Adressanzeigespeicher |
| 2305H | Adressanzeigespeicher |
Anzeige-Index - realisiert über das Register IX
Die einzelnen Bits in einem Byte repräsentieren dabei die einzelnen Segmente und den Dezimalpunkt. Ist ein Bit=1, so leuchtet das zugehörige Segment

Maskenrahmen für den Ablauf einer Laufschrift (angezeigt werden immer nur 6 Digits - danach muss "weitergeschalten" werden!)
| HEX-Code | Zeichen |
| E7H | 0 |
| 21H | 1 |
| CDH | 2 |
| ADH | 3 |
| 2BH | 4 |
| AEH | 5 |
| EEH | 6 |
| 25H | 7 |
| EFH | 8 |
| AFH | 9 |
| 6FH | A |
| EAH | B |
| C6H | C |
| E9H | D |
| CEH | E |
| 4EH | F |
| E6H | G |
| 6BH | H |
| 20H | I |
| E1H | J |
| CBH | K |
| C2H | L |
| 6CH | M |
| 68H | N |
| E8H | O |
| 4FH | P |
| 2FH | Q |
| 48H | R |
| AEH | S |
| CAH | T |
| E3H | U |
| E0H | V |
| E4H | W |
| 4AH | X |
| ABH | Y |
| 8CH | Z |
| C8H | ( |
| A8H | ) |
| 29H | + |
| 08H | - |
| 10H | . |
| FFH |
LC-80 Zeichencodetabelle - vergiss den ASCII ;-)
Segment-Decodierung und Zeichentabelle
| Wertigkeit | Taste |
| 00H | 0 |
| 01H | 1 |
| 02H | 2 |
| 03H | 3 |
| 04H | 4 |
| 05H | 5 |
| 06H | 6 |
| 07H | 7 |
| 08H | 8 |
| 09H | 9 |
| 0AH | A |
| 0BH | B |
| 0CH | C |
| 0DH | D |
| 0EH | E |
| 0FH | F |
| 10H | + |
| 11H | - |
| 12H | EX |
| 14H | DAT |
| 19H | ADR |
| 1EH | STR |
| 1FH | LD |
Tastaturcode-Tabelle für DAK2