Blame | Last modification | View Log | Download | RSS feed
ifndef __regtnx4inc__regtnx4inc equ 1savelisting off ; no listing over this file;****************************************************************************;* *;* AS 1.42 - File REGTNX4.INC *;* *;* Contains Common Bit & Register Definitions for ATtiny24(A)/44(A)/84(A) *;* *;****************************************************************************;----------------------------------------------------------------------------; Chip ConfigurationMCUCR port 0x35 ; MCU General Control RegisterBODSE avrbit MCUCR,2 ; BOD SleepSM0 avrbit MCUCR,3 ; Sleep Mode SelectSM1 avrbit MCUCR,4SE avrbit MCUCR,5 ; Sleep EnableBODS avrbit MCUCR,7 ; BOD Sleep EnableMCUSR port 0x34 ; MCU Status RegisterWDRF avrbit MCUSR,3 ; Watchdog Reset FlagBORF avrbit MCUSR,2 ; Brown-out Reset FlagEXTRF avrbit MCUSR,1 ; External Reset FlagPORF avrbit MCUSR,0 ; Power-On Reset FlagOSCCAL port 0x31 ; Oscillator CalibrationCLKPR port 0x26 ; Clock PrescalerCLKPS0 avrbit CLKPR,0 ; Prescaler SelectCLKPS1 avrbit CLKPR,1CLKPS2 avrbit CLKPR,2CLKPS3 avrbit CLKPR,3CLKPCE avrbit CLKPR,7 ; Clock Prescaler Change EnablePRR port 0x00 ; Power Reduction RegisterPRADC avrbit PRR,0 ; Power Reduction AD ConverterPRUSI avrbit PRR,1 ; Power Reduction USIPRTIM0 avrbit PRR,2 ; Power Reduction Timer/Counter 0PRTIM1 avrbit PRR,3 ; Power Reduction Timer/Counter 1;----------------------------------------------------------------------------; EEPROM/Flash AccessEEARL port 0x1e ; EEPROM Address Register LowEEARH port 0x1f ; EEPROM Address Register HighEEDR port 0x1d ; EEPROM Data RegisterEECR port 0x1c ; EEPROM Control RegisterEEPM1 avrbit EECR,5 ; EEPROM Program ModeEEPM0 avrbit EECR,4EERIE avrbit EECR,3 ; EEPROM Ready Interrupt EnableEEMPE avrbit EECR,2 ; EEPROM Master Write EnableEEPE avrbit EECR,1 ; EEPROM Write EnableEERE avrbit EECR,0 ; EEPROM Read EnableSPMCSR port 0x37 ; Store Program Memory Control/Status RegisterCTPB avrbit SPMCSR,4 ; Clear Temporary Page BufferRFLB avrbit SPMCSR,3 ; Read Fuse and Lock BitsPGWRT avrbit SPMCSR,2 ; Page WritePGERS avrbit SPMCSR,1 ; Page EraseSPMEN avrbit SPMCSR,0 ; Self Programming Enable;----------------------------------------------------------------------------; JTAG etc.DWDR port 0x27 ; debugWire Data Register;----------------------------------------------------------------------------; GPIOPUD avrbit MCUCR,6 ; Pull-Up DisablePINA port 0x19 ; Port A @ 0x19 (IO) ff.PINB port 0x16 ; Port B @ 0x16 (IO) ff. (bit 0..3)GPIOR0 port 0x13 ; General Purpose I/O Register 0GPIOR1 port 0x14 ; General Purpose I/O Register 1GPIOR2 port 0x15 ; General Purpose I/O Register 2DIDR0 port 0x01 ; Digital Input Disable Register 0ADC0D avrbit DIDR0,0 ; ADC0 Digital Input DisableADC1D avrbit DIDR0,1 ; ADC1 Digital Input DisableADC2D avrbit DIDR0,2 ; ADC2 Digital Input DisableADC3D avrbit DIDR0,3 ; ADC3 Digital Input DisableADC4D avrbit DIDR0,4 ; ADC4 Digital Input DisableADC5D avrbit DIDR0,5 ; ADC5 Digital Input DisableADC6D avrbit DIDR0,6 ; ADC6 Digital Input DisableADC7D avrbit DIDR0,7 ; ADC7 Digital Input DisablePCMSK0 port 0x12 ; Pin Change Interrupt Mask 0PCMSK1 port 0x20 ; Pin Change Interrupt Mask 1PCINT8 avrbit PCMSK1,0 ; Enable Pin Change Interrupt 8PCINT9 avrbit PCMSK1,1 ; Enable Pin Change Interrupt 9PCINT10 avrbit PCMSK1,2 ; Enable Pin Change Interrupt 10PCINT11 avrbit PCMSK1,3 ; Enable Pin Change Interrupt 11;----------------------------------------------------------------------------; Interrupt Vectorsenumconf 1,codeenum INT0_vect=1 ; External Interrupt Request 0nextenum PCINT0_vect ; Pin Change Interrupt 0nextenum PCINT1_vect ; Pin Change Interrupt 1nextenum WDT_vect ; Watchdog Time-Outnextenum TIMER1_CAPT_vect ; Timer/Counter 1 Capture Eventnextenum TIMER1_COMPA_vect ; Timer/Counter 1 Compare Match Anextenum TIMER1_COMPB_vect ; Timer/Counter 1 Compare Match Bnextenum TIMER1_OVF_vect ; Timer/Counter 1 Overflownextenum TIMER0_COMPA_vect ; Timer/Counter 0 Compare Match Anextenum TIMER0_COMPB_vect ; Timer/Counter 0 Compare Match Bnextenum TIMER0_OVF_vect ; Timer/Counter 0 Overflownextenum ANA_COMP_vect ; Analog Comparatornextenum ADC_vect ; ADC Conversion Completenextenum EE_RDY_vect ; EEPROM Readynextenum USI_START_vect ; USI Startnextenum USI_OVF_vect ; USI Overflow;----------------------------------------------------------------------------; External InterruptsISC00 avrbit MCUCR,0 ; External Interrupt 0 Sense ControlISC01 avrbit MCUCR,1GIMSK port 0x3b ; General Interrupt Mask RegisterINT0 avrbit GIMSK,6 ; Enable External Interrupt 0PCIE1 avrbit GIMSK,5 ; Pin Change Interrupt Enable 1PCIE0 avrbit GIMSK,4 ; Pin Change Interrupt Enable 0GIFR port 0x3a ; General Interrupt Flag RegisterINTF0 avrbit GIFR,6 ; External Interrupt 0 OccuredPCIF1 avrbit GIFR,5 ; Pin Change Interrupt 1 OccuredPCIF0 avrbit GIFR,4 ; Pin Change Interrupt 0 Occured;----------------------------------------------------------------------------; TimersTCCR0A port 0x30 ; Timer/Counter 0 Control Register AWGM00 avrbit TCCR0A,0 ; Timer/Counter 0 Waveform Generation ModeWGM01 avrbit TCCR0A,1COM0B0 avrbit TCCR0A,4 ; Timer/Counter 0 Output Compare Mode BCOM0B1 avrbit TCCR0A,5COM0A0 avrbit TCCR0A,6 ; Timer/Counter 0 Output Compare Mode ACOM0A1 avrbit TCCR0A,7TCCR0B port 0x33 ; Timer/Counter 0 Control Register BCS00 avrbit TCCR0B,0 ; Timer/Counter 0 Clock SelectCS01 avrbit TCCR0B,1CS02 avrbit TCCR0B,2WGM02 avrbit TCCR0B,3FOC0B avrbit TCCR0B,6 ; Timer/Counter 0 Force Output Compare BFOC0A avrbit TCCR0B,7 ; Timer/Counter 0 Force Output Compare ATCNT0 port 0x32 ; Timer/Counter 0 ValueOCR0A port 0x36 ; Timer/Counter 0 Output Compare Value AOCR0B port 0x3c ; Timer/Counter 0 Output Compare Value BTCCR1A port 0x2f ; Timer/Counter 1 Control Register AWGM10 avrbit TCCR1A,0 ; Timer/Counter 1 Waveform Generation ModeWGM11 avrbit TCCR1A,1COM1B0 avrbit TCCR1A,4 ; Timer/Counter 1 Output Compare Mode BCOM1B1 avrbit TCCR1A,5COM1A0 avrbit TCCR1A,6 ; Timer/Counter 1 Output Compare Mode ACOM1A1 avrbit TCCR1A,7TCCR1B port 0x2e ; Timer/Counter 1 Control Register BCS10 avrbit TCCR1B,0 ; Timer/Counter 1 Clock SelectCS11 avrbit TCCR1B,1CS12 avrbit TCCR1B,2WGM12 avrbit TCCR1B,3WGM13 avrbit TCCR1B,4ICES1 avrbit TCCR1B,6 ; Timer/Counter 1 Input Capture Edge SelectICNC1 avrbit TCCR1B,7 ; Timer/Counter 1 Input Capture Noise CancelingTCCR1C port 0x22 ; Timer/Counter 1 Control Register CFOC1B avrbit TCCR1C,6 ; Timer/Counter 1 Force Output Compare BFOC1A avrbit TCCR1C,7 ; Timer/Counter 1 Force Output Compare ATCNT1L port 0x2c ; Timer/Counter 1 Value LSBTCNT1H port 0x2d ; Timer/Counter 1 Value MSBOCR1AL port 0x2a ; Timer/Counter 1 Output Compare Value A LSBOCR1AH port 0x2b ; Timer/Counter 1 Output Compare Value A MSBOCR1BL port 0x28 ; Timer/Counter 1 Output Compare Value B LSBOCR1BH port 0x29 ; Timer/Counter 1 Output Compare Value B MSBICR1L port 0x24 ; Timer/Counter 1 Input Capture Value LSBICR1H port 0x25 ; Timer/Counter 1 Input Capture Value MSBTIMSK0 port 0x39 ; Timer/Counter Interrupt Mask Register 0TOIE0 avrbit TIMSK0,0 ; Timer/Counter 0 Overflow Interrupt EnableOCIE0A avrbit TIMSK0,1 ; Timer/Counter 0 Output Compare Interrupt Enable AOCIE0B avrbit TIMSK0,2 ; Timer/Counter 0 Output Compare Interrupt Enable BTIMSK1 port 0x0c ; Timer/Counter Interrupt Mask Register 1TOIE1 avrbit TIMSK1,0 ; Timer/Counter 1 Overflow Interrupt EnableOCIE1A avrbit TIMSK1,1 ; Timer/Counter 1 Output Compare Interrupt Enable AOCIE1B avrbit TIMSK1,2 ; Timer/Counter 1 Output Compare Interrupt Enable BICIE1 avrbit TIMSK1,5 ; Timer/Counter 1 Input Capture Interrupt EnableTIFR0 port 0x38 ; Timer Interrupt Status Register 0TIFR1 port 0x0b ; Timer Interrupt Status Register 1GTCCR port 0x23 ; General Timer/Counter Control 1 RegisterPSR10 avrbit GTCCR,0 ; Prescaler Reset Timer/Counter 0/1TSM avrbit GTCCR,7 ; Timer/Counter Synchronization Mode;----------------------------------------------------------------------------; Watchdog Timerinclude "wdm21.inc"WDCE avrbit WDTCR,4 ; Change EnableWDP3 avrbit WDTCR,5WDIE avrbit WDTCR,6 ; Enable Watchdog InterruptWDIF avrbit WDTCR,7 ; Watchdog Interrupt Occured?;----------------------------------------------------------------------------; Analog Comparatorinclude "acm.inc";----------------------------------------------------------------------------; A/D ConverterADMUX port 0x07 ; Multiplexer SelectionREFS1 avrbit ADMUX,7 ; Reference Selection BitsREFS0 avrbit ADMUX,6MUX5 avrbit ADMUX,5 ; MultiplexerMUX4 avrbit ADMUX,4MUX3 avrbit ADMUX,3MUX2 avrbit ADMUX,2MUX1 avrbit ADMUX,1MUX0 avrbit ADMUX,0ADCSRA port 0x06 ; Control/Status Register AADEN avrbit ADCSRA,7 ; Enable ADCADSC avrbit ADCSRA,6 ; Start ConversionADATE avrbit ADCSRA,5 ; ADC Auto Trigger EnableADIF avrbit ADCSRA,4 ; Interrupt FlagADIE avrbit ADCSRA,3 ; Interrupt EnableADPS2 avrbit ADCSRA,2 ; Prescaler SelectADPS1 avrbit ADCSRA,1ADPS0 avrbit ADCSRA,0ADCSRB port 0x03 ; Control/Status Register BBIN avrbit ADCSRB,7 ; Bipolar Input ModeACME avrbit ADCSRB,6 ; Analog Comparator Multiplexer EnableADLAR avrbit ADCSRB,4 ; Left Adjust RightADTS2 avrbit ADCSRB,2 ; Auto Trigger SourceADTS1 avrbit ADCSRB,1ADTS0 avrbit ADCSRB,0ADCH port 0x05 ; Data RegisterADCL port 0x04;----------------------------------------------------------------------------; USIUSIDR port 0x0f ; USI Data RegisterUSISR port 0x0e ; USI Status RegisterUSICNT0 avrbit USISR,0 ; Counter ValueUSICNT1 avrbit USISR,1USICNT2 avrbit USISR,2USICNT3 avrbit USISR,3USIDC avrbit USISR,4 ; Data Output CollisionUSIPF avrbit USISR,5 ; Stop Condition FlagUSIOIF avrbit USISR,6 ; Counter Overflow Interrupt FlagUSISIF avrbit USISR,7 ; Start Condition Interrupt FlagUSICR port 0x0d ; USI Control RegisterUSITC avrbit USICR,0 ; Toggle Clock Port PinUSICLK avrbit USICR,1 ; Clock StrobeUSICS0 avrbit USICR,2 ; Clock Source SelectUSICS1 avrbit USICR,3USIWM0 avrbit USICR,4 ; Wire ModeUSIWM1 avrbit USICR,5USIOIE avrbit USICR,6 ; Counter Overflow Interrupt EnableUSISIE avrbit USICR,7 ; Start Condition Interrupt EnableUSIBR port 0x10 ; USI Buffer Registerrestore ; re-enable listingendif ; __regtnx4inc