ATmega16 Atmel Corporation, ATmega16 Datasheet - Page 155

no-image

ATmega16

Manufacturer Part Number
ATmega16
Description
Manufacturer
Atmel Corporation
Datasheets

Specifications of ATmega16

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

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATMEGA16
Manufacturer:
ATMEL
Quantity:
1 000
Part Number:
ATMEGA16
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
ATmega16-16AC
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega16-16AI
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega16-16AI
Manufacturer:
ATMEL
Quantity:
28
Part Number:
ATmega16-16AI
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
ATmega16-16AJ
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega16-16AU
Manufacturer:
ATMEL
Quantity:
537
Part Number:
ATmega16-16AU
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
ATmega16-16AUR
Manufacturer:
Encoders
Quantity:
101
Part Number:
ATmega16-16PC
Manufacturer:
ATM
Quantity:
100
Part Number:
ATmega16-16PI
Manufacturer:
RFMD
Quantity:
101
Part Number:
ATmega16-16PU
Manufacturer:
Atmel
Quantity:
140
Receiving Frames with
9 Databits
2466T–AVR–07/10
If 9 bit characters are used (UCSZ=7) the ninth bit must be read from the RXB8 bit in UCSRB
before reading the low bits from the UDR. This rule applies to the FE, DOR and PE status Flags
as well. Read status from UCSRA, then data from UDR. Reading the UDR I/O location will
change the state of the receive buffer FIFO and consequently the TXB8, FE, DOR and PE bits,
which all are stored in the FIFO, will change.
The following code example shows a simple USART receive function that handles both 9-bit
characters and the status bits.
Note:
Assembly Code Example
C Code Example
USART_Receive:
USART_ReceiveNoError:
unsigned int USART_Receive( void )
{
}
; Wait for data to be received
sbis UCSRA, RXC
rjmp USART_Receive
; Get status and 9th bit, then data from buffer
in
in
in
; If error, return -1
andi r18,(1<<FE)|(1<<DOR)|(1<<PE)
breq USART_ReceiveNoError
ldi
ldi
; Filter the 9th bit, then return
lsr
andi r17, 0x01
ret
unsigned char status, resh, resl;
/* Wait for data to be received */
while ( !(UCSRA & (1<<RXC)) )
/* Get status and 9th bit, then data */
/* from buffer */
status = UCSRA;
resh = UCSRB;
resl = UDR;
/* If error, return -1 */
if ( status & (1<<FE)|(1<<DOR)|(1<<PE) )
/* Filter the 9th bit, then return */
resh = (resh >> 1) & 0x01;
return ((resh << 8) | resl);
1. See “About Code Examples” on page 7.
return -1;
r18, UCSRA
r17, UCSRB
r16, UDR
r17, HIGH(-1)
r16, LOW(-1)
r17
;
(1)
(1)
ATmega16(L)
155

Related parts for ATmega16