| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Подскажите по прошивке для Меги8
20.05.2010, 11:55
|
|
|
Прописка
Регистрация: 11.03.2010
Адрес: Донецк
Сообщений: 168
Сказал спасибо: 25
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
|
Подскажите по прошивке для Меги8
Ну никак я не могу разобраться в программировании под МК. Учился на программиста, работаю в этой области больше 10 лет, пишу сам программы и в чужих разбираюсь, но вот в прогах под МК ну никак не понимаю. Кусочки кода вроде понимаю, а в общее ну никак не вяжется. Сколько хелпов/уроков по программированию МК не читал - никак не могу уловить общий смысл, не понимаю с чего начинать и чем заканчивать.
А теперь по сути.
Есть вот такая схемка: http://woofer.nm.ru/taho/taho_m8.gif
Прошивка http://woofer.nm.ru/taho/taho_m8.hex
Исходник http://woofer.nm.ru/taho/taho_m8.asm
Схемка собрана лично, прошита, опробована и откорректирована - работает. Но хотелось бы внести в работу программы некоторые изменения; изменения пустяковые, но по вышеописанным причинам сам не могу этого сделать, поэтому и обращаюсь к вам.
Итак,
1-е) хочется, чтобы при подаче питания МК зажигал скажем на 1-3сек все светодиоды.
2-е) при отсутствии на входе в течение скажем 0,5-1сек импульсов, тушить все светодиоды (в исходном варианте после пропадания сигнала остаётся последнее значение)
И еще, прошивка изначально расчитывалась под мотоцикл (2 цилиндра), при работе на авто (4 цилиндра, ВАЗ) необходимо было уменьшить показания в 2 раза, что я реализовал путем увеличения тактовой частоты внутр. генератора до 2МГц (по умолчанию для авто - 1МГц). Было бы хорошо добавить в программу переменную, на которую бы делилось количество посчитанных входных импульсов. При значении, равном 1 - прошивка для мотоцикла, при 2 - авто.
|
|
|
|
20.05.2010, 14:08
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Сообщение от ksvserega
|
|
Учился на программиста, работаю в этой области больше 10 лет, пишу сам программы и в чужих разбираюсь, но вот в прогах под МК ну никак не понимаю.
|
Да и не надо понимать. Напишите с нуля - раз уж программист. М8 хоть и 8-ми битный контроллер, но вполне позволяет писать на С/С++. Си сейчас вообще стандарт de facto. Ну а для программиста эта задача на полчаса-час. Возможно в первый раз провозитесь два часа, но опыт вещь бесценная
|
|
|
|
20.05.2010, 15:37
|
|
|
Прописка
Регистрация: 11.03.2010
Адрес: Донецк
Сообщений: 168
Сказал спасибо: 25
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
kison, как можно написать программу, не понимая её???
|
|
|
|
20.05.2010, 15:47
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Сообщение от ksvserega
|
|
kison, как можно написать программу, не понимая её???
|
Не понимая что? Забудьте Вы о том ассемблерном исходнике - составьте СВОЙ алгоритм и реализуйте его. Что будет непонятно как сделать - подскажем. Или Вы и свой собственный алгоритм будете непонятным считать?
|
|
|
|
20.05.2010, 19:03
|
|
|
Прописка
Регистрация: 11.03.2010
Адрес: Донецк
Сообщений: 168
Сказал спасибо: 25
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Разозлили вы меня очень!!! Распечатал код, взял в руки ручку, а гугла за воротник и расковырял (как мне кажется) прогу. В Протеусе быстренько собрал схемку, проверил старой прошивкой - работает.
И стопорнулся. 
Никак не могу из asm получить hex. В CodeVisionAVR открыл свой asm, а компилить он не даёт, весь пункт меню Project неактивен. Или он не может этого делать впринципе? Гугл выдал mpasm и tavrasmw, первый отказался работать на win7x64, а второй выдал гору ошибок, причем он не компилит не только мой, но и оригинальный файл.
Вопчем, нид хелп!!!
|
|
|
|
20.05.2010, 19:15
|
|
|
Прописка
Регистрация: 23.01.2008
Сообщений: 102
Сказал спасибо: 0
Сказали Спасибо 21 раз(а) в 19 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Сообщение от ksvserega
|
|
весь пункт меню Project неактивен
|
Создайте новый проект, и подключите к нему asm файл.
Тогда всё заработает.
Сообщение от ksvserega
|
|
Гугл выдал mpasm и tavrasmw
|
Это всё не то, для AVR контрорллеров используется avrasm32.
PS.
Если вы программист, то неужели так сложно придумать свой алгоритм, как писали выше, и реализовать на одном из языков высокого уровня (Си, паскаль, бейсик), который вы хорошо знаете?
Последний раз редактировалось Pit_PB; 20.05.2010 в 19:19.
|
|
|
|
20.05.2010, 20:19
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Сообщение от ksvserega
|
|
В CodeVisionAVR открыл свой asm, а компилить он не даёт, весь пункт меню Project неактивен.
|
AvrStudio - IDE+assembler под AVR.
http://www.atmel.com/dyn/products/to...p?tool_id=2725
|
|
|
|
20.05.2010, 20:52
|
|
|
Прописка
Регистрация: 11.03.2010
Адрес: Донецк
Сообщений: 168
Сказал спасибо: 25
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Pit_PB, спасибо, ща попробуем.
Дело не в алгоритме, а в том, что я не понимаю и не умею работать с регистрами, таймерами, АЦП и т.п. В данном случае, к примеру, я понял, что за какой-то (какой точно - не понял) определённый промежуток времени подсчитывается количество импульсов, потом идёт последовательное сравнение с 20 заданными значениями, причем, чем меньше значение, тем больше частота. НО, так и не понял, как именно считаются вх. импульсы, как эти таймеры\прерывания применять в программе, где непосредственно комманда на зажигание соотв. светодиода. Догадки конечно есть, и если ща получится сгенерить hex, то получится проверить хотя бы в эмуляторе.
|
|
|
|
20.05.2010, 22:14
|
|
|
Прописка
Регистрация: 11.03.2010
Адрес: Донецк
Сообщений: 168
Сказал спасибо: 25
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
При компиляции вагон ошибок на необъявленные переменные, гугл сказал, что нужно подключить файл, соответствующий используемому МК, где эти переменные описаны. Нашел в папке с AvrStudio файлик m8def.inc, даже в проект добавил - всё равно ругается на переменные. Как добавить в проект на С - понятно, а вот как на асме добавляется - хз. Может подскажите
|
|
|
|
20.05.2010, 22:21
|
|
|
Прописка
Регистрация: 11.03.2010
Адрес: Донецк
Сообщений: 168
Сказал спасибо: 25
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
|
Re: Подскажите по прошивке для Меги8
Спасибо всем, разобрался сам, терь ошибки в моём коде, не понимает loop. Может у кого нить есть реализация паузы\задержки на асме?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:01.
|
|