Atmel AVR ATmega103 Manual

Atmel AVR ATmega103 Manual

8-bit microcontroller with 128k bytes in-system programmable flash

Advertisement

Quick Links

Features
®
Utilizes the AVR
RISC Architecture
AVR – High-performance and Low-power RISC Architecture
– 121 Powerful Instructions – Most Single Clock Cycle Execution
– 32 x 8 General-purpose Working Registers + Peripheral Control Registers
– Up to 6 MIPS Throughput at 6 MHz
Data and Nonvolatile Program Memory
– 128K Bytes of In-System Programmable Flash
Endurance: 1,000 Write/Erase Cycles
– 4K Bytes Internal SRAM
– 4K Bytes of In-System Programmable EEPROM
Endurance: 100,000 Write/Erase Cycles
– Programming Lock for Flash Program and EEPROM Data Security
– SPI Interface for In-System Programming
Peripheral Features
– On-chip Analog Comparator
– Programmable Watchdog Timer with On-chip Oscillator
– Programmable Serial UART
– Master/Slave SPI Serial Interface
– Real-time Counter (RTC) with Separate Oscillator
– Two 8-bit Timer/Counters with Separate Prescaler and PWM
– Expanded 16-bit Timer/Counter System with Separate Prescaler, Compare,
Capture Modes and Dual 8-, 9-, or 10-bit PWM
– Programmable Watchdog Timer with On-chip Oscillator
– 8-channel, 10-bit ADC
Special Microcontroller Features
– Low-power Idle, Power-save and Power-down Modes
– Software Selectable Clock Frequency
– External and Internal Interrupt Sources
Specifications
– Low-power, High-speed CMOS Process Technology
– Fully Static Operation
Power Consumption at 4 MHz, 3V, 25°C
– Active: 5.5 mA
– Idle Mode: 1.6 mA
– Power-down Mode: < 1 µA
I/O and Packages
– 32 Programmable I/O Lines, 8 Output Lines, 8 Input Lines
– 64-lead TQFP
Operating Voltages
– 2.7 - 3.6V for ATmega103L
– 4.0 - 5.5V for ATmega103
Speed Grades
– 0 - 4 MHz for ATmega103L
– 0 - 6 MHz for ATmega103
8-bit
Microcontroller
with 128K Bytes
In-System
Programmable
Flash
ATmega103(L)
Rev. 0945G–09/01
1

Advertisement

Table of Contents
loading

Summary of Contents for Atmel AVR ATmega103

  • Page 1 Features ® • Utilizes the AVR RISC Architecture • AVR – High-performance and Low-power RISC Architecture – 121 Powerful Instructions – Most Single Clock Cycle Execution – 32 x 8 General-purpose Working Registers + Peripheral Control Registers – Up to 6 MIPS Throughput at 6 MHz •...
  • Page 2: Pin Configuration

    Pin Configuration TQFP (AD2) PA2 PD7 (T2) (AD1) PA1 PD6 (T1) (AD0) PA0 PD4 (IC1) PD3 (INT3) (ADC7) PF7 PD2 (INT2) (ADC6) PF6 PD1 (INT1) (ADC5) PF5 PD0 (INT0) (ADC4) PF4 XTAL1 (ADC3) PF3 XTAL2 (ADC2) PF2 (ADC1) PF1 (ADC0) PF0 RESET AREF TOSC1...
  • Page 3 By combining an 8-bit RISC CPU with a large array of ISP Flash on a monolithic chip, the Atmel ATmega103(L) is a powerful microcontroller that provides a highly flexible and cost-effective solution to many embedded control applications.
  • Page 4: Block Diagram

    Block Diagram Figure 1. The ATmega103(L) Block Diagram PF0 - PF7 PA0 - PA7 PC0 - PC7 PORTF BUFFERS PORTA DRIVER/BUFFERS PORTC DRIVERS AVCC DATA REGISTER DATA REGISTER DATA DIR. ANALOG MUX PORTC PORTA REG. PORTA 8-BIT DATA BUS AGND XTAL1 AREF INTERNAL...
  • Page 5: Pin Descriptions

    ATmega103(L) Pin Descriptions Supply voltage. Ground. Port A (PA7..PA0) Port A is an 8-bit bi-directional I/O port. Port pins can provide internal pull-up resistors (selected for each bit). The Port A output buffers can sink 20 mA and can drive LED dis- plays directly.
  • Page 6: Clock Options

    TOSC1 Input to the inverting Timer/Counter oscillator amplifier. TOSC2 Output from the inverting Timer/Counter oscillator amplifier. External SRAM write strobe External SRAM read strobe ALE is the Address Latch Enable used when the External Memory is enabled. The ALE strobe is used to latch the low-order address (8 bits) into an address latch during the first access cycle, and the AD0-7 pins are used for data during the second access cycle.
  • Page 7 ATmega103(L) External Clock To drive the device from an external clock source, XTAL2 should be left unconnected while XTAL1 is driven as shown in Figure 3. Figure 3. External Clock Drive Configuration XTAL2 EXTERNAL XTAL1 OSCILLATOR SIGNAL Timer Oscillator For the Timer Oscillator pins, TOSC1 and TOSC2, the crystal is connected directly between the pins.
  • Page 8: Architectural Overview

    Architectural Figure 4. The ATmega103(L) AVR RISC Architecture Overview AVR ATmega103(L) Architecture Data Bus 8-bit Program Status 64K x 16 Counter and Test Program Memory 32 x 8 Instruction General Register Purpose Registers Instruction Peripherals Decoder Control Lines 4K x 8...
  • Page 9: General-Purpose Register File

    ATmega103(L) r a te i nt er r up t v e c to r i n t h e i n te r r u pt v ec t or t a bl e at th e b e gi n ni n g of th e program memory.
  • Page 10: Alu - Arithmetic Logic Unit

    X-register, Y-register and Z- The registers R26..R31 have some added functions to their general-purpose usage. register These registers are address pointers for indirect addressing of the SRAM. The three indirect address registers X, Y, and Z are defined as: Figure 6. X-, Y-, and Z-registers X-register R27 ($1B) R26 ($1A)
  • Page 11 ATmega103(L) Figure 7. Memory Configurations Memory Configuration A Program Memory Data Memory $0000 32 Registers $0000 - $001F 64 I/O Registers $0020 - $005F $0060 Internal SRAM (4000 x 8) $0FFF Program Flash (32K/64K x 16) $7FFF/$FFFF Memory Configuration B Program Memory Data Memory 32 Registers...
  • Page 12: Program And Data Addressing Modes

    The 4096 first data memory locations address both the register file, the I/O memory and the internal data SRAM. The first 96 locations address the register file and I/O memory, and the next 4000 locations address the internal data SRAM. An optional external data SRAM can be used with the ATmega103(L).
  • Page 13 ATmega103(L) Register Direct, Single Figure 8. Direct Single Register Addressing Register Rd REGISTER FILE The operand is contained in register d (Rd). Register Direct, Two Registers Figure 9. Direct Register Addressing, Two Registers Rd and Rr REGISTER FILE Operands are contained in registers r (Rr) and d (Rd). The result is stored in register d (Rd).
  • Page 14 Data Direct Figure 11. Direct Data Addressing Data Space $0000 20 19 Rr/Rd 16 LSBs $FFFF A 16-bit data address is contained in the 16 LSBs of a 2-word instruction. Rd/Rr specify the destination or source register. Data Indirect with Figure 12.
  • Page 15 ATmega103(L) Data Indirect with Pre- Figure 14. Data Indirect Addressing with Pre-decrement decrement Data Space $0000 X-, Y- OR Z-REGISTER $FFFF The X-, Y-, or the Z-register is decremented before the operation. Operand address is the decremented contents of the X-, Y-, or the Z-register. Data Indirect with Post- Figure 15.
  • Page 16 If ELPM is used, LSB of the RAM Page Z register (RAMPZ) is used to select low or high memory page (RAMPZ0 = 0: Low Page, RAMPZ0 = 1: High Page). Direct Program Address, JMP Figure 17. Direct Program Memory Addressing and CALL PROGRAM MEMORY $0000...
  • Page 17: Eeprom Data Memory

    ATmega103(L) Program execution continues at address PC + k + 1. The relative address k is -2048 to 2047. EEPROM Data Memory The EEPROM memory is organized as a separate data space in which single bytes can be read and written. The EEPROM has an endurance of at least 100,000 write/erase cycles.
  • Page 18 The internal data SRAM access is performed in two System Clock cycles as described in Figure 22. Figure 22. On-chip Data SRAM Access Cycles System Clock Ø Address Prev. Address Address Data Data See “Interface to External SRAM” on page 79. for a description of the access to the external SRAM.
  • Page 19 ATmega103(L) Table 2. ATmega103(L) I/O Space (Continued) I/O Address (SRAM Address) Name Function $2D ($4D) TCNT1H Timer/Counter1 High Byte $2C ($4C) TCNT1L Timer/Counter1 Low Byte $2B ($4B) OCR1AH Timer/Counter1 Output Compare Register A High Byte $2A ($4A) OCR1AL Timer/Counter1 Output Compare Register A Low Byte $29 ($49) OCR1BH Timer/Counter1 Output Compare Register B High Byte...
  • Page 20 Table 2. ATmega103(L) I/O Space (Continued) I/O Address (SRAM Address) Name Function $06 ($26) ADCSR ADC Control and Status Register $05 ($25) ADCH ADC Data Register High $04 ($24) ADCL ADC Data Register Low $03 ($23) PORTE Data Register, Port E $02 ($22) DDRE Data Direction Register, Port E...
  • Page 21 ATmega103(L) into T by the BST instruction and a bit in T can be copied into a bit in a register in the register file by the BLD instruction. • Bit 5 – H: Half-carry Flag The half-carry flag H indicates a half-carry in some arithmetic operations. See the instruction set description on page 130 for detailed information.
  • Page 22 RAM Page Z Select Register – RAMPZ $3B ($5B) – – – – – – – RAMPZ0 RAMPZ Read/Write Initial Value The RAMPZ register is normally used to select which 64K RAM page is accessed by the Z pointer. As the ATmega103(L) does not support more than 64K of SRAM memory, this register is used only to select which page in the program memory is accessed when the ELPM instruction is used.
  • Page 23: Reset And Interrupt Handling

    ATmega103(L) • Bits 2..0 – Res: Reserved Bits These bits are reserved bits in the ATmega103(L) and always read as zero. XTAL Divide Control Register The XTAL Divide Control Register is used to divide the XTAL clock frequency by a num- –...
  • Page 24 Table 4. Reset and Interrupt Vectors (Continued) Program Vector No. Address Source Interrupt Definition $000C INT5 External Interrupt Request 5 $000E INT6 External Interrupt Request 6 $0010 INT7 External Interrupt Request 7 $0012 TIMER2 COMP Timer/Counter2 Compare Match $0014 TIMER2 OVF Timer/Counter2 Overflow $0016 TIMER1 CAPT...
  • Page 25 ATmega103(L) $0028 UART_TXC ; UART TX Complete Handler $002A ; ADC Conversion Complete Handler $002C EE_RDY ; EEPROM Ready Handler $002E ANA_COMP ; Analog Comparator Handler $0030 MAIN: r16, high(RAMEND); Main program start $0031 SPH,r16 $0032 r16, low(RAMEND) $0033 SPL,r16 $0034 <instr>...
  • Page 26 Table 5. Reset Characteristics (V = 5.0V) Symbol Parameter Condition Units Power-on Reset Threshold (rising) Power-on Reset Threshold (falling) RESET Pin Threshold Voltage SUT = 00 CPU cycles SUT = 01 Reset Delay Time-out Period TOUT SUT = 10 SUT = 11 12.8 16.0 19.2...
  • Page 27 ATmega103(L) Figure 24. MCU Start-up, RESET Tied to V RESET TOUT TIME-OUT INTERNAL RESET Figure 25. MCU Start-up, RESET Controlled Externally RESET TOUT TIME-OUT INTERNAL RESET External Reset An external reset is generated by a low level on the RESET pin. Reset pulses longer than 50 ns will generate a reset even if the clock is not running.
  • Page 28 Watchdog Reset When the Watchdog times out, it will generate a short reset pulse of 1 XTAL cycle dura- tion. On the falling edge of this pulse, the delay timer starts counting the Time-out period . Refer to page 52 for details on operation of the Watchdog. TOUT Figure 27.
  • Page 29 ATmega103(L) Table 8. Reset Source Identification Reset Source EXTRF PORF Watchdog Reset Power-on Reset External Reset Power-on Reset Interrupt Handling The ATmega103(L) has two dedicated 8-bit Interrupt Mask control registers; EIMSK (External Interrupt Mask register) and TIMSK (Timer/Counter Interrupt Mask register). In addition, other enable and mask bits can be found in the peripheral control registers.
  • Page 30 request even if the pin is enabled as an output. This provides a way of generating a soft- ware interrupt. When enabled, a level-triggered interrupt will generate an interrupt request as long as the pin is held low. External Interrupt Flag Register –...
  • Page 31 ATmega103(L) Timer/Counter Interrupt Mask Register – TIMSK $37 ($57) OCIE2 TOIE2 TICIE1 OCIE1A OCIE1B TOIE1 OCIE0 TOIE0 TIMSK Read/Write Initial Value • Bit 7 – OCIE2: Timer/Counter2 Output Compare Interrupt Enable When the OCIE2 bit is set (one) and the I-bit in the Status Register is set (one), the Timer/Counter2 Compare Match interrupt is enabled.
  • Page 32 Timer/Counter Interrupt Flag Register – TIFR $36 ($56) OCF2 TOV2 ICF1 OCF1A OCF1B TOV1 OCF0 TOV0 TIFR Read/Write Initial Value • Bit 7 – OCF2: Output Compare Flag 2: The OCF2 bit is set (one) when compare match occurs between Timer/Counter2 and the data in OCR2 –...
  • Page 33: Sleep Modes

    ATmega103(L) • Bit 1 – OCF0: Output Compare Flag 0 The OCF0 bit is set (one) when compare match occurs between Timer/Counter0 and the data in OCR0 – Output Compare Register 0. OCF0 is cleared by hardware when executing the corresponding interrupt handling vector. Alternatively, OCF0 is cleared by writing a logical “1”...
  • Page 34 Note that if a level-triggered interrupt is used for wake-up from Power-down mode, the changed level must be held for some time to wake up the MCU. This makes the MCU less sensitive to noise. The changed level is sampled twice by the Watchdog oscillator clock and if the input has the required level during this time, the MCU will wake up.
  • Page 35 ATmega103(L) Timer/Counters The ATmega103(L) provides three general-purpose Timer/Counters – two 8-bit T/Cs and one 16-bit T/C. Timer/Counter0 optionally can be asynchronously clocked from an external oscillator. This oscillator is optimized for use with a 32.768 kHz crystal, enabling use of Timer/Counter0 as a Real-time Clock (RTC). Timer/Counter0 has its own pres- caler.
  • Page 36 The clock source for Timer/Counter0 prescaler is named PCK0. PCK0 is by default con- nected to the main system clock CK. Observe that CPU clock frequency can be lower than the XTAL frequency if the XTAL divider is enabled. By setting the AS0 bit in ASSR, Timer/Counter0 prescaler is asynchronously clocked from the TOSC1 pin.
  • Page 37 ATmega103(L) Figure 31. Timer/Counter2 Block Diagram T/C2 OVER- T/C2 COMPARE FLOW IRQ MATCH IRQ TIMER INT. MASK TIMER INT. FLAG T/C2 CONTROL REGISTER (TIMSK) REGISTER (TIFR) REGISTER (TCCR2) TIMER/COUNTER2 (TCNT2) T/C CLEAR T/C CLK SOURCE CONTROL UP/DOWN LOGIC 8-BIT COMPARATOR OUTPUT COMPARE REGISTER2 (OCR2) The 8-bit Timer/Counter0 can select clock source from PCK0 or prescaled PCK0.
  • Page 38 Timer/Counter0 Control Register – TCCR0 33 ($53) – PWM0 COM01 COM00 CTC0 CS02 CS01 CS00 TCCR0 Read/Write Initial Value Timer/Counter2 Control Register – TCCR2 $25 ($45) – PWM2 COM21 COM20 CTC2 CS22 CS21 CS20 TCCR2 Read/Write Initial Value • Bit 7 – Res: Reserved Bit This bit is a reserved bit in the ATmega103(L) and always reads as zero.
  • Page 39 ATmega103(L) • Bits 2, 1, 0 – CS02, CS01, CS00/CS22, CS21, CS20: Clock Select Bits 2, 1 and 0 The Clock Select2 bits 2, 1 and 0 define the prescaling source of the Timer/Counter. Table 11. Timer/Counter0 Prescale Select CS02 CS01 CS00 Description...
  • Page 40 Both Timer/Counters are realized as up or up/down (in PWM mode) counters with read and write access. If the Timer/Counter is written to and a clock source is selected, it con- tinues counting in the timer clock cycle after it is preset with the written value. Timer/Counter0 Output Compare Register –...
  • Page 41 ATmega103(L) Figure 32. Effects on Unsynchronized OCR Latching Compare Value changes Counter Value Compare Value PWM Output Synchronized OCR Latch Compare Value changes Counter Value Compare Value PWM Output Glitch Unsynchronized OCR Latch During the time between the write and the latch operation, a read from OCR0 or OCR2 will read the contents of the temporary location.
  • Page 42 • Bit 3 – AS0: Asynchronous Timer/Counter0 When set (one), Timer/Counter0 is clocked from the TOSC1 pin. When cleared (zero), Timer/Counter0 is clocked from the internal system clock, CK. When the value of this bit is changed, the contents of TCNT0 might get corrupted. •...
  • Page 43 ATmega103(L) have been transferred to its destination. Each of the three mentioned registers have their individual temporary register, which means that e.g., writing to TCNT0 does not disturb an OCR0 write in progress. To detect that a transfer to the destination register has taken place, an Asynchronous Status Register (ASSR) has been implemented.
  • Page 44 1. Write any value to either of the registers OCR0 or TCCR0 2. Wait for the corresponding Update Busy Flag to be cleared 3. Read TCNT0 Note that OCR0 and TCCR0 are never modified by hardware, and will always read correctly.
  • Page 45 ATmega103(L) Figure 33. Timer/Counter1 Block Diagram T/C1 OVER- T/C1 COMPARE T/C1 COMPARE T/C1 INPUT FLOW IRQ MATCHA IRQ MATCHB IRQ CAPTURE IRQ TIMER INT. MASK TIMER INT. FLAG T/C1 CONTROL T/C1 CONTROL REGISTER (TIMSK) REGISTER (TIFR) REGISTER A (TCCR1A) REGISTER B (TCCR1B) T/C1 INPUT CAPTURE REGISTER (ICR1) CONTROL LOGIC...
  • Page 46 If the Noise Canceler function is enabled, the actual trigger condition for the capture event is monitored over four samples, and all four must be equal to activate the capture flag. Timer/Counter1 Control Register A – TCCR1A $2F ($4F) COM1A1 COM1A0 COM1B1 COM1B0...
  • Page 47 ATmega103(L) Timer/Counter1 Control Register B – TCCR1B $2E ($4E) ICNC1 ICES1 – – CTC1 CS12 CS11 CS10 TCCR1B Read/Write Initial Value • Bit 7 – ICNC1: Input Capture1 Noise Canceler (4 CKs) When the ICNC1 bit is cleared (zero), the Input Capture Trigger Noise Canceler function is disabled.
  • Page 48 The Stop condition provides a Timer Enable/Disable function. The CK down divided modes are scaled directly from the CK CPU clock. If the external pin modes are used for Timer/Counter1, transitions on PD6/(T1) will clock the counter even if the pin is config- ured as an output.
  • Page 49 ATmega103(L) Timer/Counter1 Output Compare Register – OCR1BH and OCR1BL OCR1BH OCR1BL Read/Write Initial Value The Output Compare registers are 16-bit read/write registers. The Timer/Counter1 Output Compare registers contain the data to be continuously com- pared with Timer/Counter1. Actions on compare matches are specified in the Timer/Counter1 Control and Status registers.
  • Page 50 The TEMP register is also used when accessing TCNT1, OCR1A and OCR1B. If the main program and interrupt routines perform access to registers using TEMP, interrupts must be disabled during access from the main program. Timer/Counter1 in PWM Mode When the PWM mode is selected, Timer/Counter1, the Output Compare Register1A (OCR1A) and the Output Compare Register1B (OCR1B) form a dual 8-, 9- or 10-bit, free-running, glitch-free and phase-correct PWM with outputs on the PB5(OC1A) and PB6(OC1B) pins.
  • Page 51 ATmega103(L) Figure 35. Effects on Unsynchronized OCR1 Latching Compare Value changes Counter Value Compare Value PWM Output OC1X Synchronized OCR1X Latch Compare Value changes Counter Value Compare Value PWM Output OC1X Unsynchronized OCR1X Latch Glitch Note: X = A or B During the time between the write and the latch operation, a read from OCR1A or OCR1B will read the contents of the temporary location.
  • Page 52: Watchdog Timer

    Watchdog Timer The Watchdog Timer is clocked from a separate On-chip oscillator. By controlling the Watchdog Timer prescaler, the Watchdog reset interval can be adjusted as shown in Table 21. See characterization data for typical values at other V levels. The WDR (Watchdog Reset) instruction resets the Watchdog Timer.
  • Page 53 ATmega103(L) 1. In the same operation, write a logical “1” to WDTOE and WDE. A logical “1” must be written to WDE even though it is set to one before the disable operation starts. 2. Within the next four clock cycles, write a logical “0” to WDE. This disables the Watchdog.
  • Page 54 EEPROM Read/Write The EEPROM access registers are accessible in the I/O space. Access The write access time is in the range of 2.5 - 4 ms, depending on the V voltages. A self-timing function lets the user software detect when the next byte can be written. A special EEPROM Ready interrupt can be set to trigger when the EEPROM is ready to accept new data.
  • Page 55 ATmega103(L) • Bit 2 – EEMWE: EEPROM Master Write Enable The EEMWE bit determines whether setting EEWE to one causes the EEPROM to be written. When EEMWE is set (one), setting EEWE will write data to the EEPROM at the selected address.
  • Page 56 Prevent EEPROM During periods of low V , the EEPROM data can be corrupted because the supply volt- Corruption age is too low for the CPU and the EEPROM to operate properly. These issues are the same as for board-level systems using the EEPROM and the same design solutions should be applied.
  • Page 57: Serial Peripheral Interface (Spi)

    ATmega103(L) Serial Peripheral The Serial Peripheral Interface (SPI) allows high-speed synchronous data transfer between the ATmega103(L) and peripheral devices or between several AVR devices. Interface – SPI The ATmega103(L) SPI features include the following: • Full-duplex, 3-wire Synchronous Data Transfer •...
  • Page 58 Figure 38. SPI Master-slave Interconnection MASTER SLAVE MISO MISO 8-BIT SHIFT REGISTER 8-BIT SHIFT REGISTER MOSI MOSI CLOCK GENERATOR The system is single-buffered in the transmit direction and double-buffered in the receive direction. This means that characters to be transmitted cannot be written to the SPI Data Register before the entire shift cycle is completed.
  • Page 59: Data Modes

    ATmega103(L) the SS pin is brought high. If the SS pin is brought high during a transmission, the SPI will stop sending and receiving immediately and both data received and data sent must be considered as lost. Data Modes There are four combinations of SCK phase and polarity with respect to serial data that are determined by control bits CPHA and CPOL.
  • Page 60 • Bit 4 – MSTR: Master/Slave Select This bit selects Master SPI mode when set (one), and Slave SPI mode when cleared (zero). If SS is configured as an input and is driven low while MSTR is set, MSTR will be cleared and SPIF in SPSR will become set.
  • Page 61 ATmega103(L) SPI Data Register – SPDR $0F ($2F) SPDR Read/Write Initial Value Undefined The SPI Data Register is a read/write register used for data transfer between the regis- ter file and the SPI Shift Register. Writing to the register initiates data transmission. Reading the register causes the Shift Register Receive buffer to be read.
  • Page 62: Data Transmission

    UART The ATmega103(L) features a full duplex (separate receive and transmit registers) Uni- versal Asynchronous Receiver and Transmitter (UART). The main features are: • Baud Rate Generator that can Generate a large Number of Baud Rates (bps) • High Baud Rates at Low XTAL Frequencies •...
  • Page 63 ATmega103(L) Figure 41. UART Transmitter DATA BUS BAUD x 16 BAUD RATE UART I/O DATA XTAL GENERATOR REGISTER (UDR) STORE UDR SHIFT ENABLE PIN CONTROL LOGIC BAUD 10(11)-BIT TX CONTROL LOGIC SHIFT REGISTER IDLE UART CONTROL UART STATUS REGISTER (UCR) REGISTER (USR) DATA BUS UDRE...
  • Page 64 Data Reception Figure 42. UART Receiver DATA BUS UART I/O DATA REGISTER (UDR) XTAL BAUD X 16 BAUD BAUD RATE GENERATOR STORE UDR PIN CONTROL LOGIC DATA RECOVERY 10(11)-BIT RX LOGIC SHIFT REGISTER UART CONTROL UART STATUS REGISTER (UCR) REGISTER (USR) DATA BUS The receiver front-end logic samples the signal on the RXD pin at a frequency 16 times the baud rate.
  • Page 65 ATmega103(L) Figure 43. Sampling Received Data START BIT STOP BIT RECEIVER SAMPLING When the stop bit enters the receiver, the majority of the three samples must be one to accept the stop bit. If two or more samples are logical “0”s, the Framing Error (FE) flag in the UART Status Register (USR) is set when the received byte is transferred to UDR.
  • Page 66: Uart Control

    UART Control UART I/O Data Register – UDR $0C ($2C) Read/Write Initial Value The UDR register is actually two physically separate registers sharing the same I/O address. When writing to the register, the UART Transmit Data register is written. When reading from UDR, the UART Receive Data register is read.
  • Page 67 ATmega103(L) The FE bit is cleared when the stop bit of received data is one. • Bit 3 – OR: OverRun This bit is set if an overrun condition is detected, i.e., when a character already present in the UDR register is not read before the next character is transferred from the Receiver Shift register.
  • Page 68 Baud Rate Generator The baud rate generator is a frequency divider that generates baud rates according to the following equation: BAUD ------------------------------------- - 16 UBRR • BAUD = baud rate • = CPU clock frequency • UBRR = contents of the UART baud rate register, UBRR (0 - 255) For standard crystal frequencies, the most commonly used baud rates can be generated by using the UBRR settings in Table 24.
  • Page 69 ATmega103(L) Table 24. UBRR Settings at Various CPU Frequencies Baud Rate 1 MHz %Error 1.8432 MHz %Error 2 MHz %Error 2.4576 MHz %Error 2400 UBRR= 0.2 UBRR= 0.0 UBRR= 0.2 UBRR= 4800 UBRR= 0.2 UBRR= 0.0 UBRR= 0.2 UBRR= 9600 UBRR= 7.5 UBRR= 0.0 UBRR= 0.2 UBRR=...
  • Page 70: Analog Comparator

    Analog Comparator The analog comparator compares the input values on the positive input PE2 (AC+) and negative input PE3 (AC-). When the voltage on the positive input PE2 (AC+) is higher than the voltage on the negative input PE3 (AC-), the Analog Comparator Output (ACO) is set (one).
  • Page 71 ATmega103(L) using the SBI or CBI instruction, ACI will be cleared if it has become set before the operation. • Bit 3 – ACIE: Analog Comparator Interrupt Enable When the ACIE bit is set (one) and the I-bit in the Status Register is set (one), the Ana- log Comparator interrupt is activated.
  • Page 72: Analog-To-Digital Converter

    Analog-to-Digital Converter Feature list: • 10-bit Resolution • ±2 LSB Absolute Accuracy • 0.5 LSB Integral Non-linearity • 70 - 280 µs Conversion Time • Up to 14 kSPS • 8 Multiplexed Input Channels • Interrupt on ADC Conversion Complete •...
  • Page 73: Operation

    ATmega103(L) Operation The ADC operates in Single Conversion mode, and each conversion will have to be ini- tiated by the user. The ADC is enabled by writing a logical “1” to the ADC Enable bit, ADEN in ADCSR. The first conversion that is started after enabling the ADC will be preceded by a dummy conversion to initialize the ADC.
  • Page 74 keeps running for as long as the ADEN bit is set and is continuously reset when ADEN is low. When initiating a conversion by setting the ADSC bit in ADCSR, the conversion starts at the following falling edge of the ADC clock cycle. The actual sample-and-hold takes place one ADC clock cycle after the start of the conversion.
  • Page 75: Adc Noise Canceler Function

    ATmega103(L) ADC Noise Canceler The ADC features a noise canceler that enables conversion during idle mode to reduce Function noise induced from the CPU core. To make use of this feature, the following procedure should be used: 1. Turn off the ADC by clearing ADEN. 2.
  • Page 76 • Bit 4 – ADIF: ADC Interrupt Flag This bit is set (one) when an ADC conversion is complete and the result is written to the ADC Data registers are updated. The ADC Conversion Complete interrupt is executed if the ADIE bit and the I-bit in SREG are set (one). ADIF is cleared by hardware when exe- cuting the corresponding interrupt handling vector.
  • Page 77: Adc Noise Canceling Techniques

    ATmega103(L) ADC Noise Canceling Digital circuitry inside and outside the ATmega103(L) generates EMI, which might affect Techniques the accuracy of analog measurements. If conversion accuracy is critical, the noise level can be reduced by applying the following techniques: 1. The analog part of the ATmega103(L) and all analog components in the applica- tion should have a separate analog ground plane on the PCB.
  • Page 78 ADC DC Characteristics TA = -40 ° C to 85 ° C Symbol Parameter Condition Units Resolution Bits Absolute VREF = 4V, V = 4V accuracy ADC clock = 200 kHz Absolute VREF = 4V, V = 4V accuracy ADC clock = 1 MHz Absolute VREF = 4V, V = 4V...
  • Page 79 ATmega103(L) Interface to External The interface to the SRAM consists of: SRAM Port A: multiplexed low-order address bus and data bus Port C: high-order address bus The ALE pin: address latch enable The RD and WR pin: read and write strobes The external data SRAM is enabled by setting the external SRAM enable bit (SRE) of the MCU Control Register (MCUCR) and will override the setting of the data direction register (DDRA).
  • Page 80 Figure 51. External SRAM Access Cycle without Wait States System Clock Ø Address [15..8] Prev. Address Address Data / Address [7..0] Prev. Address Address Data Address Data / Address [7..0] Prev. Address Address Data Address Figure 52. External SRAM Access Cycle with Wait State System Clock Ø...
  • Page 81 ATmega103(L) I/O Ports All AVR ports have true read-modify-write functionality when used as general digital I/O ports. This means that the direction of one port pin can be changed without unintention- ally changing the direction of any other pin with the SBI and CBI instructions. The same applies for changing drive value (if configured as output) or enabling/disabling of pull-up resistors (if configured as input).
  • Page 82 to be cleared (zero) or the pin has to be configured as an output pin. The port pins are tri-stated when a reset condition becomes active, even if the clock is not running. Table 28. DDAn Effects on Port A Pins DDAn PORTAn Pull-up...
  • Page 83 ATmega103(L) inputs and are externally pulled low, they will source current if the internal pull-up resis- tors are activated. The Port B pins with alternate functions are shown in Table 29. Table 29. Port B Pin Alternate Functions Port Pin Alternate Functions SS (SPI Slave Select input) SCK (SPI Bus Serial Clock)
  • Page 84 Table 30. DDBn Effects on Port B Pins DDBn PORTBn Pull-up Comment Input Tri-state (high-Z) Input PBn will source current if ext. pulled low Output Push-pull Zero Output Output Push-pull One Output Note: n: 7,6...0, pin number Alternate Functions of Port B The alternate pin configuration is as follows: •...
  • Page 85 ATmega103(L) • SS – Port B, Bit 0 SS: Slave port select input. When the SPI is enabled as a slave, this pin is configured as an input regardless of the setting of DDB0. As a slave, the SPI is activated when this pin is driven low.
  • Page 86 Figure 55. Port B Schematic Diagram (Pin PB1) Figure 56. Port B Schematic Diagram (Pin PB2) ATmega103(L) 0945G–09/01...
  • Page 87 ATmega103(L) Figure 57. Port B Schematic Diagram (Pin PB3) Figure 58. Port B Schematic Diagram (Pin PB4) PULL- RESET DDB4 RESET PORTB4 COM01 WRITE PORTB WRITE DDRB COM01 READ PORTB LATCH OUTPUT READ PORTB PIN COMP. MATCH 0 MODE SELECT READ DDRB 0945G–09/01...
  • Page 88 Figure 59. Port B Schematic Diagram (Pins PB5 and PB6) PULL- RESET DDBn RESET PORTBn COM1X0 WRITE PORTB WRITE DDRB COM1X1 READ PORTB LATCH OUTPUT READ PORTB PIN COMP. MATCH 1X MODE SELECT READ DDRB 5, 6 A, B Figure 60. Port B Schematic Diagram (Pin PB7) PULL- RESET DDB7...
  • Page 89 ATmega103(L) Port C Port C is an 8-bit output port. The Port C pins have alternate functions related to the optional external data SRAM. When using the device with external SRAM, Port C outputs the high-order address byte during accesses to external data memory. When a reset condition becomes active, the port pins are not tri-stated, but the pins will assume their initial value after two stable clock cycles.
  • Page 90 When the pins are used for the alternate function, the DDRD and PORTD registers have to be set according to the alternate function description. Port D Data Register – PORTD PORTD7 PORTD6 PORTD5 PORTD4 PORTD3 PORTD2 PORTD1 PORTD0 PORTD Read/Write Initial Value Port D Data Direction Register –...
  • Page 91 ATmega103(L) serve this function. See the Timer/Counter1 description on how to operate this function. The internal pull-up MOS resistor can be activated as described above. • T1 – Port D, Bit 6 T1, Timer/Counter1 counter source. See the timer description for further details. •...
  • Page 92 Figure 63. Port D Schematic Diagram (Pin PD4) PULL- RESET DDD4 RESET PORTD4 WRITE PORTD NOISE CANCELER EDGE SELECT ICF1 WRITE DDRD READ PORTD LATCH READ PORTD PIN READ DDRD ICNC1 ICES1 ACIC: COMPARATOR IC ENABLE ACIC ACO: COMPARATOR OUTPUT Figure 64.
  • Page 93 ATmega103(L) Figure 65. Port D Schematic Diagram (Pins PD6 and PD7) PULL- RESET DDDn RESET PORTDn WRITE PORTD TIMERm CLOCK SENSE CONTROL WRITE DDRD SOURCE MUX READ PORTD LATCH READ PORTD PIN READ DDRD 6, 7 1, 2 CSm0 CSm2 CSm1 Port E Port E is an 8-bit bi-directional I/O port with internal pull-up resistors.
  • Page 94 Port E Data Register – PORTE $03 ($23) PORTE7 PORTE6 PORTE5 PORTE4 PORTE3 PORTE2 PORTE1 PORTE0 PORTE Read/Write Initial Value Port E Data Direction Register – DDRE $02 ($22) DDE7 DDE6 DDE5 DDE4 DDE3 DDE2 DDE1 DDE0 DDRE Read/Write Initial Value Port E Input Pins Address –...
  • Page 95 ATmega103(L) • AC+ – Port E, Bit 2 AC+, Analog Comparator Positive Input. This pin is directly connected to the positive input of the analog comparator. • AC- – Port E, Bit 3 AC-, Analog Comparator Negative Input. This pin is directly connected to the negative input of the analog comparator.
  • Page 96 Figure 67. Port E Schematic Diagram (Pin PE1) Figure 68. Port E Schematic Diagram (Pin PE2) PULL- RESET DDE2 RESET PORTE2 TO COMPARATOR WRITE PORTE WRITE DDRE READ PORTE LATCH READ PORTE PIN READ DDRE ATmega103(L) 0945G–09/01...
  • Page 97 ATmega103(L) Figure 69. Port E Schematic Diagram (Pin PE3) PULL- RESET DDE3 RESET PORTE3 TO COMPARATOR WRITE PORTE WRITE DDRE READ PORTE LATCH READ PORTE PIN READ DDRE Figure 70. Port E Schematic Diagram (Pins PE4, PE5, PE6 and PE7) PULL- RESET DDEn...
  • Page 98 Port F Port F is an 8-bit input port. One I/O memory location is allocated for Port F, the Port F Input Pins – PINF, $00 ($20). All Port F pins are connected to the analog multiplexer, which further is connected to the A/D converter.
  • Page 99: Memory Programming

    The status of the Fuse bits is not affected by Chip Erase. Signature Bytes All Atmel microcontrollers have a 3-byte signature code that identifies the device. This code can be read in both serial and parallel mode. The three bytes reside in a separate address space.
  • Page 100: Parallel Programming

    The Flash program memory array on the ATmega103(L) is organized as 512 pages of 256 bytes each. When programming the Flash, the program data is latched into a page buffer. This allows one page of program data to be programmed simultaneously in either programming mode.
  • Page 101 ATmega103(L) Table 37. Pin Name Mapping Signal Name in Programming Mode Pin Name Function 0: Device is busy programming, 1: Device is ready RDY/BSY for new command Output Enable (active low) Write Pulse (active low) Byte Select 1 (“0” selects low byte, “1” selects high byte) XTAL Action Bit 0 XTAL Action Bit 1...
  • Page 102 Enter Programming Mode The following algorithm puts the device in parallel programming mode: 1. Apply supply voltage according to Table 36, between V and GND. 2. Set RESET and BS1 pins to “0” and wait at least 100 ns. 3. Apply 11.5 - 12.5V to RESET. Any activity on BS1 within 100 ns after +12V has been applied to RESET will cause the device to fail entering programming mode.
  • Page 103 ATmega103(L) E: Load Data High Byte. 1. Set BS1 to “1”. This selects high data. 2. Set XA1, XA0 to “01”. This enables data loading. 3. Set DATA = Data high byte ($00 - $FF). 4. Give XTAL1 a positive pulse. This loads the data high byte. F: Latch Data High Byte.
  • Page 104 Figure 74. Programming the Flash Waveforms (Continued) DATA DATA HIGH XTAL1 RDY/BSY RESET +12V PAGEL Programming the EEPROM The programming algorithm for the EEPROM data memory is as follows (refer to “Pro- gramming the Flash” on page 102 for details on command, address and data loading): 1.
  • Page 105 ATmega103(L) Figure 75. Programming the EEPROM Waveforms DATA ADDR. HIGH ADDR. LOW DATA LOW XTAL1 RDY/BSY +12V RESET PAGEL Reading the Flash The algorithm for reading the Flash memory is as follows (refer to “Programming the Flash” on page 102 for details on command and address loading): 1.
  • Page 106 Bit 1 = SUT1 Fuse bit Bit 0 = SUT0 Fuse bit Bit 7, 6, 4, 2 = “1”. These bits are reserved and should be left unprogrammed (“1”). 3. Give WR a wide negative pulse to execute the programming. WLWH_PFB WLWH_PFB is found in Table 41.
  • Page 107: Parallel Programming Characteristics

    ATmega103(L) Parallel Programming Figure 76. Parallel Programming Timing Characteristics XLWL XTAL1 XHXL DVXH XLDX Data & Contol (DATA, XA0/1, BS1) BVXH PLBX BVWL RHBX PAGEL PHPL WLWH PLWL WHRL RDY/BSY WLRH XLOL OHDZ OLDV DATA = 25 ° C ± 10%, V Table 41.
  • Page 108: Serial Downloading

    Serial Downloading Both the Flash and EEPROM memory arrays can be programmed using the serial inter- face while RESET is pulled to GND, or when PEN is low during Power-on Reset. The serial interface consists of pins SCK, RXD/PDI (input) and TXD/PDO (output). After RESET is set low, the Programming Enable instruction needs to be executed first before program/erase instructions can be executed.
  • Page 109 ATmega103(L) As an alternative to using the RESET signal, PEN can be held low during Power- on Reset while SCK is set to “0”. In this case, only the PEN value at Power-on Reset is important. If a crystal is not connected across pins XTAL1 and XTAL2, apply a clock signal to the XTAL1 pin.
  • Page 110 Data polling is not implemented for the Flash. Table 42. Minimum Wait Delay before Writing the Next Flash or EEPROM Location Symbol 3.2V 3.6V 4.0V 5.0V (Note:) 56 ms 43 ms 35 ms 22 ms WD_FLASH 9 ms 7 ms 6 ms 4 ms WD_EEPROM...
  • Page 111 ATmega103(L) Table 44. Serial Programming Instruction Set Instruction Format Instruction Byte 1 Byte 2 Byte 3 Byte 4 Operation Programming Enable Enable serial programming while 1010 1100 0101 0011 xxxx xxxx xxxx xxxx RESET is low. Chip Erase Chip erase EEPROM and Flash. 1010 1100 100x xxxx xxxx xxxx...
  • Page 112 Figure 78. Serial Programming Waveforms SERIAL DATA INPUT PE0(PDI/RXD) SERIAL DATA OUTPUT PE1(PDO/TXD) SERIAL CLOCK INPUT PB1(SCK) SAMPLE ATmega103(L) 0945G–09/01...
  • Page 113 ATmega103(L) Electrical Characteristics Absolute Maximum Ratings* *NOTICE: Stresses beyond those listed under “Absolute Operating Temperature........-40°C to +105°C Maximum Ratings” may cause permanent dam- age to the device. This is a stress rating only and Storage Temperature ........-65°C to +150°C functional operation of the device at these or Voltage on Any Pin except RESET other conditions beyond those indicated in the...
  • Page 114 DC Characteristics (Continued) = -40°C to 85°C, V = 2.7V to 3.6V and 4.0V to 5.5V (unless otherwise noted) Symbol Parameter Condition Units Analog Comp = 5V ACIO Input Offset V Analog Comp = 5V ACLK Input Leakage A Analog Comparator = 2.7V ACPD Propagation Delay...
  • Page 115: External Data Memory Timing

    ATmega103(L) External Data Memory Timing Table 45. External Data Memory Characteristics, 4.0 - 6.0 Volts, No Wait State 6 MHz Oscillator Variable Oscillator Symbol Parameter Unit Oscillator Frequency CLCL ALE Pulse Width 48.3 0.5 t - 35.0 LHLL CLCL Address Valid A to ALE Low 43.3 0.5 t - 40.0...
  • Page 116 Table 47. External Data Memory Characteristics, 2.7 - 3.6 Volts, No Wait State 4 MHz Oscillator Variable Oscillator Symbol Parameter Unit Oscillator Frequency CLCL ALE Pulse Width 65.0 0.5 t - 60.0 LHLL CLCL Address Valid A to ALE Low 75.0 0.5 t - 50.0...
  • Page 117: External Clock Drive Waveforms

    ATmega103(L) Figure 79. External RAM Timing System Clock Ø Address [15..8] Prev. Address Address Data / Address [7..0] Prev. Address Address Data Addr. Data / Address [7..0] Prev. Address Address Data Addr. Note: Clock cycle T3 is only present when external SRAM Wait State is enabled. External Clock Drive Figure 80.
  • Page 118: Typical Characteristics

    Typical The following charts show typical behavior. These figures are not tested during manu- facturing. All current consumption measurements are performed with all I/O pins Characteristics configured as inputs and with internal pull-ups enabled. All pins on Port F are pulled high externally.
  • Page 119 ATmega103(L) Figure 82. Active Supply Current vs. V ACTIVE SUPPLY CURRENT vs. V FREQUENCY = 4 MHz T = 25 ˚ T = 85 ˚ Figure 83. Idle Supply Current vs. Frequency IDLE SUPPLY CURRENT vs. FREQUENCY = 25˚C = 6V = 5.5V = 5V = 4.5V...
  • Page 120 Figure 84. Idle Supply Current vs. V IDLE SUPPLY CURRENT vs. V FREQUENCY = 4 MHz T = 85 ˚ T = 25 ˚ Figure 85. Power-down Supply Current vs. V POWER-DOWN SUPPLY CURRENT vs. V WATCHDOG TIMER DISABLED T = 85 ˚...
  • Page 121 ATmega103(L) Figure 86. Power-down Supply Current vs. V POWER-DOWN SUPPLY CURRENT vs. V WATCHDOG TIMER ENABLED T = 85 ˚ T = 25 ˚ Figure 87. Power-save Supply Current vs. V POWER SAVE SUPPLY CURRENT vs. V WATCHDOG TIMER DISABLED T = 85 ˚...
  • Page 122 Figure 88. Analog Comparator Current vs. V ANALOG COMPARATOR CURRENT vs. V T = 25 ˚ T = 85 ˚ Analog comparator offset voltage is measured as absolute offset. Figure 89. Analog Comparator Offset Voltage vs. Common Mode Voltage ANALOG COMPARATOR OFFSET VOLTAGE vs. COMMON MODE VOLTAGE V = 5V T = 25...
  • Page 123 ATmega103(L) Figure 90. Analog Comparator Offset Voltage vs. Common Mode Voltage ANALOG COMPARATOR OFFSET VOLTAGE vs. COMMON MODE VOLTAGE V = 2.7V T = 25 ˚ T = 85 ˚ Common Mode Voltage (V) Figure 91. Analog Comparator Input Leakage Current ANALOG COMPARATOR INPUT LEAKAGE CURRENT V = 6V T = 25...
  • Page 124 Figure 92. Watchdog Oscillator Frequency vs. V WATCHDOG OSCILLATOR FREQUENCY vs. V 1600 T = 25 ˚ 1400 T = 85 ˚ 1200 1000 V (V) Sink and source capabilities of I/O ports are measured on one pin at a time. Figure 93.
  • Page 125 ATmega103(L) Figure 94. Pull-up Resistor Current vs. Input Voltage PULL-UP RESISTOR CURRENT vs. INPUT VOLTAGE V = 2.7V T = 25 ˚ T = 85 ˚ Figure 95. I/O Pin Sink Current vs. Output Voltage I/O PIN SINK CURRENT vs. OUTPUT VOLTAGE V = 5V T = 25 ˚...
  • Page 126 Figure 96. I/O Pin Source Current vs. Output Voltage I/O PIN SOURCE CURRENT vs. OUTPUT VOLTAGE V = 5V T = 25 ˚ T = 85 ˚ Figure 97. I/O Pin Sink Current vs. Output Voltage I/O PIN SINK CURRENT vs. OUTPUT VOLTAGE V = 2.7V T = 25 ˚...
  • Page 127 ATmega103(L) Figure 98. I/O Pin Source Current vs. Output Voltage I/O PIN SOURCE CURRENT vs. OUTPUT VOLTAGE V = 2.7V T = 25 ˚ T = 85 ˚ Figure 99. I/O Pin Input Threshold Voltage vs. V I/O PIN INPUT THRESHOLD VOLTAGE vs. V T = 25 ˚...
  • Page 128 Figure 100. I/O Pin Input Hysteresis vs. V I/O PIN INPUT HYSTERESIS vs. V T = 25 ˚ 0.18 0.16 0.14 0.12 0.08 0.06 0.04 0.02 ATmega103(L) 0945G–09/01...
  • Page 129: Register Summary

    ATmega103(L) Register Summary Address Name Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Page $3F ($5F) SREG page 20 $3E ($5E) SP15 SP14 SP13 SP12 SP11 SP10 page 21 $3D ($5D) page 21 $3C ($5C) XDIV XDIVEN XDIV6 XDIV5 XDIV4 XDIV3 XDIV2 XDIV1...
  • Page 130: Instruction Set Summary

    Instruction Set Summary Mnemonic Operands Description Operation Flags # Clocks ARITHMETIC AND LOGIC INSTRUCTIONS Rd, Rr Add Two Registers Rd ← Rd + Rr Z,C,N,V,H Rd, Rr Add with Carry Two Registers Rd ← Rd + Rr + C Z,C,N,V,H Rdh:Rdl ←...
  • Page 131 ATmega103(L) Instruction Set Summary (Continued) Mnemonic Operands Description Operation Flags # Clocks Rd ← (X) Rd, X Load Indirect None Rd ← (X), X ← X + 1 Rd, X+ Load Indirect and Post-increment None X ← X - 1, Rd ← (X) Rd, -X Load Indirect and Pre-decrement None...
  • Page 132: Ordering Information

    Ordering Information Speed (MHz) Power Supply Ordering Code Package Operation Range 2.7 - 3.6V ATmega103L-4AC Commercial (0°C to 70°C) ATmega103L-4AI Industrial (-40°C to 85°C) 4.0 - 5.5V ATmega103-6AC Commercial (0°C to 70°C) ATmega103-6AI Industrial (-40°C to 85°C) Package Type 64-lead, Thin (1.0 mm) Plastic Gull Wing Quad Flat Package (TQFP) ATmega103(L) 0945G–09/01...
  • Page 133: Packaging Information

    ATmega103(L) Packaging Information 64-lead, Thin (1.0 mm) Plastic Quad Flat Package (TQFP), 14x14mm body, 2.0mm footprint, 0.8mm pitch. Dimensions in Millimeters and (Inches)* JEDEC STANDARD MS-026 AEB 16.25(0.640) 15.75(0.620) PIN 1 ID PIN 1 0.45(0.018) 0.30(0.012) 0.80(0.0315) BSC 14.10(0.555) 1.20 (0.047) MAX 13.90(0.547) 0.20(0.008) 0˚~7˚...
  • Page 134 No licenses to patents or other intellectual property of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel’s products are not authorized for use as critical components in life support devices or systems.

This manual is also suitable for:

Avr atmega103l

Table of Contents