Blame | Last modification | View Log | Download | RSS feed
ifndef __regm161inc__regm161inc equ 1savelisting off ; no listing over this file;****************************************************************************;* *;* AS 1.42 - File REGM161.INC *;* *;* Contains Bit & Register Definitions for ATmega161 *;* *;****************************************************************************;----------------------------------------------------------------------------; Memory LimitsE2END equ 511RAMSTART equ 0x60,dataRAMEND equ 0x45f,dataFLASHEND label 0x3fff;----------------------------------------------------------------------------; Chip ConfigurationMCUCR port 0x35 ; MCU General Control RegisterSM1 avrbit MCUCR,4SE avrbit MCUCR,5 ; Sleep EnableSRW10 avrbit MCUCR,6 ; Wait State SelectSRE avrbit MCUCR,7 ; Enable External SRAMMCUSR port 0x34 ; MCU Status RegisterWDRF avrbit MCUSR,3 ; Watchdog Reset OccuredBORF avrbit MCUSR,2 ; Brown-Out ResetOccuredEXTRF avrbit MCUSR,1 ; External Reset OccuredPORF avrbit MCUSR,0 ; Power-On Reset OccuredEMCUCR port 0x36 ; Extended MCU Control RegisterSRW11 avrbit EMCUCR,1 ; Wait State SelectSRW00 avrbit EMCUCR,2SRW01 avrbit EMCUCR,3SRL0 avrbit EMCUCR,4 ; Wait State Sector LimitSRL1 avrbit EMCUCR,5SRL2 avrbit EMCUCR,6SM0 avrbit EMCUCR,7 ; Sleep Mode Select;----------------------------------------------------------------------------; EEPROM/Program Memory Accessinclude "eem.inc"SPMCR port 0x37 ; Store Program Memory Control RegisterLBSET avrbit SPMCR,3 ; Lock Bit SetPGWRT avrbit SPMCR,2 ; Page WritePGERS avrbit SPMCR,1 ; Page EraseSPMEN avrbit SPMCR,0 ; Store Program Memory Enable;----------------------------------------------------------------------------; GPIOPINA port 0x19 ; Port A @ 0x19 (IO) ff.PINB port 0x16 ; Port B @ 0x16 (IO) ff.PINC port 0x13 ; Port C @ 0x13 (IO) ff.PIND port 0x10 ; Port D @ 0x10 (IO) ff.PINE port 0x05 ; Port E @ 0x05 (IO) ff.;----------------------------------------------------------------------------; Interrupt Vectorsenumconf 2,codeenum INT0_vect=2 ; External Interrupt Request 0nextenum INT1_vect ; External Interrupt Request 1nextenum INT2_vect ; External Interrupt Request 2nextenum TIMER2_COMP_vect ; Timer/Counter 2 Compare Matchnextenum TIMER2_OVF_vect ; Timer/Counter 2 Overflownextenum TIMER1_CAPT_vect ; Timer/Counter 1 Capturenextenum 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_COMP_vect ; Timer/Counter 0 Compare Matchnextenum TIMER0_OVF_vect ; Timer/Counter 0 Overflownextenum SPI_STC_vect ; SPI Transfer Completenextenum UART0_RX_vect ; UART0 Rx Completenextenum UART1_RX_vect ; UART1 Rx Completenextenum UART0_UDRE_vect ; UART0 Data Register Emptynextenum UART1_UDRE_vect ; UART1 Data Register Emptynextenum UART0_TX_vect ; UART0 Tx Completenextenum UART1_TX_vect ; UART1 Tx Completenextenum EE_RDY_vect ; EEPROM Readynextenum ANA_COMP_vect ; Analog Comparator;----------------------------------------------------------------------------; External InterruptsISC00 avrbit MCUCR,0 ; External Interrupt 0 Sense ControlISC01 avrbit MCUCR,1ISC10 avrbit MCUCR,2 ; External Interrupt 1 Sense ControlISC11 avrbit MCUCR,3ISC2 avrbit EMCUCR,0 ; External Interrupt 2 Sense ControlGIMSK port 0x3b ; General Interrupt Mask RegisterINT2 avrbit GIMSK,5 ; Enable External Interrupt 2INT0 avrbit GIMSK,6 ; Enable External Interrupt 0INT1 avrbit GIMSK,7 ; Enable External Interrupt 1GIFR port 0x3a ; External Interrupt-Flags:INTF2 avrbit GIFR,5 ; External Interrupt 2 OccuredINTF0 avrbit GIFR,6 ; External Interrupt 0 OccuredINTF1 avrbit GIFR,7 ; External Interrupt 1 Occured;----------------------------------------------------------------------------; TimersSFIOR port 0x30 ; Special Function I/O RegisterPSR10 avrbit SFIOR,0 ; Prescaler Reset T0/1PSR2 avrbit SFIOR,1 ; Prescaler Reset T2TCCR0 port 0x33 ; Timer/Counter 0 Control RegisterCS00 avrbit TCCR0,0 ; Timer/Counter 0 Clock SelectCS01 avrbit TCCR0,1CS02 avrbit TCCR0,2CTC0 avrbit TCCR0,3 ; Timer/Counter 0 Clear on Compare MatchCOM00 avrbit TCCR0,4 ; Timer/Counter 0 Compare ModeCOM01 avrbit TCCR0,5PWM0 avrbit TCCR0,6 ; Timer/Counter 0 PWM EnableFOC0 avrbit TCCR0,7 ; Timer/Counter 0 Force Output Compare MatchTCNT0 port 0x32 ; Timer/Counter 0 ValueOCR0 port 0x31 ; Timer/Counter 0 Output Compare ValueTCCR1A port 0x2f ; Timer/Counter 1 Control Register APWM10 avrbit TCCR1A,0 ; Timer/Counter 1 PWM ModePWM11 avrbit TCCR1A,1FOC1B avrbit TCCR1A,2 ; Timer/Counter 1 Force Output Compare BFOC1A avrbit TCCR1A,3 ; Timer/Counter 1 Force Output Compare ACOM1B0 avrbit TCCR1A,4 ; Timer/Counter 1 Compare Mode BCOM1B1 avrbit TCCR1A,5COM1A0 avrbit TCCR1A,6 ; Timer/Counter 1 Compare Mode ACOM1A1 avrbit TCCR1A,7TCCR1B port 0x2e ; Timer/Counter 1 Control Register BCS10 avrbit TCCR1B,0 ; Timer/Counter 1 Prescaler SettingCS11 avrbit TCCR1B,1CS12 avrbit TCCR1B,2CTC1 avrbit TCCR1B,3 ; Timer/Counter 1 Clear on Compare MatchICES1 avrbit TCCR1B,6 ; Timer/Counter 1 Capture Slope SelectionICNC1 avrbit TCCR1B,7 ; Timer/Counter 1 Capture Noise FilterTCNT1L 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 MSBTCCR2 port 0x27 ; Timer/Counter 2 Control RegisterCS20 avrbit TCCR2,0 ; Timer/Counter 2 Prescaler SettingCS21 avrbit TCCR2,1CS22 avrbit TCCR2,2CTC2 avrbit TCCR2,3 ; Timer/Counter 2 Clear on Compare MatchCOM20 avrbit TCCR2,4 ; Timer/Counter 2 Compare ModeCOM21 avrbit TCCR2,5PWM2 avrbit TCCR2,6 ; Timer/Counter 2 PWM EnableFOC2 avrbit TCCR2,7 ; Timer/Counter 2 Force Output CompareTCNT2 port 0x23 ; Timer/Counter 2 ValueOCR2 port 0x22 ; Timer/Counter 2 Output Compare ValueTIMSK port 0x39 ; Timer Interrupt Mask RegisterOCIE0 avrbit TIMSK,0 ; Timer/Counter 0 Output Compare Interrupt EnableTOIE0 avrbit TIMSK,1 ; Timer/Counter 0 Overflow Interrupt EnableOCIE2 avrbit TIMSK,2 ; Timer/Counter 2 Output Compare Interrupt EnableTICIE1 avrbit TIMSK,3 ; Timer/Counter 1 Input Capture Interrupt EnableTOIE2 avrbit TIMSK,4 ; Timer/Counter 2 Overflow Interrupt EnableOCIE1B avrbit TIMSK,5 ; Timer/Counter 1 Output Compare Interrupt Enable AOCIE1A avrbit TIMSK,6 ; Timer/Counter 1 Output Compare Interrupt Enable BTOIE1 avrbit TIMSK,7 ; Timer/Counter 1 Overflow Interrupt EnableTIFR port 0x38 ; Timer Interrupt Flag RegisterASSR port 0x26 ; Asynchronous Status RegisterTCR2UB avrbit ASSR,0 ; Timer/Counter Control Register 2 Update BusyOCR2UB avrbit ASSR,1 ; Output Compare Register 2TCN2UB avrbit ASSR,2 ; Timer/Counter 2 Update BusyAS2 avrbit ASSR,3 ; Asynchronous Timer/Counter 2;----------------------------------------------------------------------------; Watchdog Timerinclude "wdm21.inc"WDTOE avrbit WDTCR,4 ; Turn-Off Enable;----------------------------------------------------------------------------; UARTUDR0 port 0x0c ; UART0 I/O Data RegisterUCSR0A port 0x0b ; UART0 Control/Status Register AOR0 avrbit UCSR0A,3 ; UART0 OverrunFE0 avrbit UCSR0A,4 ; UART0 Framing ErrorUDRE0 avrbit UCSR0A,5 ; UART0 Data Register EmptyTXC0 avrbit UCSR0A,6 ; UART0 Transmit CompleteRXC0 avrbit UCSR0A,7 ; UART0 Receive CompleteUCSR0B port 0x0a ; UART0 Control/Status Register BTXB80 avrbit UCSR0B,0 ; UART0 Transmit Bit 8RXB80 avrbit UCSR0B,1 ; UART0 Receive Bit 8CHR90 avrbit UCSR0B,2 ; UART0 9 Bit CharactersTXEN0 avrbit UCSR0B,3 ; UART0 Enable TransmitterRXEN0 avrbit UCSR0B,4 ; UART0 Enable ReceiverUDRIE0 avrbit UCSR0B,5 ; UART0 Enable Data Register Empty InterruptTXCIE0 avrbit UCSR0B,6 ; UART0 Enable Transmit Complete InterruptRXCIE0 avrbit UCSR0B,7 ; UART0 Enable Receive Complete InterruptUBRR0 port 0x09 ; UART0 Baud Rate Register LSBUDR1 port 0x03 ; UART1 I/O Data RegisterUCSR1A port 0x02 ; UART1 Control/Status RegisterOR1 avrbit UCSR1A,3 ; UART1 OverrunFE1 avrbit UCSR1A,4 ; UART1 Framing ErrorUDRE1 avrbit UCSR1A,5 ; UART1 Data Register EmptyTXC1 avrbit UCSR1A,6 ; UART1 Transmit CompleteRXC1 avrbit UCSR1A,7 ; UART1 Receive CompleteUCSR1B port 0x01 ; UART1 Control/Status RegisterTXB81 avrbit UCSR1B,0 ; UART1 Transmit Bit 8RXB81 avrbit UCSR1B,1 ; UART1 Receive Bit 8CHR91 avrbit UCSR1B,2 ; UART1 9 Bit CharactersTXEN1 avrbit UCSR1B,3 ; UART1 Enable TransmitterRXEN1 avrbit UCSR1B,4 ; UART1 Enable ReceiverUDRIE1 avrbit UCSR1B,5 ; UART1 Enable Data Register Empty InterruptTXCIE1 avrbit UCSR1B,6 ; UART1 Enable Transmit Complete InterruptRXCIE1 avrbit UCSR1B,7 ; UART1 Enable Receive Complete InterruptUBRR1 port 0x00 ; UART1 Baud Rate Register LSBUBRRHI port 0x20 ; UART0/1 Baud Rate Register MSB;----------------------------------------------------------------------------; SPIinclude "spim.inc";----------------------------------------------------------------------------; Analog Comparatorinclude "acm2.inc"restore ; re-enable listingendif ; __regm161inc