Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Бегущая строка для чайников..:)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Славик777
ВСЕМ, ВСЕМ, ВСЕМ....
Очень нужна помощь....
Очень хочется разобраться в Языке С и AVR микроконтроллерах типа Mega16...
У меня большой опыт работы с паяльником так сказать... ,и не большой с программированием.... ,точнее савсем не большой....
Мне хочется сделать бегущую строку...
Без эффектов..., просто заранее зашитый код в контроллер...., ну и текст из этого кода...
Всё железо у меня есть и уже спаянно...
Матрица 8 на 64..., управление развёрткой на дешифраторах.. Они управляются счётчиком..., сброс и тактирование счётчика от МК...
Горизонтальные ряды к порту МК...
Частоты я посчитал...
При частоте кадров 75... и числе столбцов 64..., частота выхода информации с МК на табло составляет 360 Гц....
Осталось тока зашить прогу... ну и для начала её написать....
Но вот сколько я не пытаюсь разобраться... .не получается...


ПАМАГИТЕ.., кто чем может..smile.gif
vet
Паяем адаптер STK200/300 для программирования AVR (http://www.ln.com.ua/~real/avreal/adapters.html)
Качаем CodeVisionAVR - транслятор С + программатор,
генерируем встроенным wizard'ом шаблон программы с готовыми настройками периферии,
начинаем вписывать в шаблон свой код:
добиваемся корректной работы динамической индикации,
прикручиваем знакогенератор и добавляем индикацию символов, отлаживаем,
добавляем скроллинг, отлаживаем.
Славик777
Цитата(vet @ Mar 25 2008, 23:33) *
Паяем адаптер STK200/300 для программирования AVR (http://www.ln.com.ua/~real/avreal/adapters.html)
Качаем CodeVisionAVR - транслятор С + программатор,
генерируем встроенным wizard'ом шаблон программы с готовыми настройками периферии,
начинаем вписывать в шаблон свой код:
добиваемся корректной работы динамической индикации,
прикручиваем знакогенератор и добавляем индикацию символов, отлаживаем,
добавляем скроллинг, отлаживаем.


Программатор я спаял... ,пару простеньких прогграммок написал.. ,зашил.., проверил.. ,типо бегущего огня с реверсом там..., и ещё там что то....
Все проги есть...
Мне не понятен сам алгоритм работы программы, которую надо написать для того чтоб МК выдавал на частоте 360 Гц с одного из 8 разрядных портов пачки импульсов от моего текста.....

Если можно поподробнее....
=GM=
Цитата(Славик777 @ Mar 25 2008, 20:18) *
ВСЕМ, ВСЕМ, ВСЕМ....
Частоты я посчитал...При частоте кадров 75... и числе столбцов 64..., частота выхода информации с МК на табло составляет 360 Гц....ПОМОГИТЕ..

Непонятно, как вы считали частоты. При частоте 75 кадров/с и 8-ми строках, у вас частота обновления строк должна быть 75*8=600 Гц. Частота для заталкивания 64 бит должна быть 600*64=38400 Гц, по крайней мере не ниже. Покажите схему индикации.
Славик777
Цитата(vet @ Mar 26 2008, 00:44) *
каким образом реализована синхронизация микроконтроллера с сигналом CLK?


Как я понял из схемы, сигнал CLK идёт напрямую от контроллера...., по сути это прямоугольный ипульс с определённой частотой. С этой же частотой одновременно с 8 разрядов МК поступает некий код на 8 строк табло...., так как я понял получается развёртка изображения...

Схема индикации взята отсюда....
http://cxem.net/mc/mc2.php

Разработчик брал PIC, но по поводу прошивке ничего не сказано....
Поэтому вот стал разбираться.., но как то сложна....
А полазив по инету понял, во что влез.., люди по этому поводу целые дипломы пишут....
А мне ради интереса..., ведь в принципе логика работы железа понятна..., дело осталось только за мозгами МК....


Цитата(=GM= @ Mar 26 2008, 00:05) *
Непонятно, как вы считали частоты. При частоте 75 кадров/с и 8-ми строках, у вас частота обновления строк должна быть 75*8=600 Гц. Частота для заталкивания 64 бит должна быть 600*64=38400 Гц, по крайней мере не ниже. Покажите схему индикации.


Схема...
vet
настройте один из таймеров м/к на нужную частоту, отслеживайте его переполнение, по наступлении - инвертируйте CLK.
каждое 4-е переполнение выводите новый код на м/с DD1,2.
под хранение столбцов отведите буфер в ОЗУ.
динамическая индикация в общих чертах готова.
Славик777
Цитата(vet @ Mar 26 2008, 00:59) *
настройте один из таймеров м/к на нужную частоту, отслеживайте его переполнение, по наступлении - инвертируйте CLK.
каждое 4-е переполнение выводите новый код на м/с DD1,2.
под хранение столбцов отведите буфер в ОЗУ.
динамическая индикация в общих чертах готова.


Спасибо...smile.gif
Ноу меня несколько вопросико.... извините если они покажутся смешными....
1)Почему каждое 4 переполнение? Ведь с изменением сигнала CLK на противоположный должен меняться и код на DD1,2... или я не прав?
2) Буфер в ОЗУ МК?... Или нужно отдельное ОЗУ?
vet
код на выходах DD3.1 будет меняться с каждым положительным фронтом CLK.
ОЗУ Меги16 вполне достаточно для хранения 64х8 двухцветных точек.
Славик777
Цитата(vet @ Mar 26 2008, 01:15) *
код на выходах DD3.1 будет меняться с каждым положительным фронтом CLK.
ОЗУ Меги16 вполне достаточно для хранения 64х8 двухцветных точек.


Хорошо.. ,когда перейдём уже к испытаниям проверим этот моментик.., это же легко поправляется....
А по поводу отвести место под ОЗУ и остальное что касается языка С..., вы не посаветуете литературу где это будет ну так или иначе грамотно и понятно написано....
А то то что я нашёл в инете и купил в магазинах расчитано ну мягко говоря на людей уже хорошо разбирающихся в программировании....
vet
Насчет C - по местной традиции, посоветую Керниган, Ритчи "Язык программирования Си".
Касательно AVR - документация на gaw.ru, Гребнев В.В. "Микроконтроллеры семейства AVR фирмы Atmel".
Славик777
Цитата(vet @ Mar 26 2008, 01:33) *
Насчет C - по местной традиции, посоветую Керниган, Ритчи "Язык программирования Си".
Касательно AVR - документация на gaw.ru, Гребнев В.В. "Микроконтроллеры семейства AVR фирмы Atmel".


Спасибо большое.. ,буду разбираться....
А вот ещё вопросик.. ,скажите вы возможно где-нибудь видели похожие проекты на языке Си?
Если видели... ,поделитесь ссылочкой...., так наверно будет проще разбираться....
vet
строка - популярная самоделка; пройдитесь поиском по форуму - тема поднималась неоднократно; да и в интернете проектов лежит немало.
Славик777
Цитата(vet @ Mar 26 2008, 01:56) *
строка - популярная самоделка; пройдитесь поиском по форуму - тема поднималась неоднократно; да и в интернете проектов лежит немало.


Так я последние 3 дня и ночи этим и занимался.. ,после того как вё спаял...
Вот одним глазом смотрю на табло с контроллером... ,другим на программатор....
А не работает....smile.gif
Все проекты - одни схемы..., а программок нет...sad.gif
vet
значит, нужно приниматься за отладку - берется AVR Studio, в нее загружается файл COFF, созданный компилятором, и программа прогоняется пошагово на предмет выявления причины некорректного поведения.
Славик777
Цитата(vet @ Mar 26 2008, 02:18) *
значит, нужно приниматься за отладку - берется AVR Studio, в нее загружается файл COFF, созданный компилятором, и программа прогоняется пошагово на предмет выявления причины некорректного поведения.


Нет Вы меня не поняли... ,в МК нет прошивки.. ,поэтому и не работает... ,а развёртка работает.. ,я делал на МК генератор проверял..., что да как.. ,всё светиться.. ,но единственное что получалось это движение вертикальных линии справа налево....
Tiny
Здесь есть проект с описанием. Я с ним не разбирался, может пригодится
http://ifolder.ru/5886016
Славик777
Цитата(Tiny @ Mar 26 2008, 08:38) *
Здесь есть проект с описанием. Я с ним не разбирался, может пригодится
http://ifolder.ru/5886016


Спасибки Tiny..., по готовому алгоритму проще делать свой....smile.gif
Ура..smile.gif
Tiny
Еще здесь кое-что есть.
http://www.woe.onlinehome.de/e_projects.htm#ledfont
http://www.atmel.ru/Articles/Atmel17.htm
Как-то еще попадались, но у меня не сохранились адреса.
=GM=
Цитата(Славик777 @ Mar 25 2008, 21:57) *
Схема индикации взята отсюда...

Схема, некритически используемая вами, весьма плоха, поскольку

1) нет ограничения тока, текущего через светодиоды. Попалите все диоды к шутам.

2) скважность в такой схеме составляет 1:64, что означает бешеный импульсный ток через отдельно взятый диод в течение короткого периода времени.

Активнее пользуйтесь поиском на форуме. Вот две попавшиеся темы: "Светодиодный экран", обратите внимание на пост #72 и "Бегущая строка на ATmega8"
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.