Важная информация

User Tag List

Страница 4 из 8 ПерваяПервая 12345678 ПоследняяПоследняя
Показано с 31 по 40 из 73

Тема: Изучаем микроконтроллер КР1878ВЕ1.

  1. #31
    Activist Аватар для Jukov
    Регистрация
    03.12.2005
    Адрес
    Серов
    Сообщений
    491
    Спасибо Благодарностей отдано 
    13
    Спасибо Благодарностей получено 
    38
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Посмотрел в Чип-Дипе, не знаю, где можно дороже купить 82 руб. Ха - это дорого, сейчас в кафешке, ссадил, так от нечего делать 150 руб, выпил бокальчик оочень хорошего пива. Это не деньги 82 руб. по нынешним временам.

    Жду МК, как придут, может помучаю, хотя сейчас не время, сейчас нужно ВМИР-1, развивать, весна.
    А мы всё жалуемся что в Росси жить плохо, что мы бедные. Зажрались...
    Кворум-192, Кворум-128 CP/M, Кворум-64, ZS-Scorpion 256 Turbo+&Caro ZX_MC, Мастер48К

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    146
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Jukov Посмотреть сообщение
    А мы всё жалуемся что в Росси жить плохо, что мы бедные. Зажрались...
    Да люди всегда жалуются, хоть мы сейчас и живем побогаче чем царские помещики...
    Ладно, хватит...
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  4. #33
    Activist Аватар для Adramelek
    Регистрация
    17.02.2005
    Адрес
    USA
    Сообщений
    371
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Написал постфиксный ассемблер для КР1878ВЕ1. Хотел попробовать написать ассемблер для микроконтроллера, простоты ради выбрал именно этот. Написал на Forth, поэтому синтаксис у ассемблера соответствующий: вместо instruction <destination> <source> пишется <source> <destination> instruction. Привычный синтаксис только у команд jmp/jnz/jz/... : instruction <label>. Это связано с тем, как ассемблер обрабатывает ссылки вперед.

    Не суть важно. Можно это воспринимать просто как аналог ассемблеру от Ангстрема (который TESSA.EXE на их сайте).
    • Программа-пример из документации микроконтроллера: test.mic, я скармливал ее TESSA.EXE и сравнивал получившийся результат со своим
    • ассемблер вместе с программой-примером, она начинается после комментария "test program", можно сравнить синтаксис с оригиналом: test.fs, запускать на Linux/BSD/OS X под gforth
    • несколько слов, опосредованно относящихся к ассемблеру: common.fs, вынес их в отдельный файл


    Итак, подхожу к собственно вопросу...

    В процессе сравнения результатов заметил несоответствие в обработке инструкции LDR. Согласно документации, она имеет такой формат:
    Код:
    0010 0ccc cccc cnnn
          constant  reg
    Мой ассемблер, как и в случае с остальными инструкциями, у которых два операнда, генерирует опкод так: операнд2 (в данном случае constant) сдвигается влево на ширину операнда1 (в данном случае register), потом OR их вместе, потом еще раз OR с кодом команды. Следуя этой логике, строка LDR #C,15 должна генерировать такой опкод:
    Код:
    0010 0000 0111 1010
    Вместо этого TESSA.EXE генерит такой код:
    Код:
    0010 0000 0000 1010
    Я поэкспериментировал, и получается, что для инструкции LDR ассемблер Ангстрема не сдвигает константу влево, и накладывает три бита регистра прямо поверх нее. Еще показательный пример: LDR #A,7. В теории опкод такой:
    Код:
    0010 0000 0011 1000
    У TESSA.EXE такой:
    Код:
    0010 0000 0000 0000
    У меня есть сильное подозрение, что это баг или глюк в TESSA.EXE. Но как-то трудно поверить, что программисты в Ангстреме могли его не заметить. Эта инструкция, кажется, четыре раза встречается в программе-примере из официальной документации, и дважды она генерирует неверный код (в моем понимании).

    Есть ли у кого-нибудь возможность проверить работу программы на реальном микроконтроллере? Может, я что-то неверно понял в логике работы инструкции LDR?

    P.S. Насчет самого ассемблера: я таки могу допилить его напильником и сделать менее похожим на полуфабрикат. Как минимум, скомпилировать на Windows в виде отдельного EXE-файла, который будет кушать ассемблерный исходник в STDIN. Если кому интересно, конечно.

  5. #34
    Member
    Регистрация
    28.10.2010
    Адрес
    г. Пермь
    Сообщений
    50
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    [QUOTE=как-то трудно поверить, что программисты в Ангстреме могли его не заметить[/QUOTE]
    Многие жаловались на ляпы в документации, так что, вполне возможно, что программисты просто учли фактическое положение дел :-)
    Насчет ассемблера - было бы интересно, особенное, если в комплекте с "средой разработки" типа Borland Pascal (городить что-то более навороченное, думаю, смысла нет, а вещицу, которая знает понятие "проект" и позволяет сделать несколько файлов, а заодно скрывает от пользователя командную строку - это то, что надо :-))
    Robotron CM6329.01M - 100%
    Robotron K6314 - 95% (не хватает рукоятки прокрутки)
    Prasident K6320 Commodore (трэба компутер - а самотест проходит)
    D-100M - 80%
    Электроника МС6312 - ???
    УПЗ - under construction
    Электроника МС6313 (нераспакован)
    Остальное перечислять не интересно :-)

  6. #35
    Activist Аватар для Adramelek
    Регистрация
    17.02.2005
    Адрес
    USA
    Сообщений
    371
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Прошу прощения за то, что пытался ввести в заблуждение. Моя вина. Вкурил документацию и увидел там следующее:
    Формат команды: ldr #n , значение

    где: n - номер служебного регистра

    Номер служебного регистра лежит в диапазоне 0-7, определяя один из регистров SR0-SR7. Загружаемое значение может быть константой, меткой или выражением, задающим адрес в памяти данных или памяти команд.

    При загрузке регистров SR0-SR3 загружаемое значение является адресом в памяти данных. Константа или выражение, загружаемое в регистр, преобразуется в адрес сегмента путем отсечения младших 3-х разрядов значения.
    Это, оказывается, фича языка ассемблера. При загрузке регистров #5, #6, #7 -- нужно сдвигать константу влево. При загрузке регистров #a, #b, #c, #d -- не нужно...

    ---------- Post added at 14:19 ---------- Previous post was at 13:34 ----------

    Цитата Сообщение от Andrei88 Посмотреть сообщение
    Насчет ассемблера - было бы интересно, особенное, если в комплекте с "средой разработки" типа Borland Pascal (городить что-то более навороченное, думаю, смысла нет, а вещицу, которая знает понятие "проект" и позволяет сделать несколько файлов, а заодно скрывает от пользователя командную строку - это то, что надо :-))
    Ну, полноценную среду разработки я вряд ли потяну. И, как показали последние события, сам код ассемблера тоже надо проверить на (невольные) неточности.

    Когда начнет получаться что-то более-менее похожее на нормальный продукт, я, наверное, отдельную тему открою в этом же разделе.

    Синтаксис не смущает? Я-то привык.

  7. #36
    Activist Аватар для Adramelek
    Регистрация
    17.02.2005
    Адрес
    USA
    Сообщений
    371
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от perestoronin Посмотреть сообщение
    Костыли в виде IDE не нужны, достаточно инструментов, работающих с командной строки.
    Да, я сам обычно только командной строкой пользуюсь.

    Цитата Сообщение от perestoronin Посмотреть сообщение
    Исходники пожалуйста выложите, где Вам удобно, или мне на почту пришлите. Адрес электронной почту в личку могу направить. Я при необходимости поправлю и скомпилирую его под используемый мною Linux.
    Ассемблер написан на языке программирования Forth. Я придерживаюсь стандарта ANS, поэтому ассемблер должен запуститься на многих трансляторах Форта. Вот эти два файла и есть весь ассемблер (из моего первого сообщения):
    Цитата Сообщение от Adramelek Посмотреть сообщение
    • ассемблер вместе с программой-примером, она начинается после комментария "test program", можно сравнить синтаксис с оригиналом: test.fs, запускать на Linux/BSD/OS X под gforth
    • несколько слов, опосредованно относящихся к ассемблеру: common.fs, вынес их в отдельный файл
    Правда, программисту на Си должно быть непривычно, что ассемблер и программа на ассемблере написаны на одном и том же языке и находятся в одном файле.

    Инструкция по установке:
    • Скачайте и скомпилируйте gforth: http://www.gnu.org/software/gforth/
    • если установили gforth не в /usr/bin/local, то надо это учитывать: в исходникe ассемблера поправить первую строчку "#! /usr/local/bin/gforth" (пробел необходим)
    • я прикрепил к этому сообщению архив с поправленной версией ассемблера. Исходник программы вынесен в отдельный файл. Файл "ras.fs" должен быть исполняемым, если нет, выполните команду "chmod +x ras.fs"


    Запускать можно так:
    Код:
    # ./ras.fs < test-program.fs
    Или так:
    Код:
    # ./ras.fs
    s" test-program.fs" required
    bye
    Ну, или как я делал: располагать программу на ассемблере прямо вместе с ассемблером в одном файле. Результат работы: файл "code.bin" (просто дамп буфера кода).

    На самом деле, полноценно пользоваться этим пока не стоит. Надо добавить примеров кода, ключи командной строки и поддержку форматов файлов для программаторов.

    Цитата Сообщение от perestoronin Посмотреть сообщение
    Если нужны микроконтроллеры - пришлите в личку ФИО и адрес, куда их выслать, вышлю в подарок пару микроконтроллеров. Простой программатор этого микроконтроллера можно собрать и на LPT, я же обхожусь чиппрогом48 от Фитона.
    Предложение хорошее, благодарю. Только я живу в США, это, наверное, дорого будет.
    Вложения Вложения
    • Тип файла: zip ras.zip (4.0 Кб, Просмотров: 98)
    Последний раз редактировалось Adramelek; 11.04.2014 в 01:39.

  8. #37
    Activist Аватар для Adramelek
    Регистрация
    17.02.2005
    Адрес
    USA
    Сообщений
    371
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Когда гуглил информацию по КР1878ВЕ1, нашел этот сайт: https://sites.google.com/site/russianlabyrinth/

    На тот случай, если он вдруг пропадет, продублирую тут:

    "Ариадна" - программатор для микроконтроллера КР1878ВЕ1 с последовательным интерфейсом RS232.

    Почему еще один? Видимо, их так много, что глаза разбегаются :-). Я являюсь счастливым обладателем отечественного МК КР1878ВЕ1, а главное, желания с ним работать :-). Пользовался "Программатором П. Семенова" (гуглится), благо схема исправно работает, но управляющая программа для нее написана для Win9X, что, впрочем, не является большой проблемой, т.к. данной программой можно пользоваться и на установленной посредством Microsoft Virtual PC 2007 виртуальной машине Win9X. Однако, захотелось сделать свой собственный адаптер-программатор, и, соответственно, программу к нему для Windows XP.

    Адаптер Minotaurus v.1:

    Адаптер построен на распространенных микросхемах MAX232A и КР1533ЛН2. Программирование МК осуществляется в режиме "Bit-Bang". Для двух входных линий используется преобразователь уровней MAX232A, для третьей линии - преобразователь уровней на транзисторе общего назначения. Микросхема КР1533ЛН2 представляет собой 6 инверторов с открытым коллектором, с помощью которых и построено "двунаправленное общение" с МК. В данной версии программатора питание адаптера коммутируется вручную с помощью тумблера. Во время программирование адаптер подает на МК напряжение питания +5 В и программирующее напряжение +12 В, для получения данных напряжений используются микросхемы серий 7805 и 7812 соответственно.

    Программа Ariadne v.0.1:

    Работает с памятью программ МК. Поддерживает адаптер Minotaurus v.1. Для работы программы необходимы установленные Microsoft .NET Framework 2.0 и Microsoft Visual C++ 2008 Redistributable. Работоспособность программы и адаптера проверена на тестовой прошивке. Схема и ПО поставляются "как есть", использование - на свой страх и риск :-)
    Вложения Вложения

  9. #38
    Member
    Регистрация
    28.10.2010
    Адрес
    г. Пермь
    Сообщений
    50
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хех, давно ничего не постили :-)
    Сам сегодня наконец собрался силами и поставил на частотомер, собранный по схеме Радио №10 2000 супервизор питания. Воткнул DS1813 (пробовал с 1171СП42, но не пошло. Видно, то, что он генерит простой перепад из нуля в единицу, а микроконтроллеру нужен похоже именно импульс). Из изменений в схеме (см. схему из "Радио") - выкинул R5, R7, C3. Супервизор включил по типовой схеме:
    Выв. 1 (собственно сброс) к выв. 4 микроконтроллера
    Выв. 2 на питание (R5 был заменен перемычкой)
    Выв. 3 на землю
    Так как в плате R7 и C3 были размещены весьма компактно (R7 стоймя), то микросхему воткнул без проблем - выводы сильно разводить в стороны не понадобилось.
    Robotron CM6329.01M - 100%
    Robotron K6314 - 95% (не хватает рукоятки прокрутки)
    Prasident K6320 Commodore (трэба компутер - а самотест проходит)
    D-100M - 80%
    Электроника МС6312 - ???
    УПЗ - under construction
    Электроника МС6313 (нераспакован)
    Остальное перечислять не интересно :-)

  10. #39
    Member
    Регистрация
    28.10.2010
    Адрес
    г. Пермь
    Сообщений
    50
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как знать, может быть, и такое где попробуем :-)

  11. #40
    Activist Аватар для 13joe
    Регистрация
    14.04.2008
    Адрес
    Новомосковск
    Сообщений
    405
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кто знает где можно скачать эту программу для ZX-Profi:

    Нажмите на изображение для увеличения. 

Название:	profi_кр1878ве1.png 
Просмотров:	539 
Размер:	3.4 Кб 
ID:	52315

    Для этой программы еще должна быть схема программатора, который подключается к ZX-Profi
    Pentagon 1024SL 2.2 + Z-Controller + TSFM + GS + 512Kb + HxC Floppy Emulator
    Altera DE1
    Altera DE2
    Апогей БК-01Ц + Rom-Disk 512kb by Vinxru

Страница 4 из 8 ПерваяПервая 12345678 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Куплю КР1878ВЕ1
    от Protom в разделе Барахолка (архив)
    Ответов: 4
    Последнее: 01.02.2012, 23:28
  2. микроконтроллер К1816 ВЕ51/31
    от zorel в разделе Для начинающих
    Ответов: 3
    Последнее: 07.05.2011, 16:10
  3. Профи 4.02 изучаем спрос .Украина.
    от Mad Killer/PG в разделе Барахолка (архив)
    Ответов: 25
    Последнее: 13.05.2010, 21:56
  4. Изучаем Ассемблер с ААА!
    от Addison в разделе Для начинающих
    Ответов: 33
    Последнее: 08.07.2009, 00:52
  5. Микроконтроллер в качестве памяти
    от Stealth в разделе ZX Концепции
    Ответов: 14
    Последнее: 16.10.2007, 13:30

Ваши права

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