Main Page   Compound List   File List   Compound Members   File Members  

io8534.h

Go to the documentation of this file.
00001 /*
00002    io8534.h - internal register definitions for AT90C8534
00003 
00004    Contributors:
00005      Created by Marek Michalkiewicz <marekm@linux.org.pl>
00006 
00007    THIS SOFTWARE IS NOT COPYRIGHTED
00008 
00009    This source code is offered for use in the public domain.  You may
00010    use, modify or distribute it freely.
00011 
00012    This code is distributed in the hope that it will be useful, but
00013    WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00014    DISCLAIMED.  This includes but is not limited to warranties of
00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00016 
00017    Based on preliminary Atmel datasheet Rev. 1229A-04/99.
00018  */
00019 
00020 #ifndef __IO8534
00021 #define __IO8534 1
00022 
00023 /* I/O space addresses */
00024 
00025 /* 0x00..0x03 reserved */
00026 
00027 /* ADC Data Register */
00028 #define ADCL    0x04
00029 #define ADCH    0x05
00030 
00031 /* ADC Control and Status Register */
00032 #define ADCSR   0x06
00033 
00034 /* ADC Multiplexer Select Register */
00035 #define ADMUX   0x07
00036 
00037 /* 0x08..0x0F reserved */
00038 
00039 /* General Interrupt Pin Register */
00040 #define GIPR 0x10
00041 
00042 /* 0x11..0x19 reserved */
00043 
00044 /* Data Direction Register, Port A */
00045 #define DDRA    0x1A
00046 
00047 /* Data Register, Port A */
00048 #define PORTA   0x1B
00049 
00050 /* EEPROM Control Register */
00051 #define EECR    0x1C
00052 
00053 /* EEPROM Data Register */
00054 #define EEDR    0x1D
00055 
00056 /* EEPROM Address Register */
00057 #define EEARL   0x1E
00058 #define EEARH   0x1F
00059 
00060 /* 0x20..0x2B reserved */
00061 
00062 /* Timer/Counter1 */
00063 #define TCNT1L  0x2C
00064 #define TCNT1H  0x2D
00065 
00066 /* Timer/Counter1 Control Register */
00067 #define TCCR1   0x2E
00068 
00069 /* 0x2F..0x31 reserved */
00070 
00071 /* Timer/Counter0 (8-bit) */
00072 #define TCNT0   0x32
00073 
00074 /* Timer/Counter0 Control Register */
00075 #define TCCR0   0x33
00076 
00077 /* 0x34 reserved */
00078 
00079 /* MCU general Control Register */
00080 #define MCUCR   0x35
00081 
00082 /* 0x36..0x37 reserved */
00083 
00084 /* Timer/Counter Interrupt Flag Register */
00085 #define TIFR    0x38
00086 
00087 /* Timer/Counter Interrupt MaSK Register */
00088 #define TIMSK   0x39
00089 
00090 /* General Interrupt Flag Register */
00091 #define GIFR    0x3A
00092 
00093 /* General Interrupt MaSK register */
00094 #define GIMSK   0x3B
00095 
00096 /* 0x3C reserved */
00097 
00098 /* Stack Pointer */
00099 #define SPL     0x3D
00100 #define SPH     0x3E
00101 
00102 /* Status REGister */
00103 #define SREG    0x3F
00104 
00105 /* Interrupt vectors (byte addresses) */
00106 
00107 #define RESET_vect              (0x00)
00108 #define INT0_vect               (0x02)
00109 #define INT1_vect               (0x04)
00110 #define TIMER1_OVF_vect         (0x06)
00111 #define TIMER0_OVF_vect         (0x08)
00112 #define ADC_vect                (0x0A)
00113 #define EE_RDY_vect             (0x0C)
00114 
00115 #define INT_VECT_SIZE (0x0E)
00116 
00117 /* Bit numbers */
00118 
00119 /* GIMSK */
00120 #define INT1    7
00121 #define INT0    6
00122 
00123 /* GIFR */
00124 #define INTF1   7
00125 #define INTF0   6
00126 
00127 /* GIPR */
00128 #define IPIN1   3
00129 #define IPIN0   2
00130 
00131 /* TIMSK */
00132 #define TOIE1   2
00133 #define TOIE0   0
00134 
00135 /* TIFR */
00136 #define TOV1    2
00137 #define TOV0    0
00138 
00139 /* MCUCR */
00140 #define SE      6
00141 #define SM      5
00142 #define ISC1    2
00143 #define ISC0    0
00144 
00145 /* TCCR0 */
00146 #define CS02    2
00147 #define CS01    1
00148 #define CS00    0
00149 
00150 /* TCCR1 */
00151 #define CS12    2
00152 #define CS11    1
00153 #define CS10    0
00154 
00155 /* EECR */
00156 #define EERIE   3
00157 #define EEMWE   2
00158 #define EEWE    1
00159 #define EERE    0
00160 
00161 /* PORTA */
00162 #define PA7     7
00163 #define PA6     6
00164 #define PA5     5
00165 #define PA4     4
00166 #define PA3     3
00167 #define PA2     2
00168 #define PA1     1
00169 #define PA0     0
00170 
00171 /* DDRA */
00172 #define DDA7    7
00173 #define DDA6    6
00174 #define DDA5    5
00175 #define DDA4    4
00176 #define DDA3    3
00177 #define DDA2    2
00178 #define DDA1    1
00179 #define DDA0    0
00180 
00181 /* Pointer registers (same for all AVR devices so far) */
00182 #define XL r26
00183 #define XH r27
00184 #define YL r28
00185 #define YH r29
00186 #define ZL r30
00187 #define ZH r31
00188 
00189 /* Last memory addresses */
00190 #define RAMEND          0x15F
00191 #define XRAMEND         0x15F
00192 #define E2END           0x1FF
00193 #define FLASHEND        0x1FFF
00194 
00195 #endif  /* __IO8534 */

Generated at Fri Jul 19 14:55:41 2002 for avrgcc by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001