save listing off ; kein Listing über diesen File ;**************************************************************************** ;* * ;* AS 1.41 - Datei REGCOP8.INC * ;* * ;* Sinn : enthält Registerdefinitionen für die COP8-Familie * ;* * ;* letzte Änderungen : 2. 9.1996 * ;* 8. 2.1997 MOmPass=1... * ;* * ;**************************************************************************** ifndef regcop8inc ; verhindert Mehrfacheinbindung regcop8inc equ 1 if MOMPASS=1 switch MOMCPUNAME case "COP87L84" message "including COP87L84-registers" elsecase fatal "invalid processor type: only COP87L84 allowed!" endcase endif ;---------------------------------------------------------------------------- ; Prozessorkern __REG set 0 rept 10 R{"\{__REG}"} equ __REG+0xf0 __REG set __REG+1,data endm rept 6 R1{"\{__REG-10}"} equ __REG+0xf0 __REG set __REG+1,data endm psw sfr 0xef ; Flags gie equ 0 ; globale Interruptfreigabe exen equ 1 ; externe Interruptfreigabe busy equ 2 ; Microwire busy ? expnd equ 3 ; externer Interrupt angefordert ? t1ena equ 4 ; Timer 1 Interruptfreigabe t1pnda equ 5 ; Timer 1 Interrupt angefordert ? c equ 6 ; Carry hc equ 7 ; Halfcarry x sfr 0xfc ; X-Register sp sfr 0xfd ; Stackpointer b sfr 0xfe ; B-Register ;---------------------------------------------------------------------------- ; Peripherie-Steuerregister cntrl sfr 0xee ; globale Steuerung sl0 equ 0 ; Taktteiler Microwire sl1 equ 1 iedg equ 2 ; Flankenwahl externer Interrupt msel equ 3 ; G4/G5 für Microwire benutzen t1c0 equ 4 ; Timer 1 Interrupt/Start-Stop t1c1 equ 5 ; Moduswahl Timer 1 t1c2 equ 6 t1c3 equ 7 icntrl sfr 0xe8 ; Fortsetzung... t1enb equ 0 ; Freigabe Fang-Interrupt Timer 1 t1pndb equ 1 ; Fang-Interrupt Timer 1 aufgetreten ? uwen equ 2 ; Freigabe MicroWire-Interrupt uwpnd equ 3 ; MicroWire-Interrupt aufgetreten ? t0en equ 4 ; Freigabe Interrupt Timer 0 t0pndb equ 5 ; Timer 0-Interrupt aufgetreten ? lpen equ 6 ; Freigabe Port L-Interrupt ;---------------------------------------------------------------------------- ; Timer t1rblo sfr 0xe6 ; Autoload-Wert B Timer 1 t1rbhi sfr 0xe7 tmr1lo sfr 0xea ; Zählwert Timer 0 tmr1hi sfr 0xeb t1ralo sfr 0xec ; Autoload-Wert A Timer 1 t1rahi sfr 0xed ;---------------------------------------------------------------------------- ; PWM pscal sfr 0xa0 ; Vorteiler PWM rlon sfr 0xa1 ; On-Anteil PWM pwmcon sfr 0xa2 ; Steuerregister PWM pwen0 equ 0 ; PWM0 auf I/O-Port geben pwen1 equ 1 ; PWM1 auf I/O-Port geben pwon equ 2 ; PWM starten/stoppen pwmd equ 3 ; PWM-Modus pwie equ 4 ; Interrupt-Freigabe PWM pwpnd equ 5 ; Interrupt PWM aufgetreten ? esel equ 6 ; Flankenwahl PWM ;---------------------------------------------------------------------------- ; MicroWire-Interface wkedg sfr 0xc8 wken sfr 0xc9 wkpnd sfr 0xca sior sfr 0xe9 ; Schieberegister ;---------------------------------------------------------------------------- ; CAN Interface txd1 sfr 0xb0 ; Sendedaten (Byte 1,3,5,7,...) txd2 sfr 0xb1 ; Sendedaten (Byte 2,4,6,8,...) tdlc sfr 0xb2 ; Sendelängen-/Identifier(L)-Register tdlc0 equ 0 ; Sendelänge tdlc1 equ 1 tdlc2 equ 2 tdlc3 equ 3 tid0 equ 4 ; Sendeidentifikation (Bit 0..3) tid1 equ 5 tid2 equ 6 tid3 equ 7 tid sfr 0xb3 ; Sendeidentifikationsregister tid4 equ 0 ; Sendeidentifikation (Bit 4..10) tid5 equ 1 tid6 equ 2 tid7 equ 3 tid8 equ 4 tid9 equ 5 tid10 equ 6 trtr equ 7 ; Senderahmen remote ? rxd1 sfr 0xb4 ; Empfangsdaten (Byte 1,3,5,7,...) rxd2 sfr 0xb5 ; Empfangsdaten (Byte 2,4,6,8,...) ridl sfr 0xb6 ; Empfangslängen/Identifier(L)-Register rdlc0 equ 0 ; Empfangslänge rdlc1 equ 1 rdlc2 equ 2 rdlc3 equ 3 rid0 equ 4 ; Empfangsidentifikation (Bit 0..3) rid1 equ 5 rid2 equ 6 rid3 equ 7 rid sfr 0xb7 ; Empfangsidentifikationsregister rid4 equ 0 ; Empfangsidentifikation (Bit 4..10) rid5 equ 1 rid6 equ 2 rid7 equ 3 rid8 equ 4 rid9 equ 5 rid10 equ 6 cscal sfr 0xb8 ; Vorteiler CAN-Takt ctim sfr 0xb9 ; CAN-Bus-Timing-Register ps0 equ 2 ; Phase Segment ps1 equ 3 ps2 equ 4 pps0 equ 5 ; Propagation Segment pps1 equ 6 pps2 equ 7 cbus sfr 0xba ; CAN-Bus-Timing-Register fmod equ 1 ; Fault Confinement Mode rxred0 equ 2 ; Referenzspannung an Rx0 anlegen rxref1 equ 3 ; Referenzspannung an Tx0 anlegen txen0 equ 4 ; TxD Ausgangstreiber freigeben txen1 equ 5 riaf equ 6 ; Empfangsfilter freigeben tcntl sfr 0xbb ; CAN-Bus-Steuer/Statusregister txss equ 0 ; Sender starten/stoppen rie equ 1 ; Freigabe Empfangs-Interrupt tie equ 2 ; Freigabe Sende-Interrupt ceie equ 3 ; Freigabe CAN-Interrupt rerr equ 4 ; Empfangsfehler terr equ 5 ; Sendefehler ns0 equ 6 ; Knoten-Status ns1 equ 7 rtstat sfr 0xbc ; CAN-Bus-Sender/Empfängerstatus rbf equ 0 ; Empfangspuffer voll ? rcv equ 1 ; Empfang läuft ? rfv equ 2 ; empfangener Rahmen gültig ? rorn equ 3 ; Empfängerüberlauf ? rold equ 4 ; Empfängerrahmenüberlauf ? rrtr equ 5 ; Remote-Bit in empfangenem Rahmen gesetzt ? txpnd equ 6 ; Sendung läuft ? tbe equ 7 ; Sendepuffer leer ? tec sfr 0xbd ; Sendefehlerzähler rec sfr 0xbe ; Empfangsfehlerzähler ;---------------------------------------------------------------------------- ; Komparatoren cmpsl sfr 0xd3 ; Steuerregister Komparatoren cmp1en equ 1 ; Komparator 1 aktivieren cmp1rd equ 2 ; Ausgangswert Komparator 1 cmp1oe equ 3 ; Ausgang Komparator 1 herausgeben cmp2en equ 4 ; Komparator 2 aktivieren cmp2rd equ 5 ; Ausgangswert Komparator 2 cmp2oe equ 6 ; Ausgang Komparator 2 herausgeben cmp2sel equ 7 ; Ausgabe Komparator 2 auf L3/L5 ;---------------------------------------------------------------------------- ; Ports portld sfr 0xd0 ; Ausgaberegister Port L portlc sfr 0xd1 ; Konfigurationsregister Port L portlp sfr 0xd2 ; Leseregister Port L portgd sfr 0xd4 ; Ausgaberegister Port G portgc sfr 0xd5 ; Konfigurationsregister Port G portgp sfr 0xd6 ; Leseregister Port G portd sfr 0xdc ; Ausgaberegister Port D ;---------------------------------------------------------------------------- ; Vektoradressen ;---------------------------------------------------------------------------- ; Speicheradressen iram sfr 0x00 ; Bereich internes RAM iramend sfr 0x2f ;---------------------------------------------------------------------------- endif restore ; Listing wieder an