dect
/
asl
Archived
13
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
asl/include/h8_3048.inc

561 lines
20 KiB
PHP

save
listing off
; kein Listing über diesen File
;****************************************************************************
;* *
;* AS 1.41 - Datei REG3048.INC *
;* *
;* Sinn : enthält SFR-, Makro- und Adreadefinitionen für H8/3048 *
;* *
;* letzte Änderungen : 24.10.1995 *
;* *
;****************************************************************************
ifndef reg3048inc ; verhindert Mehrfacheinbindung
reg532inc equ 1
if (MOMCPUNAME<>"HD6413309")&&(MOMCPUNAME<>"H8/300H")
fatal "Falscher Prozessortyp eingestellt: nur H8/300H erlaubt!"
endif
if MOMPASS=1
message "H8/3048-SFR-Definitionen, (C) 1995 Christian Stelter"
endif
;-----------------------------------------------------------------------------
; MCU-Operating-Modes: (Sec.3 p.55-68 & Sec.20 p.615-628)
MDCR equ $fff1 ; Arbeitsmodus CPU
SYSCR equ $fff2 ; Standby-Modusregister
MSTCR equ $ff5e ; Module standby control register
;MDCR-Register
MD0 equ 0
MD1 equ 1
MD2 equ 2
;SYSCR-Register
SSBY equ 7 ; Software-Standby
STS2 equ 6 ; Standby-Timer Select
STS1 equ 5
STS0 equ 4
UE equ 3 ; User bit enable
NMIEG equ 2 ; NMI-edge
RAME equ 0 ; internes RAM freigeben
;MSTCR-Register
PSTOP equ 7 ; Phi-clock stop
MSTOP5 equ 5 ; Module standby
MSTOP4 equ 4
MSTOP3 equ 3
MSTOP2 equ 2
MSTOP1 equ 1
MSTOP0 equ 0
;-----------------------------------------------------------------------------
; Bus-Controller (Sec.6 p.107-142)
ABWCR equ $ffec ; Bus width control register
ASTCR equ $ffed ; Access state control register
WCR equ $ffee ; Wait control register
WMS0 equ 2 ; Modus
WMS1 equ 3
WC0 equ 0 ; Anzahl Waitstates
WC1 equ 1
WCER equ $ffef ; Wait state controller enable reg.
BRCR equ $fff3 ; Bus release control register
A23E equ 7 ; Address 23 enable
A22E equ 6 ; 22
A21E equ 5 ; 21
BRLE equ 0 ; Bus release enable
CSCR equ $ff5f ; Chip select control register
CS7E equ 7 ; Chip-select 7 enabel
CS6E equ 6
CS5E equ 5
CS4E equ 4
;-----------------------------------------------------------------------------
; Interrupt-Controller:
ISCR equ $fff4 ; IRQ sense control register
IER equ $fff5 ; IRQ enable register
ISR equ $fff6 ; IRQ status register
IPRA equ $fff8 ; Prioritätssteuerung
IPRB equ $fff9 ;
;-----------------------------------------------------------------------------
; Lage Exception und Interrupt-Vektoren: (Sec.4 p.69-78)
;
__defvec macro Name,Num
Name equ Num<<2
endm
__defvec Reset,0
__defvec NMI,7
__defvec TRAP0,8
__defvec TRAP1,9
__defvec TRAP2,10
__defvec TRAP3,11
__defvec IRQ0,12
__defvec IRQ1,13
__defvec IRQ2,14
__defvec IRQ3,15
__defvec IRQ4,16
__defvec IRQ5,17
__defvec WOVI,20
__defvec CMI,21
__defvec IMIA0,24
__defvec IMIB0,25
__defvec OVI0,26
__defvec IMIA1,28
__defvec IMIB1,29
__defvec OVI1,30
__defvec IMIA2,32
__defvec IMIB2,33
__defvec OVI2,34
__defvec IMIA3,36
__defvec IMIB3,37
__defvec OVI3,38
__defvec IMIA4,40
__defvec IMIB4,41
__defvec OVI4,42
__defvec DEND0A,44
;__defvec DEND0A,45
__defvec DEND1B,46
;__defvec DEND1B,47
__defvec ERI0,52
__defvec RXI0,53
__defvec TXI0,54
__defvec TEI0,55
__defvec ERI1,56
__defvec RXI1,57
__defvec TXI1,58
__defvec TEI1,59
__defvec ADI,60
;-----------------------------------------------------------------------------
; DMA-Controller (Sec.6 p.181-238)
DTEA equ $fff4 ; Freigabe Datentransfers
DTEB equ $fff5
DTEC equ $fff6
DTED equ $fff7
__defdma macro Base,Name
MAR{Name}AR equ Base ; Memory address register AR
MAR{Name}ER equ Base+1 ; Memory address register AE
MAR{Name}AL equ Base+2 ; Memory address register AL
MAR{Name}AH equ Base+3 ; Memory address register AH
ETCR{Name}AH equ Base+4 ; Execute transfer count register AH
ETCR{Name}AL equ Base+5 ; AL
IOAR{Name}A equ Base+6 ; I/O address register A
DTCR{Name}A equ Base+7 ; Data transfer control register A
MAR{Name}BR equ Base+8 ; Memory address register BR
MAR{Name}BE equ Base+9 ; Memory address register BE
MAR{Name}BH equ Base+10 ; Memory address register BH
MAR{Name}BL equ Base+11 ; Memory address register BL
ETCR{Name}BH equ Base+12 ; Excute transfer count register BH
ETCR{Name}BL equ Base+13 ; Excute transfer count register BL
IOAR{Name}B equ Base+14 ; I/O address register B
DTCR{Name}B equ Base+15 ; Data transfer control register
endm
__defdma $ff20,"0"
__defdma $ff30,"1"
; DTCR-Register
; short address-mode
DTE equ 7 ; Data transfer enable
DTSZ equ 6 ; Data transfer size
DTID equ 5 ; Data transfer inc/dec
RPE equ 4 ; Repeat enable
DTIE equ 3 ; Data transfer interrupt enable
DTS2 equ 2 ; Data transfer select
DTS1 equ 1
DTS0 equ 0
; full address mode
SAID equ 5 ; Source address inc/dec
SAIE equ 4 ; Source address inc/dec enable
DTS2A equ 2 ; Data transfer select
DTS1A equ 1
DTS0A equ 0
; DTCRB-Register
DTME equ 7 ; Data transfer master enable
DAID equ 5 ; Destination address inc/dec bit
DAIE equ 4 ; enable
TMS equ 3 ; Transfer mode select
DTS2B equ 2 ; Data transfer select
DTS1B equ 1
DTS0B equ 0
;-----------------------------------------------------------------------------
; I/O-Ports: (Sec.9 p.239-280)
P1DDR equ $ffc0 ; Datenrichtung Port 1
P1DR equ $ffc2 ; Daten Port 1
P2DDR equ $ffc1 ; Datenrichtung Port 2
P2DR equ $ffc3 ; Daten Port 2
P2PCR equ $ffd8 ; Input pull-up control register port 3
P3DDR equ $ffc4 ; Datenrichtung Port 3
P3DR equ $ffc6 ; Daten Port 3
P4DDR equ $ffc5 ; Datenrichtung Port 4
P4DR equ $ffc7 ; Daten Port 4
P4PCR equ $ffda ; Input pull-up control register port 4
P5DDR equ $ffc8 ; Datenrichtung Port 5
P5DR equ $ffca ; Daten Port 5
P5PCR equ $ffcb ; Input pull-up control register port 5
P6DDR equ $ffc9 ; Datenrichtung Port 6
P6DR equ $ffcb ; Daten Port 6
P8DDR equ $ffcd ; Datenrichtung Port 8
P8DR equ $ffcf ; Daten Port 8
P9DDR equ $ffd0 ; Datenrichtung Port 9
P9DR equ $ffd2 ; Daten Port 9
PADDR equ $ffd1 ; Datenrichtung Port A
PADR equ $ffd3 ; Daten Port A
PBDDR equ $ffd4 ; Datenrichtung Port B
PBDR equ $ffd6 ; Daten Port B
;------------------------------------------------------------------------------
;Integrated Timer Unit (ITU): (Sec.10 p.281-380)
;common
TSTR equ $ff60 ; Timer start register
TSNC equ $ff61 ; Timer synchro register
TMDR equ $ff62 ; Timer mode register
TFCR equ $ff63 ; Timer function control register
TOER equ $ff90 ; Timer output master enable register
TOCR equ $ff91 ; Timer output control register
__deftimer macro Base,Name
TCR{Name} equ Base ; Timer control register
TIOR{Name} equ Base+1 ; Timer I/O control register
TIER{Name} equ Base+2 ; Timer interrupt enable register
TSR{Name} equ Base+3 ; Timer status register
TCNT{Name}H equ Base+4 ; Timer counter H
TCNT{Name}L equ Base+5 ; Timer counter L
GRA{Name}H equ Base+6 ; General register A (high)
GRA{Name}L equ Base+7 ; General register A (low)
GRB{Name}H equ Base+8 ; General register B (high)
GRB{Name}L equ Base+9 ; General register B (low)
endm
__deftimer $ff64,"0"
__deftimer $ff6e,"1"
__deftimer $ff78,"2"
__deftimer $ff82,"3"
BRA3H equ $ff8c ; Buffer register A3 (high)
BRA3L equ $ff8d ; Buffer register A3 (low)
BRB3H equ $ff8e ; Buffer register B3 (high)
BRB3L equ $ff8f ; Buffer register B3 (low)
__deftimer $ff82,"4"
BRA4H equ $ff9c ; Buffer register A4 (high)
BRA4L equ $ff9d ; Buffer register A4 (low)
BRB4H equ $ff9e ; Buffer register B4 (high)
BRB4L equ $ff9f ; Buffer register B4 (low)
;TMDR-Register
MDF equ 6 ; Phase counting mode flag
FDIR equ 5 ; Flag direction
PWM4 equ 4 ; PWM mode
PWM3 equ 3
PWM2 equ 2
PWM1 equ 1
PWM0 equ 0
;TFCR-Register
CMD1 equ 5 ; Combination mode
CMD0 equ 4
BFB4 equ 3 ; Buffer mode B4
BFA4 equ 2 ; Buffer mode A4
BFB3 equ 1 ; Buffer mode B3
BFA3 equ 0 ; Buffer mode A3
;TOER-Register
EXB4 equ 5 ; Master enable TOCXB4
EXA4 equ 4 ; Master enable TOCXA4
EB3 equ 3 ; Master enable TIOCB3
EB4 equ 2 ; Master enable TIOCB4
EA4 equ 1 ; Master enable TIOCA4
EA3 equ 0 ; Master enable TIOCA3
;TOCR-Register
XTGD equ 4 ; External trigger disable
OLS4 equ 1 ; Output level select 4
OLS3 equ 0 ; Output level select 3
;TCR-Register
CCLR1 equ 6 ; Counter clear
CCLR0 equ 5
CKEG1 equ 4 ; Counter edge
CKEG0 equ 3
TPSC2 equ 2 ; Timer prescaler
TPSC1 equ 1
TPSC0 equ 0
;TIOR-Register
IOB2 equ 6 ; I/O control B2
IOB1 equ 5 ; I/O control B1
IOB0 equ 4 ; I/O control B0
IOA2 equ 2 ; I/O control A2
IOA1 equ 1 ; I/O control A1
IOA0 equ 0 ; I/O control A0
;TSR-Register
OVF equ 2 ; Overflow flag
IMFB equ 1 ; Input capture / compare match flag B
IMFA equ 0 ; Input capture / compare match flag A
;TIER-Register
OVIE equ 2 ; Overflow interrupt enable
IMIEB equ 1 ; Input capture / compare match interrupt enable B
IMIEA equ 0 ; Input capture / compare match interrupt enable A
;-----------------------------------------------------------------------------
;Programmable Timing Pattern Controller (Sec.11 p.381-406)
TPMR equ $ffa0 ; TPC output mode register
TPCR equ $ffa1 ; TPC output control register
NDERB equ $ffa2 ; Next data enable register B
NDERA equ $ffa3 ; Next data enable register A
NDRA equ $ffa5 ; Next data register A
NDRB equ $ffa4 ; Next data register B
NDRA1 equ $ffa5 ; Next data register A group 1
NDRA0 equ $ffa7 ; Next data register A group 0
NDRB3 equ $ffa4 ; Next data register B group 3
NDRB2 equ $ffa6 ; Next data register B group 2
;-----------------------------------------------------------------------------
; Watchdog: (Sec.12 p.407-422)
WDT_TCSR equ $ffa8 ; Timer control/status register
WDT_TCNT equ $ffa9 ; Timer counter
WDT_RSTCSR equ $ffab ; Reset control/status register
WDT_RSTCSRW equ $ffaa ; dito, zum setzen wordzugriffe (p.415)
;TCSR-Register
WDT_OVF equ 7 ; Overflow Flag
WDT_WTIT equ 6 ; Timer mode select
WDT_TME equ 5 ; Timer enable
WDT_CKS2 equ 2 ; Clock select
WDT_CKS1 equ 1
WDT_CKS0 equ 0
;RSTCSR-Register
WDT_WRST equ 7 ; Watchdog timer reset
WDT_RSTOE equ 6 ; Reset output enable
;-----------------------------------------------------------------------------
; serielle Schnittstelle: (Sec.13 p.423-482)
__defSCI macro Base,Name
SMR{Name} equ Base ; Serial mode register
BRR{Name} equ Base+1 ; Bit rate register
SCR{Name} equ Base+2 ; Serial control register
TDR{Name} equ Base+3 ; Transmit data register
SSR{Name} equ Base+4 ; Serial status register
RDR{Name} equ Base+5 ; Receive data register
endm
__defSCI $ffb0,"0"
__defSCI $ffb8,"1"
;SMR-Register
CA equ 7 ; Communication mode
CHR equ 6 ; Character length
PE equ 5 ; Parity enable
OE equ 4 ; Parity mode
STOP equ 3 ; Stop bit length
MP equ 2 ; Multiprocessor mode
CKS1 equ 1 ; Clock select 1
CKS0 equ 0
;SCR-Register
TIE equ 7 ; Transmit interrupt enable
RIE equ 6 ; Receive " "
TE equ 5 ; Transmit enable
RE equ 4 ; Receive enable
MPIE equ 3 ; Multiprozessor interrupt enable
TEIE equ 2 ; Transmit-end interrupt enable
CKE1 equ 1 ; Clock enable 1
CKE0 equ 0 ;
;SSR-Register
TDRE equ 7 ; Transmit data register empty
RDRF equ 6 ; Receive data register full
ORER equ 5 ; Overrun error
FER equ 4 ; Framing error
PER equ 3 ; Parity error
TEND equ 2 ; Transmit end
MPB equ 1 ; Multiprocessor bit
MPBT equ 0 ; Multiprocessor bit transfer
;-----------------------------------------------------------------------------
;Smart Card interface
;not implemented yet
;-----------------------------------------------------------------------------
; A/D-Wandler: (Sec.15 p.505-526)
ADDRA equ $ffe0
ADDRAH equ $ffe0 ;
ADDRAL equ $ffe1 ;
ADDRB equ $ffe2
ADDRBH equ $ffe2
ADDRBL equ $ffe3
ADDRC equ $ffe4
ADDRCH equ $ffe4
ADDRCL equ $ffe5
ADDRD equ $ffe6
ADDRDH equ $ffe6
ADDRDL equ $ffe7
ADCSR equ $ffe8 ; Steuer/Statusregister:
ADF equ 7 ; Wandlung abgeschlossen
ADIE equ 6 ; Interrupt bei Wandelende?
ADST equ 5 ; Wandlung starten
SCAN equ 4 ; Scan-Modus
CKS equ 3 ; Wandlungszeit
CH2 equ 2 ; Kanalauswahl
CH1 equ 1
CH0 equ 0
ADCR equ $ffe9 ; A/D control register
TRGE equ 7 ; Trigger enable
;-----------------------------------------------------------------------------
;D/A-Wandler (Sec.16 p.527-533)
DADR0 equ $ffdc ; D/A data register 0
DADR1 equ $ffdd ; D/A data register 1
DACR equ $ffde ; D/A control register
DASTCR equ $ff5c ; D/A standby control register
;DACR-Register
DAOE1 equ 7 ; D/A output enable
DAOE0 equ 6
DAE equ 5 ; D/A enable
;DASTCR-Register
DASTE equ 0 ; D/A standby enable
;-----------------------------------------------------------------------------
;Clock-Pulse Generator (Sec.19 p.607-614)
DIVCR equ $ff5d ; Divison control register
DIV1 equ 1
DIV0 equ 0
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
endif
restore