Blame | Last modification | View Log | Download | RSS feed
ifndef __regm64inc__regm64inc equ 1savelisting off ; no listing over this file;****************************************************************************;* *;* AS 1.42 - File REGM64.INC *;* *;* Contains Bit & Register Definitions for ATmega64 *;* *;****************************************************************************;----------------------------------------------------------------------------; Memory LimitsE2END equ 2047RAMSTART equ 0x100,dataRAMEND equ 0x10ff,dataFLASHEND label 0xffff;----------------------------------------------------------------------------; Chip ConfigurationMCUCR port 0x35 ; MCU General Control RegisterIVCE avrbit MCUCR,0 ; Interrupt Vector Change EnableIVSEL avrbit MCUCR,1 ; Interrupt Vector SelectSM2 avrbit MCUCR,2 ; Sleep Mode SelectSM0 avrbit MCUCR,3SM1 avrbit MCUCR,4SE avrbit MCUCR,5 ; Sleep EnableSRW10 avrbit MCUCR,6 ; Wait State SelectSRE avrbit MCUCR,7 ; Enable External SRAMMCUCSR port 0x34 ; MCU Control and Status RegisterWDRF avrbit MCUCSR,3 ; Watchdog Reset OccuredBORF avrbit MCUCSR,2 ; Brown-Out Reset OccuredEXTRF avrbit MCUCSR,1 ; External Reset OccuredPORF avrbit MCUCSR,0 ; Power-On Reset OccuredOSCCAL sfr 0x6f ; Oscillator CalibrationXDIV port 0x3c ; XTAL Divide Control RegisterXMCRA sfr 0x6d ; External Memory Control Register ASRL2 avrbit XMCRA,6 ; Wait State Sector LimitSRL1 avrbit XMCRA,5SRL0 avrbit XMCRA,4SRW01 avrbit XMCRA,3 ; Wait State Select Bits for Lower SectorSRW00 avrbit XMCRA,2SRW11 avrbit XMCRA,1XMCRB sfr 0x6c ; External Memory Control Register BXMBK avrbit XMCRB,7 ; External Memory Bus Keeper EnableXMM2 avrbit XMCRB,2 ; External Memory High MaskXMM1 avrbit XMCRB,1XMM0 avrbit XMCRB,0;----------------------------------------------------------------------------; EEPROM/Program Memory Accessinclude "eem.inc"include "spmcsr68.inc";----------------------------------------------------------------------------; JTAGJTRF avrbit MCUCSR,4 ; JTAG Reset OccuredJTD avrbit MCUCSR,7 ; JTAG DisableOCDR port 0x22 ; On-Chip Debug Register;----------------------------------------------------------------------------; 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 0x01 ; Port E @ 0x01 (IO) ff.PINF port 0x00 ; Port F @ 0x00 (IO) ff.,DDRF sfr 0x61 ; Registers non-continuousPORTF sfr 0x62PING sfr 0x63 ; Port G @ 0x63 (DATA) ff.SFIOR port 0x20 ; Special Function I/O RegisterPUD avrbit PUD,2 ; Pullup Disable;----------------------------------------------------------------------------; Interrupt Vectorsenumconf 2,codeenum INT0_vect=2 ; External Interrupt Request 0nextenum INT1_vect ; External Interrupt Request 1nextenum INT2_vect ; External Interrupt Request 2nextenum INT3_vect ; External Interrupt Request 3nextenum INT4_vect ; External Interrupt Request 4nextenum INT5_vect ; External Interrupt Request 5nextenum INT6_vect ; External Interrupt Request 6nextenum INT7_vect ; External Interrupt Request 7nextenum 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_COMP_vect ; Timer/Counter 0 Compare Matchnextenum TIMER0_OVF_vect ; Timer/Counter 0 Overflownextenum SPI_STC_vect ; SPI Serial Transfer Completenextenum USART0_RX_vect ; USART0 Rx Completenextenum USART0_UDRE_vect ; USART0 Data Register Emptynextenum USART0_TX_vect ; USART0 Tx Completenextenum ADC_vect ; ADC Conversion Completenextenum EE_READY_vect ; EEPROM Readynextenum ANALOG_COMP_vect ; Analog Comparatornextenum TIMER1_COMPC_vect ; Timer/Counter 1 Compare Match Cnextenum TIMER3_CAPT_vect ; Timer/Counter 3 Capture Eventnextenum TIMER3_COMPA_vect ; Timer/Counter 3 Compare Match Anextenum TIMER3_COMPB_vect ; Timer/Counter 3 Compare Match Bnextenum TIMER3_COMPC_vect ; Timer/Counter 3 Compare Match Cnextenum TIMER3_OVF_vect ; Timer/Counter 3 Overflownextenum USART1_RX_vect ; USART1 Rx Completenextenum USART1_UDRE_vect ; USART1 Data Register Emptynextenum USART1_TX_vect ; USART1 Tx Completenextenum TWI_vect ; Two-Wire Serial Interfacenextenum SPM_READY_vect ; Store Program Memory Ready;----------------------------------------------------------------------------; External InterruptsEICRA sfr 0x6a ; 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,3ISC20 avrbit EICRA,4 ; External Interrupt 2 Sense ControlISC21 avrbit EICRA,5ISC30 avrbit EICRA,6 ; External Interrupt 3 Sense ControlISC31 avrbit EICRA,7EICRB port 0x3a ; External Interrupt Control Register BISC40 avrbit EICRB,0 ; External Interrupt 4 Sense ControlISC41 avrbit EICRB,1ISC50 avrbit EICRB,2 ; External Interrupt 5 Sense ControlISC51 avrbit EICRB,3ISC60 avrbit EICRB,4 ; External Interrupt 6 Sense ControlISC61 avrbit EICRB,5ISC70 avrbit EICRB,6 ; External Interrupt 7 Sense ControlISC71 avrbit EICRB,7EIMSK port 0x39 ; External Interrupt Mask RegisterINT0 avrbit EIMSK,0 ; Enable External Interrupt 0INT1 avrbit EIMSK,1 ; Enable External Interrupt 1INT2 avrbit EIMSK,2 ; Enable External Interrupt 2INT3 avrbit EIMSK,3 ; Enable External Interrupt 3INT4 avrbit EIMSK,4 ; Enable External Interrupt 4INT5 avrbit EIMSK,5 ; Enable External Interrupt 5INT6 avrbit EIMSK,6 ; Enable External Interrupt 6INT7 avrbit EIMSK,7 ; Enable External Interrupt 7EIFR port 0x38 ; External Interrupt Flags RegisterINTF0 avrbit EIFR,0 ; External Interrupt 0 OccuredINTF1 avrbit EIFR,1 ; External Interrupt 1 OccuredINTF2 avrbit EIFR,2 ; External Interrupt 2 OccuredINTF3 avrbit EIFR,3 ; External Interrupt 3 OccuredINTF4 avrbit EIFR,4 ; External Interrupt 4 OccuredINTF5 avrbit EIFR,5 ; External Interrupt 5 OccuredINTF6 avrbit EIFR,6 ; External Interrupt 6 OccuredINTF7 avrbit EIFR,7 ; External Interrupt 7 Occured;----------------------------------------------------------------------------; TimersTSM avrbit SFIOR,7 ; Timer SyncronizationPSR321 avrbit SFIOR,0 ; Prescaler Reset T1..3PSR0 avrbit SFIOR,1 ; ditto T0TCCR0 port 0x33 ; Timer/Counter 0 Control RegisterCS00 avrbit TCCR0,0 ; Timer/Counter 0 Clock SelectCS01 avrbit TCCR0,1CS02 avrbit TCCR0,2WGM01 avrbit TCCR0,3COM00 avrbit TCCR0,4 ; Timer/Counter 0 Compare ModeCOM01 avrbit TCCR0,5WGM00 avrbit TCCR0,6 ; Timer/Counter 0 Waveform Generation ModeFOC0 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 AWGM10 avrbit TCCR1A,0 ; Timer/Counter 1 Waveform Generation ModeWGM11 avrbit TCCR1A,1COM1C0 avrbit TCCR1A,2 ; Timer/Counter 1 Compare Mode CCOM1C1 avrbit TCCR1A,3COM1B0 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,2WGM12 avrbit TCCR1B,3 ; Timer/Counter 1 Waveform Generation ModeWGM13 avrbit TCCR1B,4ICES1 avrbit TCCR1B,6 ; Timer/Counter 1 Capture Slope SelectionICNC1 avrbit TCCR1B,7 ; Timer/Counter 1 Capture Noise FilterTCCR1C sfr 0x7a ; Timer/Counter 1 Control Register CFOC1C avrbit TCCR1C,5 ; Timer/Counter 1 Force Output Compare Match CFOC1B avrbit TCCR1C,6 ; Timer/Counter 1 Force Output Compare Match BFOC1A avrbit TCCR1C,7 ; Timer/Counter 1 Force Output Compare Match 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 MSBOCR1CL sfr 0x78 ; Timer/Counter 1 Output Compare Value C LSBOCR1CH sfr 0x79 ; Timer/Counter 1 Output Compare Value C 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,2WGM21 avrbit TCCR2,3COM20 avrbit TCCR2,4 ; Timer/Counter 2 Compare ModeCOM21 avrbit TCCR2,5WGM20 avrbit TCCR2,6 ; Timer/Counter 2 Waveform Generation ModeFOC2 avrbit TCCR2,7 ; Timer/Counter 2 Force Output CompareTCNT2 port 0x24 ; Timer/Counter 2 ValueOCR2 port 0x23 ; Timer/Counter 2 Output Compare ValueTCCR3A sfr 0x8b ; Timer/Counter 3 Control Register AWGM30 avrbit TCCR3A,0 ; Timer/Counter 3 Waveform Generation ModeWGM31 avrbit TCCR3A,1COM3C0 avrbit TCCR3A,2 ; Timer/Counter 3 Compare Mode CCOM3C1 avrbit TCCR3A,3COM3B0 avrbit TCCR3A,4 ; Timer/Counter 3 Compare Mode BCOM3B1 avrbit TCCR3A,5COM3A0 avrbit TCCR3A,6 ; Timer/Counter 3 Compare Mode ACOM3A1 avrbit TCCR3A,7TCCR3B sfr 0x8a ; Timer/Counter 3 Control Register BCS30 avrbit TCCR3B,0 ; Timer/Counter 3 Prescaler SettingCS31 avrbit TCCR3B,1CS32 avrbit TCCR3B,2WGM32 avrbit TCCR3B,3 ; Timer/Counter 3 Waveform Generation ModeWGM33 avrbit TCCR3B,4ICES3 avrbit TCCR3B,6 ; Timer/Counter 3 Capture Slope SelectionICNC3 avrbit TCCR3B,7 ; Timer/Counter 3 Capture Noise FilterTCCR3C sfr 0x8c ; Timer/Counter 3 Control Register CFOC3C avrbit TCCR3C,5 ; Timer/Counter 3 Force Output Compare Match CFOC3B avrbit TCCR3C,6 ; Timer/Counter 3 Force Output Compare Match BFOC3A avrbit TCCR3C,7 ; Timer/Counter 3 Force Output Compare Match ATCNT3L sfr 0x88 ; Timer/Counter 3 Value LSBTCNT3H sfr 0x89 ; Timer/Counter 3 Value MSBOCR3AL sfr 0x86 ; Timer/Counter 3 Output Compare Value A LSBOCR3AH sfr 0x87 ; Timer/Counter 3 Output Compare Value A MSBOCR3BL sfr 0x84 ; Timer/Counter 3 Output Compare Value B LSBOCR3BH sfr 0x85 ; Timer/Counter 3 Output Compare Value B MSBOCR3CL sfr 0x82 ; Timer/Counter 3 Output Compare Value C LSBOCR3CH sfr 0x83 ; Timer/Counter 3 Output Compare Value C MSBICR3L sfr 0x80 ; Timer/Counter 3 Input Capture Value LSBICR3H sfr 0x81 ; Timer/Counter 3 Input Capture Value MSBTIMSK port 0x37 ; Timer Interrupt Mask RegisterTOIE0 avrbit TIMSK,0 ; Timer/Counter 0 Overflow Interrupt EnableOCIE0 avrbit TIMSK,1 ; Timer/Counter 0 Output Compare 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 EnableETIMSK sfr 0x7d ; Extended Timer Interrupt Mask RegisterOCIE1C avrbit ETIMSK,0 ; Timer/Counter 1 Output Compare Interrupt Enable COCIE3C avrbit ETIMSK,1 ; Timer/Counter 3 Output Compare Interrupt Enable CTOIE3 avrbit ETIMSK,2 ; Timer/Counter 3 Overflow Interrupt EnableOCIE3B avrbit ETIMSK,3 ; Timer/Counter 3 Output Compare Interrupt Enable BOCIE3A avrbit ETIMSK,4 ; Timer/Counter 3 Output Compare Interrupt Enable ATICIE3 avrbit ETIMSK,5 ; Timer/Counter 3 Input Capture Interrupt EnableTIFR port 0x36 ; Timer Interrupt Flag RegisterETIFR sfr 0x7c ; Extended Timer Interrupt Flag RegisterASSR port 0x30 ; Asynchronous Status RegisterTCR0UB avrbit ASSR,0 ; Timer/Counter Control Register 0 Update BusyOCR0UB avrbit ASSR,1 ; Output Compare Register 0TCN0UB avrbit ASSR,2 ; Timer/Counter 0 Update BusyAS0 avrbit ASSR,3 ; Asynchronous Timer/Counter 0;----------------------------------------------------------------------------; Watchdog Timerinclude "wdm21.inc"WDCE avrbit WDTCR,4 ; Change Enable;----------------------------------------------------------------------------; U(S)ARTUDR0 port 0x0c ; UART0 I/O Data RegisterUCSR0A port 0x0b ; UART0 Control & Status Register AMPCM0 avrbit UCSR0A,0 ; UART0 Multi Processor Communication ModeU2X0 avrbit UCSR0A,1 ; UART0 Double Transmission SpeedUPE0 avrbit UCSR0A,2 ; UART0 Parity ErrorDOR0 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 8UCSZ02 avrbit UCSR0B,2 ; UART0 Character SizeTXEN0 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 InterruptUCSR0C sfr 0x95 ; UART0 Control & Status Register CUCPOL0 avrbit UCSR0C,0 ; UART0 Clock polarityUCSZ00 avrbit UCSR0C,1 ; UART0 Character SizeUCSZ01 avrbit UCSR0C,2USBS0 avrbit UCSR0C,3 ; UART0 Stop Bit SelectUPM00 avrbit UCSR0C,4 ; UART0 Parity Mode : Odd/EvenUPM01 avrbit UCSR0C,5 ; UART0 Parity Mode : Enable/DisableUMSEL0 avrbit UCSR0C,6 ; UART0 USART Mode SelectURSEL0 avrbit UCSR0C,7 ; UART0 Register Select (1 for UCSRC)UBRR0H sfr 0x90 ; UART0 Baud Rate Register MSB (overlayed with UCSRC)UBRR0L port 0x09 ; UART0 Baud Rate Register LSBUDR1 sfr 0x9c ; UART1 I/O Data RegisterUCSR1A sfr 0x9b ; UART1 Control & Status Register AMPCM1 avrbit UCSR1A,0 ; UART1 Multi Processor Communication ModeU2X1 avrbit UCSR1A,1 ; UART1 Double Transmission SpeedUPE1 avrbit UCSR1A,2 ; UART1 Parity ErrorDOR1 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 sfr 0x9a ; UART1 Control & Status Register BTXB81 avrbit UCSR1B,0 ; UART1 Transmit Bit 8RXB81 avrbit UCSR1B,1 ; UART1 Receive Bit 8UCSZ12 avrbit UCSR1B,2 ; UART1 Character SizeTXEN1 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 InterruptUCSR1C sfr 0x9d ; UART1 Control & Status Register CUCPOL1 avrbit UCSR1C,0 ; UART1 Clock PolarityUCSZ10 avrbit UCSR1C,1 ; UART1 Character SizeUCSZ11 avrbit UCSR1C,2USBS1 avrbit UCSR1C,3 ; UART1 Stop Bit SelectUPM10 avrbit UCSR1C,4 ; UART1 Parity Mode : Odd/EvenUPM11 avrbit UCSR1C,5 ; UART1 Parity Mode : Enable/DisableUMSEL1 avrbit UCSR1C,6 ; UART1 USART Mode SelectUBRR1H sfr 0x98 ; UART1 Baud Rate Register MSB (overlayed with UCSRC)UBRR1L sfr 0x99 ; UART1 Baud Rate Register LSB;----------------------------------------------------------------------------; SPIinclude "spim.inc";----------------------------------------------------------------------------; TWIinclude "twim70.inc";----------------------------------------------------------------------------; A/D Converterinclude "adcm16.inc"ADCSRB sfr 0x8e ; ADC Control/Status Register BADTS0 avrbit ADCSRB,0 ; Auto Trigger SourceADTS1 avrbit ADCSRB,1ADTS2 avrbit ADCSRB,2;----------------------------------------------------------------------------; Analog Comparatorinclude "acm.inc"restore ; re-enable listingendif ; __regm64inc