

//MEGA8Ĵַ
public unit chip
{
	//оƬж
	//ע͵ĲǱ׼MEGA8жϵַ,rjmp֧ȫת,һ
	//rjmpаЩַضһljmp,Աʱõжϵַ
	//ضĵַ(ͱ׼)
	
	//2015.5.15 ѾĻر׼ж, Ϊ֧ rjump
	
	public unit WATCH
	{
		public const uint16 EXT_RST		= 0x00;
		public const uint16 EXT_INT0		= 0x01;
		public const uint16 EXT_INT1		= 0x02;
		public const uint16 TIM2_COMP		= 0x03;
		public const uint16 TIM2_OVF		= 0x04;
		public const uint16 TIM1_CAPT		= 0x05;
		public const uint16 TIM1_COMPA	= 0x06;
		public const uint16 TIM1_COMPB	= 0x07;
		public const uint16 TIM1_OVF		= 0x08;
		public const uint16 TIM0_OVF		= 0x09;
		public const uint16 SPI_STC		= 0x0A;
		public const uint16 USART_RXC		= 0x0B;
		public const uint16 USART_DRE		= 0x0C;
		public const uint16 USART_TXC		= 0x0D;
		public const uint16 ADC_INT		= 0x0E;
		public const uint16 EE_RDY		= 0x0F;
		public const uint16 ANA_COMP		= 0x10;
		public const uint16 TWI			= 0x11;
		public const uint16 SPM_READY		= 0x12;
	}
	public uint8 TWBR =		#addr 0x20;
	public uint8 TWSR =		#addr 0x21;
	public uint8 TWAR =		#addr 0x22;
	public uint8 TWDR =		#addr 0x23;
	public uint8 ADCL =		#addr 0x24;
	public uint8 ADCH =		#addr 0x25;
	//public uint16 ADCW =		#addr 0x24;      // 16 bit access
	public uint8 ADCSRA =		#addr 0x26;
	public uint8 ADMUX =		#addr 0x27;
	public uint8 ACSR =		#addr 0x28;
	public uint8 UBRRL =		#addr 0x29;
	public uint8 UCSRB =		#addr 0x2a;
	public uint8 UCSRA =		#addr 0x2b;
	public uint8 UDR =		#addr 0x2c;
	public uint8 SPCR =		#addr 0x2d;
	public uint8 SPSR =		#addr 0x2e;
	public uint8 SPDR =		#addr 0x2f;
	public uint8 PIND =		#addr 0x30;
	public uint8 DDRD =		#addr 0x31;
	public uint8 PORTD =		#addr 0x32;
	public uint8 PINC =		#addr 0x33;
	public uint8 DDRC =		#addr 0x34;
	public uint8 PORTC =		#addr 0x35;
	public uint8 PINB =		#addr 0x36;
	public uint8 DDRB =		#addr 0x37;
	public uint8 PORTB =		#addr 0x38;
	public uint8 EECR =		#addr 0x3c;
	public uint8 EEDR =		#addr 0x3d;
	public uint8 EEARL =		#addr 0x3e;
	public uint8 EEARH =		#addr 0x3f;
	//public uint16 EEAR =		#addr 0x3e;   // 16 bit access
	public uint8 UBRRH =		#addr 0x40;
	public uint8 UCSRC =		#addr 0X40;
	public uint8 WDTCR =		#addr 0x41;
	public uint8 ASSR =		#addr 0x42;
	public uint8 OCR2 =		#addr 0x43;
	public uint8 TCNT2 =		#addr 0x44;
	public uint8 TCCR2 =		#addr 0x45;
	public uint8 ICR1L =		#addr 0x46;
	public uint8 ICR1H =		#addr 0x47;
	//public uint16 ICR1 =		#addr 0x46;   // 16 bit access
	public uint8 OCR1BL =		#addr 0x48;
	public uint8 OCR1BH =		#addr 0x49;
	//public uint16 OCR1B =		#addr 0x48;  // 16 bit access
	public uint8 OCR1AL =		#addr 0x4a;
	public uint8 OCR1AH =		#addr 0x4b;
	//public uint16 OCR1A =		#addr 0x4a;  // 16 bit access
	public uint8 TCNT1L =		#addr 0x4c;
	public uint8 TCNT1H =		#addr 0x4d;
	//public uint16 TCNT1 =		#addr 0x4c;  // 16 bit access
	public uint8 TCCR1B =		#addr 0x4e;
	public uint8 TCCR1A =		#addr 0x4f;
	public uint8 SFIOR =		#addr 0x50;
	public uint8 OSCCAL =		#addr 0x51;
	public uint8 TCNT0 =		#addr 0x52;
	public uint8 TCCR0 =		#addr 0x53;
	public uint8 MCUCSR =		#addr 0x54;
	public uint8 MCUCR =		#addr 0x55;
	public uint8 TWCR =		#addr 0x56;
	public uint8 SPMCR =		#addr 0x57;
	public uint8 TIFR =		#addr 0x58;
	public uint8 TIMSK =		#addr 0x59;
	public uint8 GIFR =		#addr 0x5a;
	public uint8 GICR =		#addr 0x5b;
	public uint8 SPL =		#addr 0x5d;
	public uint8 SPH =		#addr 0x5e;
	public uint8 SREG =		#addr 0x5f;
}










