User Tools

Site Tools


projects:avrada:tool_samplem2560
with Interfaces; use Interfaces;
with System;
 
  -- architecture = AVR8
  -- AVR Studio 5 XML avr register definition generator 
  -- Maciej Kucia, Krakow 2012 
 
package AVR.ATmega2560 is
 
  --
  --  ANALOG_COMPARATOR
  --
 
  -- ADC Control and Status Register B
  ADCSRB : Unsigned_8;
  for ADCSRB'Address	 use System'To_Address (16#7B#);
 
   ADCSRB_ACME		: constant := 16#40#; -- Analog Comparator Multiplexer Enable
 
 
  --
  --  ADCSRB
  --
 
  -- Analog Comparator Control And Status Register
  ACSR : Unsigned_8;
  for ACSR'Address	 use System'To_Address (16#50#);
 
   ACSR_ACD		: constant := 16#80#; -- Analog Comparator Disable
   ACSR_ACBG		: constant := 16#40#; -- Analog Comparator Bandgap Select
   ACSR_ACO		: constant := 16#20#; -- Analog Compare Output
   ACSR_ACI		: constant := 16#10#; -- Analog Comparator Interrupt Flag
   ACSR_ACIE		: constant := 16#08#; -- Analog Comparator Interrupt Enable
   ACSR_ACIC		: constant := 16#04#; -- Analog Comparator Input Capture Enable
   ACSR_ACIS		: constant := 16#03#; -- Analog Comparator Interrupt Mode Select bits
 
 
  --
  --  ACSR
  --
 
  -- Digital Input Disable Register 1
  DIDR1 : Unsigned_8;
  for DIDR1'Address	 use System'To_Address (16#7F#);
 
   DIDR1_AIN1D		: constant := 16#02#; -- AIN1 Digital Input Disable
   DIDR1_AIN0D		: constant := 16#01#; -- AIN0 Digital Input Disable
 
 
  --
  --  USART0
  --
 
  -- USART I/O Data Register
  UDR0 : Unsigned_8;
  for UDR0'Address	 use System'To_Address (16#C6#);
 
 
 
  --
  --  UDR0
  --
 
  -- USART Control and Status Register A
  UCSR0A : Unsigned_8;
  for UCSR0A'Address	 use System'To_Address (16#C0#);
 
   UCSR0A_RXC0		: constant := 16#80#; -- USART Receive Complete
   UCSR0A_TXC0		: constant := 16#40#; -- USART Transmitt Complete
   UCSR0A_UDRE0		: constant := 16#20#; -- USART Data Register Empty
   UCSR0A_FE0		: constant := 16#10#; -- Framing Error
   UCSR0A_DOR0		: constant := 16#08#; -- Data overRun
   UCSR0A_UPE0		: constant := 16#04#; -- Parity Error
   UCSR0A_U2X0		: constant := 16#02#; -- Double the USART transmission speed
   UCSR0A_MPCM0		: constant := 16#01#; -- Multi-processor Communication Mode
 
 
  --
  --  UCSR0A
  --
 
  -- USART Control and Status Register B
  UCSR0B : Unsigned_8;
  for UCSR0B'Address	 use System'To_Address (16#C1#);
 
   UCSR0B_RXCIE0		: constant := 16#80#; -- RX Complete Interrupt Enable
   UCSR0B_TXCIE0		: constant := 16#40#; -- TX Complete Interrupt Enable
   UCSR0B_UDRIE0		: constant := 16#20#; -- USART Data register Empty Interrupt Enable
   UCSR0B_RXEN0		: constant := 16#10#; -- Receiver Enable
   UCSR0B_TXEN0		: constant := 16#08#; -- Transmitter Enable
   UCSR0B_UCSZ02		: constant := 16#04#; -- Character Size
   UCSR0B_RXB80		: constant := 16#02#; -- Receive Data Bit 8
   UCSR0B_TXB80		: constant := 16#01#; -- Transmit Data Bit 8
 
 
  --
  --  UCSR0B
  --
 
  -- USART Control and Status Register C
  UCSR0C : Unsigned_8;
  for UCSR0C'Address	 use System'To_Address (16#C2#);
 
   UCSR0C_UMSEL0		: constant := 16#C0#; -- USART Mode Select
   UCSR0C_UPM0		: constant := 16#30#; -- Parity Mode Bits
   UCSR0C_USBS0		: constant := 16#08#; -- Stop Bit Select
   UCSR0C_UCSZ0		: constant := 16#06#; -- Character Size
   UCSR0C_UCPOL0		: constant := 16#01#; -- Clock Polarity
 
 
  --
  --  UCSR0C
  --
 
  -- USART Baud Rate Register  Bytes
  UBRR0 : Unsigned_8;
  for UBRR0'Address	 use System'To_Address (16#C4#);
 
 
 
  --
  --  TWI
  --
 
  -- TWI (Slave) Address Mask Register
  TWAMR : Unsigned_8;
  for TWAMR'Address	 use System'To_Address (16#BD#);
 
   TWAMR_TWAM		: constant := 16#FE#; -- 
 
 
  --
  --  TWAMR
  --
 
  -- TWI Bit Rate register
  TWBR : Unsigned_8;
  for TWBR'Address	 use System'To_Address (16#B8#);
 
 
 
  --
  --  TWBR
  --
 
  -- TWI Control Register
  TWCR : Unsigned_8;
  for TWCR'Address	 use System'To_Address (16#BC#);
 
   TWCR_TWINT		: constant := 16#80#; -- TWI Interrupt Flag
   TWCR_TWEA		: constant := 16#40#; -- TWI Enable Acknowledge Bit
   TWCR_TWSTA		: constant := 16#20#; -- TWI Start Condition Bit
   TWCR_TWSTO		: constant := 16#10#; -- TWI Stop Condition Bit
   TWCR_TWWC		: constant := 16#08#; -- TWI Write Collition Flag
   TWCR_TWEN		: constant := 16#04#; -- TWI Enable Bit
   TWCR_TWIE		: constant := 16#01#; -- TWI Interrupt Enable
 
 
  --
  --  TWCR
  --
 
  -- TWI Status Register
  TWSR : Unsigned_8;
  for TWSR'Address	 use System'To_Address (16#B9#);
 
   TWSR_TWS		: constant := 16#F8#; -- TWI Status
   TWSR_TWPS		: constant := 16#03#; -- TWI Prescaler
 
 
  --
  --  TWSR
  --
 
  -- TWI Data register
  TWDR : Unsigned_8;
  for TWDR'Address	 use System'To_Address (16#BB#);
 
 
 
  --
  --  TWDR
  --
 
  -- TWI (Slave) Address register
  TWAR : Unsigned_8;
  for TWAR'Address	 use System'To_Address (16#BA#);
 
   TWAR_TWA		: constant := 16#FE#; -- TWI (Slave) Address register Bits
   TWAR_TWGCE		: constant := 16#01#; -- TWI General Call Recognition Enable Bit
 
 
  --
  --  SPI
  --
 
  -- SPI Control Register
  SPCR : Unsigned_8;
  for SPCR'Address	 use System'To_Address (16#4C#);
 
   SPCR_SPIE		: constant := 16#80#; -- SPI Interrupt Enable
   SPCR_SPE		: constant := 16#40#; -- SPI Enable
   SPCR_DORD		: constant := 16#20#; -- Data Order
   SPCR_MSTR		: constant := 16#10#; -- Master/Slave Select
   SPCR_CPOL		: constant := 16#08#; -- Clock polarity
   SPCR_CPHA		: constant := 16#04#; -- Clock Phase
   SPCR_SPR		: constant := 16#03#; -- SPI Clock Rate Selects
 
 
  --
  --  SPCR
  --
 
  -- SPI Status Register
  SPSR : Unsigned_8;
  for SPSR'Address	 use System'To_Address (16#4D#);
 
   SPSR_SPIF		: constant := 16#80#; -- SPI Interrupt Flag
   SPSR_WCOL		: constant := 16#40#; -- Write Collision Flag
   SPSR_SPI2X		: constant := 16#01#; -- Double SPI Speed Bit
 
 
  --
  --  SPSR
  --
 
  -- SPI Data Register
  SPDR : Unsigned_8;
  for SPDR'Address	 use System'To_Address (16#4E#);
 
 
 
  --
  --  PORTA
  --
 
  -- Port A Data Register
  PORTA : Unsigned_8;
  for PORTA'Address	 use System'To_Address (16#22#);
 
 
 
  --
  --  PORTA
  --
 
  -- Port A Data Direction Register
  DDRA : Unsigned_8;
  for DDRA'Address	 use System'To_Address (16#21#);
 
 
 
  --
  --  DDRA
  --
 
  -- Port A Input Pins
  PINA : Unsigned_8;
  for PINA'Address	 use System'To_Address (16#20#);
 
 
 
  --
  --  PORTB
  --
 
  -- Port B Data Register
  PORTB : Unsigned_8;
  for PORTB'Address	 use System'To_Address (16#25#);
 
 
 
  --
  --  PORTB
  --
 
  -- Port B Data Direction Register
  DDRB : Unsigned_8;
  for DDRB'Address	 use System'To_Address (16#24#);
 
 
 
  --
  --  DDRB
  --
 
  -- Port B Input Pins
  PINB : Unsigned_8;
  for PINB'Address	 use System'To_Address (16#23#);
 
 
 
  --
  --  PORTC
  --
 
  -- Port C Data Register
  PORTC : Unsigned_8;
  for PORTC'Address	 use System'To_Address (16#28#);
 
 
 
  --
  --  PORTC
  --
 
  -- Port C Data Direction Register
  DDRC : Unsigned_8;
  for DDRC'Address	 use System'To_Address (16#27#);
 
 
 
  --
  --  DDRC
  --
 
  -- Port C Input Pins
  PINC : Unsigned_8;
  for PINC'Address	 use System'To_Address (16#26#);
 
 
 
  --
  --  PORTD
  --
 
  -- Port D Data Register
  PORTD : Unsigned_8;
  for PORTD'Address	 use System'To_Address (16#2B#);
 
 
 
  --
  --  PORTD
  --
 
  -- Port D Data Direction Register
  DDRD : Unsigned_8;
  for DDRD'Address	 use System'To_Address (16#2A#);
 
 
 
  --
  --  DDRD
  --
 
  -- Port D Input Pins
  PIND : Unsigned_8;
  for PIND'Address	 use System'To_Address (16#29#);
 
 
 
  --
  --  PORTE
  --
 
  -- Data Register, Port E
  PORTE : Unsigned_8;
  for PORTE'Address	 use System'To_Address (16#2E#);
 
 
 
  --
  --  PORTE
  --
 
  -- Data Direction Register, Port E
  DDRE : Unsigned_8;
  for DDRE'Address	 use System'To_Address (16#2D#);
 
 
 
  --
  --  DDRE
  --
 
  -- Input Pins, Port E
  PINE : Unsigned_8;
  for PINE'Address	 use System'To_Address (16#2C#);
 
 
 
  --
  --  PORTF
  --
 
  -- Data Register, Port F
  PORTF : Unsigned_8;
  for PORTF'Address	 use System'To_Address (16#31#);
 
 
 
  --
  --  PORTF
  --
 
  -- Data Direction Register, Port F
  DDRF : Unsigned_8;
  for DDRF'Address	 use System'To_Address (16#30#);
 
 
 
  --
  --  DDRF
  --
 
  -- Input Pins, Port F
  PINF : Unsigned_8;
  for PINF'Address	 use System'To_Address (16#2F#);
 
 
 
  --
  --  PORTG
  --
 
  -- Data Register, Port G
  PORTG : Unsigned_8;
  for PORTG'Address	 use System'To_Address (16#34#);
 
 
 
  --
  --  PORTG
  --
 
  -- Data Direction Register, Port G
  DDRG : Unsigned_8;
  for DDRG'Address	 use System'To_Address (16#33#);
 
 
 
  --
  --  DDRG
  --
 
  -- Input Pins, Port G
  PING : Unsigned_8;
  for PING'Address	 use System'To_Address (16#32#);
 
 
 
  --
  --  PORTH
  --
 
  -- PORT H Data Register
  PORTH : Unsigned_8;
  for PORTH'Address	 use System'To_Address (16#02#);
 
 
 
  --
  --  PORTH
  --
 
  -- PORT H Data Direction Register
  DDRH : Unsigned_8;
  for DDRH'Address	 use System'To_Address (16#01#);
 
 
 
  --
  --  DDRH
  --
 
  -- PORT H Input Pins
  PINH : Unsigned_8;
  for PINH'Address	 use System'To_Address (16#00#);
 
 
 
  --
  --  PORTJ
  --
 
  -- PORT J Data Register
  PORTJ : Unsigned_8;
  for PORTJ'Address	 use System'To_Address (16#05#);
 
 
 
  --
  --  PORTJ
  --
 
  -- PORT J Data Direction Register
  DDRJ : Unsigned_8;
  for DDRJ'Address	 use System'To_Address (16#04#);
 
 
 
  --
  --  DDRJ
  --
 
  -- PORT J Input Pins
  PINJ : Unsigned_8;
  for PINJ'Address	 use System'To_Address (16#03#);
 
 
 
  --
  --  PORTK
  --
 
  -- PORT K Data Register
  PORTK : Unsigned_8;
  for PORTK'Address	 use System'To_Address (16#08#);
 
 
 
  --
  --  PORTK
  --
 
  -- PORT K Data Direction Register
  DDRK : Unsigned_8;
  for DDRK'Address	 use System'To_Address (16#07#);
 
 
 
  --
  --  DDRK
  --
 
  -- PORT K Input Pins
  PINK : Unsigned_8;
  for PINK'Address	 use System'To_Address (16#06#);
 
 
 
  --
  --  PORTL
  --
 
  -- PORT L Data Register
  PORTL : Unsigned_8;
  for PORTL'Address	 use System'To_Address (16#0B#);
 
 
 
  --
  --  PORTL
  --
 
  -- PORT L Data Direction Register
  DDRL : Unsigned_8;
  for DDRL'Address	 use System'To_Address (16#0A#);
 
 
 
  --
  --  DDRL
  --
 
  -- PORT L Input Pins
  PINL : Unsigned_8;
  for PINL'Address	 use System'To_Address (16#09#);
 
 
 
  --
  --  TIMER_COUNTER_0
  --
 
  -- Timer/Counter0 Output Compare Register
  OCR0B : Unsigned_8;
  for OCR0B'Address	 use System'To_Address (16#48#);
 
 
 
  --
  --  OCR0B
  --
 
  -- Timer/Counter0 Output Compare Register
  OCR0A : Unsigned_8;
  for OCR0A'Address	 use System'To_Address (16#47#);
 
 
 
  --
  --  OCR0A
  --
 
  -- Timer/Counter0
  TCNT0 : Unsigned_8;
  for TCNT0'Address	 use System'To_Address (16#46#);
 
 
 
  --
  --  TCNT0
  --
 
  -- Timer/Counter Control Register B
  TCCR0B : Unsigned_8;
  for TCCR0B'Address	 use System'To_Address (16#45#);
 
   TCCR0B_FOC0A		: constant := 16#80#; -- Force Output Compare A
   TCCR0B_FOC0B		: constant := 16#40#; -- Force Output Compare B
   TCCR0B_WGM02		: constant := 16#08#; -- 
   TCCR0B_CS0		: constant := 16#07#; -- Clock Select
 
 
  --
  --  TCCR0B
  --
 
  -- Timer/Counter  Control Register A
  TCCR0A : Unsigned_8;
  for TCCR0A'Address	 use System'To_Address (16#44#);
 
   TCCR0A_COM0A		: constant := 16#C0#; -- Compare Output Mode, Phase Correct PWM Mode
   TCCR0A_COM0B		: constant := 16#30#; -- Compare Output Mode, Fast PWm
   TCCR0A_WGM0		: constant := 16#03#; -- Waveform Generation Mode
 
 
  --
  --  TCCR0A
  --
 
  -- Timer/Counter0 Interrupt Mask Register
  TIMSK0 : Unsigned_8;
  for TIMSK0'Address	 use System'To_Address (16#6E#);
 
   TIMSK0_OCIE0B		: constant := 16#04#; -- Timer/Counter0 Output Compare Match B Interrupt Enable
   TIMSK0_OCIE0A		: constant := 16#02#; -- Timer/Counter0 Output Compare Match A Interrupt Enable
   TIMSK0_TOIE0		: constant := 16#01#; -- Timer/Counter0 Overflow Interrupt Enable
 
 
  --
  --  TIMSK0
  --
 
  -- Timer/Counter0 Interrupt Flag register
  TIFR0 : Unsigned_8;
  for TIFR0'Address	 use System'To_Address (16#35#);
 
   TIFR0_OCF0B		: constant := 16#04#; -- Timer/Counter0 Output Compare Flag 0B
   TIFR0_OCF0A		: constant := 16#02#; -- Timer/Counter0 Output Compare Flag 0A
   TIFR0_TOV0		: constant := 16#01#; -- Timer/Counter0 Overflow Flag
 
 
  --
  --  TIFR0
  --
 
  -- General Timer/Counter Control Register
  GTCCR : Unsigned_8;
  for GTCCR'Address	 use System'To_Address (16#43#);
 
   GTCCR_TSM		: constant := 16#80#; -- Timer/Counter Synchronization Mode
   GTCCR_PSRSYNC		: constant := 16#01#; -- Prescaler Reset Timer/Counter1 and Timer/Counter0
 
 
  --
  --  TIMER_COUNTER_2
  --
 
  -- Timer/Counter Interrupt Mask register
  TIMSK2 : Unsigned_8;
  for TIMSK2'Address	 use System'To_Address (16#70#);
 
   TIMSK2_OCIE2B		: constant := 16#04#; -- Timer/Counter2 Output Compare Match B Interrupt Enable
   TIMSK2_OCIE2A		: constant := 16#02#; -- Timer/Counter2 Output Compare Match A Interrupt Enable
   TIMSK2_TOIE2		: constant := 16#01#; -- Timer/Counter2 Overflow Interrupt Enable
 
 
  --
  --  TIMSK2
  --
 
  -- Timer/Counter Interrupt Flag Register
  TIFR2 : Unsigned_8;
  for TIFR2'Address	 use System'To_Address (16#37#);
 
   TIFR2_OCF2B		: constant := 16#04#; -- Output Compare Flag 2B
   TIFR2_OCF2A		: constant := 16#02#; -- Output Compare Flag 2A
   TIFR2_TOV2		: constant := 16#01#; -- Timer/Counter2 Overflow Flag
 
 
  --
  --  TIFR2
  --
 
  -- Timer/Counter2 Control Register A
  TCCR2A : Unsigned_8;
  for TCCR2A'Address	 use System'To_Address (16#B0#);
 
   TCCR2A_COM2A		: constant := 16#C0#; -- Compare Output Mode bits
   TCCR2A_COM2B		: constant := 16#30#; -- Compare Output Mode bits
   TCCR2A_WGM2		: constant := 16#03#; -- Waveform Genration Mode
 
 
  --
  --  TCCR2A
  --
 
  -- Timer/Counter2 Control Register B
  TCCR2B : Unsigned_8;
  for TCCR2B'Address	 use System'To_Address (16#B1#);
 
   TCCR2B_FOC2A		: constant := 16#80#; -- Force Output Compare A
   TCCR2B_FOC2B		: constant := 16#40#; -- Force Output Compare B
   TCCR2B_WGM22		: constant := 16#08#; -- Waveform Generation Mode
   TCCR2B_CS2		: constant := 16#07#; -- Clock Select bits
 
 
  --
  --  TCCR2B
  --
 
  -- Timer/Counter2
  TCNT2 : Unsigned_8;
  for TCNT2'Address	 use System'To_Address (16#B2#);
 
 
 
  --
  --  TCNT2
  --
 
  -- Timer/Counter2 Output Compare Register B
  OCR2B : Unsigned_8;
  for OCR2B'Address	 use System'To_Address (16#B4#);
 
 
 
  --
  --  OCR2B
  --
 
  -- Timer/Counter2 Output Compare Register A
  OCR2A : Unsigned_8;
  for OCR2A'Address	 use System'To_Address (16#B3#);
 
 
 
  --
  --  OCR2A
  --
 
  -- Asynchronous Status Register
  ASSR : Unsigned_8;
  for ASSR'Address	 use System'To_Address (16#B6#);
 
   ASSR_EXCLK		: constant := 16#40#; -- Enable External Clock Input
   ASSR_AS2		: constant := 16#20#; -- Asynchronous Timer/Counter2
   ASSR_TCN2UB		: constant := 16#10#; -- Timer/Counter2 Update Busy
   ASSR_OCR2AUB		: constant := 16#08#; -- Output Compare Register2 Update Busy
   ASSR_OCR2BUB		: constant := 16#04#; -- Output Compare Register 2 Update Busy
   ASSR_TCR2AUB		: constant := 16#02#; -- Timer/Counter Control Register2 Update Busy
   ASSR_TCR2BUB		: constant := 16#01#; -- Timer/Counter Control Register2 Update Busy
 
 
  --
  --  ASSR
  --
 
  -- General Timer Counter Control register
  GTCCR : Unsigned_8;
  for GTCCR'Address	 use System'To_Address (16#43#);
 
   GTCCR_TSM		: constant := 16#80#; -- Timer/Counter Synchronization Mode
   GTCCR_PSRASY		: constant := 16#02#; -- Prescaler Reset Timer/Counter2
 
 
  --
  --  WATCHDOG
  --
 
  -- Watchdog Timer Control Register
  WDTCSR : Unsigned_8;
  for WDTCSR'Address	 use System'To_Address (16#60#);
 
   WDTCSR_WDIF		: constant := 16#80#; -- Watchdog Timeout Interrupt Flag
   WDTCSR_WDIE		: constant := 16#40#; -- Watchdog Timeout Interrupt Enable
   WDTCSR_WDP		: constant := 16#27#; -- Watchdog Timer Prescaler Bits
   WDTCSR_WDCE		: constant := 16#10#; -- Watchdog Change Enable
   WDTCSR_WDE		: constant := 16#08#; -- Watch Dog Enable
 
 
  --
  --  USART1
  --
 
  -- USART I/O Data Register
  UDR1 : Unsigned_8;
  for UDR1'Address	 use System'To_Address (16#CE#);
 
 
 
  --
  --  UDR1
  --
 
  -- USART Control and Status Register A
  UCSR1A : Unsigned_8;
  for UCSR1A'Address	 use System'To_Address (16#C8#);
 
   UCSR1A_RXC1		: constant := 16#80#; -- USART Receive Complete
   UCSR1A_TXC1		: constant := 16#40#; -- USART Transmitt Complete
   UCSR1A_UDRE1		: constant := 16#20#; -- USART Data Register Empty
   UCSR1A_FE1		: constant := 16#10#; -- Framing Error
   UCSR1A_DOR1		: constant := 16#08#; -- Data overRun
   UCSR1A_UPE1		: constant := 16#04#; -- Parity Error
   UCSR1A_U2X1		: constant := 16#02#; -- Double the USART transmission speed
   UCSR1A_MPCM1		: constant := 16#01#; -- Multi-processor Communication Mode
 
 
  --
  --  UCSR1A
  --
 
  -- USART Control and Status Register B
  UCSR1B : Unsigned_8;
  for UCSR1B'Address	 use System'To_Address (16#C9#);
 
   UCSR1B_RXCIE1		: constant := 16#80#; -- RX Complete Interrupt Enable
   UCSR1B_TXCIE1		: constant := 16#40#; -- TX Complete Interrupt Enable
   UCSR1B_UDRIE1		: constant := 16#20#; -- USART Data register Empty Interrupt Enable
   UCSR1B_RXEN1		: constant := 16#10#; -- Receiver Enable
   UCSR1B_TXEN1		: constant := 16#08#; -- Transmitter Enable
   UCSR1B_UCSZ12		: constant := 16#04#; -- Character Size
   UCSR1B_RXB81		: constant := 16#02#; -- Receive Data Bit 8
   UCSR1B_TXB81		: constant := 16#01#; -- Transmit Data Bit 8
 
 
  --
  --  UCSR1B
  --
 
  -- USART Control and Status Register C
  UCSR1C : Unsigned_8;
  for UCSR1C'Address	 use System'To_Address (16#CA#);
 
   UCSR1C_UMSEL1		: constant := 16#C0#; -- USART Mode Select
   UCSR1C_UPM1		: constant := 16#30#; -- Parity Mode Bits
   UCSR1C_USBS1		: constant := 16#08#; -- Stop Bit Select
   UCSR1C_UCSZ1		: constant := 16#06#; -- Character Size
   UCSR1C_UCPOL1		: constant := 16#01#; -- Clock Polarity
 
 
  --
  --  UCSR1C
  --
 
  -- USART Baud Rate Register  Bytes
  UBRR1 : Unsigned_8;
  for UBRR1'Address	 use System'To_Address (16#CC#);
 
 
 
  --
  --  EEPROM
  --
 
  -- EEPROM Address Register Low Bytes
  EEAR : Unsigned_8;
  for EEAR'Address	 use System'To_Address (16#41#);
 
 
 
  --
  --  EEAR
  --
 
  -- EEPROM Data Register
  EEDR : Unsigned_8;
  for EEDR'Address	 use System'To_Address (16#40#);
 
 
 
  --
  --  EEDR
  --
 
  -- EEPROM Control Register
  EECR : Unsigned_8;
  for EECR'Address	 use System'To_Address (16#3F#);
 
   EECR_EEPM		: constant := 16#30#; -- EEPROM Programming Mode Bits
   EECR_EERIE		: constant := 16#08#; -- EEPROM Ready Interrupt Enable
   EECR_EEMPE		: constant := 16#04#; -- EEPROM Master Write Enable
   EECR_EEPE		: constant := 16#02#; -- EEPROM Write Enable
   EECR_EERE		: constant := 16#01#; -- EEPROM Read Enable
 
 
  --
  --  TIMER_COUNTER_5
  --
 
  -- Timer/Counter5 Control Register A
  TCCR5A : Unsigned_8;
  for TCCR5A'Address	 use System'To_Address (16#20#);
 
   TCCR5A_COM5A		: constant := 16#C0#; -- Compare Output Mode 1A, bits
   TCCR5A_COM5B		: constant := 16#30#; -- Compare Output Mode 5B, bits
   TCCR5A_COM5C		: constant := 16#0C#; -- Compare Output Mode 5C, bits
   TCCR5A_WGM5		: constant := 16#03#; -- Waveform Generation Mode
 
 
  --
  --  TCCR5A
  --
 
  -- Timer/Counter5 Control Register B
  TCCR5B : Unsigned_8;
  for TCCR5B'Address	 use System'To_Address (16#21#);
 
   TCCR5B_ICNC5		: constant := 16#80#; -- Input Capture 5 Noise Canceler
   TCCR5B_ICES5		: constant := 16#40#; -- Input Capture 5 Edge Select
   TCCR5B_WGM5		: constant := 16#18#; -- Waveform Generation Mode
   TCCR5B_CS5		: constant := 16#07#; -- Prescaler source of Timer/Counter 5
 
 
  --
  --  TCCR5B
  --
 
  -- Timer/Counter 5 Control Register C
  TCCR5C : Unsigned_8;
  for TCCR5C'Address	 use System'To_Address (16#22#);
 
   TCCR5C_FOC5A		: constant := 16#80#; -- Force Output Compare 5A
   TCCR5C_FOC5B		: constant := 16#40#; -- Force Output Compare 5B
   TCCR5C_FOC5C		: constant := 16#20#; -- Force Output Compare 5C
 
 
  --
  --  TCCR5C
  --
 
  -- Timer/Counter5  Bytes
  TCNT5 : Unsigned_8;
  for TCNT5'Address	 use System'To_Address (16#24#);
 
 
 
  --
  --  TCNT5
  --
 
  -- Timer/Counter5 Output Compare Register A  Bytes
  OCR5A : Unsigned_8;
  for OCR5A'Address	 use System'To_Address (16#28#);
 
 
 
  --
  --  OCR5A
  --
 
  -- Timer/Counter5 Output Compare Register B  Bytes
  OCR5B : Unsigned_8;
  for OCR5B'Address	 use System'To_Address (16#2A#);
 
 
 
  --
  --  OCR5B
  --
 
  -- Timer/Counter5 Output Compare Register B  Bytes
  OCR5C : Unsigned_8;
  for OCR5C'Address	 use System'To_Address (16#2C#);
 
 
 
  --
  --  OCR5C
  --
 
  -- Timer/Counter5 Input Capture Register  Bytes
  ICR5 : Unsigned_8;
  for ICR5'Address	 use System'To_Address (16#26#);
 
 
 
  --
  --  ICR5
  --
 
  -- Timer/Counter5 Interrupt Mask Register
  TIMSK5 : Unsigned_8;
  for TIMSK5'Address	 use System'To_Address (16#73#);
 
   TIMSK5_ICIE5		: constant := 16#20#; -- Timer/Counter5 Input Capture Interrupt Enable
   TIMSK5_OCIE5C		: constant := 16#08#; -- Timer/Counter5 Output Compare C Match Interrupt Enable
   TIMSK5_OCIE5B		: constant := 16#04#; -- Timer/Counter5 Output Compare B Match Interrupt Enable
   TIMSK5_OCIE5A		: constant := 16#02#; -- Timer/Counter5 Output Compare A Match Interrupt Enable
   TIMSK5_TOIE5		: constant := 16#01#; -- Timer/Counter5 Overflow Interrupt Enable
 
 
  --
  --  TIMSK5
  --
 
  -- Timer/Counter5 Interrupt Flag register
  TIFR5 : Unsigned_8;
  for TIFR5'Address	 use System'To_Address (16#3A#);
 
   TIFR5_ICF5		: constant := 16#20#; -- Input Capture Flag 5
   TIFR5_OCF5C		: constant := 16#08#; -- Output Compare Flag 5C
   TIFR5_OCF5B		: constant := 16#04#; -- Output Compare Flag 5B
   TIFR5_OCF5A		: constant := 16#02#; -- Output Compare Flag 5A
   TIFR5_TOV5		: constant := 16#01#; -- Timer/Counter5 Overflow Flag
 
 
  --
  --  TIMER_COUNTER_4
  --
 
  -- Timer/Counter4 Control Register A
  TCCR4A : Unsigned_8;
  for TCCR4A'Address	 use System'To_Address (16#A0#);
 
   TCCR4A_COM4A		: constant := 16#C0#; -- Compare Output Mode 1A, bits
   TCCR4A_COM4B		: constant := 16#30#; -- Compare Output Mode 4B, bits
   TCCR4A_COM4C		: constant := 16#0C#; -- Compare Output Mode 4C, bits
   TCCR4A_WGM4		: constant := 16#03#; -- Waveform Generation Mode
 
 
  --
  --  TCCR4A
  --
 
  -- Timer/Counter4 Control Register B
  TCCR4B : Unsigned_8;
  for TCCR4B'Address	 use System'To_Address (16#A1#);
 
   TCCR4B_ICNC4		: constant := 16#80#; -- Input Capture 4 Noise Canceler
   TCCR4B_ICES4		: constant := 16#40#; -- Input Capture 4 Edge Select
   TCCR4B_WGM4		: constant := 16#18#; -- Waveform Generation Mode
   TCCR4B_CS4		: constant := 16#07#; -- Prescaler source of Timer/Counter 4
 
 
  --
  --  TCCR4B
  --
 
  -- Timer/Counter 4 Control Register C
  TCCR4C : Unsigned_8;
  for TCCR4C'Address	 use System'To_Address (16#A2#);
 
   TCCR4C_FOC4A		: constant := 16#80#; -- Force Output Compare 4A
   TCCR4C_FOC4B		: constant := 16#40#; -- Force Output Compare 4B
   TCCR4C_FOC4C		: constant := 16#20#; -- Force Output Compare 4C
 
 
  --
  --  TCCR4C
  --
 
  -- Timer/Counter4  Bytes
  TCNT4 : Unsigned_8;
  for TCNT4'Address	 use System'To_Address (16#A4#);
 
 
 
  --
  --  TCNT4
  --
 
  -- Timer/Counter4 Output Compare Register A  Bytes
  OCR4A : Unsigned_8;
  for OCR4A'Address	 use System'To_Address (16#A8#);
 
 
 
  --
  --  OCR4A
  --
 
  -- Timer/Counter4 Output Compare Register B  Bytes
  OCR4B : Unsigned_8;
  for OCR4B'Address	 use System'To_Address (16#AA#);
 
 
 
  --
  --  OCR4B
  --
 
  -- Timer/Counter4 Output Compare Register B  Bytes
  OCR4C : Unsigned_8;
  for OCR4C'Address	 use System'To_Address (16#AC#);
 
 
 
  --
  --  OCR4C
  --
 
  -- Timer/Counter4 Input Capture Register  Bytes
  ICR4 : Unsigned_8;
  for ICR4'Address	 use System'To_Address (16#A6#);
 
 
 
  --
  --  ICR4
  --
 
  -- Timer/Counter4 Interrupt Mask Register
  TIMSK4 : Unsigned_8;
  for TIMSK4'Address	 use System'To_Address (16#72#);
 
   TIMSK4_ICIE4		: constant := 16#20#; -- Timer/Counter4 Input Capture Interrupt Enable
   TIMSK4_OCIE4C		: constant := 16#08#; -- Timer/Counter4 Output Compare C Match Interrupt Enable
   TIMSK4_OCIE4B		: constant := 16#04#; -- Timer/Counter4 Output Compare B Match Interrupt Enable
   TIMSK4_OCIE4A		: constant := 16#02#; -- Timer/Counter4 Output Compare A Match Interrupt Enable
   TIMSK4_TOIE4		: constant := 16#01#; -- Timer/Counter4 Overflow Interrupt Enable
 
 
  --
  --  TIMSK4
  --
 
  -- Timer/Counter4 Interrupt Flag register
  TIFR4 : Unsigned_8;
  for TIFR4'Address	 use System'To_Address (16#39#);
 
   TIFR4_ICF4		: constant := 16#20#; -- Input Capture Flag 4
   TIFR4_OCF4C		: constant := 16#08#; -- Output Compare Flag 4C
   TIFR4_OCF4B		: constant := 16#04#; -- Output Compare Flag 4B
   TIFR4_OCF4A		: constant := 16#02#; -- Output Compare Flag 4A
   TIFR4_TOV4		: constant := 16#01#; -- Timer/Counter4 Overflow Flag
 
 
  --
  --  TIMER_COUNTER_3
  --
 
  -- Timer/Counter3 Control Register A
  TCCR3A : Unsigned_8;
  for TCCR3A'Address	 use System'To_Address (16#90#);
 
   TCCR3A_COM3A		: constant := 16#C0#; -- Compare Output Mode 1A, bits
   TCCR3A_COM3B		: constant := 16#30#; -- Compare Output Mode 3B, bits
   TCCR3A_COM3C		: constant := 16#0C#; -- Compare Output Mode 3C, bits
   TCCR3A_WGM3		: constant := 16#03#; -- Waveform Generation Mode
 
 
  --
  --  TCCR3A
  --
 
  -- Timer/Counter3 Control Register B
  TCCR3B : Unsigned_8;
  for TCCR3B'Address	 use System'To_Address (16#91#);
 
   TCCR3B_ICNC3		: constant := 16#80#; -- Input Capture 3 Noise Canceler
   TCCR3B_ICES3		: constant := 16#40#; -- Input Capture 3 Edge Select
   TCCR3B_WGM3		: constant := 16#18#; -- Waveform Generation Mode
   TCCR3B_CS3		: constant := 16#07#; -- Prescaler source of Timer/Counter 3
 
 
  --
  --  TCCR3B
  --
 
  -- Timer/Counter 3 Control Register C
  TCCR3C : Unsigned_8;
  for TCCR3C'Address	 use System'To_Address (16#92#);
 
   TCCR3C_FOC3A		: constant := 16#80#; -- Force Output Compare 3A
   TCCR3C_FOC3B		: constant := 16#40#; -- Force Output Compare 3B
   TCCR3C_FOC3C		: constant := 16#20#; -- Force Output Compare 3C
 
 
  --
  --  TCCR3C
  --
 
  -- Timer/Counter3  Bytes
  TCNT3 : Unsigned_8;
  for TCNT3'Address	 use System'To_Address (16#94#);
 
 
 
  --
  --  TCNT3
  --
 
  -- Timer/Counter3 Output Compare Register A  Bytes
  OCR3A : Unsigned_8;
  for OCR3A'Address	 use System'To_Address (16#98#);
 
 
 
  --
  --  OCR3A
  --
 
  -- Timer/Counter3 Output Compare Register B  Bytes
  OCR3B : Unsigned_8;
  for OCR3B'Address	 use System'To_Address (16#9A#);
 
 
 
  --
  --  OCR3B
  --
 
  -- Timer/Counter3 Output Compare Register B  Bytes
  OCR3C : Unsigned_8;
  for OCR3C'Address	 use System'To_Address (16#9C#);
 
 
 
  --
  --  OCR3C
  --
 
  -- Timer/Counter3 Input Capture Register  Bytes
  ICR3 : Unsigned_8;
  for ICR3'Address	 use System'To_Address (16#96#);
 
 
 
  --
  --  ICR3
  --
 
  -- Timer/Counter3 Interrupt Mask Register
  TIMSK3 : Unsigned_8;
  for TIMSK3'Address	 use System'To_Address (16#71#);
 
   TIMSK3_ICIE3		: constant := 16#20#; -- Timer/Counter3 Input Capture Interrupt Enable
   TIMSK3_OCIE3C		: constant := 16#08#; -- Timer/Counter3 Output Compare C Match Interrupt Enable
   TIMSK3_OCIE3B		: constant := 16#04#; -- Timer/Counter3 Output Compare B Match Interrupt Enable
   TIMSK3_OCIE3A		: constant := 16#02#; -- Timer/Counter3 Output Compare A Match Interrupt Enable
   TIMSK3_TOIE3		: constant := 16#01#; -- Timer/Counter3 Overflow Interrupt Enable
 
 
  --
  --  TIMSK3
  --
 
  -- Timer/Counter3 Interrupt Flag register
  TIFR3 : Unsigned_8;
  for TIFR3'Address	 use System'To_Address (16#38#);
 
   TIFR3_ICF3		: constant := 16#20#; -- Input Capture Flag 3
   TIFR3_OCF3C		: constant := 16#08#; -- Output Compare Flag 3C
   TIFR3_OCF3B		: constant := 16#04#; -- Output Compare Flag 3B
   TIFR3_OCF3A		: constant := 16#02#; -- Output Compare Flag 3A
   TIFR3_TOV3		: constant := 16#01#; -- Timer/Counter3 Overflow Flag
 
 
  --
  --  TIMER_COUNTER_1
  --
 
  -- Timer/Counter1 Control Register A
  TCCR1A : Unsigned_8;
  for TCCR1A'Address	 use System'To_Address (16#80#);
 
   TCCR1A_COM1A		: constant := 16#C0#; -- Compare Output Mode 1A, bits
   TCCR1A_COM1B		: constant := 16#30#; -- Compare Output Mode 1B, bits
   TCCR1A_COM1C		: constant := 16#0C#; -- Compare Output Mode 1C, bits
   TCCR1A_WGM1		: constant := 16#03#; -- Waveform Generation Mode
 
 
  --
  --  TCCR1A
  --
 
  -- Timer/Counter1 Control Register B
  TCCR1B : Unsigned_8;
  for TCCR1B'Address	 use System'To_Address (16#81#);
 
   TCCR1B_ICNC1		: constant := 16#80#; -- Input Capture 1 Noise Canceler
   TCCR1B_ICES1		: constant := 16#40#; -- Input Capture 1 Edge Select
   TCCR1B_WGM1		: constant := 16#18#; -- Waveform Generation Mode
   TCCR1B_CS1		: constant := 16#07#; -- Prescaler source of Timer/Counter 1
 
 
  --
  --  TCCR1B
  --
 
  -- Timer/Counter 1 Control Register C
  TCCR1C : Unsigned_8;
  for TCCR1C'Address	 use System'To_Address (16#82#);
 
   TCCR1C_FOC1A		: constant := 16#80#; -- Force Output Compare 1A
   TCCR1C_FOC1B		: constant := 16#40#; -- Force Output Compare 1B
   TCCR1C_FOC1C		: constant := 16#20#; -- Force Output Compare 1C
 
 
  --
  --  TCCR1C
  --
 
  -- Timer/Counter1  Bytes
  TCNT1 : Unsigned_8;
  for TCNT1'Address	 use System'To_Address (16#84#);
 
 
 
  --
  --  TCNT1
  --
 
  -- Timer/Counter1 Output Compare Register A  Bytes
  OCR1A : Unsigned_8;
  for OCR1A'Address	 use System'To_Address (16#88#);
 
 
 
  --
  --  OCR1A
  --
 
  -- Timer/Counter1 Output Compare Register B  Bytes
  OCR1B : Unsigned_8;
  for OCR1B'Address	 use System'To_Address (16#8A#);
 
 
 
  --
  --  OCR1B
  --
 
  -- Timer/Counter1 Output Compare Register C  Bytes
  OCR1C : Unsigned_8;
  for OCR1C'Address	 use System'To_Address (16#8C#);
 
 
 
  --
  --  OCR1C
  --
 
  -- Timer/Counter1 Input Capture Register  Bytes
  ICR1 : Unsigned_8;
  for ICR1'Address	 use System'To_Address (16#86#);
 
 
 
  --
  --  ICR1
  --
 
  -- Timer/Counter1 Interrupt Mask Register
  TIMSK1 : Unsigned_8;
  for TIMSK1'Address	 use System'To_Address (16#6F#);
 
   TIMSK1_ICIE1		: constant := 16#20#; -- Timer/Counter1 Input Capture Interrupt Enable
   TIMSK1_OCIE1C		: constant := 16#08#; -- Timer/Counter1 Output Compare C Match Interrupt Enable
   TIMSK1_OCIE1B		: constant := 16#04#; -- Timer/Counter1 Output Compare B Match Interrupt Enable
   TIMSK1_OCIE1A		: constant := 16#02#; -- Timer/Counter1 Output Compare A Match Interrupt Enable
   TIMSK1_TOIE1		: constant := 16#01#; -- Timer/Counter1 Overflow Interrupt Enable
 
 
  --
  --  TIMSK1
  --
 
  -- Timer/Counter1 Interrupt Flag register
  TIFR1 : Unsigned_8;
  for TIFR1'Address	 use System'To_Address (16#36#);
 
   TIFR1_ICF1		: constant := 16#20#; -- Input Capture Flag 1
   TIFR1_OCF1C		: constant := 16#08#; -- Output Compare Flag 1C
   TIFR1_OCF1B		: constant := 16#04#; -- Output Compare Flag 1B
   TIFR1_OCF1A		: constant := 16#02#; -- Output Compare Flag 1A
   TIFR1_TOV1		: constant := 16#01#; -- Timer/Counter1 Overflow Flag
 
 
  --
  --  JTAG
  --
 
  -- On-Chip Debug Related Register in I/O Memory
  OCDR : Unsigned_8;
  for OCDR'Address	 use System'To_Address (16#51#);
 
 
 
  --
  --  OCDR
  --
 
  -- MCU Control Register
  MCUCR : Unsigned_8;
  for MCUCR'Address	 use System'To_Address (16#55#);
 
   MCUCR_JTD		: constant := 16#80#; -- JTAG Interface Disable
 
 
  --
  --  MCUCR
  --
 
  -- MCU Status Register
  MCUSR : Unsigned_8;
  for MCUSR'Address	 use System'To_Address (16#54#);
 
   MCUSR_JTRF		: constant := 16#10#; -- JTAG Reset Flag
 
 
  --
  --  EXTERNAL_INTERRUPT
  --
 
  -- External Interrupt Control Register A
  EICRA : Unsigned_8;
  for EICRA'Address	 use System'To_Address (16#69#);
 
   EICRA_ISC3		: constant := 16#C0#; -- External Interrupt Sense Control Bit
   EICRA_ISC2		: constant := 16#30#; -- External Interrupt Sense Control Bit
   EICRA_ISC1		: constant := 16#0C#; -- External Interrupt Sense Control Bit
   EICRA_ISC0		: constant := 16#03#; -- External Interrupt Sense Control Bit
 
 
  --
  --  EICRA
  --
 
  -- External Interrupt Control Register B
  EICRB : Unsigned_8;
  for EICRB'Address	 use System'To_Address (16#6A#);
 
   EICRB_ISC7		: constant := 16#C0#; -- External Interrupt 7-4 Sense Control Bit
   EICRB_ISC6		: constant := 16#30#; -- External Interrupt 7-4 Sense Control Bit
   EICRB_ISC5		: constant := 16#0C#; -- External Interrupt 7-4 Sense Control Bit
   EICRB_ISC4		: constant := 16#03#; -- External Interrupt 7-4 Sense Control Bit
 
 
  --
  --  EICRB
  --
 
  -- External Interrupt Mask Register
  EIMSK : Unsigned_8;
  for EIMSK'Address	 use System'To_Address (16#3D#);
 
   EIMSK_INT		: constant := 16#FF#; -- External Interrupt Request 7 Enable
 
 
  --
  --  EIMSK
  --
 
  -- External Interrupt Flag Register
  EIFR : Unsigned_8;
  for EIFR'Address	 use System'To_Address (16#3C#);
 
   EIFR_INTF		: constant := 16#FF#; -- External Interrupt Flags
 
 
  --
  --  EIFR
  --
 
  -- Pin Change Mask Register 2
  PCMSK2 : Unsigned_8;
  for PCMSK2'Address	 use System'To_Address (16#6D#);
 
 
 
  --
  --  PCMSK2
  --
 
  -- Pin Change Mask Register 1
  PCMSK1 : Unsigned_8;
  for PCMSK1'Address	 use System'To_Address (16#6C#);
 
 
 
  --
  --  PCMSK1
  --
 
  -- Pin Change Mask Register 0
  PCMSK0 : Unsigned_8;
  for PCMSK0'Address	 use System'To_Address (16#6B#);
 
 
 
  --
  --  PCMSK0
  --
 
  -- Pin Change Interrupt Flag Register
  PCIFR : Unsigned_8;
  for PCIFR'Address	 use System'To_Address (16#3B#);
 
   PCIFR_PCIF		: constant := 16#07#; -- Pin Change Interrupt Flags
 
 
  --
  --  PCIFR
  --
 
  -- Pin Change Interrupt Control Register
  PCICR : Unsigned_8;
  for PCICR'Address	 use System'To_Address (16#68#);
 
   PCICR_PCIE		: constant := 16#07#; -- Pin Change Interrupt Enables
 
 
  --
  --  CPU
  --
 
  -- Status Register
  SREG : Unsigned_8;
  for SREG'Address	 use System'To_Address (16#5F#);
 
   SREG_I		: constant := 16#80#; -- Global Interrupt Enable
   SREG_T		: constant := 16#40#; -- Bit Copy Storage
   SREG_H		: constant := 16#20#; -- Half Carry Flag
   SREG_S		: constant := 16#10#; -- Sign Bit
   SREG_V		: constant := 16#08#; -- Two's Complement Overflow Flag
   SREG_N		: constant := 16#04#; -- Negative Flag
   SREG_Z		: constant := 16#02#; -- Zero Flag
   SREG_C		: constant := 16#01#; -- Carry Flag
 
 
  --
  --  SREG
  --
 
  -- Stack Pointer 
  SP : Unsigned_8;
  for SP'Address	 use System'To_Address (16#5D#);
 
 
 
  --
  --  SP
  --
 
  -- MCU Control Register
  MCUCR : Unsigned_8;
  for MCUCR'Address	 use System'To_Address (16#55#);
 
   MCUCR_JTD		: constant := 16#80#; -- JTAG Interface Disable
   MCUCR_PUD		: constant := 16#10#; -- Pull-up disable
   MCUCR_IVSEL		: constant := 16#02#; -- Interrupt Vector Select
   MCUCR_IVCE		: constant := 16#01#; -- Interrupt Vector Change Enable
 
 
  --
  --  MCUCR
  --
 
  -- MCU Status Register
  MCUSR : Unsigned_8;
  for MCUSR'Address	 use System'To_Address (16#54#);
 
   MCUSR_JTRF		: constant := 16#10#; -- JTAG Reset Flag
   MCUSR_WDRF		: constant := 16#08#; -- Watchdog Reset Flag
   MCUSR_BORF		: constant := 16#04#; -- Brown-out Reset Flag
   MCUSR_EXTRF		: constant := 16#02#; -- External Reset Flag
   MCUSR_PORF		: constant := 16#01#; -- Power-on reset flag
 
 
  --
  --  MCUSR
  --
 
  -- External Memory Control Register A
  XMCRA : Unsigned_8;
  for XMCRA'Address	 use System'To_Address (16#74#);
 
   XMCRA_SRE		: constant := 16#80#; -- External SRAM Enable
   XMCRA_SRL		: constant := 16#70#; -- Wait state page limit
   XMCRA_SRW1		: constant := 16#0C#; -- Wait state select bit upper page
   XMCRA_SRW0		: constant := 16#03#; -- Wait state select bit lower page
 
 
  --
  --  XMCRA
  --
 
  -- External Memory Control Register B
  XMCRB : Unsigned_8;
  for XMCRB'Address	 use System'To_Address (16#75#);
 
   XMCRB_XMBK		: constant := 16#80#; -- External Memory Bus Keeper Enable
   XMCRB_XMM		: constant := 16#07#; -- External Memory High Mask
 
 
  --
  --  XMCRB
  --
 
  -- Oscillator Calibration Value
  OSCCAL : Unsigned_8;
  for OSCCAL'Address	 use System'To_Address (16#66#);
 
 
 
  --
  --  OSCCAL
  --
 
  -- Sleep Mode Control Register
  SMCR : Unsigned_8;
  for SMCR'Address	 use System'To_Address (16#53#);
 
   SMCR_SM		: constant := 16#0E#; -- Sleep Mode Select bits
   SMCR_SE		: constant := 16#01#; -- Sleep Enable
 
 
  --
  --  SMCR
  --
 
  -- Extended Indirect Register
  EIND : Unsigned_8;
  for EIND'Address	 use System'To_Address (16#5C#);
 
 
 
  --
  --  EIND
  --
 
  -- RAM Page Z Select Register
  RAMPZ : Unsigned_8;
  for RAMPZ'Address	 use System'To_Address (16#5B#);
 
 
 
  --
  --  RAMPZ
  --
 
  -- General Purpose IO Register 2
  GPIOR2 : Unsigned_8;
  for GPIOR2'Address	 use System'To_Address (16#4B#);
 
   GPIOR2_GPIOR		: constant := 16#FF#; -- General Purpose IO Register 2 bis
 
 
  --
  --  GPIOR2
  --
 
  -- General Purpose IO Register 1
  GPIOR1 : Unsigned_8;
  for GPIOR1'Address	 use System'To_Address (16#4A#);
 
   GPIOR1_GPIOR		: constant := 16#FF#; -- General Purpose IO Register 1 bis
 
 
  --
  --  GPIOR1
  --
 
  -- General Purpose IO Register 0
  GPIOR0 : Unsigned_8;
  for GPIOR0'Address	 use System'To_Address (16#3E#);
 
   GPIOR0_GPIOR07		: constant := 16#80#; -- General Purpose IO Register 0 bit 7
   GPIOR0_GPIOR06		: constant := 16#40#; -- General Purpose IO Register 0 bit 6
   GPIOR0_GPIOR05		: constant := 16#20#; -- General Purpose IO Register 0 bit 5
   GPIOR0_GPIOR04		: constant := 16#10#; -- General Purpose IO Register 0 bit 4
   GPIOR0_GPIOR03		: constant := 16#08#; -- General Purpose IO Register 0 bit 3
   GPIOR0_GPIOR02		: constant := 16#04#; -- General Purpose IO Register 0 bit 2
   GPIOR0_GPIOR01		: constant := 16#02#; -- General Purpose IO Register 0 bit 1
   GPIOR0_GPIOR00		: constant := 16#01#; -- General Purpose IO Register 0 bit 0
 
 
  --
  --  GPIOR0
  --
 
  -- Power Reduction Register1
  PRR1 : Unsigned_8;
  for PRR1'Address	 use System'To_Address (16#65#);
 
   PRR1_PRTIM5		: constant := 16#20#; -- Power Reduction Timer/Counter5
   PRR1_PRTIM4		: constant := 16#10#; -- Power Reduction Timer/Counter4
   PRR1_PRTIM3		: constant := 16#08#; -- Power Reduction Timer/Counter3
   PRR1_PRUSART		: constant := 16#07#; -- Power Reduction USART3
 
 
  --
  --  PRR1
  --
 
  -- Power Reduction Register0
  PRR0 : Unsigned_8;
  for PRR0'Address	 use System'To_Address (16#64#);
 
   PRR0_PRTWI		: constant := 16#80#; -- Power Reduction TWI
   PRR0_PRTIM2		: constant := 16#40#; -- Power Reduction Timer/Counter2
   PRR0_PRTIM0		: constant := 16#20#; -- Power Reduction Timer/Counter0
   PRR0_PRTIM1		: constant := 16#08#; -- Power Reduction Timer/Counter1
   PRR0_PRSPI		: constant := 16#04#; -- Power Reduction Serial Peripheral Interface
   PRR0_PRUSART0		: constant := 16#02#; -- Power Reduction USART
   PRR0_PRADC		: constant := 16#01#; -- Power Reduction ADC
 
 
  --
  --  AD_CONVERTER
  --
 
  -- The ADC multiplexer Selection Register
  ADMUX : Unsigned_8;
  for ADMUX'Address	 use System'To_Address (16#7C#);
 
   ADMUX_REFS		: constant := 16#C0#; -- Reference Selection Bits
   ADMUX_ADLAR		: constant := 16#20#; -- Left Adjust Result
   ADMUX_MUX		: constant := 16#1F#; -- Analog Channel and Gain Selection Bits
 
 
  --
  --  ADMUX
  --
 
  -- ADC Data Register  Bytes
  ADC : Unsigned_8;
  for ADC'Address	 use System'To_Address (16#78#);
 
 
 
  --
  --  ADC
  --
 
  -- The ADC Control and Status register A
  ADCSRA : Unsigned_8;
  for ADCSRA'Address	 use System'To_Address (16#7A#);
 
   ADCSRA_ADEN		: constant := 16#80#; -- ADC Enable
   ADCSRA_ADSC		: constant := 16#40#; -- ADC Start Conversion
   ADCSRA_ADATE		: constant := 16#20#; -- ADC  Auto Trigger Enable
   ADCSRA_ADIF		: constant := 16#10#; -- ADC Interrupt Flag
   ADCSRA_ADIE		: constant := 16#08#; -- ADC Interrupt Enable
   ADCSRA_ADPS		: constant := 16#07#; -- ADC  Prescaler Select Bits
 
 
  --
  --  ADCSRA
  --
 
  -- The ADC Control and Status register B
  ADCSRB : Unsigned_8;
  for ADCSRB'Address	 use System'To_Address (16#7B#);
 
   ADCSRB_ACME		: constant := 16#40#; -- 
   ADCSRB_MUX5		: constant := 16#08#; -- Analog Channel and Gain Selection Bits
   ADCSRB_ADTS		: constant := 16#07#; -- ADC Auto Trigger Source bits
 
 
  --
  --  ADCSRB
  --
 
  -- Digital Input Disable Register
  DIDR2 : Unsigned_8;
  for DIDR2'Address	 use System'To_Address (16#7D#);
 
   DIDR2_ADC15D		: constant := 16#80#; -- 
   DIDR2_ADC14D		: constant := 16#40#; -- 
   DIDR2_ADC13D		: constant := 16#20#; -- 
   DIDR2_ADC12D		: constant := 16#10#; -- 
   DIDR2_ADC11D		: constant := 16#08#; -- 
   DIDR2_ADC10D		: constant := 16#04#; -- 
   DIDR2_ADC9D		: constant := 16#02#; -- 
   DIDR2_ADC8D		: constant := 16#01#; -- 
 
 
  --
  --  DIDR2
  --
 
  -- Digital Input Disable Register
  DIDR0 : Unsigned_8;
  for DIDR0'Address	 use System'To_Address (16#7E#);
 
   DIDR0_ADC7D		: constant := 16#80#; -- 
   DIDR0_ADC6D		: constant := 16#40#; -- 
   DIDR0_ADC5D		: constant := 16#20#; -- 
   DIDR0_ADC4D		: constant := 16#10#; -- 
   DIDR0_ADC3D		: constant := 16#08#; -- 
   DIDR0_ADC2D		: constant := 16#04#; -- 
   DIDR0_ADC1D		: constant := 16#02#; -- 
   DIDR0_ADC0D		: constant := 16#01#; -- 
 
 
  --
  --  BOOT_LOAD
  --
 
  -- Store Program Memory Control Register
  SPMCSR : Unsigned_8;
  for SPMCSR'Address	 use System'To_Address (16#57#);
 
   SPMCSR_SPMIE		: constant := 16#80#; -- SPM Interrupt Enable
   SPMCSR_RWWSB		: constant := 16#40#; -- Read While Write Section Busy
   SPMCSR_SIGRD		: constant := 16#20#; -- Signature Row Read
   SPMCSR_RWWSRE		: constant := 16#10#; -- Read While Write section read enable
   SPMCSR_BLBSET		: constant := 16#08#; -- Boot Lock Bit Set
   SPMCSR_PGWRT		: constant := 16#04#; -- Page Write
   SPMCSR_PGERS		: constant := 16#02#; -- Page Erase
   SPMCSR_SPMEN		: constant := 16#01#; -- Store Program Memory Enable
 
 
  --
  --  USART2
  --
 
  -- USART I/O Data Register
  UDR2 : Unsigned_8;
  for UDR2'Address	 use System'To_Address (16#D6#);
 
 
 
  --
  --  UDR2
  --
 
  -- USART Control and Status Register A
  UCSR2A : Unsigned_8;
  for UCSR2A'Address	 use System'To_Address (16#D0#);
 
   UCSR2A_RXC2		: constant := 16#80#; -- USART Receive Complete
   UCSR2A_TXC2		: constant := 16#40#; -- USART Transmitt Complete
   UCSR2A_UDRE2		: constant := 16#20#; -- USART Data Register Empty
   UCSR2A_FE2		: constant := 16#10#; -- Framing Error
   UCSR2A_DOR2		: constant := 16#08#; -- Data overRun
   UCSR2A_UPE2		: constant := 16#04#; -- Parity Error
   UCSR2A_U2X2		: constant := 16#02#; -- Double the USART transmission speed
   UCSR2A_MPCM2		: constant := 16#01#; -- Multi-processor Communication Mode
 
 
  --
  --  UCSR2A
  --
 
  -- USART Control and Status Register B
  UCSR2B : Unsigned_8;
  for UCSR2B'Address	 use System'To_Address (16#D1#);
 
   UCSR2B_RXCIE2		: constant := 16#80#; -- RX Complete Interrupt Enable
   UCSR2B_TXCIE2		: constant := 16#40#; -- TX Complete Interrupt Enable
   UCSR2B_UDRIE2		: constant := 16#20#; -- USART Data register Empty Interrupt Enable
   UCSR2B_RXEN2		: constant := 16#10#; -- Receiver Enable
   UCSR2B_TXEN2		: constant := 16#08#; -- Transmitter Enable
   UCSR2B_UCSZ22		: constant := 16#04#; -- Character Size
   UCSR2B_RXB82		: constant := 16#02#; -- Receive Data Bit 8
   UCSR2B_TXB82		: constant := 16#01#; -- Transmit Data Bit 8
 
 
  --
  --  UCSR2B
  --
 
  -- USART Control and Status Register C
  UCSR2C : Unsigned_8;
  for UCSR2C'Address	 use System'To_Address (16#D2#);
 
   UCSR2C_UMSEL2		: constant := 16#C0#; -- USART Mode Select
   UCSR2C_UPM2		: constant := 16#30#; -- Parity Mode Bits
   UCSR2C_USBS2		: constant := 16#08#; -- Stop Bit Select
   UCSR2C_UCSZ2		: constant := 16#06#; -- Character Size
   UCSR2C_UCPOL2		: constant := 16#01#; -- Clock Polarity
 
 
  --
  --  UCSR2C
  --
 
  -- USART Baud Rate Register  Bytes
  UBRR2 : Unsigned_8;
  for UBRR2'Address	 use System'To_Address (16#D4#);
 
 
 
  --
  --  USART3
  --
 
  -- USART I/O Data Register
  UDR3 : Unsigned_8;
  for UDR3'Address	 use System'To_Address (16#36#);
 
 
 
  --
  --  UDR3
  --
 
  -- USART Control and Status Register A
  UCSR3A : Unsigned_8;
  for UCSR3A'Address	 use System'To_Address (16#30#);
 
   UCSR3A_RXC3		: constant := 16#80#; -- USART Receive Complete
   UCSR3A_TXC3		: constant := 16#40#; -- USART Transmitt Complete
   UCSR3A_UDRE3		: constant := 16#20#; -- USART Data Register Empty
   UCSR3A_FE3		: constant := 16#10#; -- Framing Error
   UCSR3A_DOR3		: constant := 16#08#; -- Data overRun
   UCSR3A_UPE3		: constant := 16#04#; -- Parity Error
   UCSR3A_U2X3		: constant := 16#02#; -- Double the USART transmission speed
   UCSR3A_MPCM3		: constant := 16#01#; -- Multi-processor Communication Mode
 
 
  --
  --  UCSR3A
  --
 
  -- USART Control and Status Register B
  UCSR3B : Unsigned_8;
  for UCSR3B'Address	 use System'To_Address (16#31#);
 
   UCSR3B_RXCIE3		: constant := 16#80#; -- RX Complete Interrupt Enable
   UCSR3B_TXCIE3		: constant := 16#40#; -- TX Complete Interrupt Enable
   UCSR3B_UDRIE3		: constant := 16#20#; -- USART Data register Empty Interrupt Enable
   UCSR3B_RXEN3		: constant := 16#10#; -- Receiver Enable
   UCSR3B_TXEN3		: constant := 16#08#; -- Transmitter Enable
   UCSR3B_UCSZ32		: constant := 16#04#; -- Character Size
   UCSR3B_RXB83		: constant := 16#02#; -- Receive Data Bit 8
   UCSR3B_TXB83		: constant := 16#01#; -- Transmit Data Bit 8
 
 
  --
  --  UCSR3B
  --
 
  -- USART Control and Status Register C
  UCSR3C : Unsigned_8;
  for UCSR3C'Address	 use System'To_Address (16#32#);
 
   UCSR3C_UMSEL3		: constant := 16#C0#; -- USART Mode Select
   UCSR3C_UPM3		: constant := 16#30#; -- Parity Mode Bits
   UCSR3C_USBS3		: constant := 16#08#; -- Stop Bit Select
   UCSR3C_UCSZ3		: constant := 16#06#; -- Character Size
   UCSR3C_UCPOL3		: constant := 16#01#; -- Clock Polarity
 
 
  --
  --  UCSR3C
  --
 
  -- USART Baud Rate Register  Bytes
  UBRR3 : Unsigned_8;
  for UBRR3'Address	 use System'To_Address (16#34#);
 
 
end AVR.ATmega2560;
projects/avrada/tool_samplem2560.txt · Last modified: 2012/08/05 11:00 by mkucia