ATmega640 Atmel Corporation, ATmega640 Datasheet - Page 110

no-image

ATmega640

Manufacturer Part Number
ATmega640
Description
Manufacturer
Atmel Corporation
Datasheets

Specifications of ATmega640

Flash (kbytes)
64 Kbytes
Pin Count
100
Max. Operating Frequency
16 MHz
Cpu
8-bit AVR
# Of Touch Channels
16
Hardware Qtouch Acquisition
No
Max I/o Pins
86
Ext Interrupts
32
Usb Speed
No
Usb Interface
No
Spi
5
Twi (i2c)
1
Uart
4
Graphic Lcd
No
Video Decoder
No
Camera Interface
No
Adc Channels
16
Adc Resolution (bits)
10
Adc Speed (ksps)
15
Analog Comparators
1
Resistive Touch Screen
No
Temp. Sensor
No
Crypto Engine
No
Sram (kbytes)
8
Eeprom (bytes)
4096
Self Program Memory
YES
Dram Memory
No
Nand Interface
No
Picopower
No
Temp. Range (deg C)
-40 to 85
I/o Supply Class
1.8 to 5.5
Operating Voltage (vcc)
1.8 to 5.5
Fpu
No
Mpu / Mmu
no / no
Timers
6
Output Compare Channels
16
Input Capture Channels
4
Pwm Channels
15
32khz Rtc
Yes
Calibrated Rc Oscillator
Yes

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATmega640-16AU
Manufacturer:
OSRAM
Quantity:
12 000
Part Number:
ATmega640-16AU
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega640-16AU
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
ATmega640-16AU
Quantity:
80
Part Number:
ATmega640-16AUR
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega640-16CU
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega640-16CUR
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega640V-8AU
Manufacturer:
PHILIPS
Quantity:
56
Part Number:
ATmega640V-8AU
Manufacturer:
Atmel
Quantity:
10 000
14.4
14.4.1
2549N–AVR–05/11
Register Description
MCUCR – MCU Control Register
• Bit 1 – IVSEL: Interrupt Vector Select
When the IVSEL bit is cleared (zero), the Interrupt Vectors are placed at the start of the Flash
memory. When this bit is set (one), the Interrupt Vectors are moved to the beginning of the Boot
Loader section of the Flash. The actual address of the start of the Boot Flash Section is deter-
mined by the BOOTSZ Fuses. Refer to the section
details. To avoid unintentional changes of Interrupt Vector tables, a special write procedure must
be followed to change the IVSEL bit (see
tion” on page
Bit
0x35 (0x55)
Read/Write
Initial Value
Assembly Code Example
C Code Example
1. Write the Interrupt Vector Change Enable (IVCE) bit to one.
2. Within four cycles, write the desired value to IVSEL while writing a zero to IVCE.
Move_interrupts:
void Move_interrupts(void)
{
uchar temp;
}
; Get MCUCR
in
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
/* Get MCUCR*/
temp = MCUCR;
/* Enable change of Interrupt Vectors */
MCUCR = temp|(1<<IVCE);
/* Move interrupts to Boot Flash section */
MCUCR = temp|(1<<IVSEL);
r16, MCUCR
109):
JTD
R/W
7
0
6
R
0
ATmega640/1280/1281/2560/2561
R
5
0
PUD
R/W
4
0
“Moving Interrupts Between Application and Boot Sec-
R
3
0
“Memory Programming” on page 335
R
2
0
IVSEL
R/W
1
0
IVCE
R/W
0
0
MCUCR
110
for

Related parts for ATmega640