AVR ,
. .
,
,
,
,
.
,
,
,
,
. .
, 32bit
64bit.
8bit, 16bit,
,
, ,
8MHz
3000
z.
CPU, RAM,
ROM,
, –
,
,
. . , RAM,
,
. ,
.
.
’
, . ’
,
»,
,
CPU, –
,
,
,
RAM,
ROM,
PWM, ,
.
. ,
, AVR
,
Atmel.
AVR ,
pin,
1
128
,
128bytes
8pin 4KB
.
AVR AVR
8bit
Harvard
,
ROM, .
RAM, AVR
USART, SPI, I2C, CAN, USB
EEPROM, ADC, PWM,
.
AVR ,
ROM
’
program or code ROM. H program ROM
1 Flash
256 .
.
AVR
Flash
, . RAM
EEPROM
AVR.
ROM .
, AVR ,
4K data RAM, data RAM
SRAM. .
RAM RAM.
:
registers,
32 registers,
SRAM
memory
internal
memory
internal RAM
.
AVR,
,
EEPROM I/O AVR
. AVR
3
86
–
.
. 100pin
mega1280
ATtiny45
86
6
. AVR
AVR
ADC (analog-to-digital converter),
(timers)
(Universal Synchronous Asynchronous Receiver Transmitter) ADC
USART
.
10bit
ADC
16
. AVR
6 timers
USART
WDT (watchdog timer).
AVR 2
AVR
IC
PC.
SPI buses
USB
CAN bus.
AVR : Mega, Tiny, special purpose. MegaAVR (ATmegaxxx) 120 . 1) 28
100
3)
(Program memory) 4)
TinyAVR (ATtinyxxxx) ,
4
256
2) .
ATmega. . 1) 8
28
(Program memory) 1K
3)
8 bytes 2)
4)
.
(special purpose) AVR , . USB controller, CAN controller, LCD controller, Zigbee, Ethernet controller, FPGA, PWM
.
AVR AVR
:
.
flash . .
ATtiny2313 2
16bits, 32Kbytes
1024
AVR, ATmega32
16
16bits.
1
1000. ,
(interrupt vectors),
$0000.
. . .
,
. AVR.
: 1/
. GPRs (General Purpose
Registers)
AVR. .
R0
R31.
2/
. –
(I/O Memory)
(
)
(I/O registers), AVR
.
SRAM
. –
.
SRAM SRAM
$20 $00
$3
AVR
$3F. (
$5F
register PORTA memory)
64
SRAM
$1 .
.
,
.
3/
SRAM (internal SRAM). AVR.
128bytes (stack)
4Kbytes.
SRAM
.
, .
SRAM. H .
(Stack
pointer)
byte
ATtiny2313, ATmega8535
bytes (
, SPH
SPL). (reset)
.
,
$60. , push)
, (
4/
,
pop)
.
SRAM SRAM. AVR. (
ATmega8515),
SRAM
. 5/
EEPROM EEPROM. AVR
.
EEPROM
$0000.
Kbytes
. .
,
.
EEPROM EEPROM
. 100 000
64 bytes
EEPROM
4