Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Электроника - это просто Теоретические и практические вопросы для начинающих электронщиков.

 
Опции темы

Бегущая строка

Непрочитано 02.02.2011, 08:36  
russo_turisto
Прописка
 
Регистрация: 16.01.2007
Адрес: Astana KZ
Сообщений: 243
Сказал спасибо: 45
Сказали Спасибо 38 раз(а) в 32 сообщении(ях)
russo_turisto на пути к лучшему
По умолчанию Бегущая строка

Помогите поднять, соответственно понять программу для бегущей строки, программа не полная, основной части нету, пытаюсь понять алгоритм работы и сообразить нехватающий.
Первый вопрос для чего нужны эти переменные
int8 litera;
int8 shift;
int8 strobRow;
int8 shiftDirection;
int8 dataRow[8];
int8 row;
и что делает эта строка
shift_right(dataRow,8,bit_test(literaBig[litera][row],i));

проэктик прикреплен

Для начала хочу включить все сегменты на матрицах, выключить и запустить бегущий один сегмент.
#include ‹16F870.h›
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)

#include ‹74595.c›
#include ‹row8.c›

int8 litera;
int8 shift;
int8 strobRow;
int8 shiftDirection;
int8 dataRow[8];
int8 row;
//*************************
#int_rtcc
void Interrupt_RTCC()
{
int8 i;
int8 k;
output_b(0xff);
for(litera=0;litera‹=7;litera++){
for(i=0;i‹=7;i++)
shift_right(dataRow,8,bit_test(literaBig[litera][row],i));
}
for(i=0;i‹=shift;i++)
rotate_right(dataRow,;
output_b(0xff);
write_expanded_outputs(dataRow);
rotate_left(&strobRow,1);
output_b(strobRow);
row++;
if(row›7) row=0;
set_rtcc(61);
}
//*************************
void main()
{
int1 flagLiteraPrinted;
setup_counters(rtcc_internal,rtcc_div_64|rtcc_8_bi t);
enable_interrupts(int_rtcc);
enable_interrupts(global);

Main_Loop:
litera=0;
shift=64;
strobRow=0b01111111;

while(true){
shift--;
if(shift==0)
shift=64;
delay_ms(50);
}
}
Миниатюры:
Нажмите на изображение для увеличения
Название: matrix.GIF
Просмотров: 360
Размер:	75.3 Кб
ID:	17896  
Вложения:
Тип файла: rar led_matrix.rar (98.3 Кб, 132 просмотров)
Реклама:

Последний раз редактировалось russo_turisto; 06.02.2011 в 21:44. Причина: нет ответов
russo_turisto вне форума  
Сказали "Спасибо" russo_turisto
warel (27.06.2019)
Непрочитано 06.02.2011, 16:52  
alxchep
Почётный гражданин KAZUS.RUN
 
Аватар для alxchep
 
Регистрация: 29.01.2007
Адрес: Пермский край
Сообщений: 1,659
Сказал спасибо: 417
Сказали Спасибо 1,422 раз(а) в 540 сообщении(ях)
alxchep на пути к лучшему
По умолчанию Re: Бегущая строка

Не густо советов...
Может приложить схемку или назначение портов? Попробуйте дать ссылку на эту ветку в раздел "Микропроцессоры, АЦП...".
alxchep вне форума  
Сказали "Спасибо" alxchep
warel (27.06.2019)
Непрочитано 06.02.2011, 19:23  
russo_turisto
Прописка
 
Регистрация: 16.01.2007
Адрес: Astana KZ
Сообщений: 243
Сказал спасибо: 45
Сказали Спасибо 38 раз(а) в 32 сообщении(ях)
russo_turisto на пути к лучшему
По умолчанию Re: Бегущая строка

Подождем еще, не только мне нужна бегущая строка, хочу термометр сделать на матрицах.
russo_turisto вне форума  
Сказали "Спасибо" russo_turisto
warel (27.06.2019)
Непрочитано 06.02.2011, 20:18  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Бегущая строка

russo_turisto,
на что смотреть, на что отвечать - дебилошпротеусом не пользуюсь, а пдф схемы нет... так что...
через виртуальный принтер сделай пдф-ку и тогда посмотрим
jump вне форума  
Эти 2 пользователя(ей) сказали Спасибо jump за это сообщение:
leoblp (07.02.2011), warel (27.06.2019)
Непрочитано 06.02.2011, 21:41  
russo_turisto
Прописка
 
Регистрация: 16.01.2007
Адрес: Astana KZ
Сообщений: 243
Сказал спасибо: 45
Сказали Спасибо 38 раз(а) в 32 сообщении(ях)
russo_turisto на пути к лучшему
По умолчанию Re: Бегущая строка

Поместил в первом посте упрощеную схему для одной матрицы.
russo_turisto вне форума  
Сказали "Спасибо" russo_turisto
warel (27.06.2019)
Непрочитано 06.02.2011, 23:04  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Бегущая строка

упрощенно, но жить можно
принцип таков:
1. в регистры (по числу матриц) загоняешь столбцы данных
2. включаешь строку (на рисунке отсутствуют верхние (иль нижние ключи, зависит от матриц)) ключом
3. выдерживаешь Nms
4. гасишь строку ключом
5. повторяешь с п.1
6. по окончании 8ми проходов сдвигаешь влево/вправо на один шаг буфер строки и добавляешь один столбец из знакогенератора
это основной цикл - принцип похож на развертку телевизора
пока идет выполнение п.3 по таймеру - готовишь следующий пакет для индикации из буфера строки.
аглицкие букавы сами за себя грят
jump вне форума  
Эти 2 пользователя(ей) сказали Спасибо jump за это сообщение:
russo_turisto (07.02.2011), warel (27.06.2019)
Непрочитано 07.02.2011, 00:20  
vadd
Заблокирован
 
Регистрация: 11.06.2004
Сообщений: 477
Сказал спасибо: 15
Сказали Спасибо 124 раз(а) в 54 сообщении(ях)
vadd на пути к лучшему
По умолчанию Re: Бегущая строка

Сообщение от jump Посмотреть сообщение
1. в регистры (по числу матриц) загоняешь столбцы данных
угу...
правильный подход.

хорошо когда столбцов 8
а если их 256?
vadd вне форума  
Сказали "Спасибо" vadd
warel (27.06.2019)
Непрочитано 07.02.2011, 03:24  
TOPOV
Прохожий
 
Регистрация: 19.01.2007
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
TOPOV на пути к лучшему
По умолчанию Re: Бегущая строка

Скажите пожалуйста. Как упралять по строкам?

Последний раз редактировалось TOPOV; 07.02.2011 в 10:00.
TOPOV вне форума  
Сказали "Спасибо" TOPOV
warel (27.06.2019)
Непрочитано 07.02.2011, 04:33  
vadd
Заблокирован
 
Регистрация: 11.06.2004
Сообщений: 477
Сказал спасибо: 15
Сказали Спасибо 124 раз(а) в 54 сообщении(ях)
vadd на пути к лучшему
По умолчанию Re: Бегущая строка

ну если скважность 1/250 устроит - пожалуйста )))
vadd вне форума  
Сказали "Спасибо" vadd
warel (27.06.2019)
Непрочитано 07.02.2011, 05:43  
Gurianov_A
Частый гость
 
Регистрация: 14.04.2007
Сообщений: 24
Сказал спасибо: 3
Сказали Спасибо 7 раз(а) в 3 сообщении(ях)
Gurianov_A на пути к лучшему
По умолчанию Re: Бегущая строка

Сообщение от vadd Посмотреть сообщение
ну если скважность 1/250 устроит - пожалуйста )))
Ответьте для себя на вопрос - сколько в "бегущей строке" строк (правильно 8 ) вот и скважность будет равна 1/8, в независимости от количества столбцов.
Для каждого из столбцов есть свой сдвиговый регистр, сначала в регистры записываем значения для первой строки, включаем первую строку, ждем, выключаем первую строку, записываем для второй строки, включаем, ждем...
Откуда взялась скважность 1\250....
Gurianov_A вне форума  
Эти 2 пользователя(ей) сказали Спасибо Gurianov_A за это сообщение:
leoblp (07.02.2011), warel (27.06.2019)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 00:53.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.