Отговори на тема  [ 18 мнения ]  Отиди на страница 1, 2  Следваща
Програмиране на AtMega 16 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Юли 25, 2007 2:53 pm
Мнения: 5
Мнение Програмиране на AtMega 16
Здравейте,
имам нужда от малко помощ. Въпросите, които ще питам може да ви се сторят глупави, но аз съм абсолютно начинаещ и моля за снизхождение.

Значи въпроса е следния: имам atmega16, имам програматор, имам и програма:
Код:
#include <mega16.h>  /* Вставить вместо этой строки текст файла mega16.h  содержащий описание регистров МК. Не забывайте указать какой МК применяете в свойствах проекта ! */

#define PA_OUT DDRA = 0xFF
/* Заменить везде в тексте программы

PA_OUT    на       DDRA = 0xFF           
*/



// ++++ функция инициализации МК ++++
void initialization(void){

PA_OUT;//сделать весь PORTA выходом

TCCR0 = 0x05;/* таймер включить считать, делая один отсчет каждые 1024 колебания на ножке XTAL1 */
}


// ++++  Главная функция  ++++
void main (void){

initialization(); /* Вызвать (== выполнить) функцию инициализации МК - т.е. настройки нужных нам устройств МК в соответствии с поставленой задачей */

//Бесконечный цикл
while (1){ //Делать всегда

PORTA++; //добавить 1 к значению в PORTA

while (!(TIFR&0x01));
// ждем установки флага переполнения timer0

TIFR = 0x01;
// очистить флаг переполнения timer0
         }; //цикл закончен


} //скобка для main()


програмата показва в двоичен вид, с НЕ светещи светодиоди 8 битно число започвайки с 0 и постоянно увеличение с едно.
Така, искам тази вече компилирана програма да я прехвърля в микроконтролера с помоща на PonyProg и после да включа микроконтролера в реална схема и да видя как мигат светодиодите.
Обаче в ръководството, от което чета пише, че ако желая да прехвърля програмата в реален микроконтролер то трябва:
Цитат:
Если вы захотите "залить" полученную прогу в реальный МК вам понадобится запрограммировать фьюзы под кварц на 4 МГц по ДШ.

Какво означава това? И как да го направя?
И втория ми въпрос е може ли да ми кажете ако успея да прехвърля програмката как да си свържя микроконтролера за да видя в действителност как работи.
Благодаря предварително.


Сря Юли 25, 2007 3:08 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Чет Дек 02, 2004 7:22 pm
Мнения: 140
Мнение 
Теглиш дейташит, търсиш за fuse bits. Гледаш кои отговарят за тактов генератор, и др. неща. Изчети ЦЕЛИЯ дейташит и вярвам че ще са ти ясни много неща.


Сря Юли 25, 2007 5:28 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Юли 25, 2007 2:53 pm
Мнения: 5
Мнение 
stanleyhacker написа:
Теглиш дейташит, търсиш за fuse bits. Гледаш кои отговарят за тактов генератор, и др. неща. Изчети ЦЕЛИЯ дейташит и вярвам че ще са ти ясни много неща.


еми изтеглих го, едва ли ще го прочета целия - 357 страници....намерих много fuse bits и продължавам да си блъскам главата, а ако някой има желание да помогне малко повече ще бъда много благодарен..


Пет Авг 03, 2007 3:24 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
дори не става дума да изчетеш ЕДИН път ЦЕЛИЯ документ. ще трябва да го четеш няколко пъти
микроконтролерите не са като кафеварките или пералните машини

прочети главите за фюсовете и вътрешния осцилатор (най-малкото)
и направи точно това, което е написано :roll:


Пет Авг 03, 2007 3:33 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Аз мисля, че човека не знае за процеса "компилиране" и какво точно да хвърли в процесора. Ако съм прав - теглиш някой компилатор/среда за AVR C, (някой друг ще каже коя, че не съм запознат с Аtmel-ските среди много), правиш един проект с този сорс който имаш, компилираш и изхода от компилацията (binary или hex файл) "прогаряш" в чипа


Съб Авг 04, 2007 12:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
ти па го изкара просто кат фасул (слагаш боба - вариш - ядеш) :yawinkle:

препоръчителна атмелска среда е AVR-studio.
безплатна, дърпа се от сайта на атмел. http://atmel.com/dyn/products/tools_card.asp?tool_id=2725
копилираш си проекта за конкретния процерор.

обаче как студиото ще проработи с МК програматора ? :-k


Съб Авг 04, 2007 1:05 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юли 31, 2007 2:55 pm
Мнения: 1792
Местоположение: София
Мнение 
Добър фасул всъщност се готви доста трудно. :lol:


Съб Авг 04, 2007 1:26 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Юли 22, 2006 9:50 pm
Мнения: 1638
Мнение 
Дедо Боре,много правилно си му посочил страницата.На страницата дето той я е посочил,ако се хване да я прочете цялата ще види по-надолу написано следното :

Цитат:
Като управляващ софтуер за компютъра може да се използва PonyProg или ICProg


Той младежа има програматор и вече му е посочен софта.На страницата има и указания .Така че има всичкото нужно инфо и май само трябва да седне да попрочете.


Съб Авг 04, 2007 1:30 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Дек 19, 2004 6:26 pm
Мнения: 1628
Местоположение: Сливен
Мнение 
Програмата е на C, та не му ли трябва и нещо като WinAVR - GCC?
Аз работя само на асемблер и не знам за С-то какво точно още трябва.
Докара ли го до .hex файла - ще го програмира някак, вероятно де..... :)


Съб Авг 04, 2007 1:37 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Юли 25, 2007 2:53 pm
Мнения: 5
Мнение 
Wise написа:
Програмата е на C, та не му ли трябва и нещо като WinAVR - GCC?
Аз работя само на асемблер и не знам за С-то какво точно още трябва.
Докара ли го до .hex файла - ще го програмира някак, вероятно де..... :)


Ама аз отдавна съм го докарал до .hex фаила, нали ви казах, че използвам CodeVisionAVR. Въпроса, е че там от където се уча пише, че ако реално искам да програмирам микроконтролер то ще трябва да запрограмирам фюзовете му (каквото и да значи) за кварц на 4MHz. Явно щом ми го казват че трябва да го направя отделно значи не е част от програмата.
Та въпроса ми е как се програмират фюзове и ако може поне за този случай да ми кажете по подробно как ще стане, аз един път като го направя вече ще мога по пътя на логиката и други задания да изпълнявам.... :roll:


Съб Авг 04, 2007 4:31 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
в AVR/mega архитектурата има 4 вида памети, достъпни през програмния интерфейс: flash, eeprom, fuse и oscal.
първите 3 могат да се програмират, трият и четат независимо. oscal е само за четене.
само първите 2 вида памети са "видими" от процесора, при това по различен начин.
fuse контролират сетъпването на процесора преди reset (е, и след това)
oscal стойностите служат за точна настройка на честотата на вътрешния генератор (когато е разрешен от фюсовете).

за достъпа до всеки вид памет през програмния интерфейс се ползва различна команда.
програматора трябва да може да дава достъп до всички видове памет, ако е читав.
.hex файл може да се програмира (дупчи, гори, качва, залива и т.н.) в първите два вида.
много вероятно е фюсовете да се показват като чек-боксче за програматор с графичен интерфейс.
та там някъде трябва да има кутийка "internal oscilator 4MHz", която трябва да се чекне. но освен нея и други неща трябва също да се настроят, чети си конкретния дейташит кое какво значи.
ако ще гониш точни времена, oscal трябва да се пренесе нейде във видимата от процесора памет. за това няма общ подход, зависи от програматора.


Съб Авг 04, 2007 5:21 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Юли 25, 2007 2:53 pm
Мнения: 5
Мнение 
ДедоБоре написа:
.....много вероятно е фюсовете да се показват като чек-боксче за програматор с графичен интерфейс. та там някъде трябва да има кутийка "internal oscilator 4MHz"


Първо наистина благодаря за мнението.

Доколкото разбира щом за програмиране/прехвърляне на програмата използвам софтуера PonyProg значи тия чек-боксчета трябва да са някъде из менютата му? Правилно ли схващам?


Съб Авг 04, 2007 6:21 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
да


Съб Авг 04, 2007 7:35 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Мар 02, 2006 8:50 pm
Мнения: 40
Мнение 
привет,
Първо - поздравление за избора на контролер :roll:
Чудесни "машинки" са :wink: , и доста отзивчиви, ако знаеш какво правиш разбира се
Четенето на дейташита няма да ти спестя, но малко насока спестява много мъка ако си начинаещ

Тук ми попадна един полезен материал относно бушоните в AVR контролера
:arrow: http://electrons.psychogenic.com/module ... OGuide.php
"4 CKSEL bits that specify the type of clock source"

Изобщо секцията за AVR на сайта изглежда полезна

А за PonyProg, FUSE битовете ще намериш в менюто Command -> Security and Configuration bits.. - иконката катинарче
Контролера ти от фабриката идва настроен на 1MHz вътрешен осцилатор. Ако е нов(непрограмиран) значи не му трябва външен кристал за да го програмираш. За такива елементарни задачки не ти трябва по-висока честота и външен кристал изобщо.
Ако все пак трябва, намери в дейташита каква конфигурация на CKSEL битовете отговаря на външния кристал и честотата.
За пример - ако искаш да настроиш контролера да работи на 4MHz с вътрешния му RC осцилатор, сложи отметки на CKSEL0, CKSEL1 и CKSEL3. CKSEL2 да е празно!
И гледай да не пипаш другите фюсове преди да си научил за какво служат :D (за да не се наложи да си купуваш нов :wink: )

дано съм помогнал поне малко, то тая материя се научава с много практика :lol: експериментирай


Съб Авг 04, 2007 11:10 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Мар 02, 2006 8:50 pm
Мнения: 40
Мнение 
Забравих нещо важно
Ако ще променяш нещо по Security and Configuration bits.. не забравяй първо да натиснеш Read за да не се загубят настройките на всички останали битове !!!


Съб Авг 04, 2007 11:41 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 18 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни