Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Ассемблерный сдвиг

Непрочитано 23.08.2012, 22:05  
Hives
Гражданин KAZUS.RUN
 
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
Hives на пути к лучшему
По умолчанию Re: Ассемблерный сдвиг

во первых, где сказано двигать биты по кругу? сам придумал?
во вторых, добавляем к фифо граничные/буферные байты и ничего не надо предварительно грузить.
PS и поосторожнее с лопатой, тебя видимо уже зацепило
Реклама:
Hives вне форума  
Непрочитано 23.08.2012, 22:11  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Ассемблерный сдвиг

Сообщение от dosikus Посмотреть сообщение
А это не само собой подразумевалось?
Как видишь не для всех...
Сообщение от Hives Посмотреть сообщение
PS и поосторожнее с лопатой,
http://lurkmore.to/%D0%9B%D0%BE%D0%BF%D0%B0%D1%82%D0%B0
omercury вне форума  
Непрочитано 23.08.2012, 22:14  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Ассемблерный сдвиг

Сообщение от omercury Посмотреть сообщение
Как видишь не для всех...
Если сработает естественный отбор , может оно и к лучшему ?
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 23.08.2012, 22:53  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Ассемблерный сдвиг

Сообщение от Hives Посмотреть сообщение
во вторых, добавляем к фифо граничные/буферные байты и ничего не надо предварительно грузить.
И что это изменит?
Сообщение от dosikus Посмотреть сообщение
Сообщение от omercury Посмотреть сообщение
Сообщение от dosikus Посмотреть сообщение
А это не само собой подразумевалось?
Как видишь не для всех...
Если сработает естественный отбор , может оно и к лучшему ?
...может ты и прав...

Последний раз редактировалось omercury; 23.08.2012 в 22:57.
omercury вне форума  
Непрочитано 23.08.2012, 23:33  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Ассемблерный сдвиг

Сообщение от serj_neo Посмотреть сообщение
Моргает изображение.
Индикация динамическая. Да и мега 8, а там памяти мало.
Если картинка не успевает подготовиться за время свечения одной строки, то сделайте двойную буферизацию. В первом буфере вы будете рисовать изображение вашей строки, второй буфер будет содержать данные в том виде в котором они непосредственно уходят в модули. Поверьте, сразу намного легче станет. И если табло сколь-нибудь серьезное, а не поиграться, то взять камень с памятью поболее, хотяб М32. У М8 мозги быстро кончаются на такое дело.
Да и не забывать про синхронизацию обновления буферов. Выходной буфер может быть обновлен только тогда, когда закончен вывод текущего кадра. Иначе вы получите интересные эффекты в виде подергивания картинки.
uk8amk вне форума  
Непрочитано 24.08.2012, 00:25  
anatol378
Почётный гражданин KAZUS.RUN
 
Аватар для anatol378
 
Регистрация: 19.10.2004
Адрес: Нижний Новгород
Сообщений: 1,744
Сказал спасибо: 416
Сказали Спасибо 1,236 раз(а) в 550 сообщении(ях)
anatol378 на пути к лучшему
По умолчанию Re: Ассемблерный сдвиг

Сообщение от serj_neo Посмотреть сообщение
Это видеобуфер ЛЕД панели 12 модулей 16х16 светодиодов.
А такие микры не брались в рассмотрение HT1632C продавец
anatol378 вне форума  
Непрочитано 24.08.2012, 07:43  
serj_neo
Временная регистрация
 
Аватар для serj_neo
 
Регистрация: 16.01.2007
Адрес: Казахстан
Сообщений: 73
Сказал спасибо: 18
Сказали Спасибо 61 раз(а) в 18 сообщении(ях)
serj_neo на пути к лучшему
По умолчанию Re: Ассемблерный сдвиг

Сообщение от uk8amk Посмотреть сообщение
Если картинка не успевает подготовиться за время свечения одной строки, то сделайте двойную буферизацию. В первом буфере вы будете рисовать изображение вашей строки, второй буфер будет содержать данные в том виде в котором они непосредственно уходят в модули. Поверьте, сразу намного легче станет. И если табло сколь-нибудь серьезное, а не поиграться, то взять камень с памятью поболее, хотяб М32. У М8 мозги быстро кончаются на такое дело.
Да и не забывать про синхронизацию обновления буферов. Выходной буфер может быть обновлен только тогда, когда закончен вывод текущего кадра. Иначе вы получите интересные эффекты в виде подергивания картинки.
Спасибо за подсказку но в данном проекте это не требуется.
Всё поместилось и управляется по RS485.
Сообщение от Hives
во первых, где сказано двигать биты по кругу? сам придумал?
во вторых, добавляем к фифо граничные/буферные байты и ничего не надо предварительно грузить.
Нужно было быстро сделать сдвиг изображения на один бит, и не по кругу.
Так как после сдвига например влево, необходимо вычислить вертикальную строчку нужного символа, которую и вывести в самый конец буфера.
вот код который собственно всё это делает:
Код:
#define Modules 12   //количество модулей
unsigned char Buf[16][24];//буфер в озу
//передаётся строка которую надо вывести,В какую сторону двигать
void LED_SHIFT(unsigned char * str,unsigned char mode)
{
	volatile unsigned int i,a=0;
	cli();
	if (mode)
	{            
            //получаем по индексу в строке, вертикальный столбик 
		a = Get_Stolbik_for_Shift(str,index);
		asm volatile (
		"ldi R30,lo8(Buf) \n"		
		"ldi R31,hi8(Buf) \n"
                "ldi R19,128   \n"
                "ldi R20,2     \n"
		"clc \n"
                "Cycle2:        \n"
		"ld R25,Z      \n"
		"ror R25       \n"
		"st Z+,R25     \n"
                "dec r19       \n"          
                "brne Cycle2    \n"      
                "dec r20       \n"    
                "brne Cycle2    \n"
            );	//Выводим в начало буфера полученный столбик
		if(--index == 0)index = lenght-1;
		for(i=0;i‹16;i++)
		{
			if(a & 0x8000)Buf[i*Modules*2] |= 0x80;
			else Buf[i*Modules*2] &= ~0x80;
			a ‹‹= 1;
		}
	}		
        else
        {
	    a = Get_Stolbik_for_Shift(str,index); 
            asm volatile (
	    "ldi R30,lo8(Buf+384) \n"		
	    "ldi R31,hi8(Buf+384) \n"
            "ldi R19,128   \n"
            "ldi R20,2     \n"
	    "clc      \n"
            "Cycle:        \n"
	    "ld R25,-Z      \n"
	    "rol R25       \n"
	    "st Z,R25     \n"
            "dec r19       \n"          
            "brne Cycle    \n"      
            "dec r20       \n"    
            "brne Cycle    \n"
            );		
		if (++index ›= lenght)index = 0;
		for(i=1;i‹17;i++)
		{
		    if(a & 0x8000)Buf[i*Modules*2-1] |= 0x01;
		    else Buf[i*Modules*2-1] &= ~0x01;
		    a ‹‹= 1;			
		}
    }
	sei();
}
Сообщение от anatol378
А такие микры не брались в рассмотрение HT1632C продавец
Мы сами не собирали эти модули. Так сказать это часть китайского информационного табло для ледового дворца.
В общем делаю матчконтроллер на stm32 а управление табло на mege8, и ещё в пределах ледового дворца раскиданны восемь pic1822(всякие часы,фонари в воротах).
serj_neo вне форума  
 

Метки
асм си
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сдвиг фаз при помощи ЦОС lexa1000 Цифровые сигнальные процессоры 11 05.04.2013 15:12
Сдвиг в тестбэнче Aleksashka1 Микроконтроллеры, АЦП, память и т.д 1 17.01.2011 16:26
Выбор, включение, модуляция, сдвиг и выключение majorka65 Микроконтроллеры, АЦП, память и т.д 1 26.05.2010 19:34
Сдвиг сигнала, почему? Gonchar Микроконтроллеры, АЦП, память и т.д 11 24.05.2010 23:42
Как или чем определить фазовый сдвиг Online Измерительное оборудование 19 06.11.2006 15:12


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


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