Прошить ATmega8A

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
xromis
Открыл глаза
Сообщения: 52
Зарегистрирован: Сб апр 30, 2011 22:08:58
Откуда: братск
Контактная информация:

Re: Прошить ATmega8A

Сообщение xromis »

Если была возможность то купил а её нет пытаюсь собрать. Поэтому и решил обратиться за помощью.
Реклама
P@S@f
Открыл глаза
Сообщения: 44
Зарегистрирован: Чт янв 13, 2011 18:52:17

Re: Прошить ATmega8A

Сообщение P@S@f »

Не уж то автор просит заоблачные деньги за свою прошивку?
Но это же готовый продукт, а не исходники.
Я думаю красная цена устройству рублей 500-600.

Если таких денег нет, можно и попросить у автора за так (при условии, что ты не будешь продавать изготавливаемое устройство), он вроде человек отзывчивый, судя по постам на форуме. Можно ведь объяснить что так и так, денег нет и т.п.
В крайнем случае можно спросить у него наводящую инфу, а по ней дальше делать.
Но если это первая прошивка, которую ты пишешь, то вряд-ли, тут самый верный вариант - купить.
А так, можно пособирать что-то по-проще, на той же меге 8-мой, покопаться в исходниках прошивок для неё, изучить даташит.
В любом случае для каждого устройства пишется своя прошивка, и прошивка - это программа, а любую программу можно написать бессчетным количеством способов (всё зависит от программиста) и такого понятия как "шаблон под схему" нет, можно найти "шаблон" под простые схемы там где всего пару элементов, можно найти шаблоны функций (это поможет, когда ты чётко представляешь как должно функционировать устройство и что должна выполнять программа) и т.п., но только не готовую прошивку под конкретное устройство.
Реклама
Аватара пользователя
xromis
Открыл глаза
Сообщения: 52
Зарегистрирован: Сб апр 30, 2011 22:08:58
Откуда: братск
Контактная информация:

Re: Прошить ATmega8A

Сообщение xromis »

1000 встанет. Делать клоны данного девайся мне нет смысла, изо дороговизны деталей.
Аватара пользователя
xromis
Открыл глаза
Сообщения: 52
Зарегистрирован: Сб апр 30, 2011 22:08:58
Откуда: братск
Контактная информация:

Re: Прошить ATmega8A

Сообщение xromis »

все понятно по схеме.
я возможно ошибаюсь но если знать команды в крайнем случии их значения можно методом подбора написать прошивку или я ошибаюсь
Реклама
Эиком - электронные компоненты и радиодетали
svorob
Родился
Сообщения: 5
Зарегистрирован: Ср апр 20, 2011 20:46:27

Re: Прошить ATmega8A

Сообщение svorob »

Подскажите пожалуйста в чем разница междуэтими контролерами, на схеме написано ATmega8, смотрю в магазине только такие = ATmega8A-AU, ATmega8515-16AU, ATmega8535-16AU, Tmega8535L-8PU PBF, ATmega8L-8PU
Реклама
Аватара пользователя
xromis
Открыл глаза
Сообщения: 52
Зарегистрирован: Сб апр 30, 2011 22:08:58
Откуда: братск
Контактная информация:

Re: Прошить ATmega8A

Сообщение xromis »

привет отличаются не сильно. разница только с спецификации. если чесно я сам только начел с этим элементом знакомится и онн мне очень нравится и я остаюсь им доволен
Реклама
UAЗELR
Вечно гонимый
Сообщения: 6083
Зарегистрирован: Пт дек 30, 2011 17:55:52
Откуда: Севастополь - Орел
Контактная информация:

Re: Прошить ATmega8A

Сообщение UAЗELR »

Пойдут только ATmega8A-AU и ATmega8L-8PU (отличаются корпусами), остальные нет

ps

AT(mega/tiny)xxx — базовая версия.
ATxxxL — версии контроллеров, работающих на пониженном (Low) напряжении питания (2,7 В).
ATxxxV — версии контроллеров, работающих на низком напряжении питания (1,8 В).
ATxxxP — малопотребляющие версии (до 100 нА в режиме Power-down), применена технология picoPower (анонсированы в июле 2007)[1], повыводно и функционально совместимы с предыдущими версиями.
ATxxxA — уменьшен ток потребления, перекрывается весь диапазон тактовых частот и напряжений питания двух предыдущих версий (также, в некоторых моделях, добавлены новые возможности и новые регистры, но сохранена полная совместимость с предыдущими версиями). Микроконтроллеры «А» и «не-А» с точки зрения программатора ничем не отличаются.
АТxxx-PI — корпус DIP
АТxxx-PU — корпус DIP, бессвинцовый (Pb-free) припой
АТxxx-AI — корпус TQFP
АТxxx-AU — корпус TQFP, бессвинцовый (Pb-free) припой
(цифры 8/10/16/20/.. перед индексом означают максимальную частоту, на которой микроконтроллер может стабильно работать при нормальном для него напряжении питания).
"Да, человек смертен, но это было бы еще полбеды.
Плохо то, что он иногда внезапно смертен, вот в чем фокус!" (Воланд)


Изображение
Аватара пользователя
xromis
Открыл глаза
Сообщения: 52
Зарегистрирован: Сб апр 30, 2011 22:08:58
Откуда: братск
Контактная информация:

Re: Прошить ATmega8A

Сообщение xromis »

Хочешь поломать голову? пожалуйста - вот пример как это происходит. Запрос имени устройства:
#define START_BYTE 0xff
#define STOP_BYTE (START_BYTE-1)
#define READ_DEVICE_NAME 83
//-------------------------------------------------
// пытаемся прочесть имя устройства
CommandBuffer[0] = READ_DEVICE_NAME;
SendCommand1(1); // эта функция собирает команду и служебные байты, см ниже
//--------------------------------------------------
bool __fastcall SendCommand1(int len){
unsigned char OneByteBuffer[1]={0};
//char Stop = STOP_BYTE;
int CommandSize = len+4;

static int Command_ID = 10; //Command_ID1 здесь меняется от 11 до FC
Command_ID++;
if (Command_ID > 0xFC) Command_ID = 11;

memset(ReadBuffer,0,BUFFSIZE);
//DWORD mask=0;
DWORD num = 0;

//--------подготовка командной строки----------
// формат команды: [START_BYTE][SIZE][COMMAND_ID][...DATA...]...[...DATA...] [STOP_BYTE]
char FullCommand[BUFFSIZE+5];
memset(FullCommand,0,BUFFSIZE+5);
int i = 0;
FullCommand[i++] = START_BYTE;
FullCommand[i++] = CommandSize;
FullCommand[i++] = Command_ID;

for (int j=0;j<len;j++){
FullCommand[i++] = CommandBuffer[j];
}
FullCommand[i++] = STOP_BYTE;
............... и так далее ----------------
можно это продолжить и как это будет выглядить обесните )))
Аватара пользователя
xromis
Открыл глаза
Сообщения: 52
Зарегистрирован: Сб апр 30, 2011 22:08:58
Откуда: братск
Контактная информация:

Re: Прошить ATmega8A

Сообщение xromis »

всем привет.
начел сборку что получилось.
исходники методом мыши встовлял в компилятор ,
что вышло.




$regfile = "m8def.dat" ' èñïîëüçóåì ATmega32 (MRC40 ñ óíèâåðñàëüíûì ìîäóëåì)

$crystal = 8000000 ' ÷àñòîòà óñòàíîâëåííîãî êâàðöà 8 mHz

$lib "lcd4.lbx" 'èñïîëüçóåì 4-õ áèòíîå ïîäêëþ÷åíèå äèñïëåÿ ñ ïîìîùüþ àëüòåðíàòèâíîé áèáëèîòåêè

'

'Áèáëèîòåêà lcd4.lbx èñïîëüçóåò ñëåäóþùåå ïîäêëþ÷åíèå -

'

'LCD = ATmega8

'---------------

'Rs = PortB.Pb6

'RW = PortB.Pb5

' E = PortB.Pb5

'E2 = PortB.3 äàííûé âûâîä èñïîëüçóåòñÿ äëÿ ïîäêëþ÷åíèÿ íåêîòîðûõ äèñïëååâ ñ äâóìÿ ÷èïàìè (çäåñü íå èñïîëüçóåòñÿ)

'Db4 = PortB.Pb7

'Db5 = PortB.Pb2

'Db6 = PortB.Pb3

'Db7 = PortB.Pb4

' óêàçûâàåì êîíôèãóðàöèþ ïîäêëþ÷åíèÿ äèñïëåÿ ê ïîðòàì ÌÊ

Config Lcdpin = Pin , Rs = Portb. Pb6 , E = Portb. Pb5 , Db4 = Portb. Pb7 , Db5 = Portb. Pb2 , Db6 = Portb. Pb3 , Db7 = Portb. Pb4

Config Lcd = 16 * 2 'èñïîëüçóåì äèñïëåé íà 2 ñòðî÷êè ïî 16 çíàêîìåñò â êàæäîé

Cls 'êîìàíäà î÷èñòêè äèñïëåÿ

Lcd "RoboZone.SU" 'âûâîäèì íàäïèñü

Lowerline ' ïåðåõîäèì íà íèæíþþ ñòðî÷êó

Lcd "LCD test GOOD!!!" 'âûâîäèì íàäïèñü

'ÂÑÅ!!!








$regfile = "m8def.dat" 'îïðåäåëÿåì êîíòðîëëåð
$crystal = 8000000 'âíóòðåííèé ãåíåðàòîð
$lib "lcd4.lbx" 'ïîäêëþ÷àåì áèáëèîòåêó ÆÊÈ
$lib "mcsbyte.lbx" 'ïîäêëþ÷àåì áèáëèîòåêó ôóíêöèé

Enable Interrupts 'âêëþ÷àåì ïðåðûâàíèÿ
'óêàçûâàåì êîíôèãóðàöèþ ïîäêëþ÷åíèÿ äèñïëåÿ ê ïîðòàì ÌÊ
Config Lcdpin = Pin , Rs = Portb. Pb6 , E = Portb. Pb5 , Db4 = Portb. Pb7 , Db5 = Portb. Pb2 , Db6 = Portb. Pb3 , Db7 = Portb. Pb4
'èñïîëüçóåì äèñïëåé íà 2 ñòðî÷êè ïî 16 çíàêîìåñò â êàæäîé
Config Lcd = 16 * 2
'êîìàíäà âûêëþ÷åíèÿ äèñïëåÿ

Cls
'îñíîâíîé áåñêîíå÷íûé öèêë
Do
Locate 1 , 1 'âûâîäèì íàäïèñü
Lcd "0123456789111213"
Locate 2 , 1
Lcd "1415161718192021"
Loop
End







каляка вышла ' указываем конфигурацию подключения дисплея к портам МК

Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7

Config Lcd = 16 * 2 'используем дисплей на 2 строчки по 16 знакомест в каждой

Cls 'команда очистки дисплея
но вопрос почему дисплей не выводит даные
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»