Програмиране на AVR Studio 5 от самото начало

Програмиране на AVR Studio 5 от самото начало

Писане на първата програма!

Най започнем с мигащи светодиоди, а ние сме изключение. Ако микроконтролера, дори и най-бързо, а не "общува" с външния свят, неговата стойност се намалява до нула. Ние трябва да микроконтролера получил информация, обработвана от даден алгоритъм и извежда резултата по разбираем начин за нас.

Алгоритъм. (От името на персийски математик ал-Khwarizmi) - точният набор от инструкции, които описват процедура художник, за да се постигне резултат от решаването на проблема за известно време.
За правилно пишат програми трябва да се разбере как микроконтролер, който ще се занимава с, а сега част от първата програма на асемблер.

Програмиране на AVR Studio 5 от самото начало

Преди да започнете, напишете нещо, помислете директиви монтажен AVR микроконтролери.
Преди всяко директива слага край:


Пълното описание на командите и директиви монтажен в превод на български език Руслан Shimkevich можете да намерите тук:
▼ Atmel-AVR-assembler.7z | 397,28 Kb файл се изтегля 233 пъти.

Имам нужда от файл към статията?
Изберете опция за пълен достъп до "вестник Практическа електроника Datagor".

Ние не просто се върна в директивите на монтажен, а сега се опитват да напиша кратък текст на програмата, която ще включва светодиоди.
За удобство, ние избираме ATtiny2313A микроконтролер. Ако някой ще отиде по-далеч и ще експериментира в "желязото", този контролер е един от най-достъпни, много често се използва в най-различни дизайни, които могат да се намерят в по-голямата мрежа.

Първи стъпки с програмата Протей

За първоначално не седи, диаграми, сложих готовия проект.
▼ attiny2313_led.rar | 27.18 Kb файла изтеглени 179 пъти.

Имам нужда от файл към статията?
Изберете опция за пълен достъп до "вестник Практическа електроника Datagor".


Ние просто трябва да се разопакова и да го стартирате (при условие, че Протей е вече инсталиран).
Трябва да видите тук е снимка:

Програмиране на AVR Studio 5 от самото начало


я компилирате като кликнете върху F7
В прозореца Output ще се събира информация, проведена в края трябва да се изгради надпис успял, което потвърждава успешното монтаж .hex файла.

Програмиране на AVR Studio 5 от самото начало


Този файл се намира по подразбиране в Моите документи, проектът AVR Studio 5.

Отиди на Протей. кликнете върху снимката на контролера и въведете пътя, където файла .hex да бъде:

Програмиране на AVR Studio 5 от самото начало

Програмиране на AVR Studio 5 от самото начало

Програмиране на AVR Studio 5 от самото начало

Програмиране на AVR Studio 5 от самото начало

Започнете емулация софтуер.
След натискане на започнете да виждате резултати!

Програмиране на AVR Studio 5 от самото начало

Програмиране на AVR Studio 5 от самото начало


За да спрете емулация - ние кликнете Стоп.
Ако схемата за флаш микроконтролер програмист и изграждане, резултатът ще бъде един и същ.

Опитайте се да разбера с програмата:

За удобство, ние сме назначени името на регистър R16 температура, това означава, че във всеки един момент в програмата, когато се напише програма дума температура ще получите достъп до регистър R16.
Какъв е този регистър - R16?
Той принадлежи към регистрите на общо предназначение, които са обозначени като r0 ... .r31, т.е. те са само 32 до 8 бита. Втората половина на общата цел регистрира R16 ... R31 изпълнява функцията на временно съхраняване на информация (като батерии, могат да получават и може да даде информация за сравнение - PIC контролер само една батерия W). 6 регистри с общо предназначение се обединяват в три 16-битов:

Моля, имайте предвид, че най-значимият байт е писано преди, младши-късно.


R27: R26 регистър се нарича X,
R29: R28 регистър се нарича Y,
R31: R30 регистър, наречен Z
Програмата ще работи също така, ако думата темп се определя на всеки друг регистър с общо предназначение от R16 до R31 например .def температура = R20. След компилация (натиснете F7 в AVR Studio 5), разликата в работната програма, не, не.
(Можете да го пробвам, че сега вие знаете как да го направя!)

В AVR Studio 5 настоящата директива е регистрирано по подразбиране.
микроконтролери AVR разпределят различна област памет за съхраняване на програмен код и данни в енергонезависима памет или EEPROM, има директории да се отнасят до тази област:
.cseg - Програма сегмент
.dseg - сегмент данни
.eseg - EEPROM сегмент

Програмата започва с една линия на тази директива .org, а в края ще се върна към него.

Това е отбор на прехода към етикета Start.
Програмата се изпълнява последователно от върха до дъното отпадъчни води. Ако искате да отидете в друга част на програмата се използва rjmp отбор

ДОИ команда се изпълнява с регистрите R16 ... R31 и CLR команда може да бъде изпълнена до всички регистри, включително регистри и входно-изходни (специални функционални регистри). Целта на тези регистри ще се счита за по-късно.

LDI zapisyvet команда в регистъра температура двоично число 11001100 (не за грешка, ако вместо 0b11001100 напише 204 или CCh в един случай, в десетичен вид в друг шестнадесетичен)

от командните изходи температура на стойност регистрирайте, за да се регистрирате DDRB порт.

Какво е пристанището, както и как действа тя?

Ако опростена до минимум, пристанището може да бъде описан като крак-оттегляне на микроконтролера, който в режим на изхода, можете свободно да се прилага напрежение или изключване, а в режим на въвеждане да се определи дали захранващото напрежение отвън или не.
Има три режима на пристанището: е на изхода, входа и на разстояние от държавата.
Контрол порт регистрира PinX, PortX, DDRX.
X - е пристанище, изпълнете тези регистри.
DDRX регистрирате контроли входно-изходни режими, като реле - разрешена (напиши 1) - свързан с изходния линия изключен (записва 0) - включена входна линия (по подразбиране).

Програмиране на AVR Studio 5 от самото начало

За извеждане на данни от X пристанище трябва да се регистрират DDRX превключите режима на изхода (регистър 1), а данните се изпраща на регистрирате PortX.
Прочетете Port X стойност може, ако регистър DDRX превключите режима на въвеждане (регистър 0) от регистрирате PinX. За да се свържете с гостилница резистор в режим на въвеждане, е необходимо да се изпращат данни PortX.
Гостилница резистори ни освобождават от необходимостта да се свържете външни резистори на положителния проводник, както и с една единствена команда се подава на входа на логическа единица.

Прочетете в следващата част!

Следващият път, когато погледнете как да се изчисли времето на забавяне от които е контролер, опитайте се да направим нашите мигащи светодиоди.