Electronic Components Datasheet Search
  English  ▼
ALLDATASHEET.NET

X  

ATMEGA640 Datasheet(PDF) 74 Page - ATMEL Corporation

Part # ATMEGA640
Description  8-bit Microcontroller with 64K/128K/256K Bytes In-System Programmable Flash
PDF  449 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  ATMEL [ATMEL Corporation]
Direct Link  http://www.atmel.com
Logo ATMEL - ATMEL Corporation

ATMEGA640 Datasheet(HTML) 74 Page - ATMEL Corporation

Back Button ATMEGA640 Datasheet HTML 70Page - ATMEL Corporation ATMEGA640 Datasheet HTML 71Page - ATMEL Corporation ATMEGA640 Datasheet HTML 72Page - ATMEL Corporation ATMEGA640 Datasheet HTML 73Page - ATMEL Corporation ATMEGA640 Datasheet HTML 74Page - ATMEL Corporation ATMEGA640 Datasheet HTML 75Page - ATMEL Corporation ATMEGA640 Datasheet HTML 76Page - ATMEL Corporation ATMEGA640 Datasheet HTML 77Page - ATMEL Corporation ATMEGA640 Datasheet HTML 78Page - ATMEL Corporation Next Button
Zoom Inzoom in Zoom Outzoom out
 74 / 449 page
background image
74
ATmega640/1280/1281/2560/2561
2549K–AVR–01/07
When the BOOTRST Fuse is programmed, the Boot section size set to 8K bytes and the
IVSEL bit in the MCUCR Register is set before any interrupts are enabled, the most typ-
ical and general program setup for the Reset and Interrupt Vector Addresses is:
Address
Labels
Code
Comments
;
.org 0x1F000
0x1F000
jmp
RESET
; Reset handler
0x1F002
jmp
EXT_INT0
; IRQ0 Handler
0x1F004
jmp
EXT_INT1
; IRQ1 Handler
...
...
...
;
0x1F070
jmp
USART3_TXC
; USART3 TX Complete Handler
;
0x1F072
RESET:
ldi
r16,high(RAMEND) ; Main program start
0x1F073
out
SPH,r16
; Set Stack Pointer to top of RAM
0x1F074
ldi
r16,low(RAMEND)
0x1F075
out
SPL,r16
0x1F076
sei
; Enable interrupts
0x1FO77
<instr>
xxx
Moving Interrupts
Between Application and
Boot Section
The MCU Control Register controls the placement of the Interrupt Vector table, see
Code Example below. For more details, see “Reset and Interrupt Handling” on page 17.
Assembly Code Example
Move_interrupts:
; Get MCUCR
in
r16, MCUCR
mov
r17, r16
; Enable change of Interrupt Vectors
ori
r16, (1<<IVCE)
out
MCUCR, r16
; Move interrupts to Boot Flash section
ori
r16, (1<<IVSEL)
out
MCUCR, r17
ret
C Code Example
void
Move_interrupts(void)
{
uchar temp;
/* Get MCUCR*/
temp = MCUCR;
/* Enable change of Interrupt Vectors */
MCUCR = temp|(1<<IVCE);
/* Move interrupts to Boot Flash section */
MCUCR = temp|(1<<IVSEL);
}



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100  ...More


Datasheet Download

Go To PDF Page


Link URL



Does ALLDATASHEET help your business so far?  [ DONATE ] 

About Alldatasheet   |   Advertisement   |   Contact us   |   Privacy Policy   |   Link to Datasheet    |   Link Exchange   |   Manufacturer List
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com