Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

r               ifndef  __regt1024inc
__regt1024inc   equ     1
                save
                listing off   ; kein Listing ueber diesen File

;****************************************************************************
;*                                                                          *
;*   AS 1.42 - File REGT1024.INC                                            *
;*                                                                          *
;*   Contains Bit & Register Definitions for ATtiny102/104                  *
;*                                                                          *
;****************************************************************************

;----------------------------------------------------------------------------
; Chip Configuration

VLMCSR          port    0x34            ; VCC Level Monitoring Control and Status Register
VLM0            avrbit  VLMCSR,0        ; Trigger Level of Voltage Level Monitor
VLM1            avrbit  VLMCSR,1
VLM2            avrbit  VLMCSR,2
VLMIE           avrbit  VLMCSR,6        ; VLM Interrupt Enable
VLMF            avrbit  VLMCSR,7        ; VLM Flag

RSTFLR          port    0x3b            ; Reset Flag Register
WDRF            avrbit  RSTFLR,3        ; Watchdog Reset Flag
EXTRF           avrbit  RSTFLR,1        ; External Reset Flag
PORF            avrbit  RSTFLR,0        ; Power-on Reset Flag

OSCCAL          port    0x39            ; Oscillator Calibration

CLKPSR          port    0x36            ; Clock Prescaler Register
CLKPS0          avrbit  CLKPSR,0        ; Clock Prescaler Select
CLKPS1          avrbit  CLKPSR,1
CLKPS2          avrbit  CLKPSR,2

CLKMSR          port    0x37            ; Clock Main Settings Register
CLKMS0          avrbit  CLKMSR,0        ; Clock Main Select Bits
CLKMS1          avrbit  CLKMSR,1

SMCR            port    0x3a            ; Sleep Mode Control Register
SE              avrbit  SMCR,0          ; Sleep Mode Enable
SM0             avrbit  SMCR,1          ; Sleep Mode Select
SM1             avrbit  SMCR,2
SM2             avrbit  SMCR,3

PRR             port    0x35            ; Power Reduction Register
PRTIM0          avrbit  PRR,0           ; Power Reduction Timer/Counter 0
PRADC           avrbit  PRR,1           ; Power Reduction A/D Converter
PRUSART0        avrbit  PRR,2           ; Power Reduction USART

CCP             port    0x3c            ; Configuration Change Protection Register

;----------------------------------------------------------------------------
; EEPROM/Flash Access

NVMCSR          port    0x32            ; Non-Volatile Memory Control and Status Register
NVMBSY          avrbit  NVMCSR,7        ; Non-Volatile Memory Busy

NVMCMD          port    0x33            ; Non-Volatile Memory Command Register
NVMCMD0         avrbit  NVMCMD,0        ; Non-Volatile Memory Command
NVMCMD1         avrbit  NVMCMD,1
NVMCMD2         avrbit  NVMCMD,2
NVMCMD3         avrbit  NVMCMD,3
NVMCMD4         avrbit  NVMCMD,4
NVMCMD5         avrbit  NVMCMD,5

;----------------------------------------------------------------------------
; GPIO

PINA            port    0x00            ; Port A @ 0x00 (IO) ff.
                if      MOMCPUNAME="ATTINY102"
__PORTA_BITS     equ    0x07            ; (bits 0..2 on ATtiny102)
                endif
PUEA            port    0x03            ; Pull-Up Enable Port A
PUEA0           avrbit  PUEA,0
PUEA1           avrbit  PUEA,1
PUEA2           avrbit  PUEA,2
                if      MOMCPUNAME="ATTINY104"
PUEA3            avrbit PUEA,3
PUEA4            avrbit PUEA,4
PUEA5            avrbit PUEA,5
PUEA6            avrbit PUEA,6
PUEA7            avrbit PUEA,7
                endif
PINB            port    0x04            ; Port B @ 0x04 (IO) ff.
PUEB            port    0x07            ; Pull-Up Enable Port B
                if      MOMCPUNAME="ATTINY102"
__PORTB_BITS     equ    0x0e            ; (bits 1..3 on ATtiny102)
                endif
                if      MOMCPUNAME="ATTINY104"
__PORTB_BITS     equ    0x0f            ; (bits 0..3 on ATtiny104)
PUEB0            avrbit PUEB,0
                endif
PUEB1           avrbit  PUEB,1
PUEB2           avrbit  PUEB,2
PUEB3           avrbit  PUEB,3

PCMSK0          port    0x0f            ; Pin-Change Mask Register 0
PCINT0          avrbit  PCMSK0,0        ; Enable Pin-Change Interrupt 0
PCINT1          avrbit  PCMSK0,1        ; Enable Pin-Change Interrupt 1
PCINT2          avrbit  PCMSK0,2        ; Enable Pin-Change Interrupt 2
PCINT3          avrbit  PCMSK0,3        ; Enable Pin-Change Interrupt 3
PCINT4          avrbit  PCMSK0,4        ; Enable Pin-Change Interrupt 4
PCINT5          avrbit  PCMSK0,5        ; Enable Pin-Change Interrupt 5
PCINT6          avrbit  PCMSK0,6        ; Enable Pin-Change Interrupt 6
PCINT7          avrbit  PCMSK0,7        ; Enable Pin-Change Interrupt 7
PCMSK1          port    0x10            ; Pin-Change Mask Register 1
PCINT8          avrbit  PCMSK1,0        ; Enable Pin-Change Interrupt 8
PCINT9          avrbit  PCMSK1,1        ; Enable Pin-Change Interrupt 9
PCINT10         avrbit  PCMSK1,2        ; Enable Pin-Change Interrupt 10
PCINT11         avrbit  PCMSK1,3        ; Enable Pin-Change Interrupt 11

PORTCR          port    0x16            ; Port Control Register
BBMA            avrbit  PORTCR,0        ; Break-Before-Make Mode Enable Port A
BBMB            avrbit  PORTCR,1        ; Break-Before-Make Mode Enable Port B

PCICR           port    0x12            ; Pin-Change Interrupt Control Register

PCIFR           port    0x11            ; Pin-Change Interrupt Flag Register

;----------------------------------------------------------------------------
; Interrupt Vectors

                enumconf 1,code
                enum     INT0_vect=1            ; External Interrupt Request 0
                nextenum PCINT0_vect            ; Pin Change Interrupt 0
                nextenum PCINT1_vect            ; Pin Change Interrupt 1
                nextenum TIM0_CAPT_vect         ; Timer/Counter 0 Capture
                nextenum TIM0_OVF_vect          ; Timer/Counter 0 Overflow
                nextenum TIM0_COMPA_vect        ; Timer/Counter 0 Compare Match A
                nextenum TIM0_COMPB_vect        ; Timer/Counter 0 Compare Match B
                nextenum ANA_COMP_vect          ; Analog Comparator
                nextenum WDT_vect               ; Watchdog Time-out Interrupt
                nextenum VLM_vect               ; Vcc Voltage Level Monitor
                nextenum ADC_vect               ; ADC Conversion Complete
                nextenum USART0_RXS_vect        ; USART0 Rx Start
                nextenum USART0_RXC_vect        ; USART0 Rx Complete
                nextenum USART0_DRE_vect        ; USART0 Data Register Empty
                nextenum USART0_TXC_vect        ; USART0 Tx Complete

;----------------------------------------------------------------------------
; External Interrupts

EICRA           port    0x15            ; External Interrupt Control Register A
ISC00           avrbit  EICRA,0         ; Interrupt Sense Control 0
ISC01           avrbit  EICRA,1

EIMSK           port    0x13            ; External Interrupt Mask Register
INT0            avrbit  EIMSK,0         ; Enable External Interrupt 0

EIFR            port    0x14            ; External Interrupt Flag Register
INTF0           avrbit  EIFR,0          ; External Interrupt 0 Occured

;----------------------------------------------------------------------------
; Timers

TCCR0A          port    0x2e            ; Timer/Counter 0 Control Register A
WGM00           avrbit  TCCR0A,0        ; Timer/Tounter 0 Waveform Generation Mode
WGM01           avrbit  TCCR0A,1
COM0B0          avrbit  TCCR0A,4        ; Timer/Counter 0 Output Compare Mode B
COM0B1          avrbit  TCCR0A,5
COM0A0          avrbit  TCCR0A,6        ; Timer/Counter 0 Output Compare Mode A
COM0A1          avrbit  TCCR0A,7
TCCR0B          port    0x2d            ; Timer/Counter 0 Control Register B
CS00            avrbit  TCCR0B,0        ; Timer/Counter 0 Clock Select
CS01            avrbit  TCCR0B,1
CS02            avrbit  TCCR0B,2
WGM02           avrbit  TCCR0B,3
WGM03           avrbit  TCCR0B,4
ICES0           avrbit  TCCR0B,6        ; Timer/Counter 0 Input Capture Edge Select
ICNC0           avrbit  TCCR0B,7        ; Timer/Counter 0 Input Capture Noise Canceling
TCCR0C          port    0x2c            ; Timer/Counter 0 Control Register C
FOC0B           avrbit  TCCR0C,6        ; Timer/Counter 0 Force Output Compare Match B
FOC0A           avrbit  TCCR0C,7        ; Timer/Counter 0 Force Output Compare Match A
TCNT0L          port    0x28            ; Timer/Counter 0 Value LSB
TCNT0H          port    0x29            ; Timer/Counter 0 Value MSB
OCR0AL          port    0x26            ; Timer/Counter 0 Output Compare Value A LSB
OCR0AH          port    0x27            ; Timer/Counter 0 Output Compare Value A MSB
OCR0BL          port    0x24            ; Timer/Counter 0 Output Compare Value B LSB
OCR0BH          port    0x25            ; Timer/Counter 0 Output Compare Value B MSB
ICR0L           port    0x22            ; Timer/Counter 0 Input Capture Register LSB
ICR0H           port    0x23            ; Timer/Counter 0 Input Capture Register MSB

TIMSK0          port    0x2b            ; Timer/Counter 0 Interrupt Mask Register
TOIE0           avrbit  TIMSK0,0        ; Timer/Counter 0 Overflow Interrupt Enable
OCIE0A          avrbit  TIMSK0,1        ; Timer/Counter 0 Output Compare Interrupt Enable A
OCIE0B          avrbit  TIMSK0,2        ; Timer/Counter 0 Output Compare Interrupt Enable B
ICIE0           avrbit  TIMSK0,5        ; Timer/Counter 0 Input Capture Interrupt Enable

TIFR0           port    0x2a            ; Timer/Counter 0 Interrupt Status Register

GTCCR           port    0x2f            ; General Timer/Counter Control Register
PSR             avrbit  GTCCR,0         ; Prescaler 0 Reset Timer/Counter 0
REMAP           avrbit  GTCCR,1         ; Timer Pin Mapping
TSM             avrbit  GTCCR,7         ; Timer/Counter Synchronization Mode

;----------------------------------------------------------------------------
; Watchdog Timer

WDTCSR          port    0x31            ; Watchdog Control/Status Register
WDP0            avrbit  WDTCSR,0        ; Prescaler
WDP1            avrbit  WDTCSR,1
WDP2            avrbit  WDTCSR,2
WDE             avrbit  WDTCSR,3        ; Enable Watchdog
WDP3            avrbit  WDTCSR,5
WDIE            avrbit  WDTCSR,6        ; Watchdog Interrupt Enable
WDIF            avrbit  WDTCSR,7        ; Watchdog Interrupt Flag

;----------------------------------------------------------------------------
; Analog Comparator

ACSRA           port    0x1f            ; Analog Comparator Control and Status Register A
ACIS0           avrbit  ACSRA,0         ; Interrupt-Mode
ACIS1           avrbit  ACSRA,1
ACIC            avrbit  ACSRA,2         ; Use Comparator As Capture Signal For Timer 0?
ACIE            avrbit  ACSRA,3         ; Interrupt Enable
ACI             avrbit  ACSRA,4         ; Interrupt Flag
ACO             avrbit  ACSRA,5         ; Analog Comparator Output
ACBG            avrbit  ACSRA,6         ; Analog Comparator Band Gap Select
ACD             avrbit  ACSRA,7         ; Disable

ACSRB           port    0x1e            ; Analog Comparator Control and Status Register B
ACOE            avrbit  ACSRB,1         ; Analog Comparator Output Enable
ACPMUX          avrbit  ACSRB,0         ; Analog Comparator Positive Input Multiplexer

;----------------------------------------------------------------------------
; A/D Converter

ADMUX           port    0x1b            ; ADC Multiplexer Selection Register
MUX0            avrbit  ADMUX,0         ; Analog Channel Selection
MUX1            avrbit  ADMUX,1
MUX2            avrbit  ADMUX,2
REFS0           avrbit  ADMUX,6         ; Reference Selection
REFS1           avrbit  ADMUX,7

ADCSRA          port    0x1d            ; ADC Control/Status Register A
ADEN            avrbit  ADCSRA,7        ; Enable ADC
ADSC            avrbit  ADCSRA,6        ; Start Conversion
ADATE           avrbit  ADCSRA,5        ; ADC Auto Trigger Enable
ADIF            avrbit  ADCSRA,4        ; Interrupt Flag
ADIE            avrbit  ADCSRA,3        ; Interrupt Enable
ADPS2           avrbit  ADCSRA,2        ; Prescaler Select
ADPS1           avrbit  ADCSRA,1
ADPS0           avrbit  ADCSRA,0

ADCSRB          port    0x1c            ; ADC Control/Status Register A
ADTS0           avrbit  ADCSRB,0        ; ADC Auto Trigger Source
ADTS1           avrbit  ADCSRB,1
ADTS2           avrbit  ADCSRB,2

ADCL            port    0x19            ; ADC Conversion Result LSB
ADCH            port    0x1a            ; ADC Conversion Result MSB

DIDR0           port    0x17            ; Digital Input Disable Register 0
ADC0D           avrbit  DIDR0,0         ; ADC0 Digital Input Disable
ADC1D           avrbit  DIDR0,1         ; ADC1 Digital Input Disable
ADC2D           avrbit  DIDR0,2         ; ADC2 Digital Input Disable
ADC3D           avrbit  DIDR0,3         ; ADC3 Digital Input Disable
ADC4D           avrbit  DIDR0,4         ; ADC4 Digital Input Disable
ADC5D           avrbit  DIDR0,5         ; ADC5 Digital Input Disable
ADC6D           avrbit  DIDR0,6         ; ADC6 Digital Input Disable
ADC7D           avrbit  DIDR0,7         ; ADC7 Digital Input Disable

;----------------------------------------------------------------------------
; USART

UDR0            port    0x08            ; USART0 I/O Data Register

UCSR0A          port    0x0e            ; USART0 Control and Status Register A
RXC0            avrbit  UCSR0A,7        ; USART0 Receive Complete
TXC0            avrbit  UCSR0A,6        ; USART0 Transmit Complete
UDRE0           avrbit  UCSR0A,5        ; USART0 Data Register Empty
FE0             avrbit  UCSR0A,4        ; USART0 Frame Error
DOR0            avrbit  UCSR0A,3        ; USART0 Data OverRun
UPE0            avrbit  UCSR0A,2        ; USART0 Parity Error
U2X0            avrbit  UCSR0A,1        ; USART0 Double Transmission Speed
MPCM0           avrbit  UCSR0A,0        ; USART0 Multi Processor Communication Mode

UCSR0B          port    0x0d            ; USART0 Control and Status Register B
RXCIE0          avrbit  UCSR0B,7        ; USART0 RX Complete Interrupt Enable
TXCIE0          avrbit  UCSR0B,6        ; USART0 TX Complete Interrupt Enable
UDRIE0          avrbit  UCSR0B,5        ; USART0 Data Register Empty Interrupt Enable
RXEN0           avrbit  UCSR0B,4        ; USART0 Receiver Enable
TXEN0           avrbit  UCSR0B,3        ; USART0 Transmitter Enable
UCSZ02          avrbit  UCSR0B,2        ; USART0 Character Size
RXB80           avrbit  UCSR0B,1        ; USART0 Receive Data Bit 8
TXB80           avrbit  UCSR0B,0        ; USART0 Transmit Data Bit 8

UCSR0C          port    0x0c            ; USART0 Control and Status Register C
UMSEL01         avrbit  UCSR0C,7        ; USART0 Mode Select
UMSEL00         avrbit  UCSR0C,6
UPM01           avrbit  UCSR0C,5        ; USART0 Parity Mode
UPM00           avrbit  UCSR0C,4
USBS0           avrbit  UCSR0C,3        ; USART0 Stop Bit Select
UCSZ01          avrbit  UCSR0C,2        ; USART0 Character Size
UDORD0          avrbit  UCSR0C,2        ; USART0 Data Order
UCSZ00          avrbit  UCSR0C,1
UCPHA0          avrbit  UCSR0C,1        ; USART0 Character Size
UCPOL0          avrbit  UCSR0C,0        ; USERT0 Clock Phase

UCSR0D          port    0x0b            ; USART0 Control and Status Register D
RXSIE           avrbit  UCSR0D,7        ; USART0 RX Start Interrupt Enable
RXS             avrbit  UCSR0D,6        ; USART0 RX Start
SFDE            avrbit  UCSR0D,5        ; Start0 Frame Detection Enable

UBRR0L          port    0x09            ; USART0 Baud Rate Register LSB
UBRR0H          port    0x0a            ; USART0 Baud Rate Register MSB

                restore

                endif                   ; __regt1024inc