Blame | Last modification | View Log | Download | RSS feed
ifndef __regtnx5inc__regtnx5inc equ 1savelisting off ; no listing over this file;****************************************************************************;* *;* AS 1.42 - File REGTNX5.INC *;* *;* Contains Common Bit & Register Definitions for ATtiny25/45/85 *;* *;****************************************************************************;----------------------------------------------------------------------------; 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 EnablePLLCSR port 0x27 ; PLL Control/Status RegisterPLOCK avrbit PLLCSR,0 ; PLL Lock DetectorPLLE avrbit PLLCSR,1 ; PLL EnablePCKE avrbit PLLCSR,2 ; PCK EnableLSM avrbit PLLCSR,7 ; Low Speed ModePRR port 0x20 ; 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 EEPM1,5 ; EEPROM Program ModeEEPM0 avrbit EEPM1,4EERIE avrbit EEPM1,3 ; EEPROM Ready Interrupt EnableEEMPE avrbit EEPM1,2 ; EEPROM Master Write EnableEEPE avrbit EEPM1,1 ; EEPROM Write EnableEERE avrbit EEPM1,0 ; EEPROM Read EnableSPMCSR port 0x37 ; Store Program Memory Control/Status RegisterRSIG avrbit SPMCSR,5 ; Read Device Signature Imprint TableCTPB 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 0x22 ; debugWire Data Register;----------------------------------------------------------------------------; GPIOPUD avrbit MCUCR,6 ; Pull-Up DisablePINB port 0x16 ; Port B @ 0x16 (IO) ff. (bit 0..5)GPIOR0 port 0x11 ; General Purpose I/O Register 0GPIOR1 port 0x12 ; General Purpose I/O Register 1GPIOR2 port 0x13 ; General Purpose I/O Register 2DIDR port 0x14 ; Digital Input Disable RegisterAIN0D avrbit DIDR,0 ; AIN0 Digital Input DisableAIN1D avrbit DIDR,1 ; AIN1 Digital Input DisableADC1D avrbit DIDR,2 ; ADC1 Digital Input DisableADC3D avrbit DIDR,3 ; ADC3 Digital Input DisableADC2D avrbit DIDR,4 ; ADC2 Digital Input DisableADC0D avrbit DIDR,5 ; ADC0 Digital Input DisablePCMSK port 0x15 ; Pin Change Interrupt MaskPCINT0 avrbit PCMSK,0 ; Enable Pin Change Interrupt 0PCINT1 avrbit PCMSK,1 ; Enable Pin Change Interrupt 1PCINT2 avrbit PCMSK,2 ; Enable Pin Change Interrupt 2PCINT3 avrbit PCMSK,3 ; Enable Pin Change Interrupt 3PCINT4 avrbit PCMSK,4 ; Enable Pin Change Interrupt 4PCINT5 avrbit PCMSK,5 ; Enable Pin Change Interrupt 5;----------------------------------------------------------------------------; Interrupt Vectorsenumconf 1,codeenum INT0_vect=1 ; External Interrupt Request 0nextenum PCINT0_vect ; Pin Change Interrupt 0nextenum TIMER1_COMPA_vect ; Timer/Counter 1 Compare Match Anextenum TIMER1_OVF_vect ; Timer/Counter 1 Overflownextenum TIMER0_OVF_vect ; Timer/Counter 0 Overflownextenum EE_RDY_vect ; EEPROM Readynextenum ANA_COMP_vect ; Analog Comparatornextenum ADC_vect ; ADC Conversion Completenextenum TIMER1_COMPB_vect ; Timer/Counter 1 Compare Match Bnextenum TIMER0_COMPA_vect ; Timer/Counter 0 Compare Match Anextenum TIMER0_COMPB_vect ; Timer/Counter 0 Compare Match Bnextenum WDT_vect ; Watchdog Time-Outnextenum 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 0PCIE avrbit GIMSK,5 ; Pin Change Interrupt EnableGIFR port 0x3a ; General Interrupt Flag RegisterINTF0 avrbit GIFR,6 ; External Interrupt 0 OccuredPCIF avrbit GIFR,5 ; Pin Change Interrupt Occured;----------------------------------------------------------------------------; TimersTCCR0A port 0x2a ; 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 0x29 ; Timer/Counter 0 Output Compare Value AOCR0B port 0x28 ; Timer/Counter 0 Output Compare Value BTCCR1 port 0x30 ; Timer/Counter 1 Control RegisterCS10 avrbit TCCR1,0 ; Timer/Counter 1 Clock SelectCS11 avrbit TCCR1,1CS12 avrbit TCCR1,2CS13 avrbit TCCR1,3COM1A0 avrbit TCCR1,4 ; Timer/Counter 1 Output Compare Mode ACOM1A1 avrbit TCCR1,5PWM1A avrbit TCCR1,6 ; Timer/Counter 1 PWM Mode ACTC1 avrbit TCCR1,7 ; Timer/Counter 1 Clear on Clear on Compare MatchTCNT1 port 0x2f ; Timer/Counter 1 ValueOCR1A port 0x2e ; Timer/Counter 1 Output Compare Value AOCR1B port 0x2b ; Timer/Counter 1 Output Compare Value BOCR1C port 0x2d ; Timer/Counter 1 Output Compare Value CDTPS1 port 0x23 ; Timer/Counter Dead Time Prescaler RegisterDTPS10 avrbit DTPS1,0 ; Dead Time PrescalerDTPS11 avrbit DTPS1,1DT1A port 0x25 ; Timer/Counter1 Dead Time ADT1AL0 avrbit DT1A,0 ; Dead Time Value for -OC1A OutputDT1AL1 avrbit DT1A,1DT1AL2 avrbit DT1A,2DT1AL3 avrbit DT1A,3DT1AH0 avrbit DT1A,4 ; Dead Time Value for OC1A OutputDT1AH1 avrbit DT1A,5DT1AH2 avrbit DT1A,6DT1AH3 avrbit DT1A,7DT1B port 0x24 ; Timer/Counter1 Dead Time BDT1BL0 avrbit DT1B,0 ; Dead Time Value for -OC1B OutputDT1BL1 avrbit DT1B,1DT1BL2 avrbit DT1B,2DT1BL3 avrbit DT1B,3DT1BH0 avrbit DT1B,4 ; Dead Time Value for OC1B OutputDT1BH1 avrbit DT1B,5DT1BH2 avrbit DT1B,6DT1BH3 avrbit DT1B,7TIMSK port 0x39 ; Timer/Counter Interrupt Mask RegisterTOIE0 avrbit TIMSK,1 ; Timer/Counter 0 Overflow Interrupt EnableTOIE1 avrbit TIMSK,2 ; Timer/Counter 1 Overflow Interrupt EnableOCIE0B avrbit TIMSK,3 ; Timer/Counter 0 Output Compare Interrupt Enable BOCIE0A avrbit TIMSK,4 ; Timer/Counter 0 Output Compare Interrupt Enable AOCIE1B avrbit TIMSK,5 ; Timer/Counter 1 Output Compare Interrupt Enable BOCIE1A avrbit TIMSK,6 ; Timer/Counter 1 Output Compare Interrupt Enable ATIFR port 0x38 ; Timer Interrupt Status RegisterGTCCR port 0x2c ; General Timer/Counter Control 1 RegisterPSR0 avrbit GTCCR,0 ; Prescaler Reset Timer/Counter 0PSR1 avrbit GTCCR,1 ; Prescaler Reset Timer/Counter 1FOC1A avrbit GTCCR,2 ; Force Output Compare Match 1 AFOC1B avrbit GTCCR,3 ; Force Output Compare Match 1 BCOM1B0 avrbit GTCCR,4 ; Timer/Counter 1 Output Compare IMode BCOM1B1 avrbit GTCCR,5PWM1B avrbit GTCCR,6 ; Pulse Width Modulator B EnableTSM 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,6ADLAR avrbit ADMUX,5 ; Left Adjust RightREFS2 avrbit ADMUX,4MUX3 avrbit ADMUX,3 ; MultiplexerMUX2 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 EnableIPR avrbit ADCSRB,5 ; Input Polarity ReversalADTS2 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 ; __regtnx5inc