Bộ nhớ dữ liệu : Bộ nhớ dữ liệu của AVR chia làm 2 phần chính là bộ nhớ SRAM và bộ nhớ EEPROM. Tuy cùng là bộ nhớ dữ liệu nhƣng hai bộ nhớ này lại tách biệt nhau và đƣợc đánh địa chỉ riêng.
+ Bộ nhớ SRAM có dung lƣợng 4 K bytes, Bộ nhớ SRAM có hai chế độ hoạt động là chế độ thông thƣờng và chế độ tƣơng thích với Atmega103, muốn thiết lập bộ nhớ SRAM hoạt động theo chế độ nào ta sử dụng bit cầu chì M103C.
Bộ nhớ SRAM ở chế độ bình thƣờng: Ở chế độ bình thƣờng bộ nhớ SRAM đƣợc chia thành 5 phần: Phần đầu là 32 thanh ghi chức năng chung (General Purpose Register ) R0 đến R31 có địa chỉ từ $0000 tới $001F. Phần thứ 2 là không gian nhớ vào ra với 64 thanh ghi vào ra ( I/O Register ) có địa chỉ từ $0020 tới $005F. Phần thứ 3 dùng cho vùng nhớ dành cho các thanh ghi vào ra mở rộng ( Extended I/O Registers ) có địa chỉ từ $0060 tới $00FF. Phần thứ 4 là vùng SRAM nội với 4096 byte có địa chỉ từ $0100 tới $10FF. Phần thứ 5 là vùng nhớ SRAM ngoài ( External SRAM ) bắt đầu từ địa chỉ $1100, vùng SRAM mở rộng này có thể mở rộng lên đến 64 K byte. Khi nói bộ nhớ SRAM có dung lƣợng 4 K byte là nói tới phần thứ 4 ( SRAM nội ). Nếu tính cả các thanh ghi thì bộ nhớ SRAM trong chế độ bình thƣờng sẽ là 4.25 K byte = 4352 byte.
64 thanh ghi vào ra trong vùng nhớ vào ra ( phần số 2 ) có 2 kiểu chọn địa chỉ : Nếu xem chúng là vùng nhớ vào ra thì địa chỉ sẽ là $00 - $3F, khi sử dụng các lệnh in, out … ta phải sử dụng địa chỉ này. Nếu xem chúng nhƣ là một phần của bộ nhớ SRAM thì sẽ có địa chỉ là $0020 - $005F, khi ta dùng các lệnh nhƣ LD, ST… ta phải sử dụng kiểu địa chỉ này.