Blame | Last modification | View Log | Download | RSS feed
ifndef __regtnx7inc__regtnx7inc equ 1savelisting off ; no listing over this file;****************************************************************************;* *;* AS 1.42 - File REGTNX7.INC *;* *;* Contains common bit & Register definitions for ATtiny87/167 *;* *;****************************************************************************;----------------------------------------------------------------------------; Chip ConfigurationMCUCR port 0x35 ; MCU General Control RegisterBODSE avrbit MCUCR,5 ; BOD SleepBODS avrbit MCUCR,6 ; 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 FlagSMCR port 0x33 ; Sleep Mode Control RegisterSE avrbit SMCR,0 ; Sleep EnableSM0 avrbit SMCR,1 ; Sleep Mode SelectSM1 avrbit SMCR,2OSCCAL sfr 0x66 ; Oscillator CalibrationCLKPR sfr 0x61 ; Clock PrescalerCLKPS0 avrbit CLKPR,0 ; Prescaler SelectCLKPS1 avrbit CLKPR,1CLKPS2 avrbit CLKPR,2CLKPS3 avrbit CLKPR,3CLKPCE avrbit CLKPR,7 ; Clock Prescaler Change EnableCLKCSR sfr 0x62 ; Clock Control/Status RegisterCLKC0 avrbit CLKCSR,0 ; Clock Control BitsCLKC1 avrbit CLKCSR,1CLKC2 avrbit CLKCSR,2CLKC3 avrbit CLKCSR,3CLKRDY avrbit CLKCSR,4 ; Clock Ready FlagCLKCCE avrbit CLKCSR,7 ; Clock Control Change EnableCLKSELR sfr 0x63 ; Clock Selection RegisterCSEL0 avrbit CLKSELR,0 ; Clock Source SelectCSEL1 avrbit CLKSELR,1CSEL2 avrbit CLKSELR,2CSEL3 avrbit CLKSELR,3CSUT0 avrbit CLKSELR,4 ; Clock Start-up TimeCSUT1 avrbit CLKSELR,5COUT avrbit CLKSELR,6 ; Clock OutPRR sfr 0x64 ; Power Reduction RegisterPRADC avrbit PRR,0 ; Power Reduction AD ConverterPRUSI avrbit PRR,1 ; Power Reduction USIPRTIM1 avrbit PRR,2 ; Power Reduction Timer/Counter 1PRTIM0 avrbit PRR,3 ; Power Reduction Timer/Counter 0PRSPI avrbit PRR,4 ; Power Reduction SPIPRLIN avrbit PRR,5 ; Power Reduction Power Reduction LIN / UART Controller;----------------------------------------------------------------------------; EEPROM/Flash AccessEEARL port 0x21 ; EEPROM Address Register LowEEARH port 0x22 ; EEPROM Address Register HighEEDR port 0x20 ; EEPROM Data RegisterEECR port 0x1f ; 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 RegisterRWWSB avrbit SPMCSR,6 ; Read-While-Write Section BusySIGRD avrbit SPMCSR,5 ; Read Signature BytesCTPB 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 0x31 ; debugWire Data Register;----------------------------------------------------------------------------; GPIOPUD avrbit MCUCR,4 ; Pull-Up DisablePINA port 0x00 ; Port A @ 0x00 (IO) ff.PINB port 0x03 ; Port B @ 0x03 (IO) ff.GPIOR0 port 0x1e ; General Purpose I/O Register 0GPIOR1 port 0x2a ; General Purpose I/O Register 1GPIOR2 port 0x2b ; General Purpose I/O Register 2PORTCR port 0x12 ; Port Control RegisterPUDA avrbit PORTCR,0 ; Pull-up Disable Port APUDB avrbit PORTCR,1 ; Pull-up Disable Port BBBMA avrbit PORTCR,4 ; Break-Before-Make Mode Enable ABBMB avrbit PORTCR,5 ; Break-Before-Make Mode Enable BPCMSK0 sfr 0x6b ; Pin Change Interrupt Mask 0PCMSK1 sfr 0x6c ; Pin Change Interrupt Mask 1PCICR sfr 0x68 ; Pin Change Interrupt Control RegisterPCIFR port 0x1b ; Pin Change Interrupt Flag Register;----------------------------------------------------------------------------; Interrupt Vectorsenumconf 1,codeenum INT0_vect=1 ; External Interrupt Request 0nextenum INT1_vect ; External Interrupt Request 1nextenum 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_OVF_vect ; Timer/Counter 0 Overflownextenum LIN_TC_vect ; LIN/UART Transfer Completenextenum LIN_ERR_vect ; LIN/UART Errornextenum SPI_STC_vect ; SPI Serial Transfer Completenextenum ADC_vect ; ADC Conversion Completenextenum EE_RDY_vect ; EEPROM Readynextenum ANA_COMP_vect ; Analog Comparatornextenum USI_START_vect ; USI Startnextenum USI_OVF_vect ; USI Overflow;----------------------------------------------------------------------------; External InterruptsEICRA sfr 0x69 ; External Interrupt Control Register AISC00 avrbit EICRA,0 ; External Interrupt 0 Sense ControlISC01 avrbit EICRA,1ISC10 avrbit EICRA,2 ; External Interrupt 1 Sense ControlISC11 avrbit EICRA,3EIMSK port 0x1d ; External Interrupt Mask RegisterINT0 avrbit EIMSK,0 ; Enable External Interrupt 0INT1 avrbit EIMSK,1 ; Enable External Interrupt 1EIFR port 0x1c ; External Interrupt Flag RegisterINTF0 avrbit EIFR,0 ; External Interrupt 0 OccuredINTF1 avrbit EIFR,1 ; External Interrupt 1 Occured;----------------------------------------------------------------------------; TimersTCCR0A port 0x25 ; Timer/Counter 0 Control Register AWGM00 avrbit TCCR0A,0 ; Timer/Counter 0 Waveform Generation ModeWGM01 avrbit TCCR0A,1COM0A0 avrbit TCCR0A,6 ; Timer/Counter 0 Output Compare Mode ACOM0A1 avrbit TCCR0A,7TCCR0B port 0x26 ; Timer/Counter 0 Control Register BCS00 avrbit TCCR0B,0 ; Timer/Counter 0 Clock SelectCS01 avrbit TCCR0B,1CS02 avrbit TCCR0B,2FOC0A avrbit TCCR0B,7 ; Timer/Counter 0 Forc Output Compare MatchTCNT0 port 0x27 ; Timer/Counter 0 ValueOCR0A port 0x28 ; Timer/Counter 0 Output Compare Value AASSR sfr 0xb6 ; Asynchronous Status RegisterTCR0BUB avrbit ASSR,0 ; Timer/Counter0 Control Register B Update BusyTCR0AUB avrbit ASSR,1 ; Timer/Counter0 Control Register A Update BusyOCR0AUB avrbit ASSR,3 ; Output Compare 0 Register A Update BusyTCN0UB avrbit ASSR,4 ; Timer/Counter0 Update BusyAS0 avrbit ASSR,5 ; Asynchronous Timer/Counter 0EXCLK avrbit ASSR,6 ; Enable External Clock InputTCCR1A sfr 0x80 ; 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 sfr 0x81 ; 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 SelecrICNC1 avrbit TCCR1B,7 ; Timer/Counter 1 Input Capture Noise CancelingTCCR1C sfr 0x82 ; 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 ATCCR1D sfr 0x83 ; Timer/Counter 1 Control Register DOC1AU avrbit TCCR1D,0 ; Output Compare Pin Enable for Channel AOC1AV avrbit TCCR1D,1OC1AW avrbit TCCR1D,2OC1AX avrbit TCCR1D,3OC1BU avrbit TCCR1D,4 ; Output Compare Pin Enable for Channel BOC1BV avrbit TCCR1D,5OC1BW avrbit TCCR1D,6OC1BX avrbit TCCR1D,7TCNT1L sfr 0x84 ; Timer/Counter 1 Value LSBTCNT1H sfr 0x85 ; Timer/Counter 1 Value MSBOCR1AL sfr 0x88 ; Timer/Counter 1 Output Compare Value A LSBOCR1AH sfr 0x89 ; Timer/Counter 1 Output Compare Value A MSBOCR1BL sfr 0x8a ; Timer/Counter 1 Output Compare Value B LSBOCR1BH sfr 0x8b ; Timer/Counter 1 Output Compare Value B MSBICR1L sfr 0x86 ; Timer/Counter 1 Input Capture LSBICR1H sfr 0x87 ; Timer/Counter 1 Input Capture MSBTIMSK0 sfr 0x6e ; Timer/Counter 0 Interrupt Mask RegisterTOIE0 avrbit TIMSK0,0 ; Timer/Counter 0 Overflow Interrupt EnableOCIE0A avrbit TIMSK0,1 ; Timer/Counter 0 Output Compare Interrupt Enable ATIMSK1 sfr 0x6f ; Timer/Counter 1 Interrupt Mask RegisterTOIE1 avrbit TIMSK1,0 ; Timer/Counter 1 Overflow Interrupt EnableOCIE1B avrbit TIMSK1,1 ; Timer/Counter 1 Output Compare Interrupt Enable BOCIE1A avrbit TIMSK1,2 ; Timer/Counter 1 Output Compare Interrupt Enable AICIE1 avrbit TIMSK1,5 ; Timer/Counter 1 Input Capture Interrupt EnableTIFR0 port 0x15 ; Timer/Counter 0 Interrupt Flag RegisterTIFR1 port 0x16 ; Timer/Counter 1 Interrupt Flag RegisterGTCCR port 0x23 ; General Timer/Counter Control RegisterPSR1 avrbit GTCCR,0 ; Timer/Counter 1 Prescaler ResetPSR0 avrbit GTCCR,1 ; Timer/Counter 0 Prescaler ResetTSM avrbit GTCCR,7 ; Timer/Counter Synchronization Mode;----------------------------------------------------------------------------; Watchdog Timerinclude "wdme.inc";----------------------------------------------------------------------------; Analog ComparatorACSR port 0x30 ; Config/Status RegisterACIS0 avrbit ACSR,0 ; Interrupt-ModeACIS1 avrbit ACSR,1ACIC avrbit ACSR,2 ; use Comparator as Capture Signal for Timer 1?ACIE avrbit ACSR,3 ; Interrupt EnableACI avrbit ACSR,4 ; Interrupt FlagACO avrbit ACSR,5 ; Analog Comparator OutputACIRS avrbit ACSR,6 ; Analog Comparator Internal Reference SelectACD avrbit ACSR,7 ; DisableACIR0 avrbit ADCSRB,4 ; Analog Comparator Internal Voltage Reference SelectACIR1 avrbit ADCSRB,5AIN1D avrbit DIDR0,7 ; Disable Digital Input on AIN0AIN0D avrbit DIDR0,6 ; Disable Digital Input on AIN1;----------------------------------------------------------------------------; A/D Converterinclude "adcm78.inc"MUX4 avrbit ADMUX,4BIN avrbit ADCSRB,7 ; Bipolar Input ModeDIDR1 sfr 0x7f ; Digital Input Disable Register 1ADC8D avrbit DIDR1,4 ; Digital Input Disable ADC8ADC9D avrbit DIDR1,5 ; Digital Input Disable ADC9ADC10D avrbit DIDR1,6 ; Digital Input Disable ADC10AMISCR sfr 0x77 ; Analog Miscellaneous Control RegisterISRCEN avrbit AMISCR,0 ; Current Source EnableXREFEN avrbit AMISCR,1 ; Internal Voltage Reference Output EnableAREFEN avrbit AMISCR,2 ; External Voltage Reference Input Enable;----------------------------------------------------------------------------; SPIinclude "spim2c.inc";----------------------------------------------------------------------------; USIinclude "usimb8.inc"USIBR sfr 0xbb ; USI Buffer RegisterUSIPP sfr 0xbc ; USI Pin PositionUSIPOS avrbit USIPP,0 ; USI Pin Position;----------------------------------------------------------------------------; LIN/UARTLINCR sfr 0xc8 ; LIN Control RegisterLCMD0 avrbit LINCR,0 ; Command and ModeLCMD1 avrbit LINCR,1LCMD2 avrbit LINCR,2LENA avrbit LINCR,3 ; EnableLCONF0 avrbit LINCR,4 ; ConfigurationLCONF1 avrbit LINCR,5LIN13 avrbit LINCR,6 ; LIN 1.3 ModeLSWRES avrbit LINCR,7 ; Software ResetLINSIR sfr 0xc9 ; LIN Status and Interrupt RegisterLRXOK avrbit LINSIR,0 ; Receive Performed InterruptLTXOK avrbit LINSIR,1 ; Transmit Performed InterruptLIDOK avrbit LINSIR,2 ; Identifier InterruptLERR avrbit LINSIR,3 ; Error InterruptLBUSY avrbit LINSIR,4 ; Busy SignalLIDST0 avrbit LINSIR,5 ; Identifier StatusLIDST1 avrbit LINSIR,6LIDST2 avrbit LINSIR,7LINENIR sfr 0xca ; LIN Enable Interrupt RegisterLENRXOK avrbit LINENIR,0 ; Enable Receive Performed InterruptLENTXOK avrbit LINENIR,1 ; Enable Transmit Performed InterruptLENIDOK avrbit LINENIR,2 ; Enable Identifier InterruptLENERR avrbit LINENIR,3 ; Enable Error InterruptLINERR sfr 0xcb ; LIN Error RegisterLBERR avrbit LINERR,0 ; Bit Error FlagLCERR avrbit LINERR,1 ; Checksum Error FlagLPERR avrbit LINERR,2 ; Parity Error FlagLSERR avrbit LINERR,3 ; Synchronization Error FlagLFERR avrbit LINERR,4 ; Framing Error FlagLOVERR avrbit LINERR,5 ; Overrun Error FlagLTOERR avrbit LINERR,6 ; Frame_Time_Out Error FlagLABORT avrbit LINERR,7 ; Abort FlagLINBTR sfr 0xcc ; LIN Bit Timing RegisterLBT0 avrbit LINBTR,0 ; LIN Bit TimingLBT1 avrbit LINBTR,1LBT2 avrbit LINBTR,2LBT3 avrbit LINBTR,3LBT4 avrbit LINBTR,4LBT5 avrbit LINBTR,5LDISR avrbit LINBTR,7 ; Disable Bit Timing Re synchronizationLINBRRL sfr 0xcd ; LIN Baud Rate Register LowLINBRRH sfr 0xce ; LIN Baud Rate Register HighLINDLR sfr 0xcf ; LIN Data Length RegisterLRXDL0 avrbit LINDLR,0 ; LIN Receive Data LengthLRXDL1 avrbit LINDLR,1LRXDL2 avrbit LINDLR,2LRXDL3 avrbit LINDLR,3LTXDL0 avrbit LINDLR,4 ; LIN Transmit Data LengthLTXDL1 avrbit LINDLR,5LTXDL2 avrbit LINDLR,6LTXDL3 avrbit LINDLR,7LINIDR sfr 0xd0 ; LIN Identifier RegisterLID0 avrbit LINIDR,0 ; LIN 2.1 IdentifierLID1 avrbit LINIDR,1LID2 avrbit LINIDR,2LID3 avrbit LINIDR,3LID4 avrbit LINIDR,4LID5 avrbit LINIDR,5LDL0 avrbit LINIDR,4 ; LIN 1.3 Data LengthLDL1 avrbit LINIDR,5LP0 avrbit LINIDR,6 ; ParityLP1 avrbit LINIDR,7LINSEL sfr 0xd1 ; LIN Data Buffer Selection RegisterLINDX0 avrbit LINSEL,0 ; FIFO LIN Data Buffer IndexLINDX1 avrbit LINSEL,1LINDX2 avrbit LINSEL,2LAINC avrbit LINSEL,3 ; Auto Increment of Data Buffer IndexLINDAT sfr 0xd2 ; LIN Data Registerrestore ; re-enable listingendif ; __regtnx7inc