📄 regm16c.inc
字号:
save
listing off ; kein Listing 乥er diesen File
;****************************************************************************
;* *
;* AS 1.41 - Datei REGM16C.INC *
;* *
;* Sinn : enth刲t Registerdefinitionen f乺 den M16C, Modell M30600M8 *
;* *
;* letzte 巒derungen : 30. 8.1996 *
;* 8. 2.1997 if MomPass... *
;* 7. 7.1999 added two more M16C family CPU entries *
;* *
;****************************************************************************
ifndef regm16cinc ; verhindert Mehrfacheinbindung
regm16cinc equ 1
if MOMPASS=1
switch MOMCPUNAME
case "M16C"
fatal "please be more specific; do not use the generic processor type for this header file!"
case "M30600M8"
message "including M30600M8-registers"
case "M30610"
message "including M30610 registers"
case "M30620"
message "including M30620 registers"
elsecase
fatal "invalid processor type: only M30600M8, M30610, or M30620 allowed!"
endcase
endif
;----------------------------------------------------------------------------
; ben攖igte Makros
__bitreg macro Name,Adr,Mask
Name equ Adr
irp BIT,0,1,2,3,4,5,6,7
if Mask&(1<<BIT)
Name{"BIT"} equ Adr<<3+BIT
endif
endm
endm
;----------------------------------------------------------------------------
; Prozessorsteuerung
__bitreg PM,0004h,0ffh ; CPU-Modusregister
__bitreg CM0,0006h,0ffh ; Systemtaktsteuerung 0
__bitreg CM1,0007h,02bh ; Systemtaktsteuerung 1
PRCR equ 000ah ; Schutzregister
PRC0 equ PRCR<<3+0 ; Schreibschutz CM0/CM1
PRC1 equ PRCR<<3+1 ; Schreibschutz PM
PRC2 equ PRCR<<3+2 ; Schreibschutz PD9
;----------------------------------------------------------------------------
; Ports
P0 equ 03e0h ; Datenregister Port 0
PD0 equ 03e2h ; Datenrichtungsregister Port 0
P1 equ 03e1h ; Datenregister Port 1
PD1 equ 03e3h ; Datenrichtungsregister Port 1
P2 equ 03e4h ; Datenregister Port 2
PD2 equ 03e6h ; Datenrichtungsregister Port 2
P3 equ 03e5h ; Datenregister Port 3
PD3 equ 03e7h ; Datenrichtungsregister Port 3
P4 equ 03e8h ; Datenregister Port 4
PD4 equ 03eah ; Datenrichtungsregister Port 4
P5 equ 03e9h ; Datenregister Port 5
PD5 equ 03ebh ; Datenrichtungsregister Port 5
P6 equ 03ech ; Datenregister Port 6
PD6 equ 03eeh ; Datenrichtungsregister Port 6
P7 equ 03edh ; Datenregister Port 7
PD7 equ 03efh ; Datenrichtungsregister Port 7
P8 equ 03f0h ; Datenregister Port 8
PD8 equ 03f2h ; Datenrichtungsregister Port 8
P9 equ 03f1h ; Datenregister Port 9
PD9 equ 03f3h ; Datenrichtungsregister Port 9
P10 equ 03f4h ; Datenregister Port 10
PD10 equ 03f6h ; Datenrichtungsregister Port 10
PUR0 equ 03fch ; Pull-Up-Register
PUR1 equ 03fdh
PUR2 equ 03feh
PUR3 equ 03ffh
;----------------------------------------------------------------------------
; Interruptsteuerung
DM0IC equ 004bh ; DMA-Kanal 0
DM1IC equ 004ch ; DMA-Kanal 1
KUPIC equ 004dh ; Keyboard input
ADIC equ 004eh ; A/D-Wandler
S0TIC equ 0051h ; Senden UART0
S0RIC equ 0052h ; Empfang UART0
S1TIC equ 0053h ; Senden UART1
S1RIC equ 0054h ; Empfang UART1
TA0IC equ 0055h ; Timer A0
TA1IC equ 0056h ; Timer A1
TA2IC equ 0057h ; Timer A2
TA3IC equ 0058h ; Timer A3
TA4IC equ 0059h ; Timer A4
TB0IC equ 005ah ; Timer B0
TB1IC equ 005bh ; Timer B1
TB2IC equ 005ch ; Timer B2
INT0IC equ 005dh ; externer Imterrupt 0
INT1IC equ 005eh ; externer Interrupt 1
INT2IC equ 005fh ; externer Interrupt 2
_ILVL0 equ 0 ; Priorit則sebene
_ILVL1 equ 1
_ILVL2 equ 2
_IR equ 3 ; Interrupt aufgetreten ?
_POL equ 4 ; Polarit則swahl (nur INTxIC)
_LVS equ 5 ; Pegel/Flankentriggerung (nur INTxIC)
;----------------------------------------------------------------------------
; Chip-Selects
CSR equ 0008h
CS0 equ CSR<<3+0 ; Freigabe Chip-Selects
CS1 equ CSR<<3+1
CS2 equ CSR<<3+2
CS3 equ CSR<<3+3
CS0W equ CSR<<3+4 ; mit / ohne Wait-State ?
CS1W equ CSR<<3+5
CS2W equ CSR<<3+6
CS3W equ CSR<<3+7
;----------------------------------------------------------------------------
; Adre醰ergleicher
RMAD0 equ 0010h ; Vergleichsadresse 0
RMAD1 equ 0014h ; Vergleichsadresse 1
__bitreg AIER,0009h,03h ; Interrupt-Freigaben
;----------------------------------------------------------------------------
; DMA-Controller
DM0SL equ 03b8h ; Request-Auswahl Kanal 0
DM1SL equ 03bah ; Request-Auswahl Kanal 1
_DSEL0 equ 0 ; Request-Grund
_DSEL1 equ 1
_DSEL2 equ 2
_DSEL3 equ 3
_DSR equ 7 ; Software-Trigger
DM0CON equ 002ch ; Steuerregister Kanal 0
DM1CON equ 003ch ; Steuerregister Kanal 1
_DMBIT equ 0 ; Transfereinheit (1/2 Byte)
_DMASL equ 1 ; Einzel/Blocktransfer
_DMAS equ 2 ; Request-Anzeige
_DMAE equ 3 ; Freigabe
_DSD equ 4 ; feste/wandernde Quelladresse
_DAD equ 5 ; feste/wandernde Zieladresse
SAR0 equ 0020h ; Quelladresse Kanal 0
DAR0 equ 0024h ; Zieladresse Kanal 0
TCR0 equ 0028h ; Z刪ler Kanal 0
SAR1 equ 0030h ; Quelladresse Kanal 1
DAR1 equ 0034h ; Zieladresse Kanal 1
TCR1 equ 0038h ; Z刪ler Kanal 1
;----------------------------------------------------------------------------
; Timer
TA0MR equ 0396h ; Modusregister Timer A0
TA1MR equ 0397h ; Modusregister Timer A1
TA2MR equ 0398h ; Modusregister Timer A2
TA3MR equ 0399h ; Modusregister Timer A3
TA4MR equ 039ah ; Modusregister Timer A4
TB0MR equ 039bh ; Modusregister Timer B0
TB1MR equ 039ch ; Modusregister Timer B1
TB2MR equ 039dh ; Modusregister Timer B2
_TMOD0 equ 0 ; Moduswahl
_TMOD1 equ 1
_MR0 equ 2 ; Sub-Funktionsauswahl
_MR1 equ 3
_MR2 equ 4
_MR3 equ 5
_TCK0 equ 6 ; Z刪lquellenwahl
_TCK1 equ 7
TA0 equ 0386h ; Z刪lregister Timer A0
TA1 equ 0388h ; Z刪lregister Timer A1
TA2 equ 038ah ; Z刪lregister Timer A2
TA3 equ 038ch ; Z刪lregister Timer A3
TA4 equ 038eh ; Z刪lregister Timer A4
TB0 equ 0390h ; Z刪lregister Timer B0
TB1 equ 0392h ; Z刪lregister Timer B1
TB2 equ 0394h ; Z刪lregister Timer B2
TABSR equ 0380h ; Start/Stop-Register:
TA0S equ TABSR<<3+0 ; Timer A0
TA1S equ TABSR<<3+1 ; Timer A1
TA2S equ TABSR<<3+2 ; Timer A2
TA3S equ TABSR<<3+3 ; Timer A3
TA4S equ TABSR<<3+4 ; Timer A4
TB0S equ TABSR<<3+5 ; Timer B0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -