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