ATMEGA162-16PC Atmel, ATMEGA162-16PC Datasheet - Page 108

IC MCU AVR 16K 5V 16MHZ 40-DIP

ATMEGA162-16PC

Manufacturer Part Number
ATMEGA162-16PC
Description
IC MCU AVR 16K 5V 16MHZ 40-DIP
Manufacturer
Atmel
Series
AVR® ATmegar
Datasheets

Specifications of ATMEGA162-16PC

Core Processor
AVR
Core Size
8-Bit
Speed
16MHz
Connectivity
EBI/EMI, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Number Of I /o
35
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)
4.5 V ~ 5.5 V
Oscillator Type
Internal
Operating Temperature
0°C ~ 70°C
Package / Case
40-DIP (0.600", 15.24mm)
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
Data Converters
-
108
ATmega162(V/U/L)
Therefore, when both the main code and the interrupt code update the temporary regis-
ter, the main code must disable the interrupts during the 16-bit access.
The following code examples show how to do an atomic read of the TCNTn Register
contents. Reading any of the OCRnA/B or ICRn Registers can be done by using the
same principle.
Note:
The assembly code example returns the TCNTn value in the r17:r16 register pair.
Assembly Code Example
C Code Example
TIM16_ReadTCNTn:
unsigned int TIM16_ReadTCNTn( void )
{
}
; Save Global Interrupt Flag
in
; Disable interrupts
cli
; Read TCNTn into r17:r16
in
in
; Restore Global Interrupt Flag
out SREG,r18
ret
unsigned char sreg;
unsigned int i;
/* Save Global Interrupt Flag */
sreg = SREG;
/* Disable interrupts */
_CLI();
/* Read TCNTn into i */
i = TCNTn;
/* Restore Global Interrupt Flag */
SREG = sreg;
return i;
1. The example code assumes that the part specific header file is included.
For I/O Registers located in extended I/O map, “IN”, “OUT”, “SBIS”, “SBIC”, “CBI”,
and “SBI” instructions must be replaced with instructions that allow access to
extended I/O. Typically “LDS” and “STS” combined with “SBRS”, “SBRC”, “SBR”, and
“CBR”.
r18,SREG
r16,TCNTnL
r17,TCNTnH
(1)
(1)
2513C–AVR–09/02

Related parts for ATMEGA162-16PC