Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 1126 | savelij | 1 | ifndef __regm8515inc |
| 2 | __regm8515inc equ 1 |
||
| 3 | |||
| 4 | save |
||
| 5 | listing off ; no listing over this file |
||
| 6 | |||
| 7 | ;**************************************************************************** |
||
| 8 | ;* * |
||
| 9 | ;* AS 1.42 - File REGM8515.INC * |
||
| 10 | ;* * |
||
| 11 | ;* Contains Bit & Register Definitions for ATmega8515 * |
||
| 12 | ;* * |
||
| 13 | ;**************************************************************************** |
||
| 14 | |||
| 15 | ;---------------------------------------------------------------------------- |
||
| 16 | ; Memory Limits |
||
| 17 | |||
| 18 | E2END equ 511 |
||
| 19 | RAMSTART equ 0x60,data |
||
| 20 | RAMEND equ 0x25f,data |
||
| 21 | FLASHEND label 0x1fff |
||
| 22 | |||
| 23 | ;---------------------------------------------------------------------------- |
||
| 24 | ; Chip Configuration |
||
| 25 | |||
| 26 | MCUCR port 0x35 ; MCU General Control Register |
||
| 27 | SM1 avrbit MCUCR,4 |
||
| 28 | SE avrbit MCUCR,5 ; Sleep Enable |
||
| 29 | SRW10 avrbit MCUCR,6 ; wait State Select |
||
| 30 | SRE avrbit MCUCR,7 ; Enable External SRAM |
||
| 31 | |||
| 32 | MCUCSR port 0x34 ; MCU Control and Status Register |
||
| 33 | WDRF avrbit MCUCSR,3 ; Watchdog Reset Occured |
||
| 34 | BORF avrbit MCUCSR,2 ; Brown-Out Reset Occured |
||
| 35 | EXTRF avrbit MCUCSR,1 ; External Reset Occured |
||
| 36 | PORF avrbit MCUCSR,0 ; Power-On Reset Occured |
||
| 37 | |||
| 38 | EMCUCR port 0x36 ; Extended MCU Control Register |
||
| 39 | SRW11 avrbit EMCUCR,1 ; Wait State Select |
||
| 40 | SRW00 avrbit EMCUCR,2 |
||
| 41 | SRW01 avrbit EMCUCR,3 |
||
| 42 | SRL0 avrbit EMCUCR,4 ; Wait State Sector Limit |
||
| 43 | SRL1 avrbit EMCUCR,5 |
||
| 44 | SRL2 avrbit EMCUCR,6 |
||
| 45 | SM0 avrbit EMCUCR,7 ; Sleep Mode Select |
||
| 46 | |||
| 47 | OSCCAL port 0x04 ; Oscillator Calibration |
||
| 48 | |||
| 49 | ;---------------------------------------------------------------------------- |
||
| 50 | ; EEPROM/ProgramMemory Access |
||
| 51 | |||
| 52 | include "eem.inc" |
||
| 53 | include "spm.inc" |
||
| 54 | |||
| 55 | ;---------------------------------------------------------------------------- |
||
| 56 | ; GPIO |
||
| 57 | |||
| 58 | PINA port 0x19 ; Port A @ 0x19 (IO) ff. |
||
| 59 | PINB port 0x16 ; Port B @ 0x16 (IO) ff. |
||
| 60 | PINC port 0x13 ; Port C @ 0x13 (IO) ff. |
||
| 61 | PIND port 0x10 ; Port D @ 0x10 (IO) ff. |
||
| 62 | PINE port 0x05 ; Port E @ 0x05 (IO) ff. |
||
| 63 | __PORTE_BITS equ 0x07 ; bits 0..2 |
||
| 64 | |||
| 65 | SFIOR port 0x30 ; Special Function I/O Register |
||
| 66 | PUD avrbit SFIOR,2 ; Pullup Disable |
||
| 67 | XMM0 avrbit SFIOR,3 ; External Memory High Mask |
||
| 68 | XMM1 avrbit SFIOR,4 |
||
| 69 | XMM2 avrbit SFIOR,5 |
||
| 70 | XMBK avrbit SFIOR,6 ; External Memory Bus Keeper Enable |
||
| 71 | |||
| 72 | ;---------------------------------------------------------------------------- |
||
| 73 | ; Interrupt Vectors |
||
| 74 | |||
| 75 | enumconf 1,code |
||
| 76 | enum INT0_vect=1 ; External Interrupt Request 0 |
||
| 77 | nextenum INT1_vect ; External Interrupt Request 1 |
||
| 78 | nextenum TIMER1_CAPT_vect ; Timer/Counter 1 Capture |
||
| 79 | nextenum TIMER1_COMPA_vect ; Timer/Counter 1 Compare Match A |
||
| 80 | nextenum TIMER1_COMPB_vect ; Timer/Counter 1 Compare Match B |
||
| 81 | nextenum TIMER1_OVF_vect ; Timer/Counter 1 Overflow |
||
| 82 | nextenum TIMER0_OVF_vect ; Timer/Counter 0 Overflow |
||
| 83 | nextenum SPI_STC_vect ; SPI Serial Transfer Complete |
||
| 84 | nextenum USART_RX_vect ; UART Rx Complete |
||
| 85 | nextenum USART_UDRE_vect ; UART Data Register Empty |
||
| 86 | nextenum USART_TX_vect ; UART Tx Complete |
||
| 87 | nextenum ANA_COMP_vect ; Analog Comparator |
||
| 88 | nextenum INT2_vect ; External Interrupt Request 2 |
||
| 89 | nextenum TIMER0_COMP_vect ; Timer/Counter 0 Compare Match |
||
| 90 | nextenum EE_RDY_vect ; Two-Wire Serial Interface |
||
| 91 | nextenum SPM_RDY_vect ; store Program Memory Ready |
||
| 92 | |||
| 93 | ;---------------------------------------------------------------------------- |
||
| 94 | ; External Interrupts |
||
| 95 | |||
| 96 | ISC00 avrbit MCUCR,0 ; External Interrupt 0 Sense Control |
||
| 97 | ISC01 avrbit MCUCR,1 |
||
| 98 | ISC10 avrbit MCUCR,2 ; External Interrupt 1 Sense Control |
||
| 99 | ISC11 avrbit MCUCR,3 |
||
| 100 | |||
| 101 | ISC2 avrbit EMCUCR,0 ; External Interrupt 2 Sense Control |
||
| 102 | |||
| 103 | GICR port 0x3b ; General Interrupt Mask Register |
||
| 104 | IVCE avrbit GICR,0 ; Interrupt Vector Change Enable |
||
| 105 | IVSEL avrbit GICR,1 ; Interrupt Vector Select |
||
| 106 | INT2 avrbit GICR,5 ; Enable External Interrupt 2 |
||
| 107 | INT0 avrbit GICR,6 ; Enable External Interrupt 0 |
||
| 108 | INT1 avrbit GICR,7 ; Enable External Interrupt 1 |
||
| 109 | |||
| 110 | GIFR port 0x3a ; External Interrupt-Flags |
||
| 111 | INTF2 avrbit GIFR,5 ; External Interrupt 2 Occured |
||
| 112 | INTF0 avrbit GIFR,6 ; External Interrupt 0 Occured |
||
| 113 | INTF1 avrbit GIFR,7 ; External Interrupt 1 Occured |
||
| 114 | |||
| 115 | ;---------------------------------------------------------------------------- |
||
| 116 | ; Timers |
||
| 117 | |||
| 118 | PSR10 avrbit SFIOR,0 ; Prescaler Reset T0/T1 |
||
| 119 | |||
| 120 | TCCR0 port 0x33 ; Timer/Counter 0 Control Register |
||
| 121 | CS00 avrbit TCCR0,0 ; Timer/Counter 0 Clock Select |
||
| 122 | CS01 avrbit TCCR0,1 |
||
| 123 | CS02 avrbit TCCR0,2 |
||
| 124 | WGM01 avrbit TCCR0,3 ; Timer/Counter 0 Waveform Generation Mode |
||
| 125 | COM00 avrbit TCCR0,4 ; Timer/Counter 0 Compare Mode |
||
| 126 | COM01 avrbit TCCR0,5 |
||
| 127 | WGM00 avrbit TCCR0,6 |
||
| 128 | FOC0 avrbit TCCR0,7 ; Timer/Counter 0 Force Output Compare |
||
| 129 | TCNT0 port 0x32 ; Timer/Counter 0 Value |
||
| 130 | OCR0 port 0x31 ; Timer/Counter 0 Output Compare Value |
||
| 131 | |||
| 132 | TCCR1A port 0x2f ; Timer/Counter 1 Control Register A |
||
| 133 | WGM10 avrbit TCCR1A,0 ; Timer/Counter 1 Waveform Generation Mode |
||
| 134 | WGM11 avrbit TCCR1A,1 |
||
| 135 | FOC1B avrbit TCCR1A,2 ; Timer/Counter 1 Force Output Compare B |
||
| 136 | FOC1A avrbit TCCR1A,3 ; Timer/Counter 1 Force Output Compare A |
||
| 137 | COM1B0 avrbit TCCR1A,4 ; Timer/Counter 1 Compare Mode B |
||
| 138 | COM1B1 avrbit TCCR1A,5 |
||
| 139 | COM1A0 avrbit TCCR1A,6 ; Timer/Counter 1 Compare Mode A |
||
| 140 | COM1A1 avrbit TCCR1A,7 |
||
| 141 | TCCR1B port 0x2e ; Timer/Counter 1 Control Register B |
||
| 142 | CS10 avrbit TCCR1B,0 ; Timer/Counter 1 Prescaler Setting |
||
| 143 | CS11 avrbit TCCR1B,1 |
||
| 144 | CS12 avrbit TCCR1B,2 |
||
| 145 | WGM12 avrbit TCCR1B,3 ; Timer/Counter 1 Waveform Generation Mode |
||
| 146 | WGM13 avrbit TCCR1B,4 |
||
| 147 | ICES1 avrbit TCCR1B,6 ; Timer/Counter 1 Capture Slope Selection |
||
| 148 | ICNC1 avrbit TCCR1B,7 ; Timer/Counter 1 Capture Noise Filter |
||
| 149 | TCNT1L port 0x2c ; Timer/Counter 1 Value LSB |
||
| 150 | TCNT1H port 0x2d ; Timer/Counter 1 Value MSB |
||
| 151 | OCR1AL port 0x2a ; Timer/Counter 1 Output Compare Value A LSB |
||
| 152 | OCR1AH port 0x2b ; Timer/Counter 1 Output Compare Value A MSB |
||
| 153 | OCR1BL port 0x28 ; Timer/Counter 1 Output Compare Value B LSB |
||
| 154 | OCR1BH port 0x29 ; Timer/Counter 1 Output Compare Value B MSB |
||
| 155 | ICR1L port 0x24 ; Timer/Counter 1 Input Capture Value LSB |
||
| 156 | ICR1H port 0x25 ; Timer/Counter 1 Input Capture Value MSB |
||
| 157 | |||
| 158 | TIMSK port 0x39 ; Timer Interrupt Mask Register |
||
| 159 | OCIE0 avrbit TIMSK,0 ; Timer/Counter 0 Output Compare Interrupt Enable |
||
| 160 | TOIE0 avrbit TIMSK,1 ; Timer/Counter 0 Overflow Interrupt Enable |
||
| 161 | TICIE1 avrbit TIMSK,3 ; Timer/Counter 1 Input Capture Interrupt Enable |
||
| 162 | OCIE1B avrbit TIMSK,5 ; Timer/Counter 1 Output Compare Interrupt Enable B |
||
| 163 | OCIE1A avrbit TIMSK,6 ; Timer/Counter 1 Output Compare Interrupt Enable A |
||
| 164 | TOIE1 avrbit TIMSK,7 ; Timer/Counter 1 Overflow Interrupt Enable |
||
| 165 | |||
| 166 | TIFR port 0x38 ; Timer Interrupt Flag Register |
||
| 167 | |||
| 168 | ;---------------------------------------------------------------------------- |
||
| 169 | ; Watchdog Timer |
||
| 170 | |||
| 171 | include "wdm21.inc" |
||
| 172 | WDCE avrbit WDTCR,4 ; Change Enable |
||
| 173 | |||
| 174 | ;---------------------------------------------------------------------------- |
||
| 175 | ; USART |
||
| 176 | |||
| 177 | include "usartm.inc" |
||
| 178 | |||
| 179 | ;---------------------------------------------------------------------------- |
||
| 180 | ; SPI |
||
| 181 | |||
| 182 | include "spim.inc" |
||
| 183 | |||
| 184 | ;---------------------------------------------------------------------------- |
||
| 185 | ; Analog Comparator |
||
| 186 | |||
| 187 | include "acm.inc" |
||
| 188 | |||
| 189 | restore ; re-enable listing |
||
| 190 | |||
| 191 | endif ; __regm8515inc |