Avr систСма ΠΊΠΎΠΌΠ°Π½Π΄. БистСма ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR: ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСма ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR. Как устроСна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° AVR. КакиС Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² AVR. Π§Π΅ΠΌ отличаСтся систСма ΠΊΠΎΠΌΠ°Π½Π΄ AVR ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ².

БистСма ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹Ρ… срСди 8-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². Она насчитываСт Π΄ΠΎ 133 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… инструкций, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ AVR ΠΎΡ‡Π΅Π½ΡŒ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ устройствами. Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ особСнности систСмы ΠΊΠΎΠΌΠ°Π½Π΄ AVR ΠΈ Π΅Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ характСристики.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

АрхитСктура AVR ΠΈ Π΅Π΅ влияниС Π½Π° систСму ΠΊΠΎΠΌΠ°Π½Π΄

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR ΠΈΠΌΠ΅ΡŽΡ‚ Π³Π°Ρ€Π²Π°Ρ€Π΄ΡΠΊΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, которая ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ физичСскоС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ памяти Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ позволяСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ доступ ΠΊ ΠΎΠ±ΠΎΠΈΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ памяти ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ особСнности Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ AVR, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° систСму ΠΊΠΎΠΌΠ°Π½Π΄:

  • 32 8-разрядных рСгистра ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, связанных Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с АЛУ
  • ΠžΠ΄Π½ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄
  • Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π·Π° 1 Ρ‚Π°ΠΊΡ‚
  • ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡˆΠΈΠ½Ρ‹ для памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ памяти Π΄Π°Π½Π½Ρ‹Ρ…
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ систСма ΠΊΠΎΠΌΠ°Π½Π΄, близкая ΠΊ CISC-Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅

Благодаря этим особСнностям, систСма ΠΊΠΎΠΌΠ°Π½Π΄ AVR позволяСт эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСсурсы ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΈ быстрый ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.


ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄ AVR

БистСма ΠΊΠΎΠΌΠ°Π½Π΄ AVR Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ основныС Π³Ρ€ΡƒΠΏΠΏΡ‹ инструкций:

1. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ…

Π­Ρ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ рСгистрами, рСгистрами ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ констант. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

  • MOV — пСрСсылка ΠΌΠ΅ΠΆΠ΄Ρƒ рСгистрами
  • LD/LDI — Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ· памяти/Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° константы
  • ST — сохранСниС Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ
  • PUSH/POP — Ρ€Π°Π±ΠΎΡ‚Π° со стСком

2. АрифмСтичСскиС ΠΈ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Данная Π³Ρ€ΡƒΠΏΠΏΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для выполнСния матСматичСских ΠΈ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ:

  • ADD/SUB — слоТСниС/Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅
  • AND/OR/EOR — логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
  • INC/DEC — ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚/Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚
  • MUL — ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… модСлях)

3. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ вСтвлСния

Π­Ρ‚ΠΈ инструкции ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Ρ…ΠΎΠ΄ΠΎΠΌ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

  • JMP — бСзусловный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄
  • BREQ/BRNE — условныС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹
  • CALL/RET — Π²Ρ‹Π·ΠΎΠ² ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ
  • RJMP — ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄

4. Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

AVR прСдоставляСт ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности для манипуляций с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ:

  • SBI/CBI — установка/сброс Π±ΠΈΡ‚Π° Π² I/O рСгистрС
  • BST/BLD — Ρ€Π°Π±ΠΎΡ‚Π° с T-Ρ„Π»Π°Π³ΠΎΠΌ
  • LSL/LSR — логичСскиС сдвиги

5. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ управлСния систСмой

Π­Ρ‚Π° Π³Ρ€ΡƒΠΏΠΏΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ инструкции для управлСния Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°:


  • NOP — пустая опСрация
  • SLEEP — ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² Ρ€Π΅ΠΆΠΈΠΌ сна
  • WDR — сброс стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ систСмы ΠΊΠΎΠΌΠ°Π½Π΄ AVR

БистСма ΠΊΠΎΠΌΠ°Π½Π΄ AVR ΠΈΠΌΠ΅Π΅Ρ‚ ряд ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… особСнностСй:

  • Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ 16 Π±ΠΈΡ‚
  • ΠŸΠΎΡ‡Ρ‚ΠΈ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π·Π° 1 ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ Ρ‚Π°ΠΊΡ‚
  • Π¨ΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ
  • НаличиС ΠΊΠΎΠΌΠ°Π½Π΄ для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с 16-Π±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ умноТСния Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… модСлях

Π­Ρ‚ΠΈ особСнности ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ эффСктивный ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ систСмы ΠΊΠΎΠΌΠ°Π½Π΄ AVR с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ

БистСма ΠΊΠΎΠΌΠ°Π½Π΄ AVR ΠΈΠΌΠ΅Π΅Ρ‚ ряд прСимущСств ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ популярными сСмСйствами 8-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²:

  • Π‘ΠΎΠ»Π΅Π΅ развитая систСма ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с PIC (133 ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΈΠ² 75)
  • Π‘ΠΎΠ»Π΅Π΅ быстроС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с MCS-51 (1 Ρ‚Π°ΠΊΡ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ² 12)
  • НаличиС ΠΊΠΎΠΌΠ°Π½Π΄ для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с 16-Π±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ
  • Π¨ΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности ΠΏΠΎ Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌ опСрациям

Благодаря этим прСимущСствам, AVR ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… Π·Π°Ρ‚Ρ€Π°Ρ‚Π°Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.


ВлияниС систСмы ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° энСргопотрСблСниС

БистСма ΠΊΠΎΠΌΠ°Π½Π΄ AVR ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½ΠΎ ΠΈ для сниТСния энСргопотрСблСния. Π­Ρ‚ΠΎ достигаСтся Π·Π° счСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²:

  • БыстроС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ сокращаСт врСмя Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹
  • НаличиС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² Ρ€Π΅ΠΆΠΈΠΌΡ‹ сна
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΡƒΠ·Π»ΠΎΠ² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°
  • ЭффСктивная Ρ€Π°Π±ΠΎΡ‚Π° с Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

Π­Ρ‚ΠΈ особСнности Π΄Π΅Π»Π°ΡŽΡ‚ AVR Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для создания энСргоэффСктивных устройств с Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠ½Ρ‹ΠΌ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ассСмблСрС AVR

Π—Π½Π°Π½ΠΈΠ΅ систСмы ΠΊΠΎΠΌΠ°Π½Π΄ AVR особСнно Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° языкС ассСмблСра. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ прСимущСства использования ассСмблСра для AVR:

  • ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ рСсурсами ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΈ быстрого ΠΊΠΎΠ΄Π°
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования всСх возмоТностСй Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ AVR
  • ЭффСктивная оптимизация ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… участков ΠΊΠΎΠ΄Π°

ΠŸΡ€ΠΈ этом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ассСмблСрС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ систСмы ΠΊΠΎΠΌΠ°Π½Π΄ AVR.


Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

БистСма ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹Ρ… ΠΈ эффСктивных срСди 8-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². Она обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΡΠ½Π΅Ρ€Π³ΠΎΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π“Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ систСмы ΠΊΠΎΠΌΠ°Π½Π΄ AVR позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ максимально ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ возмоТности этих ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ².


Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ассСмблСра AVR

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ систСмС ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR основан Π½Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΎΡ‚ Atmel. Помимо этого сюда Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ большС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ· ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, Π² частности, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для ассСмблСра AVR GCC.

Π§Ρ‚ΠΎΠ±Ρ‹ быстро ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ достаточно ввСсти Π΅Ρ‘ имя. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· списка Π²Π½ΠΈΠ·Ρƒ.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ появлСния вопросов.

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сдвига
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ…
БСзусловныС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹
УсловныС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹
Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ устройством

Команда:

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΏΠΎΠ»Π΅ Π²Ρ‹ΡˆΠ΅

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ΠœΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠ°ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠ€Π»Π°Π³ΠΈ
AND Rd, RrЛогичСскоС «Π˜» Π΄Π²ΡƒΡ… рСгистровRd ← Rd and RrZ, N, V
ANDI Rd, KЛогичСскоС «Π˜ рСгистра ΠΈ константыRd ← Rd and KZ, N, V
EOR Rd, RrΠ˜ΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ «Π˜Π›Π˜» Π΄Π²ΡƒΡ… рСгистровRd ← Rd xor RrZ, N, V
OR Rd, RrЛогичСскоС «Π˜Π›Π˜» Π΄Π²ΡƒΡ… рСгистровRd ← Rd or RrZ, N, V
ORI Rd, KЛогичСскоС «Π˜Π›Π˜» рСгистра ΠΈ константыRd ← Rd or KZ, N, V
COM RdΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄Rd ← 0xFF — RdZ, C, N, V
NEG RdΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄Rd ← 0 — RdZ, C, N, V, H
CLR RdΠžΡ‡ΠΈΡΡ‚ΠΊΠ° рСгистраRd ← Rd xor RdZ, N, V
SER RdУстановка всСх разрядов рСгистраRd ← 0xFFβ€”
TST RdΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° рСгистра Π½Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ (Π½ΡƒΠ»Π΅Π²ΠΎΠ΅) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Rd ← Rd and RdZ, N, V

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

МнСмоникаОписаниС ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠ€Π»Π°Π³ΠΈ
ADD Rd, RrΠ‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… рСгистровRd ← Rd + RrZ, C, N, V, H
ADC Rd, RrΠ‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… рСгистров с пСрСносомRd ← Rd + Rr + Π‘Z, C, N, V, H
SUB Rd, RrΠ’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… рСгистровRd ← Rd — RrZ, C, N, V, H
SBC Rd, RrΠ’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… рСгистров с Π·Π°Ρ‘ΠΌΠΎΠΌRd ← Rd — Rr — Π‘Z, C, N, V, H
ADIW Rd, KΠ‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ рСгистровой ΠΏΠ°Ρ€Ρ‹ с константойR(d+1):Rd ← R(d+1):Rd + KZ, C, N, V, S
SBIW Rd, KΠ’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ константы ΠΈΠ· рСгистровой ΠΏΠ°Ρ€Ρ‹R(d+1):Rdl ← R(d+1):Rd — KZ, C, N, V, S
SUBI Rd, KΠ’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ константы ΠΈΠ· рСгистраRd ← Rd — KZ, C, N, V, H
SBCI Rd, KΠ’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ константы ΠΈΠ· рСгистра с Π·Π°Ρ‘ΠΌΠΎΠΌRd ← Rd — K — Π‘Z, C, N, V, H
INC RdΠ˜Π½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ рСгистраRd ← Rd + 1Z, N, V
DEC RdΠ”Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ рСгистраRd ← Rd – 1Z, N, V
MUL Rd, RrΠ£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ чисСл Π±Π΅Π· Π·Π½Π°ΠΊΠ°R1:R0 ← Rd * RrZ, C
MULS Rd, RrΠ£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ чисСл со Π·Π½Π°ΠΊΠΎΠΌR1:R0 ← Rd * RrZ, C
MULSU Rd, RrΠ£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ числа со Π·Π½Π°ΠΊΠΎΠΌ с числом Π±Π΅Π· Π·Π½Π°ΠΊΠ°R1:R0 ← Rd * RrZ, C
FMUL Rd, RrΠ£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… чисСл Π±Π΅Π· Π·Π½Π°ΠΊΠ°R1:R0 ← (Rd * Rr) << 1Z, C
FMULS Rd, RrΠ£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… чисСл со Π·Π½Π°ΠΊΠΎΠΌR1:R0 ← (Rd * Rr) << 1Z, C
FMULSU Rd, RrΠ£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ числа со Π·Π½Π°ΠΊΠΎΠΌ с числом Π±Π΅Π· Π·Π½Π°ΠΊΠ°R1:R0 ← (Rd * Rr) << 1Z, C

Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ΠœΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠ°ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠ€Π»Π°Π³ΠΈ
CBR Rd, KΠžΡ‡ΠΈΡΡ‚ΠΊΠ° разрядов рСгистраRd ← Rd and (0FFH – K)Z, N, V
SBR Rd, KУстановка разрядов рСгистраRd ← Rd or KZ, N, V
CBI P, bБброс разряда I/O-рСгистраP. b ← 0β€”
SBI P, bУстановка разряда I/O-рСгистраP.b ← 1β€”
BCLR sБброс Ρ„Π»Π°Π³Π° SREGSREG.s ← 0SREG.s
BSET sУстановка Ρ„Π»Π°Π³Π° SREGSREG.s ← 1SREG.s
BLD Rd, b
Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° разряда рСгистра ΠΈΠ· Ρ„Π»Π°Π³Π° T
Rd.b ← Tβ€”
BST Rr, bΠ—Π°ΠΏΠΈΡΡŒ разряда рСгистра Π²ΠΎ Ρ„Π»Π°Π³ TT ← Rd.bT
CLCБброс Ρ„Π»Π°Π³Π° пСрСносаC ← 0C
SECУстановка Ρ„Π»Π°Π³Π° пСрСносаC ← 1C
CLNБброс Ρ„Π»Π°Π³Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числаN ← 0N
SENУстановка Ρ„Π»Π°Π³Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числаN ← 1N
CLZБброс Ρ„Π»Π°Π³Π° нуляZ ← 0Z
SEZУстановка Ρ„Π»Π°Π³Π° нуляZ ← 1Z
CLIΠžΠ±Ρ‰ΠΈΠΉ Π·Π°ΠΏΡ€Π΅Ρ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉI ← 0I
SEIΠžΠ±Ρ‰Π΅Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉI ← 1I
CLSБброс Ρ„Π»Π°Π³Π° Π·Π½Π°ΠΊΠ°S ← 0S
SESУстановка Ρ„Π»Π°Π³Π° Π·Π½Π°ΠΊΠ°S ← 1S
CLVБброс Ρ„Π»Π°Π³Π° пСрСполнСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°V ← 0V
SEVУстановка Ρ„Π»Π°Π³Π° пСрСполнСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°V ← 1V
CLTБброс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ„Π»Π°Π³Π° TT ← 0T
SETУстановка ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ„Π»Π°Π³Π° TT ← 1T
CLHБброс Ρ„Π»Π°Π³Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π½ΠΎΠ³ΠΎ пСрСносаH ← 0H
SEHУстановка Ρ„Π»Π°Π³Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π½ΠΎΠ³ΠΎ пСрСносаH ← 1H

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния

ΠœΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠ°ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠ€Π»Π°Π³ΠΈ
CP Rd, RrΠ‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… рСгистровЕсли (Rd – Rr)Z, N, V, C, H
CPC Rd, RrΠ‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ рСгистров с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ пСрСносаЕсли (Rd – Rr — C)Z, N, V, C, H
CPI Rd, KΠ‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ рСгистра с константойЕсли (Rd – K)Z, N, V, C, H
CPSE Rd, RrΠ‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ рСгистров ΠΈ пропуск ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ссли ΠΎΠ½ΠΈ равныЕсли (Rd = Rr) PC ← PC + 2 (ΠΈΠ»ΠΈ 3)β€”

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сдвига

ΠœΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠ°ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠ€Π»Π°Π³ΠΈ
ASR RdАрифмСтичСский сдвиг Π²ΠΏΡ€Π°Π²ΠΎRd(i) ← Rd(i+1) (n=0. .6), C ← Rd(0)Z, C, N, V
LSL RdЛогичСский сдвиг Π²Π»Π΅Π²ΠΎRd(i+1) ← Rd(i), Rd(0) ← 0, C ← Rd(7)Z, C, N, V
LSR RdЛогичСский сдвиг Π²ΠΏΡ€Π°Π²ΠΎRd(i) ← Rd(i+1), Rd(7) ← 0, C ← Rd(0)Z, C, N, V
ROL RdΠ‘Π΄Π²ΠΈΠ³ Π²Π»Π΅Π²ΠΎ Ρ‡Π΅Ρ€Π΅Π· пСрСносRd(i+1) ← Rd(i), Rd(0) ← C, C ← Rd(7)Z, C, N, V
ROR RdΠ‘Π΄Π²ΠΈΠ³ Π²ΠΏΡ€Π°Π²ΠΎ Ρ‡Π΅Ρ€Π΅Π· пСрСносRd(i) ← Rd(i+1), Rd(7) ← C, C ← Rd(0)Z, C, N, V
SWAP RdОбмСн мСстами Ρ‚Π΅Ρ‚Ρ€Π°Π΄Rd(3..0) ↔ Rd(7..4)β€”

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ…

ΠœΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠ°ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠ€Π»Π°Π³ΠΈ
MOV Rd, RrΠŸΠ΅Ρ€Π΅ΡΡ‹Π»ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ рСгистрамиRd ← Rrβ€”
MOVW Rd, RrΠŸΠ΅Ρ€Π΅ΡΡ‹Π»ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠΈ рСгистровR(d +1):Rd ← R(r+1):Rrβ€”
LDI Rd, KΠ—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° константы Π² рСгистрRd ← Kβ€”
LD Rd, XКосвСнноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Rd ← [X]β€”
LD Rd, X+КосвСнноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ с пост-ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌRd ← [X], X ← X + 1β€”
LD Rd, -XКосвСнноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ с ΠΏΡ€Π΅Π΄-Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌX ← X — 1, Rd ← [X]β€”
LD Rd, YКосвСнноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Rd ← [Y]β€”
LD Rd, Y+КосвСнноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ с пост-ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌRd ← [Y], Y ← Y + 1β€”
LD Rd, -YКосвСнноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ с ΠΏΡ€Π΅Π΄-Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌY ← Y — 1, Rd ← [Y]β€”
LDD Rd, Y+qКосвСнноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ со смСщСниСмRd ← [Y+q]β€”
LD Rd, ZКосвСнноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Rd ← [Z]β€”
LD Rd, Z+КосвСнноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ с пост-ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌRd ← [Z], Z ← Z + 1β€”
LD Rd, -ZКосвСнноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ с ΠΏΡ€Π΅Π΄-Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌZ ← Z — 1, Rd ← [Z]β€”
LDD Rd, Z+qКосвСнноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ со смСщСниСмRd ← [Z+q]β€”
LDS Rd, AНСпосрСдствСнноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠžΠ—Π£Rd ← [A]β€”
ST X, RrКосвСнная запись[X] ← Rrβ€”
ST X+, RrКосвСнная запись с пост-ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ[X] ← Rr, X ← X + 1β€”
ST -X, RrКосвСнная запись с ΠΏΡ€Π΅Π΄-Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌX ← X — 1, [X] ← Rrβ€”
ST Y, RrКосвСнная запись[Y] ← Rrβ€”
ST Y+, RrКосвСнная запись с пост-ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ[Y] ← Rr, Y ← Y + 1β€”
ST -Y, RrКосвСнная запись с ΠΏΡ€Π΅Π΄-Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌY ← Y — 1, [Y] ← Rrβ€”
STD Y+q, RrКосвСнная запись со смСщСниСм[Y+q] ← Rrβ€”
ST Z, RrКосвСнная запись[Z] ← Rrβ€”
ST Z+, RrКосвСнная запись с пост-ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ[Z] ← Rr, Z ← Z + 1β€”
ST -Z, RrКосвСнная запись с ΠΏΡ€Π΅Π΄-Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌZ ← Z — 1, [Z] ← Rrβ€”
STD Z+q, RrКосвСнная запись со смСщСниСм[Z+q] ← Rrβ€”
STS A, RrНСпосрСдствСнная запись Π² ΠžΠ—Π£[A] ← Rrβ€”
LPMΠ—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹R0 ← {Z}β€”
LPM Rd, ZΠ—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² рСгистрRd ← {Z}β€”
LPM Rd, Z+Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с пост-ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ ZRd ← {Z}, Z ← Z + 1β€”
ELPMΠ Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹R0 ← {RAMPZ:Z}β€”
ELPM Rd, ZΠ Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² рСгистрRd ← {RAMPZ:Z}β€”
ELPM Rd, Z+Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с пост-ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ ZRd ← {RAMPZ:Z}, Z ← Z + 1β€”
SPMΠ—Π°ΠΏΠΈΡΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ{Z} ← R1:R0β€”
IN Rd, PΠŸΠ΅Ρ€Π΅ΡΡ‹Π»ΠΊΠ° ΠΈΠ· I/O-рСгистра Π² рСгистрRd ← Pβ€”
OUT P, RrΠŸΠ΅Ρ€Π΅ΡΡ‹Π»ΠΊΠ° ΠΈΠ· рСгистра Π² I/O-рСгистрP ← Rrβ€”
PUSH RrΠ‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ рСгистра Π² стСкСSTACK ← Rrβ€”
POP RdΠ˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ рСгистра ΠΈΠ· стСкаRd ← STACKβ€”

БСзусловныС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹

ΠœΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠ°ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠ€Π»Π°Π³ΠΈ
RJMP AΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ бСзусловный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄PC ← PC + A + 1β€”
JMP AΠ”Π»ΠΈΠ½Π½Ρ‹ΠΉ бСзусловный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄PC ← Aβ€”
IJMPНСпрямой бСзусловный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄PC ← Zβ€”
EIJMPΠ Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ нСпрямой бСзусловный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄PC ← Z:EINDβ€”
RCALL AΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹PC ← PC + A + 1β€”
CALL AΠ”Π»ΠΈΠ½Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹PC ← Aβ€”
ICALLНСпрямой Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹PC ← Zβ€”
EICALLΠ Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ нСпрямой Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹PC ← Z:EINDβ€”
RETΠ’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹PC ← STACKβ€”
RETIΠ’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉPC ← STACKI

УсловныС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹

ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ этой Π³Ρ€ΡƒΠΏΠΏΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ (PC ← PC + A + 1) ΠΏΡ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… условиях.

МнСмоникаОписаниСУсловиСЀлаги
BRBC s, AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли Ρ„Π»Π°Π³ S ΡΠ±Ρ€ΠΎΡˆΠ΅Π½Π•ΡΠ»ΠΈ SREG(S) = 0β€”
BRBS s, AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли Ρ„Π»Π°Π³ S установлСнЕсли SREG(S) = 1β€”
BRCS AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ пСрСносуЕсли C = 1β€”
BRCC AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли Π½Π΅Ρ‚ пСрСносаЕсли C = 0β€”
BREQ AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли равноЕсли Z = 1β€”
BRNE AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли Π½Π΅ равноЕсли Z = 0β€”
BRSH AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли большС ΠΈΠ»ΠΈ равноЕсли C = 0β€”
BRLO AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли ΠΌΠ΅Π½ΡŒΡˆΠ΅Π•ΡΠ»ΠΈ C = 1β€”
BRMI AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ значСниСЕсли N = 1β€”
BRPL AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ значСниСЕсли N = 0β€”
BRGE AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ (со Π·Π½Π°ΠΊΠΎΠΌ)Если (N ΠΈ V) = 0β€”
BRLT AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли мСньшС (со Π·Π½Π°ΠΊΠΎΠΌ)Если (N ΠΈΠ»ΠΈ V) = 1β€”
BRHS AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π½ΠΎΠΌΡƒ пСрСносуЕсли H = 1β€”
BRHC AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли Π½Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π½ΠΎΠ³ΠΎ пСрСносаЕсли H = 0β€”
BRTS AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли Ρ„Π»Π°Π³ T установлСнЕсли T = 1β€”
BRTC AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли Ρ„Π»Π°Π³ T ΡΠ±Ρ€ΠΎΡˆΠ΅Π½Π•ΡΠ»ΠΈ T = 0β€”
BRVS AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ кодаЕсли V = 1β€”
BRVC AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли Π½Π΅Ρ‚ пСрСполнСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ кодаЕсли V = 0β€”
BRID AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли прСрывания запрСщСныЕсли I = 0β€”
BRIE AΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли прСрывания Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹Π•ΡΠ»ΠΈ I = 1β€”
SBRC Rd, KΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ссли Π±ΠΈΡ‚ Π² рСгистрС очищСнЕсли Rd[K] = 0β€”
SBRS Rd, KΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ссли Π±ΠΈΡ‚ Π² рСгистрС установлСнЕсли Rd[K] = 1β€”
SBIC A, bΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ссли Π±ΠΈΡ‚ Π² рСгистрС Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° очищСнЕсли I/O(A, b) = 0β€”
SBIS A, bΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ссли Π±ΠΈΡ‚ Π² рСгистрС Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° установлСнЕсли I/O(A, b) = 1β€”

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ устройством

ΠœΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠ°ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠ€Π»Π°Π³ΠΈ
NOPНСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈβ€”β€”
SLEEPΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² «ΡΠΏΡΡ‰ΠΈΠΉ» Ρ€Π΅ΠΆΠΈΠΌβ€”β€”
WDRБброс стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°β€”β€”
BREAKΠŸΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ)β€”β€”

ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅, систСма ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° МК AVR (ЛСкция) | МК


МК

Β 

ΠŸΠ›ΠΠ Π›Π•ΠšΠ¦Π˜Π˜

1. Π Π΅ΠΆΠΈΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ энСргопотрСблСния

2. БистСма ΠΊΠΎΠΌΠ°Π½Π΄ AVR

3. АрхитСктура ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR

Β 

1. Π Π΅ΠΆΠΈΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ энСргопотрСблСния

AVRΒ  ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡˆΠ΅ΡΡ‚ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ энСргопотрСблСния.

  • Π Π΅ΠΆΠΈΠΌ холостого Ρ…ΠΎΠ΄Π° (IDLE), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ процСссор ΠΈ фиксируСтся содСрТимоС памяти Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ синхросигналов, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹, систСма ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΈ WATCHDOG-Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
  • Π Π΅ΠΆΠΈΠΌ микропотрСблСния (Power Down), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сохраняСтся содСрТимоС рСгистрового Ρ„Π°ΠΉΠ»Π°, Π½ΠΎ останавливаСтся Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ синхросигналов. Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Power Down Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π»ΠΈΠ±ΠΎ ΠΏΠΎ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ сбросу ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Π»ΠΈΠ±ΠΎ ΠΏΠΎ сигналу (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ) ΠΎΡ‚ внСшнСго источника прСрывания. ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ WATCHDOG-Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠΊ потрСблСния Π² этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ составляСт ΠΎΠΊΠΎΠ»ΠΎ 60. ..80 мкА, Π° ΠΏΡ€ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ — ΠΌΠ΅Π½Π΅Π΅ 1 мкА для всСх Ρ‚ΠΈΠΏΠΎΠ² AVR. Π’Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ значСния справСдливы для Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΏΠΈΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ напряТСния 5 Π’.
  • Π Π΅ΠΆΠΈΠΌ сохранСния энСргии (Power Save), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ Ρ‚Π΅Ρ… AVR, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π² своСм составС систСму Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ основном, Ρ€Π΅ΠΆΠΈΠΌ Power Save ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ Power Down, Π½ΠΎ здСсь допускаСтся нСзависимая Ρ€Π°Π±ΠΎΡ‚Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°/счСтчика RTC. Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠ° Power Save Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΏΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ, Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠΌΡƒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°/счСтчика RTC, ΠΈΠ»ΠΈ срабатываниСм Π±Π»ΠΎΠΊΠ° сравнСния этого счСтчика. Π’ΠΎΠΊ потрСблСния Π² этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ составляСт 6…10 мкА ΠΏΡ€ΠΈ напряТСнии питания 5 Π’ Π½Π° частотС 32,768 ΠΊΠ“Ρ†.
  • Π Π΅ΠΆΠΈΠΌ подавлСния ΡˆΡƒΠΌΠ° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прСобразоватСля (ADC Noise Reduction). Как ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, Π² этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ останавливаСтся процСссорноС ядро, Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° АЦП, Π΄Π²ΡƒΡ…ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ интСрфСйса I2C ΠΈ стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°.
  • Основной Ρ€Π΅ΠΆΠΈΠΌ оТидания (Standby). Π˜Π΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌΡƒ Power Down, Π½ΠΎ здСсь Ρ€Π°Π±ΠΎΡ‚Π° Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π½Π΅ прСкращаСтся. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ быстрый Π²Ρ‹Ρ…ΠΎΠ΄ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠ° оТидания всСго Π·Π° 6 Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.
  • Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ оТидания (Extended Standby). Π˜Π΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌΡƒ Power Save, Π½ΠΎ здСсь Ρ€Π°Π±ΠΎΡ‚Π° Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ‚ΠΎΠΆΠ΅ Π½Π΅ прСкращаСтся. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ быстрый Π²Ρ‹Ρ…ΠΎΠ΄ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠ° оТидания всСго Π·Π° 6 Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR mega64, mega103 ΠΈ mega128 ΠΈΠΌΠ΅ΡŽΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΡƒΡŽ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ энСргопотрСблСниС всСго кристалла Π² Ρ†Π΅Π»ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΡƒΠ·Ρ‹ оТидания. Π’ этом случаС цСлСсообразно ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊ потрСблСния Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств ΠΊΠ°ΠΊ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Ρ‚Π°ΠΊ ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ холостого Ρ…ΠΎΠ΄Π°, ΠΏΠΎΠ½ΠΈΠ·ΠΈΠ² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΡƒΡŽ частоту ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Для этой Ρ†Π΅Π»ΠΈ Π½Π° кристаллС Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΡƒΡŽ частоту Π½Π° Ρ†Π΅Π»ΠΎΠ΅ число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 2 Π΄ΠΎ 129. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ осущСствляСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

AVR Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΏΠΈΡ‚Π°ΡŽΡ‰ΠΈΡ… напряТСний ΠΎΡ‚ 1,8 Π΄ΠΎ 6,0 Π’ΠΎΠ»ΡŒΡ‚. Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR — коммСрчСский (0Π‘…70Π‘) ΠΈ ΠΈΠ½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ (-40Π‘…+85Π‘). К соТалСнию, корпорация Atmel Π½Π΅ выпускаСт ΠΈ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ AVR для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΠΌ (-40Π‘…+125Π‘) ΠΈ Π²ΠΎΠ΅Π½Π½ΠΎΠΌ (-55Π‘…+125Π‘) Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹Ρ… Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°Ρ….


Рис. 2.Β  Бтруктурная схСма AVR

Β 

Β Β Β Β Β Β Β Β Β Β Β  Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программиста AVR прСдставляСт собой 8-разрядный RISC ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ быстрый Гарвардский процСссор, ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΡ€Ρ‚Ρ‹ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ интСрфСйсныС схСмы. Бтруктурная схСма ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° рис. 2. Гарвардская Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° AVR Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠ΅ логичСскоС ΠΈ физичСскоС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ адрСсных пространств, Π½ΠΎ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… шин для обращСния ΠΊ памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΊ памяти Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ способы адрСсации ΠΈ доступа ΠΊ этим массивам памяти Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹. ПодобноС построСниС ΡƒΠΆΠ΅ Π±Π»ΠΈΠΆΠ΅ ΠΊ структурС Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Ρ… процСссоров ΠΈ обСспСчиваСт сущСствСнноС ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ процСссор Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΊ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚Π°ΠΊ ΠΈ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ…; Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΡˆΠΈΠ½Ρ‹ памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° Π΄ΠΎ 16 Π±ΠΈΡ‚.Β Β Β  Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π½Π° ΠΏΡƒΡ‚ΠΈ увСличСния быстродСйствия AVR являСтся использованиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, вслСдствиС Ρ‡Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ» «Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° — исполнСниС» ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ сокращСн. НапримСр, Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² сСмСйства MCS51 короткая ΠΊΠΎΠΌΠ°Π½Π΄Π° выполняСтся Π·Π° 12 Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° (1 ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ»), Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ процСссор ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ считываСт ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ исполняСт Π΅Π΅. Π’ PIC-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… Ρ„ΠΈΡ€ΠΌΡ‹ Microchip, Π³Π΄Π΅ ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€, короткая ΠΊΠΎΠΌΠ°Π½Π΄Π° выполняСтся Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 8 ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠ² Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты (2 ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π°). Π—Π° это врСмя ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΈ считываСтся ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, исполняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π°, фиксируСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ считываСтся ΠΊΠΎΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (ΠΎΠ΄Π½ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠ΄Π½Π° короткая ΠΊΠΎΠΌΠ°Π½Π΄Π° рСализуСтся Π·Π° 4 ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты ΠΈΠ»ΠΈ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ».

Β Β Β Β Β Β Β Β Β Β Β  Π’ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… AVR Ρ‚ΠΎΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄Π½ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ короткая ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ выполняСтся, ΠΊΠ°ΠΊ ΠΈ Π² PIC-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ…, Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ». Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΆΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ этот Ρ†ΠΈΠΊΠ» Ρƒ AVR составляСт всСго ΠΎΠ΄ΠΈΠ½ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты. Для сравнСния, Π½Π° рис. 3 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

Β 

2. БистСма ΠΊΠΎΠΌΠ°Π½Π΄ AVR

БистСма ΠΊΠΎΠΌΠ°Π½Π΄ AVR вСсьма Ρ€Π°Π·Π²ΠΈΡ‚Π° ΠΈ насчитываСт Π΄ΠΎ 133 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… инструкций. ΠŸΠΎΡ‡Ρ‚ΠΈ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ Π² ΠΎΠ΄Π½ΠΎ слово (16 Π±ΠΈΡ‚), Ρ‡Ρ‚ΠΎ позволяСт Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈ ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄(Ρ‹). Π›ΠΈΡˆΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² 2 слова (32 Π±ΠΈΡ‚) ΠΈ относятся ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ CALL, Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… всСго адрСсного пространства JMP, Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ RET ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ LPM.

Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ ΠΏΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏ ΠΊΠΎΠΌΠ°Π½Π΄ AVR: условного вСтвлСния, бСзусловного вСтвлСния, арифмСтичСскиС ΠΈ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΈΡ‚Π°ΠΌΠΈ. Π’ послСдних вСрсиях кристаллов AVR сСмСйства «mega» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° функция Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ умноТСния, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΄Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ Π΅Ρ‰Π΅ большС ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Β 

3. АрхитСктура ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR

Π€Π°ΠΉΠ» рСгистров быстрого доступа, содСрТит 32 8-разрядных Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… рСгистра ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния связанных нСпосрСдствСнно с ALU. Π—Π° ΠΎΠ΄ΠΈΠ½ Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΈΠ· Ρ„Π°ΠΉΠ»Π° рСгистров Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π΄Π²Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°, выполняСтся опСрация ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вновь возвращаСтся Π² Ρ„Π°ΠΉΠ» рСгистров.

Π¨Π΅ΡΡ‚ΡŒ ΠΈΠ· 32 рСгистров ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ Ρ‚Ρ€ΠΈ 16-разрядных рСгистра указатСля косвСнной адрСсации адрСсного пространства Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ эффСктивноС вычислСниС адрСсов. Один ΠΈΠ· этих ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ адрСса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ адрСса для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ просмотра Ρ‚Π°Π±Π»ΠΈΡ†. Π­Ρ‚ΠΈ 16-разрядныС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСгистры ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ X-рСгистр, Y-рСгистр ΠΈ Z-рСгистр.

ALU ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ арифмСтичСскиС ΠΈ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ рСгистрами ΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ константой ΠΈ рСгистром. Π’Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ALU ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ рСгистрами.

На рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½Π° AVR Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ RISC Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ATmega603/103.

Β 

Β 

Рис. 5. Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ RISC Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ATmega603/103

Β 

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ опСрациям с рСгистрами, рСгистровый Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ адрСсации памяти. Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» рСгистров располагаСтся ΠΏΠΎ 32 самыми младшими адрСсами пространства Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΊ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ячСйкам памяти.

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ памяти I/O содСрТит 64 адрСса ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ CPU Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ: рСгистры управлСния, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹/счСтчики, Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ I/O Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. К памяти I/O ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ нСпосрСдствСнно ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΊ ячСйкам пространства памяти ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ адрСсам рСгистра Ρ„Π°ΠΉΠ»ΠΎΠ² $20 — $5F.

Π’ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… AVR ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Гарвардской Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ — ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΡˆΠΈΠ½Ρ‹ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄Π½ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ — Π² Ρ‚ΠΎ врСмя, ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° выполняСтся, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° выбираСтся ΠΈΠ· памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π’Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΈΠ΅ΠΌ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅. ΠŸΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ являСтся внутрисистСмно программируСмая Flash ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π—Π° ΠΌΠ°Π»Ρ‹ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ AVR ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ 16-разрядного слова, Π² связи с Ρ‡Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ адрСс памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ содСрТит ΠΎΠ΄Π½Ρƒ 16-Ρ€Π°Π·Ρ€ΡΠ΄Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.Β Β Β Β Β Β Β Β 

Π’ процСссС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ адрСс Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° счСтчика ΠΊΠΎΠΌΠ°Π½Π΄ (PC) сохраняСтся Π² стСкС. Π‘Ρ‚Π΅ΠΊ размСщаСтся Π² SRAM Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ стСка ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Ρ‰ΠΈΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ SRAM ΠΈ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ Π΅Π΅ использования. ВсС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° (ΠΏΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ прСрывания Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ) Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСка (SP). 16-разрядный ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСка, с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ чтСния/записи располагаСтся Π² пространствС I/O.

AVR Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² адрСсации 4000 Π±Π°ΠΉΡ‚ SRAM Π΄Π°Π½Π½Ρ‹Ρ…. Π“ΠΈΠ±ΠΊΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π² пространствС I/O свой ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ рСгистр с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π±ΠΈΡ‚ΠΎΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ глобального прСрывания Π² рСгистрС статуса. ВсС прСрывания ΠΈΠΌΠ΅ΡŽΡ‚ свои Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ прСрывания Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² прСрывания, располагаСмой Π² Π½Π°Ρ‡Π°Π»Π΅ памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ полоТСнию Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ — ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ с наимСньшим адрСсом Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚.Β Β 

По Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΡŽ ΠΈ количСству Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… инструкций AVR большС ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° CISC, Ρ‡Π΅ΠΌ Π½Π° RISC процСссоры. НапримСр, Ρƒ PIC-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² систСма ΠΊΠΎΠΌΠ°Π½Π΄ насчитываСт Π΄ΠΎ 75 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… инструкций, Π° Ρƒ MCS51 ΠΎΠ½Π° составляСт 111. Π’ Ρ†Π΅Π»ΠΎΠΌ, прогрСссивная RISC Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° AVR Π² сочСтании с Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ рСгистрового Ρ„Π°ΠΉΠ»Π° ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ систСмы ΠΊΠΎΠΌΠ°Π½Π΄ позволяСт Π² ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ сроки ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ работоспособныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с эффСктивным ΠΊΠΎΠ΄ΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΠΎ компактности Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ скорости выполнСния.

Β 

3.1. РСгистровый Ρ„Π°ΠΉΠ» быстрого доступа

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π΅Ρ€Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR — рСгистровый Ρ„Π°ΠΉΠ» быстрого доступа, структурная схСма ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° рис. 4. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· 32-Ρ… рСгистров ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния Π΄Π»ΠΈΠ½ΠΎΠΉ 1 Π±Π°ΠΉΡ‚ нСпосрСдствСнно связан с Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΎ-логичСским устройством (ALU) процСссора. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π² AVR сущСствуСт 32 рСгистра — аккумулятора (сравнитС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с MCS51). Π­Ρ‚ΠΎ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ позволяСт Π² сочСтании с ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π² ALU Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ». Π’Π°ΠΊ, Π΄Π²Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΈΠ· рСгистрового Ρ„Π°ΠΉΠ»Π°, выполняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ записываСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² рСгистровый Ρ„Π°ΠΉΠ» Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ машинного Ρ†ΠΈΠΊΠ»Π°.

Рис. 3. Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ характСристика Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… микропроцСссорных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ

Β 

Π¨Π΅ΡΡ‚ΡŒ ΠΈΠ· 32-Ρ… рСгистров Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Ρ‚Ρ€ΠΈ 16-разрядных указатСля адрСса ΠΏΡ€ΠΈ косвСнной адрСсации Π΄Π°Π½Π½Ρ‹Ρ…. Один ΠΈΠ· этих ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ (Z Pointer) примСняСтся Ρ‚Π°ΠΊΠΆΠ΅ для доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, записанным Π² памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ИспользованиС Ρ‚Ρ€Π΅Ρ… 16-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ (X, Y ΠΈ Z Pointers) сущСствСнно ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Β 


Рис. 4.Β  РСгистровый Ρ„Π°ΠΉΠ»

Β 

РСгистровый Ρ„Π°ΠΉΠ» Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ младшиС 32 Π±Π°ΠΉΡ‚Π° Π² ΠΎΠ±Ρ‰Π΅ΠΌ адрСсном пространствС SRAM AVR. Π’Π°ΠΊΠΎΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ быстрой «Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΎΠ²ΠΎΠΉ» ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° двумя путями - нСпосрСдствСнной адрСсациСй Π² ΠΊΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΊ любой ячСйкС ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ способами адрСсации ячССк SRAM.

Π’ тСхничСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ„ΠΈΡ€ΠΌΡ‹ Atmel это ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ свойство носит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ «Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΅ контСкстноС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅» ΠΈ являСтся Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ AVR, ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰Π΅ΠΉ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ОсобСнно Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ прСимущСство ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ цСлочислСнной 16-Π±ΠΈΡ‚Π½ΠΎΠΉ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ пСрСсылки ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ячСйками памяти Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² Π² ALU.

Β 


Руководство ΠΏΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° Pocket AVR

Авторы: Π”ΠΆΠΈΠΌΠ±Π»ΠΎΠΌ, Π‘ΠΈΠ±ΠΎΠΉΡ…ΠΎ

Π˜Π·Π±Ρ€Π°Π½Π½ΠΎΠ΅ Π›ΡŽΠ±ΠΈΠΌΡ‹ΠΉ 10

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ больший ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ вашим ΠΊΠ°Ρ€ΠΌΠ°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ΠΎΠΌ AVR ΠΈ AVR, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½, слСдуйтС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π½ΠΈΠΆΠ΅ инструкциям. ΠœΡ‹ продСмонстрируСм, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ AVRDUDE, Ρ‡ΡƒΠ΄ΠΎ-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для чтСния, записи ΠΈ управлСния AVR.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ Arduino, Ρ‚ΠΎ Ρƒ вас ΡƒΠΆΠ΅ установлСн AVRDUDE β€” это Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Arduino ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ скСтчСй. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ AVRDUDE ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ AVRDUDE. 9Π€Π°ΠΉΠ»Ρ‹ 0009 avrdude-doc-X.XX.pdf (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, avrdude-doc-6.3.pdf ) особСнно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΏΡ€ΠΈ установкС AVRDUDE для вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с использованиСм ΠΊΠΎΠΌΠ°Π½Π΄ AVRDUDE Π² любом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку.

AVRDUDE: Downloads

Sanity Check — AVRDUDE Paths

AVRDUDE β€” это инструмСнт ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки , поэтому для Π΅Π³ΠΎ использования Π²Π°ΠΌ потрСбуСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«ΠšΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку» (Windows) ΠΈΠ»ΠΈ Β« Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»Β» (Mac/Linux). Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ AVRDUDE Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, рСкомСндуСтся сначала провСсти Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ работоспособности. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

 язык: bash
Π°Π²Ρ€ΠΎΠ΄ΡƒΠ΄Π΅
 

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠΌΡƒ Π½ΠΈΠΆΠ΅.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° работоспособности — ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° подписи устройства

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ прСдполагаСтся, Ρ‡Ρ‚ΠΎ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΊΠΎΠ½Ρ†Ρƒ вашСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ATmega328P . Если Ρƒ вас Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, см. Ρ€Π°Π·Π΄Π΅Π» Β«Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° ΠΈ устройства AVRΒ» Π½ΠΈΠΆΠ΅.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ AVRDUDE Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π° ваш ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ AVR Pocket Programmer ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, рСкомСндуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ работоспособности. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ это Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку:

 язык: bash
avrdude -c usbtiny -p atmega328p
 

Если всС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΡ‚Π²Π΅Ρ‚:

Π­Ρ‚Π° базовая ΠΊΠΎΠΌΠ°Π½Π΄Π° опрСдСляСт Ρ‚ΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° ΠΈ AVR, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ взаимодСйствуСт. AVRDUDE попытаСтся ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ сигнатуру устройства ΠΈΠ· вашСго AVR, которая отличаСтся для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° AVR. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ATmega328P Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ подпись устройства 0x1E950F .

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π»ΡΡˆ-памяти

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ прСдполагаСтся, Ρ‡Ρ‚ΠΎ Ρ„ΡŒΡŽΠ·-Π±ΠΈΡ‚Ρ‹ (Ρ‚. Π΅. младший, высокий ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ) ΡƒΠΆΠ΅ установлСны Π΄ΠΎ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° .hex. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ RedBoard, Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Arduino, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° ΠΏΠ»Π°Ρ‚Ρƒ Ρ„Π°ΠΉΠ» .hex.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ всС Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ состоянии, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ чтСния ΠΈ записи памяти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AVRDUDE. Основная Ρ‡Π°ΡΡ‚ΡŒ памяти, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹, вСроятно, Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ, β€” это Ρ„Π»ΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ β€” энСргонСзависимая ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранятся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Записав ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» blink.hex Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ AVR, ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ находится Π² памяти. Π’ Ρ„Π°ΠΉΠ»Π΅ Π½Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° Arduino, поэтому Π²Ρ‹ Π½Π΅ смоТСтС Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Arduino IDE, ΠΏΠΎΠΊΠ° Π½Π΅ пСрСустановитС Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ RedBoard, Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Arduino, Π²Ρ‹ всС Ρ€Π°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ снова Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚. На ΠΏΠ»Π°Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ optiboot_atmega328.hex . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ это Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Arduino ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ …\arduino-1.8.5\hardware\arduino\avr\bootloaders\optiboot ΠΈΠ»ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β« ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° RedBoard Arduino Bootloader Β» Π΄Π°Π»Π΅Π΅ Π² этом руководствС.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„Π°ΠΉΠ» blink.hex . Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½ΠΈΠΆΠ΅. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ„Π°ΠΉΠ» blink.hex , ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΏΠ°ΠΏΠΊΡƒ ΠΈ помСстили Π΅Π΅ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

Download Blink Here (ZIP)

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° выполняСт Π±Π°Π·ΠΎΠ²ΡƒΡŽ запись Π²ΠΎ Ρ„Π»ΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ с использованиСм HEX-Ρ„Π°ΠΉΠ»Π°.

 язык: Π‘Π°Ρˆ
avrdude -c usbtiny -p atmega328p -U flash:w:blink.hex
 

Π—Π°ΠΏΠΈΡΡŒ Π²ΠΎ Ρ„Π»ΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ Π·Π°ΠΉΠΌΠ΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π±ΠΈΡ‚ΠΎΠ² подписи. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ строку состояния, ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ устройство считываСтся, записываСтся ΠΈ провСряСтся.

Команда ΠΎΠΏΡ†ΠΈΠΈ -U ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ чтСния ΠΈ записи памяти. Π“ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π΅ΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с flash , Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ запись с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ w , Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ располоТСниС ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ.

Π§Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π»ΡΡˆ-памяти

Команда -U Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для чтСния содСрТимого памяти AVR. Команда, подобная ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ содСрТимоС вашСго AVR ΠΈ сохранит Π΅Π³ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β« secret.hex Β».

 язык: Π‘Π°Ρˆ
avrdude -c usbtiny -p atmega328p -U flash:r:mystery.hex:r
 

Π­Ρ‚ΠΎ нСвСроятно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС ΠΎΠ΄Π½ΠΎΠ³ΠΎ Arduino Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Или, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π²Ρ‹ мазохист ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π³Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² AVR.

ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° Arduino RedBoard

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²Π°Ρ‚ΡŒ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° RedBoard, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ».

RedBoard Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° Arduino (HEX)

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

 язык: Π‘Π°Ρˆ
avrdude -c usbtiny -p atmega328p -U flash:w:optiboot_atmega328_2012_with_1s_watchdog.hex
 

Если всС ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сообщСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» написан, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π½ΠΈΠΆΠ΅. Π’ этом случаС Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Ρ‚.Π΅. avrdude.conf ) ΠΈ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ ( *.hex ) Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π’Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈΡΡŒ Π΄Π²Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π³Π΄Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ *.hex Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ автоматичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΏΡƒΡ‚Π΅ΠΌ добавлСния :Π° .

Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π² Arduino IDE, отсоСдинитС USB-кабСль ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΊ USB-ΠΏΠΎΡ€Ρ‚Ρƒ RedBoard, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, смоТСтС Π»ΠΈ Π²Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ простой скСтч blink.ino ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° ΠΏΠ»Π°Ρ‚Ρƒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚. ΠŸΠ΅Ρ€Π΅Π΄ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈ COM-ΠΏΠΎΡ€Ρ‚. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ΅ сообщСниС, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ Arduino IDE «ВыполняСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Β» послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, Π° встроСнный свСтодиод Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΌΠΈΠ³Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ 13.


ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

Π’ΠΎΡ‚ нСсколько послСдних совСтов ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² AVRDUDE, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ вас Π² ΠΌΠΈΡ€ AVR.

Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ ΠΈ устройство AVR

Для использования AVRDUDE Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ Ρ‚ΠΈΠΏΠ° ΠΈ устройство AVR. БпСцификация :

  • -c usbtiny . Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с этой страницСй ΠΈ CTRL + F Π΄ΠΎ Β« -c ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ программиста Β».

  • Π’ΠΈΠΏ устройства AVR опрСдСляСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ -p . ΠœΡ‹ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² с ATmega328P, Π½ΠΎ Ρ‡Ρ‚ΠΎ, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ATtiny85? Π’ этом случаС Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ вмСсто этого ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ -p t85 . ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π²Π²Π΅Ρ€Ρ…Ρƒ этой страницы ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ список совмСстимых Ρ‚ΠΈΠΏΠΎΠ² устройств AVR.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… -v ΠΊ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ AVRDUDE Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ дСйствия. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° сводка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° ваш AVR.


Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… источников. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΎΠ½Π»Π°ΠΉΠ½-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ AVRDUDE Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «Описания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²Β».

Онлайн-докумСнтация AVRDUDE: описания ΠΎΠΏΡ†ΠΈΠΉ



Набор инструмСнтов AVR β€” докумСнтация UTAT Space Systems 1.0

Набор инструмСнтов AVR β€” это Π½Π°Π±ΠΎΡ€ инструмСнтов с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСстС для компиляции ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π½Π° Π±Π°Π·Π΅ AVR, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ATMega32M1, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² подсистСмС Heron Mk II ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹.

Установка ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ инструмСнтов AVR, являСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ шаг ΠΊ ΡƒΡ‡Π°ΡΡ‚ΠΈΡŽ Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ Heron Mk II.

Глоссарий

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ, сдСлаСм ΠΏΠ°ΡƒΠ·Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ввСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡŽ. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² этих Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ….

  • SSM: сокращСниС ΠΎΡ‚ подсистСмы ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°; это относится ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚ΠΎΠΉ подсистСмы.
  • 32M1: сокращСниС ΠΎΡ‚ ATMega32M1.
  • MCU: сокращСниС ΠΎΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.
  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°: автономная Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΊΠΎΠ΄Π°, прСдназначСнная для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования.
  • Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ: Ρ„Π°ΠΉΠ», ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ интСрфСйс ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ ΠΊΠΎΠ΄Π°. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° .h .
  • SPI: ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΉ интСрфСйс; ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ связи 32М1 с ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΌΠΈ устройствами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ внСшниС Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ.
  • CAN: локальная ΡΠ΅Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°; надСТная шина, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ всС SSM Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ AVR-GCC

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ AVR-GCC β€” это инструмСнт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для компиляции ΠΈ связывания ΠΊΠΎΠ΄Π° C для создания исполняСмый Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° 32M1. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, компиляция относится ΠΊ процСсс прСобразования структурированных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ AVR-GCC ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ C Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ 32M1 ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ. Он Ρ‚Π°ΠΊΠΆΠ΅ связываСт этот ΠΊΠΎΠ΄ вмСстС Π² исполняСмый Ρ„Π°ΠΉΠ»; ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° 32M1.

На самом Π΄Π΅Π»Π΅, AVR-GCC Π΄Π΅Π»Π°Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, Π² Ρ‚ΠΎΠΌ числС ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π΅Ρ‚ вас ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ ошибок Π² вашСм ΠΊΠΎΠ΄Π΅ (ошибки Ρ‚ΠΈΠΏΠΎΠ²) ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠ΄Π°.

ΠŸΡ€ΠΈ установкС AVR-GCC Ρ‚Π°ΠΊΠΆΠ΅ устанавливаСтся мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ avr-objcopy , avr-ar ΠΈ avr-objdump . Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎΠ± этих инструмСнтах ΠΏΠΎΠ·ΠΆΠ΅.

AVR-GCC основан Π½Π° Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстном компиляторС GCC. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ AVR-GCC ΠΈ GCC, посмотритС здСсь.

AVR-GCC ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ, запустив avr-gcc Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Π’Ρ‹ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ приходится Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ компилятор AVR-GCC ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ; ΠΊΠ°ΠΊ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ процСсс компиляции вашСго ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎ Ρ‚Π°ΠΊΠΎΠΉ стСпСни, Ρ‡Ρ‚ΠΎ ΠΎΠ½ становится Π΅Π΄ΠΈΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°.

AVR libc

AVR libc β€” это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая прСдоставляСт всС стандартныС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ C ΠΈ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для доступа ΠΊ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ функциям ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ Π½Π° основС AVR, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ доступ ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΈ взаимодСйствиС с ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΌΠΈ устройствами.

Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ C, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· #include ΠΈΠ»ΠΈ #include , Π²Ρ‹ нСявно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ AVR libc.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ AVR libc, ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ ΠΎΠ½Π»Π°ΠΉΠ½-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. здСсь.

avrdude

Avrdude β€” это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈ использовании Π² сочСтании с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€, ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ содСрТимоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π²ΠΎ Ρ„Π»ΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ 32M1 ΠŸΠ°ΠΌΡΡ‚ΡŒ. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ avrdude для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° 32M1.

Avrdude записываСт Π²ΠΎ Ρ„Π»ΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ 32M1, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ In-Circuit сСрийноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅; ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ для краткости.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *