Subversion Repositories pentevo

Rev

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

                ifndef  __regtnx61inc
__regtnx61inc   equ     1
                save
                listing off   ; no listing over this file

;****************************************************************************
;*                                                                          *
;*   AS 1.42 - File REGTNX61.INC                                            *
;*                                                                          *
;*Contains Common Bit & Register Definitions for ATtiny261(A)/461(A)/861(A) *
;*                                                                          *
;****************************************************************************

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

MCUCR           port    0x35            ; MCU General Control Register
SM0             avrbit  MCUCR,3         ; Sleep Mode Select
SM1             avrbit  MCUCR,4
SE              avrbit  MCUCR,5         ; Sleep Enable
                if (MOMCPUNAME="ATTINY261A")||(MOMCPUNAME="ATTINY461A")||(MOMCPUNAME="ATTINY861A")
BODSE            avrbit MCUCR,2         ; BOD Sleep Enable
BODS             avrbit MCUCR,7         ; BOD Sleep
                endif

MCUSR           port    0x34            ; MCU Status Register
WDRF            avrbit  MCUSR,3         ; Watchdog Reset Flag
BORF            avrbit  MCUSR,2         ; Brown-Out Reset Flag
EXTRF           avrbit  MCUSR,1         ; External Reset Flag
PORF            avrbit  MCUSR,0         ; Power-On Reset Flag

OSCCAL          port    0x31            ; Oscillator Calibration

CLKPR           port    0x28            ; Clock Prescaler
CLKPS0          avrbit  CLKPR,0         ; Prescaler Select
CLKPS1          avrbit  CLKPR,1
CLKPS2          avrbit  CLKPR,2
CLKPS3          avrbit  CLKPR,3
CLKPCE          avrbit  CLKPR,7         ; Clock Prescaler Change Enable

PRR             port    0x36            ; Power Reduction Register
PRADC           avrbit  PRR,0           ; Power Reduction AD Converter
PRUSI           avrbit  PRR,1           ; Power Reduction USI
PRTIM0          avrbit  PRR,2           ; Power Reduction Timer/Counter 0
PRTIM1          avrbit  PRR,3           ; Power Reduction Timer/Counter 1

PLLCSR          port    0x29            ; PLL Control/Status Register
PLOCK           avrbit  PLLCSR,0        ; PLL Lock Detector
PLLE            avrbit  PLLCSR,1        ; PLL Enable
PCKE            avrbit  PLLCSR,2        ; PCK Enable
LSM             avrbit  PLLCSR,7        ; Low Speed Mode

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

EEARL           port    0x1e            ; EEPROM Address Register Low
EEARH           port    0x1f            ; EEPROM Address Register High
EEDR            port    0x1d            ; EEPROM Data Register
EECR            port    0x1c            ; EEPROM Control Register
EEPM1           avrbit  EECR,5          ; EEPROM Program Mode
EEPM0           avrbit  EECR,4
EERIE           avrbit  EECR,3          ; EEPROM Ready Interrupt Enable
EEMPE           avrbit  EECR,2          ; EEPROM Master Write Enable
EEPE            avrbit  EECR,1          ; EEPROM Write Enable
EERE            avrbit  EECR,0          ; EEPROM Read Enable

SPMCSR          port    0x37            ; Store Program Memory Control/Status Register
SIGRD           avrbit  SPMCSR,5        ; Signature Row Read
CTPB            avrbit  SPMCSR,4        ; Clear Temporary Page Buffer
RFLB            avrbit  SPMCSR,3        ; Read Fuse and Lock Bits
PGWRT           avrbit  SPMCSR,2        ; Page Write
PGERS           avrbit  SPMCSR,1        ; Page Erase
SPMEN           avrbit  SPMCSR,0        ; Self Programming Enable

;----------------------------------------------------------------------------
; JTAG etc.

DWDR            port    0x20            ; debugWire Data Register

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

                ; bits in MCUCR
PUD             avrbit  MCUCR,6         ; Pull-Up Disable

PINA            port    0x19            ; Port A @ 0x19 (IO) ff.
PINB            port    0x16            ; Port B @ 0x16 (IO) ff.

GPIOR0          port    0x0a            ; General Purpose I/O Register 0
GPIOR1          port    0x0b            ; General Purpose I/O Register 1
GPIOR2          port    0x0c            ; General Purpose I/O Register 2

DIDR0           port    0x01            ; 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
AREFD           avrbit  DIDR0,3         ; AREF Digital Input Disable
ADC3D           avrbit  DIDR0,4         ; ADC3 Digital Input Disable
ADC4D           avrbit  DIDR0,5         ; ADC4 Digital Input Disable
ADC5D           avrbit  DIDR0,6         ; ADC5 Digital Input Disable
ADC6D           avrbit  DIDR0,7         ; ADC6 Digital Input Disable

DIDR1           port    0x02            ; Digital Input Disable Register 1
ADC7D           avrbit  DIDR1,4         ; ADC7 Digital Input Disable
ADC8D           avrbit  DIDR1,5         ; ADC8 Digital Input Disable
ADC9D           avrbit  DIDR1,6         ; ADC9 Digital Input Disable
ADC10D          avrbit  DIDR1,7         ; ADC10 Digital Input Disable

PCMSK0          port    0x23            ; Pin Change Interrupt Mask 0
PCMSK1          port    0x22            ; Pin Change Interrupt Mask 1

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

                enumconf 1,code
                enum     INT0_vect=1            ; External Interrupt Request 0
                nextenum PCINT_vect             ; Pin Change Interrupt
                nextenum TIMER1_COMPA_vect      ; Timer/Counter 1 Compare Match A
                nextenum TIMER1_COMPB_vect      ; Timer/Counter 1 Compare Match B
                nextenum TIMER1_OVF_vect        ; Timer/Counter 1 Overflow
                nextenum TIMER0_OVF_vect        ; Timer/Counter 0 Overflow
                nextenum USI_START_vect         ; USI Start
                nextenum USI_OVF_vect           ; USI Overflow
                nextenum EE_RDY_vect            ; EEPROM Ready
                nextenum ANA_COMP_vect          ; Analog Comparator
                nextenum ADC_vect               ; ADC Conversion Complete
                nextenum WDT_vect               ; Watchdog Time-Out
                nextenum INT1_vect              ; External Interrupt Request 1
                nextenum TIMER0_COMPA_vect      ; Timer/Counter 0 Compare Match A
                nextenum TIMER0_COMPB_vect      ; Timer/Counter 0 Compare Match B
                nextenum TIMER0_CAPT_vect       ; Timer/Counter 0 Capture Event
                nextenum TIMER1_COMPD_vect      ; Timer/Counter 1 Compare Match D
                nextenum FAULT_PROTECTION_vect  ; Timer/Counter 1 Fault Protection

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

ISC00           avrbit  MCUCR,0         ; External Interrupt 0 Sense Control
ISC01           avrbit  MCUCR,1

GIMSK           port    0x3b            ; General Interrupt Mask Register
INT1            avrbit  GIMSK,7         ; Enable External Interrupt 1
INT0            avrbit  GIMSK,6         ; Enable External Interrupt 0
PCIE1           avrbit  GIMSK,5         ; Pin Change Interrupt Enable 1
PCIE0           avrbit  GIMSK,4         ; Pin Change Interrupt Enable 0

GIFR            port    0x3a            ; General Interrupt Flag Register
INTF1           avrbit  GIFR,7          ; External Interrupt 1 Occured
INTF0           avrbit  GIFR,6          ; External Interrupt 0 Occured
PCIF            avrbit  GIFR,5          ; Pin Change Interrupt Occured

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

TCCR0A          port    0x15            ; Timer/Counter 0 Control Register A
CTC0            avrbit  TCCR0A,0        ; Timer/Counter 0 Clear on Compare Match
ACIC0           avrbit  TCCR0A,3        ; Analog Comparator Input Capture Enable
ICES0           avrbit  TCCR0A,4        ; Timer/Counter 0 Edge Select
ICNC0           avrbit  TCCR0A,5        ; Timer/Counter 0 Noise Canceler
ICEN0           avrbit  TCCR0A,6        ; Timer/Counter 0 Input Capture Mode Enable
TCW0            avrbit  TCCR0A,7        ; Timer/Counter 0 Timer/Counter0 Width
TCCR0B          port    0x33            ; Timer/Counter 0 Control Register B
CS00            avrbit  TCCR0B,0        ; Timer/Counter 0 Clock Select
CS01            avrbit  TCCR0B,1
CS02            avrbit  TCCR0B,2
PSR0            avrbit  TCCR0B,3        ; Timer/Counter 0 Prescaler Reset
TSM             avrbit  TCCR0B,4        ; Timer/Counter Synchonization
TCNT0L          port    0x32            ; Timer/Counter 0 Value LSB
TCNT0H          port    0x14            ; Timer/Counter 0 Value MSB
OCR0A           port    0x13            ; Timer/Counter 0 Output Compare Value A
OCR0B           port    0x12            ; Timer/Counter 0 Output Compare Value B

TCCR1A          port    0x30            ; Timer/Counter 1 Control Register A
PWM1B           avrbit  TCCR1A,0        ; Timer/Counter 1 PWM Mode Select
PWM1A           avrbit  TCCR1A,1
FOC1B           avrbit  TCCR1A,2        ; Timer/Counter 1 Force Output Compare B
FOC1A           avrbit  TCCR1A,3        ; Timer/Counter 1 Force Output Compare A
COM1B0          avrbit  TCCR1A,4        ; Timer/Counter 1 Output Compare Mode B
COM1B1          avrbit  TCCR1A,5
COM1A0          avrbit  TCCR1A,6        ; Timer/Counter 1 Output Compare Mode A
COM1A1          avrbit  TCCR1A,7
TCCR1B          port    0x2f            ; Timer/Counter 1 Control Register B
CS10            avrbit  TCCR1B,0        ; Timer/Counter 1 Clock Select
CS11            avrbit  TCCR1B,1
CS12            avrbit  TCCR1B,2
CS13            avrbit  TCCR1B,3
DTPS10          avrbit  TCCR1B,4        ; Timer/Counter 1 Dead Time Prescaler
DTPS11          avrbit  TCCR1B,5
PSR1            avrbit  TCCR1B,6        ; Timer/Counter 1 Prescaler Reset
PWM1X           avrbit  TCCR1B,7
TCCR1C          port    0x27            ; Timer/Counter 1 Control Register C
PWM1D           avrbit  TCCR1C,0
FOC1D           avrbit  TCCR1C,1        ; Timer/Counter 1 Force Output Compare D
COM1D0          avrbit  TCCR1C,2        ; Timer/Counter 1 Output Compare Mode D
COM1D1          avrbit  TCCR1C,3
COM1B0S         avrbit  TCCR1C,4        ; Timer/Counter 1 Output Compare Mode B Shadow
COM1B1S         avrbit  TCCR1C,5
COM1A0S         avrbit  TCCR1C,6        ; Timer/Counter 1 Output Compare Mode A Shadow
COM1A1S         avrbit  TCCR1C,7
TCCR1D          port    0x26            ; Timer/Counter 1 Control Register D
WGM10           avrbit  TCCR1D,0        ; Timer/Counter 1 Waveform Generation Mode
WGM11           avrbit  TCCR1D,1
FPF1            avrbit  TCCR1D,2        ; Fault Protection Interrupt Flag
FPAC1           avrbit  TCCR1D,3        ; Fault Protection Analog Comparator Enable
FPES1           avrbit  TCCR1D,4        ; Fault Protection Edge Select
FPNC1           avrbit  TCCR1D,5        ; Fault Protection Noise Canceler
FPEN1           avrbit  TCCR1D,6        ; Fault Protection Mode Enable
FPIE1           avrbit  TCCR1D,7        ; Fault Protection Interrupt Enable
TCNT1           port    0x2e            ; Timer/Counter 1 Value
TC1H            port    0x25            ; Timer/Counter 1 High Byte
OCR1A           port    0x2d            ; Timer/Counter 1 Output Compare Value A
OCR1B           port    0x2c            ; Timer/Counter 1 Output Compare Value B
OCR1C           port    0x2b            ; Timer/Counter 1 Output Compare Value C
OCR1D           port    0x2a            ; Timer/Counter 1 Output Compare Value D
DT1             port    0x24            ; Timer/Counter 1 Dead Times
DT1L0           avrbit  DT1,0           ; Timer/Counter 1 Dead Time Low
DT1L1           avrbit  DT1,1
DT1L2           avrbit  DT1,2
DT1L3           avrbit  DT1,3
DT1H0           avrbit  DT1,4           ; Timer/Counter 1 Dead Time High
DT1H1           avrbit  DT1,5
DT1H2           avrbit  DT1,6
DT1H3           avrbit  DT1,7

TIMSK           port    0x39            ; Timer/Counter Interrupt Mask Register
TICIE0          avrbit  TIMSK,0         ; Timer/Counter 0 Input Capture Interrupt Enable
TOIE0           avrbit  TIMSK,1         ; Timer/Counter 0 Overflow Interrupt Enable
TOIE1           avrbit  TIMSK,2         ; Timer/Counter 1 Overflow Interrupt Enable
OCIE0B          avrbit  TIMSK,3         ; Timer/Counter 0 Output Compare Interrupt Enable B
OCIE0A          avrbit  TIMSK,4         ; Timer/Counter 0 Output Compare Interrupt Enable A
OCIE1B          avrbit  TIMSK,5         ; Timer/Counter 1 Output Compare Interrupt Enable B
OCIE1A          avrbit  TIMSK,6         ; Timer/Counter 1 Output Compare Interrupt Enable A
OCIE1D          avrbit  TIMSK,7         ; Timer/Counter 1 Output Compare Interrupt Enable D

TIFR            port    0x38            ; Timer Interrupt Status Register 0

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

                include "wdm21.inc"

WDCE            avrbit  WDTCR,4         ; Change Enable
WDP3            avrbit  WDTCR,5
WDIE            avrbit  WDTCR,6         ; Enable Watchdog Interrupt
WDIF            avrbit  WDTCR,7         ; Watchdog Interrupt Occured?

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

ACSRA           port    0x08            ; Analog Comparator Control/Status Register A
ACIS0           avrbit  ACSRA,0         ; Analog Comparator Interrupt-Mode
ACIS1           avrbit  ACSRA,1
ACME            avrbit  ACSRA,2         ; Analog Comparator Multiplexer Enable          
ACIE            avrbit  ACSRA,3         ; Analog Comparator Interrupt Enable
ACI             avrbit  ACSRA,4         ; Analog Comparator Interrupt Flag
ACO             avrbit  ACSRA,5         ; Analog Comparator Output
ACBG            avrbit  ACSRA,6         
ACD             avrbit  ACSRA,7         ; Analog Comparator Disable

ACSRB           port    0x09            ; Analog Comparator Control/Status Register B
ACM0            avrbit  ACSRB,0         ; Analog Comparator Multiplexer
ACM1            avrbit  ACSRB,1
ACM2            avrbit  ACSRB,2
HLEV            avrbit  ACSRB,6         ; Hysteresis Level
HSEL            avrbit  ACSRB,7         ; Hysteresis Select

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

ADMUX           port    0x07            ; Multiplexer Selection
REFS1           avrbit  ADMUX,7         ; Reference Selection Bits
REFS0           avrbit  ADMUX,6
ADLAR           avrbit  ADMUX,5         ; Left Adjust Right
MUX4            avrbit  ADMUX,4         ; Multiplexer
MUX3            avrbit  ADMUX,3
MUX2            avrbit  ADMUX,2
MUX1            avrbit  ADMUX,1
MUX0            avrbit  ADMUX,0

ADCSRA          port    0x06            ; 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    0x03            ; Control/Status Register B
BIN             avrbit  ADCSRB,7        ; Bipolar Input Mode
GSEL            avrbit  ADCSRB,6        ; Gain Select
REFS2           avrbit  ADCSRB,4
MUX5            avrbit  ADCSRB,3
ADTS2           avrbit  ADCSRB,2        ; Auto Trigger Source
ADTS1           avrbit  ADCSRB,1
ADTS0           avrbit  ADCSRB,0

ADCH            port    0x05            ; Data Register
ADCL            port    0x04

;----------------------------------------------------------------------------
; USI

USIDR           port    0x0f            ; USI Data Register

USISR           port    0x0e            ; USI Status Register
USICNT0         avrbit  USISR,0         ; Counter Value
USICNT1         avrbit  USISR,1
USICNT2         avrbit  USISR,2
USICNT3         avrbit  USISR,3
USIDC           avrbit  USISR,4         ; Data Output Collision
USIPF           avrbit  USISR,5         ; Stop Condition Flag
USIOIF          avrbit  USISR,6         ; Counter Overflow Interrupt Flag
USISIF          avrbit  USISR,7         ; Start Condition Interrupt Flag

USICR           port    0x0d            ; USI Control Register
USITC           avrbit  USICR,0         ; Toggle Clock Port Pin
USICLK          avrbit  USICR,1         ; Clock Strobe
USICS0          avrbit  USICR,2         ; Clock Source Select
USICS1          avrbit  USICR,3
USIWM0          avrbit  USICR,4         ; Wire Mode
USIWM1          avrbit  USICR,5         
USIOIE          avrbit  USICR,6         ; Counter Overflow Interrupt Enable
USISIE          avrbit  USICR,7         ; Start Condition Interrupt Enable

USIPP           port    0x11            ; USI Pin Position
USIPOS          avrbit  USIPP,0         ; USI Pin Position

USIBR           port    0x10            ; USI Buffer Register

                restore                 ; re-enable listing

                endif                   ; __regtnx61inc