Blame | Last modification | View Log | Download | RSS feed
ifndef __regm163inc__regm163inc equ 1savelisting off ; no listing over this file;****************************************************************************;* *;* AS 1.42 - File REGM163.INC *;* *;* Contains Bit & Register Definitions for ATmega163 *;* *;****************************************************************************;----------------------------------------------------------------------------; Memory LimitsE2END equ 511RAMSTART equ 0x60,dataRAMEND equ 0x45f,dataFLASHEND label 0x3fff;----------------------------------------------------------------------------; Chip ConfigurationMCUCR port 0x35 ; MCU General Control RegisterSM0 avrbit MCUCR,4 ; Sleep Mode SelectSM1 avrbit MCUCR,5SE avrbit MCUCR,6 ; Sleep EnableMCUSR port 0x34 ; MCU Status RegisterWDRF avrbit MCUSR,3 ; Watchdog Reset OccuredBORF avrbit MCUSR,2 ; Brown-Out OccuredEXTRF avrbit MCUSR,1 ; External Reset OccuredPORF avrbit MCUSR,0 ; Power-On Reset OccuredOSCCAL port 0x31 ; Oscillator Calibration;----------------------------------------------------------------------------; EEPROM/Program Memory Accessinclude "eem.inc"SPMCR port 0x37 ; Store Program Memory Control RegisterASB avrbit SPMCR,6 ; Application Section BusyASRE avrbit SPMCR,4 ; Application Section Rd EnableBLBSET avrbit SPMCR,3 ; Boot 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.SFIOR port 0x30 ; Special Function I/O RegisterPUD avrbit SFIOR,2 ; Pull-Up Disable;----------------------------------------------------------------------------; Interrupt Vectorsenumconf 2,codeenum INT0_vect=2 ; External Interrupt Request 0nextenum INT1_vect ; External Interrupt Request 1nextenum TIMER2_COMP_vect ; Timer/Counter 2 Compare Matchnextenum TIMER2_OVF_vect ; Timer/Counter 2 Overflownextenum 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_OVF_vect ; Timer/Counter 0 Overflownextenum SPI_STC_vect ; SPI Transfer Completenextenum UART_RX_vect ; UART Rx Completenextenum UART_UDRE_vect ; UART Data Register Emptynextenum UART_TX_vect ; UART Tx Completenextenum ADC_vect ; ADC Conversion Completenextenum EE_RDY_vect ; EEPROM Readynextenum ANA_COMP_vect ; Analog Comparatornextenum TWI_vect ; 2-Wire Serial interface;----------------------------------------------------------------------------; External InterruptsISC00 avrbit MCUCR,0 ; External Interrupt 0 Sense ControlISC01 avrbit MCUCR,1ISC10 avrbit MCUCR,2 ; External Interrupt 1 Sense ControlISC11 avrbit MCUCR,3GIMSK port 0x3b ; General Interrupt Mask RegisterINT0 avrbit GIMSK,6 ; Enable External Interrupt 0INT1 avrbit GIMSK,7 ; Enable External Interrupt 1GIFR port 0x3a ; External Interrupt-FlagsINTF0 avrbit GIFR,6 ; External Interrupt 0 OccuredINTF1 avrbit GIFR,7 ; External Interrupt 1 Occured;----------------------------------------------------------------------------; TimersPSR10 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,2TCNT0 port 0x32 ; Timer/Counter 0 ValueTCCR1A port 0x2f ; Timer/Counter 1 Control Register APWM10 avrbit TCCR1A,0 ; Timer/Counter 1 PWM configPWM11 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 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 0x26 ; Timer/Counter 1 Input Capture Value LSBICR1H port 0x27 ; Timer/Counter 1 Input Capture Value MSBTCCR2 port 0x25 ; 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 MatchCOM20 avrbit TCCR2,4 ; Timer/Counter 2 Compare ModeCOM21 avrbit TCCR2,5PWM2 avrbit TCCR2,6 ; Timer/Counter 2 PWM ConfigFOC2 avrbit TCCR2,7 ; Timer/Counter 2 Force Output CompareTCNT2 port 0x24 ; Timer/Counter 2 ValueOCR2 port 0x23 ; Timer/Counter 2 Output Compare ValueTIMSK port 0x39 ; Timer Interrupt Mask RegisterTOIE0 avrbit TIMSK,0 ; Timer/Counter 0 Overflow Interrupt EnableTOIE1 avrbit TIMSK,2 ; Timer/Counter 1 Overflow Interrupt EnableOCIE1B avrbit TIMSK,3 ; Timer/Counter 1 Output Compare Interrupt Enable BOCIE1A avrbit TIMSK,4 ; Timer/Counter 1 Output Compare Interrupt Enable ATICIE1 avrbit TIMSK,5 ; Timer/Counter 1 Input Capture Interrupt EnableTOIE2 avrbit TIMSK,6 ; Timer/Counter 2 Overflow Interrupt EnableOCIE2 avrbit TIMSK,7 ; Timer/Counter 2 Output Compare Interrupt EnableTIFR port 0x38 ; Timer Interrupt Flag RegisterASSR port 0x22 ; Asynchronous Status RegisterTCR2UB avrbit ASSR,0 ; Timer/Counter Control Register 2 Update BusyOCR2UB avrbit ASSR,1 ; Output Compare Register 2 Update BusyTCN2UB 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;----------------------------------------------------------------------------; UARTUDR port 0x0c ; I/O Data RegisterUCSRA port 0x0b ; Control & Status Register AMPCM avrbit UCSRA,0 ; Multi Processor Communication ModeU2X avrbit UCSRA,1 ; Double Transmission SpeedOR avrbit UCSRA,3 ; OverrunFE avrbit UCSRA,4 ; Framing ErrorUDRE avrbit UCSRA,5 ; Data Register EmptyTXC avrbit UCSRA,6 ; Transmit CompleteRXC avrbit UCSRA,7 ; Receive CompleteUCSRB port 0x0a ; Control & Status Register BTXB8 avrbit UCSRB,0 ; Transmit Bit 8RXB8 avrbit UCSRB,1 ; Receive Bit 8CHR9 avrbit UCSRB,2 ; Character SizeTXEN avrbit UCSRB,3 ; Enable TransmitterRXEN avrbit UCSRB,4 ; Enable ReceiverUDRIE avrbit UCSRB,5 ; Enable Data Register Empty InterruptTXCIE avrbit UCSRB,6 ; Enable Transmit Complete InterruptRXCIE avrbit UCSRB,7 ; Enable Receive Complete InterruptUCSRC port 0x20 ; Control & Status Register CUCPOL avrbit UCSRC,0 ; Clock PolarityUCSZ0 avrbit UCSRC,1 ; Character SizeUCSZ1 avrbit UCSRC,2USBS avrbit UCSRC,3 ; Stop Bit SelectUPM0 avrbit UCSRC,4 ; Parity Mode : Odd/EvenUPM1 avrbit UCSRC,5 ; Parity Mode : Enable/DisableUMSEL avrbit UCSRC,6 ; USART Mode SelectURSEL avrbit UCSRC,7 ; Register Select (1 for UCSRC)UBRR port 0x09 ; Baud Rate Register LSBUBRRHI port 0x20 ; Baud Rate Register MSB;----------------------------------------------------------------------------; SPIinclude "spim.inc";----------------------------------------------------------------------------; TWIinclude "twim.inc";----------------------------------------------------------------------------; A/D Converterinclude "adcm8.inc";----------------------------------------------------------------------------; Analog Comparatorinclude "acm.inc"restore ; re-enable listingendif ; __regm163inc