Отговори на тема  [ 20 мнения ]  Отиди на страница Предишна  1, 2
Подвижен текст 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
не подценявай хардуера


Вто Юли 24, 2007 12:07 am
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение 
А може ли някой да ми изпрати код на "С" за такова нещо?


Съб Юли 28, 2007 2:16 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Фев 01, 2007 4:04 am
Мнения: 1539
Мнение 
E1 написа:
А може ли някой да ми изпрати код на "С" за такова нещо?

Не се разбра само готов ли ти е хардуера / схемата ? Работеща програма се пише за работещ хардуер, а не наизуст. Иначе самото движение става елементарно и на асемблер.


Съб Юли 28, 2007 8:15 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение 
Готов е. В PORTC се зарежда колонната комбинация(байтът за изобразяване). PORTD дава сигнал за синхронизация през декодери. В него всяка колона се зарежда като двоична стойност, която през декодерите се извежда на съответната колона. Да приемем, че текстът има 160 символа максимално и е предварително въведен.


Нед Юли 29, 2007 3:10 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
Абе малко му изтървах края особенно с това за символа и колоната ..... ако дисплея е светодиоден матричен имаш два варианта за управление, да светваш едновременно колони за цял знак, или да го светаш колона по колона, или ако знаците ти са 5х7 и имаш 30 знака на дисплея, в единия случай опресняването ще става за 30 цикъла, в другия за 150, и съответно в единия случай теста ще ти се скролва през знак, а в другия случай през колона, което е по плавно. От тук зависи и ак е реализирано самото управление, ако скролваш през знак ще подаваш по два байта, единия за колоните, единия за редовете, и съответно сигнал кои колони зареждаш, или пък съответната логика за преместващия регистър. В другия случай ако опресняваш колона по колона, просто един преместващ регистър. И тук сега почват още подробности, затова колегите казаха че зависи от хардуера, т.е. трябва схема.
Самия софт е нещо от сорта :

#byte Lines = 0x07
#byte Column = 0x08;

int symbol, ofset; - глобални
int1 refrsh;

// в тялото на оснония цикъл
if (refresh){
refresh=false;
Lines = string[symbol+ofset];
if(symbol>29)
symbol=0;
else
symbol++;
column=symbol;
// каквото друго трябва за да се изобрази този символ
}

В прекъсване сетваш refresh флага когато стане време за рефрешване, примерно на всяка 1 мс, също така инкрементираш ofset, когато дойде време за скролване, примерно на 500 ms ако скролваш през символ. Тъй като не е добре да имаш много сметки в самото прекъсване, а и не е хубаво да буташ там при всяка промяна на дължината, може и там д сложиш флаг, и в програта по тоя флаг да си определяш офсета, съответно би било добре д разпознаваш EOF при което да почваш реда от ново, така отпада нуждата да задаваш дължина, просто ще зависи от това което имаш в масива. И накрая масива ти е записан в string. Тук пак има възможности, дали да записваш ASCI или да записваш директно изходите, едното е по лесно, за писане и по трудно за въвеждане на текста, ко рябва да бъде професионално направено аз бих избрал или да въвеждам ASCI и да го преработвам в софта, или текста да се ъплоудва през някакво софтче което да прави това преобразуване, вече зависи какви ресурси има процесора, колко е натоварен и т.н. но при 35 символа не е чак токов голяма таблицата за пробразуване.
Ако дадеш схемата която си реализирал би било възможно да ти се помогне повече.

едит. горе в примера се прдполага че по подобен начин задаваш и кои колони да светят, а променливта column e за групата от колони, ии индикатора, ако позлваш индикатори 5х7 или подобни.


Нед Юли 29, 2007 10:33 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 20 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

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


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

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