Wie frage ich in Assembler einen analogen Port ab? Einfach eine Adresse auslesen? Wenn ja, welche?
Druckbare Version
Wie frage ich in Assembler einen analogen Port ab? Einfach eine Adresse auslesen? Wenn ja, welche?
Hallo Einsteiger!
Das steht im Buch Motorola 68HC05 von Zekeriya Zengin.
Seite 85.
Erschienen im Heise-Verlag
ISBN3-88229-034-X
Ist nicht ganz so einfach wie mit digitalen Ports, da die C-Control eigentlich nur einen Analog/Digitalwandler hat. Über ein Statusregister werden diese intern umgeschaltet.
Hier ein kleines Beispielprogramm was die Verwendung zeigt:
Code:0001 0000 ;Demonstriert das Auslesen eines analogen Ports
0002 0000 ;in Assembler
0003 0000 ;
0004 0000 ;http://www.Roboternetz.de
0005 0000 ;
0006 0000
0007 0000 AD_data .equ $08 ;AD Daten
0008 0000 AD_stat .equ $09 ;AD Statusregister
0009 0000 ADPort .equ $0 ;AD Port (0-7) der ausgelesen werden soll
0010 0000
0011 0101 .org $101
0012 0101 A6 20 lda #$20 ;Analoge Wandlung aktivieren
0013 0103 AB 00 add #ADPort
0014 0105 B7 09 sta AD_stat
0015 0107 0F 09 FD warte brclr 7,AD_stat,warte ;Warte bis Messung fertig
0016 010A B6 08 lda AD_data
0017 010C 43 coma ;Invertiere Akku
0018 010D ;Anlagoger Wert befindet sich nun im Akku
0019 010D
0020 010D .end
0021 010D
tasm: Number of errors = 0