ATMEGA164PA-MCH Atmel, ATMEGA164PA-MCH Datasheet - Page 218
![MCU AVR 16KB FLASH 20MHZ 44-VQFN](/photos/12/13/121316/313-44-qfn_sml.jpg)
ATMEGA164PA-MCH
Manufacturer Part Number
ATMEGA164PA-MCH
Description
MCU AVR 16KB FLASH 20MHZ 44-VQFN
Manufacturer
Atmel
Series
AVR® ATmegar
Specifications of ATMEGA164PA-MCH
Core Processor
AVR
Core Size
8-Bit
Speed
20MHz
Connectivity
I²C, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Number Of I /o
32
Program Memory Size
16KB (8K x 16)
Program Memory Type
FLASH
Eeprom Size
512 x 8
Ram Size
1K 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
44-VQFN Exposed Pad
For Use With
ATSTK600-TQFP44 - STK600 SOCKET/ADAPTER 44-TQFP
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
- Current page: 218 of 581
- Download datasheet (27Mb)
8272A–AVR–01/10
1
2
3
4
5
6
7
Assembly Code Example
ldi
out
wait1:
in
sbrs r16,TWINT
rjmp wait1
in
andi r16, 0xF8
cpi
brne ERROR
ldi
out
ldi
out
wait2:
in
sbrs r16,TWINT
rjmp wait2
in
andi r16, 0xF8
cpi
brne ERROR
ldi
out
ldi
out
wait3:
in
sbrs r16,TWINT
rjmp wait3
in
andi r16, 0xF8
cpi
brne ERROR
ldi
out
r16, (1<<TWINT)|(1<<TWSTA)|
(1<<TWEN)
TWCR, r16
r16,TWCR
r16,TWSR
r16, START
r16, SLA_W
TWDR, r16
r16, (1<<TWINT) | (1<<TWEN)
TWCR, r16
r16,TWCR
r16,TWSR
r16, MT_SLA_ACK
r16, DATA
TWDR, r16
r16, (1<<TWINT) | (1<<TWEN)
TWCR, r16
r16,TWCR
r16,TWSR
r16, MT_DATA_ACK
r16, (1<<TWINT)|(1<<TWEN)|
(1<<TWSTO)
TWCR, r16
• After all TWI Register updates and other pending application software tasks have been
In the following an assembly and C implementation of the example is given. Note that the code
below assumes that several definitions have been made, for example by using include-files.
164A/164PA/324A/324PA/644A/644PA/1284/1284P
completed, TWCR is written. When writing TWCR, the TWINT bit should be set. Writing a one
to TWINT clears the flag. The TWI will then commence executing whatever operation was
specified by the TWCR setting.
C Example
TWCR = (1<<TWINT)|(1<<TWSTA)|
while (!(TWCR & (1<<TWINT)))
if ((TWSR & 0xF8) != START)
TWDR = SLA_W;
TWCR = (1<<TWINT) | (1<<TWEN); Load SLA_W into TWDR Register.
while (!(TWCR & (1<<TWINT)))
if ((TWSR & 0xF8) !=
MT_SLA_ACK)
TWDR = DATA;
TWCR = (1<<TWINT) | (1<<TWEN); Load DATA into TWDR Register.
while (!(TWCR & (1<<TWINT)))
if ((TWSR & 0xF8) !=
MT_DATA_ACK)
TWCR = (1<<TWINT)|(1<<TWEN)|
(1<<TWEN)
(1<<TWSTO);
;
ERROR();
;
ERROR();
;
ERROR();
Comments
Send START condition
Wait for TWINT Flag set. This
indicates that the START condition
has been transmitted
Check value of TWI Status
Register. Mask prescaler bits. If
status different from START go to
ERROR
Clear TWINT bit in TWCR to start
transmission of address
Wait for TWINT Flag set. This
indicates that the SLA+W has been
transmitted, and ACK/NACK has
been received.
Check value of TWI Status
Register. Mask prescaler bits. If
status different from MT_SLA_ACK
go to ERROR
Clear TWINT bit in TWCR to start
transmission of data
Wait for TWINT Flag set. This
indicates that the DATA has been
transmitted, and ACK/NACK has
been received.
Check value of TWI Status
Register. Mask prescaler bits. If
status different from
MT_DATA_ACK go to ERROR
Transmit STOP condition
218
Related parts for ATMEGA164PA-MCH
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
![atmega164-20pu](/images/manufacturer_photos/0/0/79/atmel_corporation_tmb.jpg)
Part Number:
Description:
8-bit Microcontroller With 16/32/64k Bytes In-system Programmable Flash - Atmel Corporation
Manufacturer:
ATMEL Corporation
Datasheet:
![ATMEGA164](/images/no-image3.png)
Part Number:
Description:
8-bit Microcontroller with 16/32/64K Bytes In-System Programmable Flash
Manufacturer:
ATMEL [ATMEL Corporation]
Datasheet:
![ATmega16](/images/manufacturer_photos/0/0/79/atmel_corporation_tmb.jpg)
Part Number:
Description:
Manufacturer:
Atmel Corporation
Datasheet:
![ATMEGA16-16AU](/photos/6/70/67042/313-44-tqfp_tmb.jpg)
Part Number:
Description:
IC AVR MCU 16K 16MHZ 5V 44TQFP
Manufacturer:
Atmel
Datasheet:
![ATMEGA16-16MU](/photos/12/13/121316/313-44-qfn_tmb.jpg)
Part Number:
Description:
IC AVR MCU 16K 16MHZ 5V 44-QFN
Manufacturer:
Atmel
Datasheet:
![ATMEGA16-16PU](/photos/6/70/67049/453-40-dip_tmb.jpg)
Part Number:
Description:
IC AVR MCU 16K 16MHZ 5V 40DIP
Manufacturer:
Atmel
Datasheet:
![ATMEGA16-16MQ](/photos/12/13/121316/313-44-qfn_tmb.jpg)
Part Number:
Description:
MCU AVR 16K FLASH 16MHZ 44-QFN
Manufacturer:
Atmel
Datasheet:
![ATMEGA16-16PC](/photos/6/70/67049/453-40-dip_tmb.jpg)
Part Number:
Description:
IC AVR MCU 16K 16MHZ COM 40-DIP
Manufacturer:
Atmel
Datasheet:
![ATMEGA16-16MC](/photos/12/13/121316/313-44-qfn_tmb.jpg)
Part Number:
Description:
IC AVR MCU 16K 16MHZ COM 44-QFN
Manufacturer:
Atmel
Datasheet:
![ATMEGA16-16PI](/photos/6/70/67049/453-40-dip_tmb.jpg)
Part Number:
Description:
IC AVR MCU 16K 16MHZ IND 40-DIP
Manufacturer:
Atmel
Datasheet:
![ATMEGA16-16MI](/photos/12/13/121316/313-44-qfn_tmb.jpg)
Part Number:
Description:
IC AVR MCU 16K 16MHZ IND 44-QFN
Manufacturer:
Atmel
Datasheet:
![ATMEGA16-16AI](/photos/6/70/67042/313-44-tqfp_tmb.jpg)
Part Number:
Description:
IC AVR MCU 16K 16MHZ IND 44-TQFP
Manufacturer:
Atmel
Datasheet:
![ATMEGA16-16AU SL383](/photos/6/70/67042/313-44-tqfp_tmb.jpg)
Part Number:
Description:
IC MCU 8BIT 16KB FLASH 44TQFP
Manufacturer:
Atmel
Datasheet:
![ATMEGA16-16AQ](/photos/6/70/67042/313-44-tqfp_tmb.jpg)
Part Number:
Description:
MCU AVR 16K FLASH 16MHZ 44-TQFP
Manufacturer:
Atmel
Datasheet: