Blame | Last modification | View Log | Download | RSS feed | ?url?
ifndef __regf64xxinc
__regf64xxinc equ 1
save
listing off ; no listing over this file
;****************************************************************************
;* *
;* AS 1.42 - File F64xx.INC *
;* *
;* Contains Bit & Register Definitions for Z8encore F64xx *
;* Source: Z8 Encore! XP F64xx Series Product Specification, PS019926-1114*
;* *
;****************************************************************************
include "ez8com.inc"
;----------------------------------------------------------------------------
; System Control
;----------------------------------------------------------------------------
; Flash Options
OPTIONS0 label 0000h
WDT_RES __z8cbit OPTIONS0,7 ; Watchdog Timer Reset
WDT_AO __z8cbit OPTIONS0,6 ; Watchdog Timer Always On
OSC_SEL __z8cbfield OPTIONS0,4,2 ; Oscillator Mode Selection
VBO_AO __z8cbit OPTIONS0,3 ; Voltage Brown-Out Protection Always On
FRP __z8cbit OPTIONS0,2 ; (Flash) Read Protect
FWP __z8cbit OPTIONS0,0 ; Flash Write Protect
OPTIONS1 label 0001h
;----------------------------------------------------------------------------
; Interrupts Vectors
RESET_vect label 0002h ; Reset (not an interrupt)
WDT_vect label 0004h ; Watchdog Timer
ILL_INST_vect label 0006h ; Illegal Instruction Trap (not an interrupt)
TIMER2_vect label 0008h ; Timer 2
TIMER1_vect label 000ah ; Timer 1
TIMER0_vect label 000ch ; Timer 0
UART0_RX_vect label 000eh ; UART0 Receiver
UART0_TX_vect label 0010h ; UART0 Transmitter
I2C_vect label 0012h ; I2C
SPI_vect label 0014h ; SPI
ADC_vect label 0016h ; ADC
A7_vect label 0018h ; Port A7 or Port D7, selectable rising or falling input edge
A6_vect label 001ah ; Port A6 or Port D6, selectable rising or falling input edge
A5_vect label 001ch ; Port A5 or Port D5, selectable rising or falling input edge
A4_vect label 001eh ; Port A4 or Port D4, selectable rising or falling input edge
A3_vect label 0020h ; Port A3 or Port D3, selectable rising or falling input edge
A2_vect label 0022h ; Port A2 or Port D2, selectable rising or falling input edge
A1_vect label 0024h ; Port A1 or Port D1, selectable rising or falling input edge
A0_vect label 0026h ; Port A0 or Port D0, selectable rising or falling input edge
if __hastimer3
TIMER3_vect label 0028h ; Timer 3
endif
UART1_RX_vect label 002ah ; UART0 Receiver
UART1_TX_vect label 002ch ; UART0 Transmitter
DMA_vect label 002eh ; DMA
C3_vect label 0030h ; Port C3, both input edges
C2_vect label 0032h ; Port C2, both input edges
C1_vect label 0034h ; Port C1, both input edges
C0_vect label 0036h ; Port C0, both input edges
;----------------------------------------------------------------------------
; Interrupts
__defirq macro NUM,Base
IRQ{NUM} sfr Base+0 ; Interrupt Request n
IRQ{NUM}ENH sfr Base+1 ; IRQn Enable High Bit
IRQ{NUM}ENL sfr Base+2 ; IRQn Enable Low Bit
endm
__defirq "0",0fc0h
__defirq "1",0fc3h
__defirq "2",0fc6h
T2I __z8bit IRQ0,7 ; Timer 2 Interrupt Request
T1I __z8bit IRQ0,6 ; Timer 1 Interrupt Request
T0I __z8bit IRQ0,5 ; Timer 0 Interrupt Request
U0RXI __z8bit IRQ0,4 ; UART 0 Receiver Interrupt Request
U0TXI __z8bit IRQ0,3 ; UART 0 Transmitter Interrupt Request
I2CI __z8bit IRQ0,2 ; I2C Interrupt Request
SPII __z8bit IRQ0,1 ; SPI Interrupt Request
ADCI __z8bit IRQ0,0 ; ADC Interrupt Request
T2ENH __z8bit IRQ0ENH,7 ; Timer 1 Interrupt Enable & Priority
T2ENL __z8bit IRQ0ENL,7
T1ENH __z8bit IRQ0ENH,6 ; Timer 1 Interrupt Enable & Priority
T1ENL __z8bit IRQ0ENL,6
T0ENH __z8bit IRQ0ENH,5 ; Timer 0 Interrupt Enable & Priority
T0ENL __z8bit IRQ0ENL,5
U0RENH __z8bit IRQ0ENH,4 ; UART 0 Receive Interrupt Enable & Priority
U0RENL __z8bit IRQ0ENL,4
U0TENH __z8bit IRQ0ENH,3 ; UART 0 Transmit Interrupt Enable & Priority
U0TENL __z8bit IRQ0ENL,3
I2CENH __z8bit IRQ0ENH,2 ; I2C Interrupt Enable & Priority
I2CENL __z8bit IRQ0ENL,2
SPIENH __z8bit IRQ0ENH,1 ; SPI Interrupt Enable & Priority
SPIENL __z8bit IRQ0ENL,1
ADCENH __z8bit IRQ0ENH,0 ; ADC Interrupt Enable & Priority
ADCENL __z8bit IRQ0ENL,0
PA7DI __z8bit IRQ1,7 ; Port A7 or Port D7 Interrupt Request
PA6DI __z8bit IRQ1,6 ; Port A6 or Port D6 Interrupt Request
PA5DI __z8bit IRQ1,5 ; Port A5 or Port D5 Interrupt Request
PA4DI __z8bit IRQ1,4 ; Port A4 or Port D4 Interrupt Request
PA3DI __z8bit IRQ1,3 ; Port A3 or Port D3 Interrupt Request
PA2DI __z8bit IRQ1,2 ; Port A2 or Port D2 Interrupt Request
PA1DI __z8bit IRQ1,1 ; Port A1 or Port D1 Interrupt Request
PA0DI __z8bit IRQ1,0 ; Port A0 or Port D0 Interrupt Request
PAD7ENH __z8bit IRQ1ENH,7 ; Port A7 or Port D7 Interrupt Enable & Priority
PAD7ENL __z8bit IRQ1ENL,7
PAD6ENH __z8bit IRQ1ENH,6 ; Port A6 or Port D6 Interrupt Enable & Priority
PAD6ENL __z8bit IRQ1ENL,6
PAD5ENH __z8bit IRQ1ENH,5 ; Port A5 or Port D5 Interrupt Enable & Priority
PAD5ENL __z8bit IRQ1ENL,5
PAD4ENH __z8bit IRQ1ENH,4 ; Port A4 or Port D4 Interrupt Enable & Priority
PAD4ENL __z8bit IRQ1ENL,4
PAD3ENH __z8bit IRQ1ENH,3 ; Port A3 or Port D3 Interrupt Enable & Priority
PAD3ENL __z8bit IRQ1ENL,3
PAD2ENH __z8bit IRQ1ENH,2 ; Port A2 or Port D2 Interrupt Enable & Priority
PAD2ENL __z8bit IRQ1ENL,2
PAD1ENH __z8bit IRQ1ENH,1 ; Port A1 or Port D1 Interrupt Enable & Priority
PAD1ENL __z8bit IRQ1ENL,1
PAD0ENH __z8bit IRQ1ENH,0 ; Port A0 or Port D0 Interrupt Enable & Priority
PAD0ENL __z8bit IRQ1ENL,0
T3I __z8bit IRQ2,7 ; Timer 3 Interrupt Request
U1RXI __z8bit IRQ2,6 ; UART 1 Receiver Interrupt Request
U1TXI __z8bit IRQ2,5 ; UART 1 Transmitter Interrupt Request
DMAI __z8bit IRQ2,4 ; DMA Interrupt Request
PC3I __z8bit IRQ2,3 ; Port C3 Interrupt Request
PC2I __z8bit IRQ2,2 ; Port C2 Interrupt Request
PC1I __z8bit IRQ2,1 ; Port C1 Interrupt Request
PC0I __z8bit IRQ2,0 ; Port C0 Interrupt Request
T3ENH __z8bit IRQ2ENH,7 ; Timer 3 Interrupt Enable & Priority
T3ENL __z8bit IRQ2ENL,7
U1RENH __z8bit IRQ2ENH,6 ; UART 1 Receive Interrupt Enable & Priority
U1RENL __z8bit IRQ2ENL,6
U1TENH __z8bit IRQ2ENH,5 ; UART 1 Transmit Interrupt Enable & Priority
U1TENL __z8bit IRQ2ENL,5
DMAENH __z8bit IRQ2ENH,4 ; DMA Interrupt Enable & Priority
DMAENL __z8bit IRQ2ENL,4
C3ENH __z8bit IRQ2ENH,3 ; Port C3 Interrupt Enable & Priority
C3ENL __z8bit IRQ2ENL,3
C2ENH __z8bit IRQ2ENH,2 ; Port C2 Interrupt Enable & Priority
C2ENL __z8bit IRQ2ENL,2
C1ENH __z8bit IRQ2ENH,1 ; Port C1 Interrupt Enable & Priority
C1ENL __z8bit IRQ2ENL,1
C0ENH __z8bit IRQ2ENH,0 ; Port C0 Interrupt Enable & Priority
C0ENL __z8bit IRQ2ENL,0
IRQES sfr 0fcdh ; Interrupt Edge Select
IRQPS sfr 0fceh ; Interrupt Port Select Register
PAD7S __z8bit IRQPS,7 ; PAx/PDx Selection
PAD6S __z8bit IRQPS,6
PAD5S __z8bit IRQPS,5
PAD4S __z8bit IRQPS,4
PAD3S __z8bit IRQPS,3
PAD2S __z8bit IRQPS,2
PAD1S __z8bit IRQPS,1
PAD0S __z8bit IRQPS,0
IRQCTL sfr 0fcfh ; Interrupt Control
IRQE __z8bit IRQCTL,7 ; Interrupt Request Enable
;----------------------------------------------------------------------------
; Flash Memory Control
FCTL sfr 0ff8h ; Flash Control
FCMD __z8bfield FCTL,0,8 ; Flash Command
FSTAT sfr 0ff8h ; Flash Status
FPS sfr 0ff9h ; Flash Page Select
INFO_EN __z8bit FPS,7 ; Information Area Enable
PAGE __z8bfield FPS,0,7 ; Page Select
FPROT sfr 0ff9h ; Flash Sector Protect
FFREQH sfr 0ffah ; Flash Programming Frequency High Byte
FFREQL sfr 0ffbh ; Flash Programming Frequency Low Byte
FFREQ sfr FFREQH
;----------------------------------------------------------------------------
; GPIO
__defgpio "A",0fd0h
__defgpio "B",0fd4h
__defgpio "C",0fd8h
__defgpio "D",0fdch
__defgpio "E",0fe0h
__defgpio "F",0fe4h
__defgpio "G",0fe8h
__defgpio "H",0fech
;----------------------------------------------------------------------------
; Timer
__deftimer "0",0f00h,0,1
__deftimer "1",0f08h,0,1
__deftimer "2",0f10h,0,1
if __hastimer3
__deftimer "3",0f18h,0,1
endif
;----------------------------------------------------------------------------
; UART
__defuart "0",0f40h
__defuart "1",0f48h
;----------------------------------------------------------------------------
; I2C
__defi2c 0f50h
;----------------------------------------------------------------------------
; SPI
__defspi 0f60h
;----------------------------------------------------------------------------
; Analog/Digital Converter
ADCCTL sfr 0f70h ; ADC Control 0
CEN __z8bit ADCCTL,7 ; Conversion Enable
VREF __z8bit ADCCTL,5 ; Voltage Reference
CONT __z8bit ADCCTL,4 ; Continuous Conversion
ANAIN __z8bfield ADCCTL,0,3 ; Analog Input Select
ADCD_H sfr 0f72h ; ADC Data High Byte
ADCD_L sfr 0f73h ; ADC Data Low Bits
OVF __z8bit ADCD_L,0 ; Overflow Status
ADCD sfr ADCD_H
;----------------------------------------------------------------------------
; DMA
__defdma macro NUM,Base
DMA{NUM}CTL sfr Base+0 ; DMA Control
DMA{NUM}DEN __z8bit DMA{NUM}CTL,7 ; DMA Enable
DMA{NUM}DLE __z8bit DMA{NUM}CTL,6 ; DMA Loop Enable
DMA{NUM}DDIR __z8bit DMA{NUM}CTL,5 ; DMA Data Transfer Direction
DMA{NUM}IRQEN __z8bit DMA{NUM}CTL,4 ; DMA Interrupt Enable
DMA{NUM}WSEL __z8bit DMA{NUM}CTL,3 ; Word Select
DMA{NUM}RSS __z8bfield DMA{NUM}CTL,0,3 ; Request Trigger Source Select
DMA{NUM}IO sfr Base+1 ; DMA I/O Address
DMA{NUM}H sfr Base+2 ; DMA End/Start Address High Nibble
DMA{NUM}_END_H __z8bfield DMA{NUM}H,4,4 ; DMA End Address High Nibble
DMA{NUM}_START_H __z8bfield DMA{NUM}H,0,4 ; DMA Start/Current Address High Nibble
DMA{NUM}START sfr Base+3 ; DMA Start Address Low Byte
DMA{NUM}END sfr Base+4 ; DMA End Address Low Byte
endm
__defdma "0",0fb0h
__defdma "1",0fb8h
;----------------------------------------------------------------------------
; Watchdog Timer
WDTCTL sfr 0ff0h ; Watchdog Timer Control
WDTU sfr 0ff1h ; Watchdog Timer Reload Upper Byte
WDTH sfr 0ff2h ; Watchdog Timer Reload High Byte
WDTL sfr 0ff3h ; Watchdog Timer Reload Low Byte
;----------------------------------------------------------------------------
restore
endif ; __regf64xxinc