ATMEGA645A-AU Atmel, ATMEGA645A-AU Datasheet - Page 178

IC MCU AVR 64K FLASH 64TQFP

ATMEGA645A-AU

Manufacturer Part Number
ATMEGA645A-AU
Description
IC MCU AVR 64K FLASH 64TQFP
Manufacturer
Atmel
Series
AVR® ATmegar
Datasheets

Specifications of ATMEGA645A-AU

Core Processor
AVR
Core Size
8-Bit
Speed
16MHz
Connectivity
SPI, UART/USART, USI
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Number Of I /o
54
Program Memory Size
64KB (32K x 16)
Program Memory Type
FLASH
Eeprom Size
2K x 8
Ram Size
4K x 8
Voltage - Supply (vcc/vdd)
1.8 V ~ 5.5 V
Data Converters
A/D 8x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
64-TQFP
Processor Series
ATmega
Core
AVR
Data Bus Width
8 bit
Data Ram Size
4 KB
Interface Type
SPI, USART
Maximum Clock Frequency
16 MHz
Number Of Programmable I/os
54
Number Of Timers
3
Operating Supply Voltage
3.3 V
Maximum Operating Temperature
+ 85 C
Mounting Style
SMD/SMT
Minimum Operating Temperature
- 40 C
Operating Temperature Range
- 40 C to + 85 C
Lead Free Status / RoHS Status
Lead free / RoHS Compliant

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATMEGA645A-AU
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATMEGA645A-AUR
Manufacturer:
HONEYWELL
Quantity:
101
Part Number:
ATMEGA645A-AUR
Manufacturer:
Atmel
Quantity:
10 000
178
ATmega165A/165PA/325A/325PA/3250A/3250PA/645A/645P/645
show a transmit function that handles 9-bit characters. For the assembly code, the data to be
sent is assumed to be stored in registers R17:R16.
Notes:
The ninth bit can be used for indicating an address frame when using multi processor communi-
cation mode or for other protocol handling as for example synchronization.
Assembly Code Example
C Code Example
USART_Transmit:
void USART_Transmit( unsigned int data )
{
}
; Wait for empty transmit buffer
sbis UCSR0A,UDRE0
rjmp USART_Transmit
; Copy 9th bit from r17 to TXB80
cbi
sbrc r17,0
sbi
; Put LSB data (r16) into buffer, sends the data
sts
ret
/* Wait for empty transmit buffer */
while ( !( UCSR0A & (1<<UDRE0))) )
/* Copy 9th bit to TXB8n */
UCSR0B &= ~(1<<TXB80);
if ( data & 0x0100 )
/* Put data into buffer, sends the data */
UDR0 = data;
1. These transmit functions are written to be general functions. They can be optimized if the con-
2.
UCSR0B |= (1<<TXB80);
See ”About Code Examples” on page 9.
tents of the UCSRnB is static. For example, only the TXB8n bit of the UCSRnB Register is
used after initialization.
UCSR0B,TXB80
UCSR0B,TXB80
UDR0,r16
;
(1)(2)
(1)(2)
8285B–AVR–03/11

Related parts for ATMEGA645A-AU