Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
24.02.2013, 23:07
|
#41
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Бегущая строка
Сообщение от tempora
|
потому и спрашиваю...
|
Ну так посмотрите в первый пост.
Пусть кривенько, но, думаю, понятно.
|
|
|
|
24.02.2013, 23:28
|
#42
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Бегущая строка
omercury, ага - в тексте одна нумерация, в схеме другая, оч понятно.
__________________
There's always more than one way to skin a cat.
|
|
|
|
24.02.2013, 23:33
|
#43
|
Гражданин KAZUS.RU
Регистрация: 16.06.2005
Сообщений: 945
Сказал спасибо: 25
Сказали Спасибо 175 раз(а) в 124 сообщении(ях)
|
Re: Бегущая строка
Сообщение от tempora
|
Кроме своих регистров, еще и свои команды,
|
Не-не. Команды то как раз одинаковые (иногда даже машинные коды совпадают, например mov AX,0x55 = 0x3E 0x55 на i8080, и LD A, 0x55 = 0x3E 0x55 на Z80) - сложение, вычитание, сдвиг, чтение, запись, пересылка (в смысле регистр-регистр), переходы. Вот только мнемоническая запись команд разная - одни фирмы стремится запатентовать, другие обойти патент, выдумывая свои мнемоники.
А посему поняв суть хоть одного ассемблера - переход на любой другой - дело одного дня да справочника по архитектуре с описанием регистров. Ну и понимать, чем например CISC от RISC отличаются желательно.
Последний раз редактировалось Someone; 24.02.2013 в 23:38.
|
|
|
|
24.02.2013, 23:39
|
#44
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Бегущая строка
Сообщение от tempora
|
omercury, ага - в тексте одна нумерация, в схеме другая, оч понятно.
|
А схемы, почитай и нет!
Есть матрица 8 строк по 16 столбцов и сдвиговой регистр на 16 бит.
Будут, вероятно, 8 ключей на строки.
ну не 16 же регистров, управляемых по /OE...
|
|
|
|
25.02.2013, 00:02
|
#45
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Бегущая строка
Сообщение от Someone
|
Команды то как раз одинаковые ... Ну и понимать, чем например CISC от RISC отличаются желательно.
|
Ага. И еще понимать, что сдвиг сдвигу рознь, не везде есть умножение, разные наборы инструкций арифметики (всякие там BCD, флаги полупереносов), совершенно разные наборы команд переходов, принципиально разные наборы видов адресаций, где-то обращение к битам есть, где-то оно заменено липовыми "адресами", а где-то его вовсе нет, разные наборы команд GPIO, разные команды пересылки, по-разному происходит вход в прерывание и выход из него... не, не помню всего, так как, в отличие от jump'а, я-таки согрелся блаародным напитком. А, вот ещё - разная структура команд - число операндов, наличие/отсутствие префиксов, подмножеств инструкций и так далее... А сложение и вычитание да - есть! Причём, оно и в других языках есть, то есть, с этой точки зрения не ассемблеры одинаковы, а все языки программирования - попросту близнецы-братья.
Сообщение от omercury
|
Есть матрица 8 строк по 16 столбцов и сдвиговой регистр на 16 бит.
|
Отлично... еще бы пару слов сюда добавить - кто там "первый"/"последний" и что значит, что один из них становится другим - Q7 в Q0 что-ли?
__________________
There's always more than one way to skin a cat.
|
|
|
|
25.02.2013, 00:35
|
#46
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: Бегущая строка
Сообщение от Someone
|
А посему поняв суть хоть одного ассемблера - переход на любой другой - дело одного дня да справочника по архитектуре с описанием регистров. Ну и понимать, чем например CISC от RISC отличаются желательно.
|
Да вообще практически одинаковы .... Даже приведу пример
Код:
|
// 111 symbolx=struct_fnt[tekfonts-2][Znak].width + tekkern;
SUB R0,R0,#+33
AND R0,R0,#0xFF
MOV R2,#+892
LDR R3,??DataTable2_2
MLA R1,R2,R1,R3
ADD R0,R1,R0, LSL #+2
LDRB R0,[R0, #-1782]
B ??ZnakWidth_2 |
Код:
|
105 symbolx=struct_fnt[tekfonts-2][Znak].width + tekkern;
\ 0000001E .... LDI R30, LOW((struct_fnt - 1336))
\ 00000020 .... LDI R31, HIGH((struct_fnt - 1336))
\ 00000022 2F20 MOV R18, R16
\ 00000024 E003 LDI R16, 3
\ 00000026 9F02 MUL R16, R18
\ 00000028 0DE0 ADD R30, R0
\ 0000002A 1DF1 ADC R31, R1
\ 0000002C E90D LDI R16, 157
\ 0000002E E012 LDI R17, 2
\ 00000030 9F14 MUL R17, R20
\ 00000032 2D10 MOV R17, R0
\ 00000034 9F04 MUL R16, R20
\ 00000036 0D11 ADD R17, R1
\ 00000038 0DE0 ADD R30, R0
\ 0000003A 1FF1 ADC R31, R17
\ 0000003C 9104 LPM R16, Z
\ 0000003E 9110.... LDS R17, tekkern
\ 00000042 0F01 ADD R16, R17
\ 00000044 9300.... STS symbolx, R16
\ 00000048 9508 RET |
|
|
|
|
25.02.2013, 00:55
|
#47
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Бегущая строка
Codepage[36][6]={0xc7,0x11,0x12,0x11,0xc7,0x00}; - //вроде буква А не помню
for (stolbec=0;stolbec‹=15;stolbec++)
{
DATA_STOLB=1;
CLK_STOLB=1;CLK_STOLB=0;
for (stroka=0;stroka‹=7;stroka++)
{
DATA_STROKA=Codepage[36][stolbec].0;// подскажите как у переменной которую взял я из массива взять значение нужного бита и назначить переменной?(Ну я записал типа PORTD.0) Но каждый шаг нужно будет брать следующий бит из 8-ми.Это алгоритм загрузки строки в первый столбец. я правда не знаю в какую сторону правильнее или удобнее выводить строку...
CLK_STROKA=1;CLK_STROKA=0;
};
};
|
|
|
|
25.02.2013, 01:05
|
#48
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Бегущая строка
miwutka, йо-хайды, ты что-нибудь про читаемость кода, про отступы слышал?
Upd: И потом, что такое "Codepage[36][6]" - это массив каких-то структур? Что значат DATA_STROKA, CLK_STROKA - макросы???
__________________
There's always more than one way to skin a cat.
Последний раз редактировалось tempora; 25.02.2013 в 01:10.
|
|
|
|
25.02.2013, 01:21
|
#49
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Бегущая строка
Сообщение от tempora
|
Что значат DATA_STROKA, CLK_STROKA - макросы???
|
Ещё LATCH_STROKA будет.
Это сигналы управления сдвиговыми регистрами.
Сообщение от tempora
|
Отлично... еще бы пару слов сюда добавить
|
Ещё раз - матрица из ВОСЬМИ строк. В сдвиговые регистры помещается ОДНА строка высотой в ОДИН пиксел.
Динамическая индикация. Сначала выводится одна строка, за ней другая и так 8 раз.
Что делать сдвинутым данным из нижней строки в верхней.
Или из верхней внизу, не суть важно.
Последний раз редактировалось omercury; 25.02.2013 в 01:23.
|
|
|
|
25.02.2013, 01:26
|
#50
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Бегущая строка
Сообщение от omercury
|
Это сигналы управления сдвиговыми регистрами.
|
Ну да, а это - "Codepage[36][stolbec].0;" - младший вывод порта размером 36*6 байт, да?
__________________
There's always more than one way to skin a cat.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:45.
|
|