ATmega48PA Atmel Corporation, ATmega48PA Datasheet - Page 290

no-image

ATmega48PA

Manufacturer Part Number
ATmega48PA
Description
Manufacturer
Atmel Corporation
Datasheets

Specifications of ATmega48PA

Flash (kbytes)
4 Kbytes
Pin Count
32
Max. Operating Frequency
20 MHz
Cpu
8-bit AVR
# Of Touch Channels
12
Hardware Qtouch Acquisition
No
Max I/o Pins
23
Ext Interrupts
24
Usb Speed
No
Usb Interface
No
Spi
2
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
Yes
Crypto Engine
No
Sram (kbytes)
0.5
Eeprom (bytes)
256
Self Program Memory
NO
Dram Memory
No
Nand Interface
No
Picopower
Yes
Temp. Range (deg C)
-40 to 85
I/o Supply Class
1.8 to 5.5
Operating Voltage (vcc)
1.8 to 5.5
Fpu
No
Mpu / Mmu
no / no
Timers
3
Output Compare Channels
6
Input Capture Channels
1
Pwm Channels
6
32khz Rtc
Yes
Calibrated Rc Oscillator
Yes

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATmega48PA-15AZ
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega48PA-15MT
Manufacturer:
ATMEL
Quantity:
110
Part Number:
ATmega48PA-15MZ
Manufacturer:
ATMEL
Quantity:
3 500
Part Number:
ATmega48PA-AN
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega48PA-ANR
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega48PA-AU
Manufacturer:
MICRON
Quantity:
1 000
Part Number:
ATmega48PA-AU
Manufacturer:
Atmel
Quantity:
900
Part Number:
ATmega48PA-AU
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega48PA-AU
Manufacturer:
ATMEL
Quantity:
8 000
Part Number:
ATmega48PA-AU
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Company:
Part Number:
ATmega48PA-AU
Quantity:
60 000
Part Number:
ATmega48PA-AUR
Manufacturer:
ATMEL
Quantity:
723
Part Number:
ATmega48PA-MMH
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
ATmega48PA-MMHR
Manufacturer:
ATMEL
Quantity:
20 000
27.8.13
8271D–AVR–05/11
Simple Assembly Code Example for a Boot Loader
.equ PAGESIZEB = PAGESIZE*2
.org SMALLBOOTSTART
Write_page:
Wrloop:
Rdloop:
;-the routine writes one page of data from RAM to Flash
; the first data location in RAM is pointed to by the Y pointer
; the first data location in Flash is pointed to by the Z-pointer
;-error handling is not included
;-the routine must be placed inside the Boot space
; (at least the Do_spm sub routine). Only code inside NRWW section can
; be read during Self-Programming (Page Erase and Page Write).
;-registers used: r0, r1, temp1 (r16), temp2 (r17), looplo (r24),
; loophi (r25), spmcrval (r20)
; storing and restoring of registers is not included in the routine
; register usage can be optimized at the expense of code size
;-It is assumed that either the interrupt table is moved to the Boot
; loader section or that the interrupts are disabled.
; Page Erase
ldi
call Do_spm
; re-enable the RWW section
ldi
call Do_spm
; transfer data from RAM to Flash page buffer
ldi
ldi
ld
ld
ldi
call Do_spm
adiw ZH:ZL, 2
sbiw loophi:looplo, 2
brne Wrloop
; execute Page Write
subi ZL, low(PAGESIZEB)
sbci ZH, high(PAGESIZEB)
ldi
call Do_spm
; re-enable the RWW section
ldi
call Do_spm
; read back and check, optional
ldi
ldi
subi YL, low(PAGESIZEB)
sbci YH, high(PAGESIZEB)
lpm
ld
cpse r0, r1
jmp
sbiw loophi:looplo, 1
brne Rdloop
spmcrval, (1<<PGERS) | (1<<SELFPRGEN)
spmcrval, (1<<RWWSRE) | (1<<SELFPRGEN)
looplo, low(PAGESIZEB)
loophi, high(PAGESIZEB)
r0, Y+
r1, Y+
spmcrval, (1<<SELFPRGEN)
spmcrval, (1<<PGWRT) | (1<<SELFPRGEN)
spmcrval, (1<<RWWSRE) | (1<<SELFPRGEN)
looplo, low(PAGESIZEB)
loophi, high(PAGESIZEB)
r0, Z+
r1, Y+
Error
ATmega48A/PA/88A/PA/168A/PA/328/P
;PAGESIZEB is page size in BYTES, not words
;init loop variable
;not required for PAGESIZEB<=256
;use subi for PAGESIZEB<=256
;restore pointer
;not required for PAGESIZEB<=256
;init loop variable
;not required for PAGESIZEB<=256
;restore pointer
;use subi for PAGESIZEB<=256
290

Related parts for ATmega48PA