ПредишенСледващото

В момента има много различни програми за AVR микроконтролери. Най-разпознаваем програма - е, разбира се, Atmel Studio, но има твърде много звънци и свирки. Поради това се препоръчва за начинаещи е друга среда за разработка: CodeVisionAVR. Това е за него, ние ще говорим в нашата статия. Можете да го изтеглите за пряка връзка zdes ите. Разбира се, има версии и по-свежа, но с изключение на ненужни парчета те добавят нищо полезно.

Работа codevisionavr

Какви са предимствата на тази програма?

CodeVisionAVR - това е среда за разработка, която поддържа всички операции с MC AVR. В него ние можем да напишете кода празен, да го компилирате, и с помощта на програмист "излее" в желаната MC. Не е нужно да изтеглите отделна програма от proshivatel-съставител и други нежелани програми. И защо, ако всичко това е в KodVizhne? KodVizhn също поддържа почти всички известни програмисти за AVR, независимо дали е китайски или копия на оригиналния програмистите. KodVizhena голям плюс е, че той създава програма готов шаблон, от което имаме нужда, за да се премахнат всички превишението, което е предимство за начинаещи.

Ето програмата, след като е инсталирана (кликнете kartinike за по-голямо изображение)

За да създадете нов проект, кликнете върху иконата на "зъбно колело":

След излязат тук такъв прозорец. Сложихме точка маркер AT90, Atiny, FPSLIC и натиснете "ОК".

Тогава дойде тук като прозорец. Аз показах в червена кутия, че е необходимо да се обърне внимание на това, което е част от прозореца:

Изборът ни MC. В този случай, аз използвам MC Atiny2313, следователно, на целия списък на MV, което ни предлага програма, той избира.

Можете също да промените честотата на "часовника". По подразбиране тя е настроена на 8 мегахерца.

След това кликнете в същия прозорец върху иконата "зъбно колело":

Дойдох тук, за такъв прозорец. Първо изберете папката, в която ще се запази нашия проект. Аз създадох папка на вашия работен плот и го наричат ​​MK AVR. Тогава той пише името на нашия проект ", урок 1", какъв тип "първа класа"). Е, след това натиснете бутона "Save". Обърнете внимание на разширението на файла, че привлече в лилаво:

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

И след това ще излезе точно същото завършва през прозореца ;-). Също така, не може да се изгуби, ние се регистрирате името на файла и натиснете "Запазване".

Е, тук ние сме готови да се създаде първият ни проект ;-)

KodVizhen подготвен шаблон за нас. Ясно е, че много допълнителни неща. Първото нещо, което носите шапка

Изберете, натиснете Del.

Така че, сега мисля, че по проект, който ще khimichit. Blink svetodiodika едно - това е твърде банално. Ето защо, ние ще вземем най-много три светодиода! Нашата програма ще се обърне към светлината всяка LED, а след това в същия ред, в който те се задушава. Ние ще имаме тук един алгоритъм, който е от порядъка на действия:

1) Когато мощност се прилага към първия MK да запали LED.

2) След 1 секунда, за да запали втората светодиод, но първият LED в същото време продължава да гори.

3) След 1 секунда, третият LED на светлина, но също предходната две изгори. Тоест, ние горят само на 3 светодиода.

4) След 2 секунди, третият LED се погасява.

5) След малко излиза от втория LED.

6) Дори и след секунда LED излиза на първо място.

7) След 2 секунди, целият цикъл се повтаря от етап 1.

сме съгласни на алгоритъм. Остава при малко: да се напише програма от ;-)

Така че, първите два реда код - връзка библиотеки. Това е, тези файлове, които вече имат в програмата KodVizhn. Остава само да ги свържете.

Включва английски. - включват, съдържат, да бъде свързан. Включи се нарича оператор свързване на външни файлове.

Това означава, че ние се присъединяваме към нашата програма библиотека "малка 2313.h" за MK Atiny 2313, тъй като е върху него ще се изпълнява нашата схема. Както и споделени библиотеки "delay.h". Забавяне - с инж. отлагане, отлагане. Това е, грубо казано, ние свържете повече и забавяне.

Ъ-ъ, два реда код изглежда да бъде написана).

Самата програма е написана след невалидни основни (празнотата) между скобите. Там ще напишем нашата програма.

Нека да се вгледате внимателно в нашата MC:

Тук ние виждаме основното заглавие на краката, а в скоби тяхната двойна цел. Dual цел не ни пука. В момента интерес обозначение PA, PB, PD. Те се наричат ​​входно-изходен порт. Тоест, те могат да бъдат нещо, което можете да пишете и се правят изводи от тях). В този случай искам да използвам RV0 крака, PB1, PB2 за контролиране на светодиоди. На всеки един от тези крака ми виси един LED, общо три завои. Останалите краката на не представлява интерес за нас, тъй като ние няма да ги използват.

Нашата схема ще изглежда така:

Ето защо, аз трябва да се коригира на краката за шофиране светодиодите.

Така пише в скоби:

0b - двоична бройна система. Търси в двоична система е удобен, защото всяка частица - е един крак на КН. Ето защо, продължава разказът от дясно на ляво. Погледнете внимателно в снимката по-горе. Тук виждаме PORTB и нули за двоичен sitemy смятане. Какво означава това? А това означава, че тези констатации, когато не ги използват в програмата, ще бъдат изготвени до нула, което означава, че ще има нисък потенциал или нулеви волта. Ако видим edinichki инсталиран на някоя от бита, което означава, че този порт, когато neipolzovanii в програмата ще имат висок потенциал или +5 волта, или, с други думи, заключението ще бъдат взети, за да плюс храна.

Това означава, че PB0, PB1, PB2 са настроени на изход. Ние вярваме, че от дясно на ляво, ако не сте забравили. Ако нула, след което задайте вход.

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

Сега си представете, докато (1). Това означава, че част от софтуера, който ще бъде написан след това, ще се заяжда, че се повтаря безкрайно много пъти.

Работа codevisionavr

Ами, всъщност, можете да започнете да пишете на програмата.

Така ще изглежда?

Работа codevisionavr

Вижте програмата е между фигурните скоби. Тези скоби принадлежат докато (1). Това е, това парче код, ще се повтори безкраен брой пъти.

Нека да разгледаме самата програма.

PORTB.0 = 1; Това означава, че захранването на IC, ние PB0 крак ще бъде съвсем естествено. което означава, че продукцията на този крак ще бъде 5 волта, които ще светнат светодиода.

delay_ms (1000); Ние с нетърпение очакваме до 1000 милисекунди, или 1 секунда.

PORTB.1 = 1, има логическа единица, т.е. 5 волта един втори етап на РВ1, която ще се запали втората LED

delay_ms (1000), в очакване на още една секунда.

PORTB.2 = 1; След като премина втория, ние трябва да edinichka PB2 крак изглежда логично и затова третата светодиодът свети.

Но тогава как ще тези две секунди.

PORTB.2 = 0, логическа нула, т.е. напрежението изчезва на краче появява РВ2. Третият изгасва.

PORTB.1 = 0, напрежението изчезва РВ1 на крака. Второ LED и престава да излъчват светлина.

PORTB.0 = 0; и PB0 напрежението на крака и престава да бъде нула. Първата изгасва, също.

Ето самата пълната програма. Тя може да бъде още по-глупав копие и събират.

невалидни основни (свободен)
PORTB = 0b00000000;
DDRB = 0b00000111;

докато (1)
PORTB.0 = 1;
delay_ms (1000);

Добре, програмата е написано. Остава при малко: да трансформира нашите писания за машинен код, за да се разбере, MC. За да направите това, ние кликнете върху бутона "Създаване на всички файлове на проекта"

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

Ако нещо не е наред, той ще се покаже съобщение за грешка. Аз специално отстранен знака ";" след един ред. Той се оплаква от нещо подобно, а това не е добре:

Ако всичко е наред, то вие сте в папката "Exe", където имате всички проекти ще лежи готов файл, в този случай "урок 1. шестнадесетичен".

Сега, аз открих, с удоволствие яде ни MC AVR и ще изпълнява програма, която е във файла.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!