034
24.03.2026, 22:32 Uhr
wpwsaw
Default Group and Edit
|
...so, ich habe jetzt das Fehlverhalten? gefunden....
ich habe jetzt den Aufbau wie Bea, also P30-P33 als Eingan und mit 157 auf 8 Eingänge erweitert. Dann habe ich alle 8 Eingänge des 157 mit 10K an P5 gelegt. Pin 15 des 157 fest auf GND und alle anderen Verbindungen direkt und die Ausgänge mit 1K auf sehr kleine LEDs gelegt.
Das bedeutet, Eingänge ständig aud H und werden mit GND geschalten, umgekehrte Logik.
bei mir das gleiche bei den Ausgängen, die LEDs liegen an P5 und werden durch L eingeschalten (Schaltungsbedingt an der Baugruppe)
und hier das Programm
| Quellcode: | ; ;------------------------------------------------------------------------------- DW INIT ; Anstelle AAdr IRQ0 DW INIT ; Anstelle AAdr IRQ1 DW INIT ; Anstelle AAdr IRQ2 DW INIT ; Anstelle AAdr IRQ3 DW INIT ; Anstelle AAdr IRQ4 DW INIT ; Anstelle AAdr IRQ5 ; ;------------------------------------------------------------------------------- ; INIT: DI ;Interrupt sperren ; ; Interrupt LD IRQ,#%00 ; Interruptanforderungs-Reg löschen CLR IMR ;alle INT aus
; Ports LD P01M,#004 ; port0 out, port1 out, internal stack LD P2M,#%000 ; port2 out LD P3M,#%000 ; port3l in port3h out
; ;******************************************************************************* ; ;------------------------------------------------------------------------------- ; SEL0: EQU 00010000b ; 157 Bit 0-3 aktiv SEL1: EQU 00000000b ; 157 Bit 4-7 aktiv ; ;###############################################################################
start: SRP #%10 ; Registergruppe 10H
ld P3,#SEL0 ; select e0...e3 ld R0, P3 ; einlesen der Eingänge 0-3 and R0,#0Fh ; nur unteres Nibble zulassen ld R7, R0 ; übertragen in Ausgangsregister ; ld P3, #SEL1 ; select e4...e7 ld R0, P3 ; einlesen der Eingänge 4-7 and R0, #0Fh ; nur unteres Nibble swap R7 ; Korrektur auf Bit 4-7 add R7, R0 ; oberes Nibble in Ausgaberegister ; ld P2, R7 ;Byte auf Port 2 ausgeben
;------------------------------------------------------------------------------- ; JP start ; Schleife wiederholen ; ;############################################################################### |
das Problem war das Schalten des 157. Das mit dem "OR" hat nicht funktioniert. Ich habe es aus meiner Sicht etwas einfacher gemacht. Einfach vor dem Einlesen die 00000000b oder 00010000b mit "LD" geladen und es funktioniert, warum so auch immer

auf dem Bild ist Eingang 3 (Pin 14) und Eingang 8 (PIN 10) auf GND gelegt und P22 und P27 haben LOW-Pegel und die dazu gehörige LED leuchtet.
Um das gewünschte Logikverhalten zu bekommen, muss man das Programm anpassen.
Gruß wpw -- RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP Dieser Beitrag wurde am 24.03.2026 um 22:50 Uhr von wpwsaw editiert. |