Das eBook Angewandte Mikroelektronik wurde von Hans Lohninger zur Unterstützung verschiedener Lehrveranstaltungen geschrieben. Weitere Informationen finden sie hier. |
Home Anhang Listing: Minimalsystem Includes Centronics-Schnittstelle | |
|
|
Centronics-Schnittstelle
;=================================================== ;---- Experiment: Centronics-Schnittstelle --------- ;=================================================== ; .GLOBAL CENTRX CENTRX: LD A,0CFH ;Port A - Modus 3 OUT (PIOAC),A LD A,11111110B ;Bit 0 = /STB OUT (PIOAC),A ;Bit 1 = BUSY LD A,00000111B ;keine Interrupts OUT (PIOAC),A ; LD A,0CFH ;Port B - Modus 3 OUT (PIOBC),A LD A,00000000B ;alle Bits Ausgang OUT (PIOBC),A LD A,00000111B ;keine Interrupts OUT (PIOBC),A LD A,1 ;/STB auf HIGH legen OUT (PIOAD),A ; LD HL,CENS1 ;Startmeldung CALL PRTSTR $1: LD HL,DSIMG ;DIPSW geändert ? IN A,(DIPSW) CP (HL) LD (HL),A CALL NZ,SETDSW ;neues Protokoll CALL RDV24A ;Zeichen eingelangt ? JR C,$1 CALL OUTCEN ;ja ---> drucken JR $1 ; CENS1: DEFB 'Serielle Druckerschnittstelle bereit' DEFB 0DH,0AH,0 ; ;=================================================== ;---- String auf Centronics-Schnittstelle drucken -- ;=================================================== ; PRTSTR: LD A,(HL) ;Zeichen holen CP 0 ;Ende des Strings ? RET Z CALL OUTCEN ;drucken INC HL ;nächstes Zeichen JR PRTSTR ; ;=================================================== ;--- Zeichen auf Centronics-Schnittstelle drucken -- ;=================================================== ; ;ENTRY: Zeichen in A ;EXIT: Zeichen wird auf Centronics-Schnittstelle ; ausgegeben ; OUTCEN: PUSH AF $1: IN A,(PIOAD) ;warten bis BUSY ok AND 02H JR NZ,$1 POP AF PUSH AF OUT (PIOBD),A ;Zeichen ausgeben LD A,1 OUT (PIOAD),A ;/STB-Impuls LD A,0 OUT (PIOAD),A LD A,1 OUT (PIOAD),A POP AF RET
|
|
Home Anhang Listing: Minimalsystem Includes Centronics-Schnittstelle |