Без описания |
Поиск в теме | Версия для печати |
skyburn |
Отправлено: 07 Февраля, 2011 - 11:33:04
|
Маршал
Сообщений всего: 124
Дата рег-ции: Янв. 2011
|
Все)) Спасибо)) Сегодня когда засыпал, понятно, что из головы не шли алгоритмы, я еще раз хорошо подумал, прикинул все, и сообразил вот это
CODE:#include <tiny2313.h>
#include <delay.h>
unsigned char ram[4][4]={ //мой массив с изображением.
{1,0,1,0},
{0,1,0,1},
{1,0,1,0},
{0,1,0,1}};
unsigned char min[4][4]={ //массив для последовательной подачи отрицательного контакта
{1,1,1,0},
{1,1,0,1},
{1,0,1,1},
{0,1,1,1}};
int a,b;
main()
{
DDRB=0xff;
for(;;)
{for(a=0;a<4;a++) //что б построить матрицу 4х4 нужно 4 раза заполнить ее 8ю байтами.
{for(b=0;b<4;b++) //первыми нужно затолкать значения отрицательных ног
{PORTB.0=min[a][b];
PORTB.1=0;
PORTB.1=1;
}
for(b=0;b<4;b++) // дальше вывод строки из массива с картинкой
{PORTB.0=ram[a][b];
PORTB.1=0;
PORTB.1=1;
}
PORTB.2=1; // ну и защелкнуть все это и повторить но для другой строки
PORTB.2=0;
}}} |
|
|
Белый Волк |
Отправлено: 07 Февраля, 2011 - 19:41:38
|
Супермодератор
Сообщений всего: 648
Дата рег-ции: Февр. 2007
|
skyburn
Говоря "программная анимация" я говорил о математических вычислениях и построениях линий, я подчёркивал её отличие от спрайтовой анимации, где каждый кадр сохранён отдельным изображением.
Для матрицы 4х4, как верно заметил cjA, необходимо только 2 байта. В одном байте 8 бит. В двух байтах - 16. К примеру, есть два байта:
0b00010010
0b01001000
Если вывести в первую тетраду первого байта, во вторую строку - вторую, в третью - первую тетраду второго байта, в четвёртую строку - вторую тетраду второго байта, то матрица отобразит:
0001
0010
0100
1000 |
|
|
|
Поиск в теме | Версия для печати |
Страниц (11): В начало « ... 3 4 5 6 [7] 8 9 10 11 » |
« Делаем роботов » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|
|
|