Страница 2 из 8 Первая 1234 ... Последняя
Показано с 21 по 40 из 154

Тема: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

  1. #21
    Завсегдатай Аватар для Openreel
    Регистрация
    02.09.2006
    Адрес
    Санкт-Петербург
    Возраст
    49
    Сообщений
    3,196

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Это если цель создать часы и быстро. Тут цель получить удовольствие от ручного портирования асма на асм.

    Цитата Сообщение от alex3 Посмотреть сообщение
    Может сразу stm32
    Еще скажи си изучить, эклипс поставить, мануалы на десятки тыщ страниц читать...
    WBR, Michael.
    Цель расчетов - понимание, а не числа (с) Хемминг.

  2. #22
    Частый гость Аватар для alex3
    Регистрация
    27.01.2014
    Адрес
    Королёв
    Сообщений
    382

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Да, ЭЛТ с киловольтными напряжениями управляемая древним МС с прошивкой на ассемблере это жёстко.
    Совсем вы себя не бережете. Реализуете проект, а дальше что? Понимаете что дальше "повышать градус" будет некуда?

  3. #23
    Завсегдатай Аватар для Openreel
    Регистрация
    02.09.2006
    Адрес
    Санкт-Петербург
    Возраст
    49
    Сообщений
    3,196

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от alex3 Посмотреть сообщение
    а дальше что?
    В секту свидетелей ассемблера, потом на демосцену, есть куда градус повышать...
    Это же любительство, простительно. Вот если бы профи таким страдал, то да, диагноз.
    WBR, Michael.
    Цель расчетов - понимание, а не числа (с) Хемминг.

  4. #24
    Частый гость Аватар для Eats
    Регистрация
    05.01.2008
    Адрес
    St.Petersburg
    Возраст
    56
    Сообщений
    364

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от Wladimir_TS Посмотреть сообщение
    Вот и у меня логика в ту сторону смотрит исходя из того что это сравнение для счётчика.
    Чё там на логику смотреть, если это ассемблер А09?! Открываем хелп на него и читаем по каждой строке, что она означает. Систему команд держим тут же, под боком. Конкретно в строчке "cmp #ScrTabL" значение ScrTabL равно 62. Естественно, оно байтовое, то есть 8-разрядное беззнаковое.
    Всего доброго.
    Евгений.

  5. #25
    Новичок
    Автор темы
    Аватар для Wladimir_TS
    Регистрация
    25.01.2010
    Адрес
    Россия
    Сообщений
    84

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от Eats Посмотреть сообщение
    если это ассемблер А09
    По подробнее-бы - есть описание его мнемоники (если я правильно выразился) в общем вспомогательных операторов ?

    Вопрос номер 2 - как правильно на AVRASM (из состава AVRStudio) корректно реализовать выборку данных (байтовых) из таблицы в памяти программ ?

    ---------- Сообщение добавлено 08:00 ---------- Предыдущее сообщение было 07:58 ----------

    Цитата Сообщение от alex3 Посмотреть сообщение
    управляемая древним МС
    Ну так проект, видимо, лохматых годов. Там и ЦАП древний (еле нашел и не дёшево совсем)

  6. #26
    Завсегдатай Аватар для sia_2
    Регистрация
    18.07.2005
    Сообщений
    4,009

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от Openreel Посмотреть сообщение
    В секту свидетелей ассемблера, потом на демосцену, есть куда градус повышать...
    Это же любительство, простительно. Вот если бы профи таким страдал, то да, диагноз.
    35 лет назад как раз имело смысл делать векторный дисплей на осциллографической ЭЛТ и хорошо оптимизированном коде. Причина - энергопотребление. Машинка на 80C85 или 80C51 вместе с экономичной ЭЛТ и X-Y усилителями с умеренной полосой порядка 500 кГц, укладывались в полтора-два ватта. Никаким другим способом портативный прибор с автономным питанием и дисплеем тогда сделать было нельзя.
    Да, генератор векторов у меня выдавал под 140 тысяч точек в секунду, дуг - около 100. Растр 256 на 256.
    При этом библиотека операций и функций с плавающей запятой по скорости на 8085 конкурировала с ЕС-1020

  7. #27
    Новичок
    Автор темы
    Аватар для Wladimir_TS
    Регистрация
    25.01.2010
    Адрес
    Россия
    Сообщений
    84

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Отечественные ЭЛТ не экономичны по накалу, та-же 13ЛО16А потребляет на 1 подогреватель 5 Вт (10Вт для 2х лучей)

    ВВ преобразователи тоже не верх КПД. Учтите что для одного луча нагрузка на канал -1700В - 1мА для 2х лучей - 2 мА

    Усилители отклонения обычно работают в режиме А при токе выходного каскада 20-30 мА

    А делается исключительно для саморазвития.

    Вопрос - как правильно на AVRASM (из состава AVRStudio) корректно реализовать выборку данных (байтовых) из таблицы в памяти программ ?

  8. #28
    Завсегдатай Аватар для sia_2
    Регистрация
    18.07.2005
    Сообщений
    4,009

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    11ЛО9И, 6.3В 90 мА накал, плюс игра режимами, учитывая, что луч ползет относительно медленно и большой ток луча не нужен. Хорошая чувствительность по отклонению позволила иметь небольшое напряжение питания усилителей отклонения, они к тому же достаточно узкополосные были, ток меньше миллиампера на транзистор.
    Понятно, что будь тогда годные ЖК экраны, в такой возне не было бы никакого смысла.
    Последний раз редактировалось sia_2; 31.01.2023 в 13:37.

  9. #29
    Завсегдатай Аватар для Openreel
    Регистрация
    02.09.2006
    Адрес
    Санкт-Петербург
    Возраст
    49
    Сообщений
    3,196

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от sia_2 Посмотреть сообщение
    35 лет назад как раз имело смысл делать векторный дисплей на осциллографической ЭЛТ и хорошо оптимизированном коде.
    Я про сегодня говорю, 35 лет назад на асме писать было нормально.
    Цитата Сообщение от sia_2 Посмотреть сообщение
    Да, генератор векторов у меня выдавал под 140 тысяч точек в секунду, дуг - около 100.
    Тут генератор векторов и дуг реализован аппаратно и аналогово. У него уже нет явного растра.

    Цитата Сообщение от Wladimir_TS Посмотреть сообщение
    реализовать выборку данных (байтовых) из таблицы в памяти программ ?
    Оно же в аппнотах было и в 100500 курсов любителей для любителей. Настолько лень искать самостоятельно?
    http://www.ntlib.chat.ru/avr/instr/lpm.htm
    WBR, Michael.
    Цель расчетов - понимание, а не числа (с) Хемминг.

  10. #30
    Частый гость Аватар для Eats
    Регистрация
    05.01.2008
    Адрес
    St.Petersburg
    Возраст
    56
    Сообщений
    364

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от Wladimir_TS Посмотреть сообщение
    По подробнее-бы - есть описание его мнемоники (если я правильно выразился) в общем вспомогательных операторов ?
    Передаю подробнее, по буквам: О, т, к, р, ы, в, а, е, м, , х, е, л, п, , н, а, , н, е, г, о, , и, , ч, и, т, а, е, м, , п, о, , к, а, ж, д, о, й, , с, т, р, о, к, е, ,, , ч, т, о, , о, н, а, , о, з, н, а, ч, а, е, т, .
    Вопрос номер 2 - как правильно на AVRASM (из состава AVRStudio) корректно реализовать выборку данных (байтовых) из таблицы в памяти программ ?
    Правильно и корректно - это со знанием дела, в частности и языков тоже. Но в первую очередь всё-таки дело. Надо понимать, как все эти таблицы размещаются и как они могут размещаться в памяти программ. Например, я это у себя делал так:
    in r30, ADCL ; это, к примеру, чтение из АЦП,
    in r31, ADCH ; но здесь могло быть что угодно, заполняющее R30 и R31.
    ; а за ним идут две команды табличного преобразования результата:
    adiw r30, tabl*2
    lpm XYZ_, Z
    Но я понимаю, чтО делаю, поэтому могу обойтись таким коротким кодом, всего из двух команд. А в других случаях такое не прокатит. И когда я говорил фразу "со знанием дела, в частности и языков тоже", то я имел ввиду не столько языки программирования (они как раз второстепенны), но язык и стиль мышления того человека, чью разработку вы повторяете и/или модернизируете, а также язык и стиль мышления процессора. Я, например, не пользуюсь AVRStudio и не знаю AVRASM. Это не мешает мне писать на нём (фрагмент кода выше как раз компилировался в avrasm2), поскольку у меня были проекты и на 68хх, и на avr. Правда, они не пересекались, то есть перегонять проект из одной платформы в другую мне пока в голову не приходило (каждый проц хорош на своём месте!), но языки этих процессоров я ещё худо-бедно помню.
    А языки программирования второстепенны потому, что если у человека есть способность к освоению языков вообще (не важно, каких!), то и очередной язык программирования он освоит прямо по ходу дела.
    Всего доброго.
    Евгений.

  11. #31
    Завсегдатай Аватар для hippo64
    Регистрация
    20.05.2010
    Адрес
    Москва
    Возраст
    60
    Сообщений
    4,153

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от Eats Посмотреть сообщение
    Передаю подробнее, по буквам:
    Бесполезно. Если убрать словесную шелуху, вопрос топикстартера звучит так - как бы всё сделать, ничего не делая .

  12. #32
    Новичок
    Автор темы
    Аватар для Wladimir_TS
    Регистрация
    25.01.2010
    Адрес
    Россия
    Сообщений
    84

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от Eats Посмотреть сообщение
    Передаю подробнее, по буквам
    Таки где его взять-то, хелп этот ?

    Цитата Сообщение от Eats Посмотреть сообщение
    adiw r30, tabl*2
    tabl - как я понимаю ссылка на начало таблицы, то есть метка, а что значит *2 (вроде как это и еть умножить на 2 - но зачем ?)

    Если я просто делаю так :

    LDI R30, Low(tabl)
    LDI R31, High(tabl)

    То в регистровой паре корректный с точки зрения встроенного симулятора адрес памяти и действительно указывает на начало программы, но когда я выполняю LPM Rх, Z , но в Rx - фигня непонятно откуда считанная ?

    Цитата Сообщение от Eats Посмотреть сообщение
    освоению языков вообще (не важно, каких!),
    К сожалению чего нет, того нет, есть толика упорства и желание понять и разобраться.

    Когда-то в прошлой жизни писал для К580ВМ80 - даже работало. Для AVR писал тоже пару раз простенькие программы. Регулятор мощности использующий алгоритм им. тов. Брезенхэма - на рассыпухе такое не сделаешь - работал даже, но к конечному применению не подошел, пришлось переделать на обычный СИФУ. (ATTINY15) Это было давно. Вот тепереча вспоминаю.

    ---------- Сообщение добавлено 15:35 ---------- Предыдущее сообщение было 15:32 ----------

    Цитата Сообщение от Openreel Посмотреть сообщение
    Я про сегодня говорю, 35 лет назад на асме писать было нормально.
    Зато понятно, как оно работает.

    Цитата Сообщение от Openreel Посмотреть сообщение
    У него уже нет явного растра.
    Система векторная, но задаются центры дуг в матрице 256х256. На самом деле я сначала хотел сделать с аппаратным знакогенератором. Но как-то сложно выходило.

    Еще вопрос - как на AVR остановить выполнение программы до генерации любого прерывания и продолжить после возврата из подпрограммы отработчика.

  13. #33
    Частый гость Аватар для Eats
    Регистрация
    05.01.2008
    Адрес
    St.Petersburg
    Возраст
    56
    Сообщений
    364

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от Wladimir_TS Посмотреть сообщение
    Таки где его взять-то, хелп этот ?
    Там же, где и форум Вегалаб: в интернете. Тем более, что он там валяется не только с хелпом, но даже с исходниками на Си. На Гитхабе, кстати, он тоже есть.
    tabl - как я понимаю ссылка на начало таблицы, то есть метка, а что значит *2 (вроде как это и еть умножить на 2 - но зачем ?)
    Затем, что память команд 16-разрядная, и счётчик команд адресует каждое слово, а все остальные способы адресации - 8-разрядные, то есть байтовые.
    Если я просто делаю так :
    LDI R30, Low(tabl)
    LDI R31, High(tabl)
    То в регистровой паре корректный с точки зрения встроенного симулятора адрес памяти и действительно указывает на начало программы,
    Когда в Z (а хоть бы и в Х или У, ибо на LPM свет клином не сошёлся) надо положить ноль, то его на что ни умножай, он так нолём и останется. Это ещё и Митрофанушка пару веков назад знал, до разработки Паскалем первой паровой вычислительной машины:
    Код:
    Митрофан (вычисляя, шепчет): Единожды три – три. Единожды ноль – ноль. Единожды ноль – ноль.
    (с)Д.И.Фонвизин, "Недоросль".
    но когда я выполняю LPM Rх, Z , но в Rx - фигня непонятно откуда считанная ?
    Чегой-то непонятно откуда? Очень даже понятно: из таблицы, которая находится вдвое ближе, чем требуется. Надо указывать Low(tabl*2) и High(tabl*2), чтобы адресовать байтовую таблицу в словной памяти.
    Всего доброго.
    Евгений.

  14. #34
    Новичок
    Автор темы
    Аватар для Wladimir_TS
    Регистрация
    25.01.2010
    Адрес
    Россия
    Сообщений
    84

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от Eats Посмотреть сообщение
    Тем более, что он там валяется не только с хелпом, но даже с исходниками на Си. На Гитхабе, кстати, он тоже есть.
    А можно ссылочку, что-то у меня не сыскалось.

    Цитата Сообщение от Eats Посмотреть сообщение
    Затем, что память команд 16-разрядная, и счётчик команд адресует каждое слово, а все остальные способы адресации - 8-разрядные, то есть байтовые.
    Логично, но почему тогда получающийся в регистровой паре адрес не соответствует адресу в просмотре памяти при симуляции ?

    Попробовал - действительно корректно стал извлекать, но теперь непонятно с какого адреса идет чтение.

    Цитата Сообщение от Eats Посмотреть сообщение
    LPM свет клином не сошёлся
    Только R30 и R31 можно использовать для адресации LPM , по крайней мере в ATMega32

    Спасибо. Разобрался, но не до конца - как узнавать какую ячейка именно из памяти сейчас читать будет в симуляторе ? Потому как те адреса что получаются указывают теперь неверно (по симулятору).

    Еще вопрос - как проще всего установить и сбросить бит в байте хранящемся в ячейке память ОЗУ. А то команды SBI/CBI работают только на регистры ввода/вывода

    На входе имеем считанную в регистр ячейку (0-255) и номер бита. (0-7) ? У М68 есть такие команды BCLR/BSET а у AVR нету.

  15. #35
    Завсегдатай Аватар для Openreel
    Регистрация
    02.09.2006
    Адрес
    Санкт-Петербург
    Возраст
    49
    Сообщений
    3,196

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от Wladimir_TS Посмотреть сообщение
    Еще вопрос - как на AVR
    http://ww1.microchip.com/downloads/e...set-manual.pdf

    есть такая инструкция sleep

    ---------- Сообщение добавлено 16:55 ---------- Предыдущее сообщение было 16:53 ----------

    Цитата Сообщение от Wladimir_TS Посмотреть сообщение
    Зато понятно, как оно работает.
    Цитата Сообщение от Wladimir_TS Посмотреть сообщение
    но теперь непонятно
    Вся суть секты свидетелей ассемблера

    К нормальным программерам не относится.
    WBR, Michael.
    Цель расчетов - понимание, а не числа (с) Хемминг.

  16. #36
    Новичок
    Автор темы
    Аватар для Wladimir_TS
    Регистрация
    25.01.2010
    Адрес
    Россия
    Сообщений
    84

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от Openreel Посмотреть сообщение
    есть такая инструкция sleep
    Полезный документ.

    Еще вопрос - надо как-то контролировать что в байте установлено в "1" более 1 бита. То есть если на байт установлен в 1 любой бит - это одно, если установлено более одного бита или не установленно ни одного - это другое.

    Защита от одновременного нажатия 2х кнопок.

  17. #37
    Завсегдатай Аватар для Openreel
    Регистрация
    02.09.2006
    Адрес
    Санкт-Петербург
    Возраст
    49
    Сообщений
    3,196

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от Wladimir_TS Посмотреть сообщение
    Защита от одновременного нажатия 2х кнопок.
    "Думай. Думай всегда…
    И даже, если нечем думать, напрягись - мысль обязательно появится. Иначе ты никто. (Вова)"
    WBR, Michael.
    Цель расчетов - понимание, а не числа (с) Хемминг.

  18. #38
    Новичок
    Автор темы
    Аватар для Wladimir_TS
    Регистрация
    25.01.2010
    Адрес
    Россия
    Сообщений
    84

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Что-то не придумывается простых решений.

  19. #39
    Частый гость Аватар для Eats
    Регистрация
    05.01.2008
    Адрес
    St.Petersburg
    Возраст
    56
    Сообщений
    364

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от Wladimir_TS Посмотреть сообщение
    А можно ссылочку, что-то у меня не сыскалось.
    У вас там раньше (где-то на предыдущей странице) и ссылка на проект не открылась. Поэтому я и не даю конкретных ссылок, что у кого-то открывается, у кого-то не открывается. А я сейчас и вовсе сижу на вокзале в ожидании поезда, и искать что-то на экране телефона весьма сложно.
    Логично, но почему тогда получающийся в регистровой паре адрес не соответствует адресу в просмотре памяти при симуляции ?
    Потому что симуляция кривая.
    Попробовал - действительно корректно стал извлекать, но теперь непонятно с какого адреса идет чтение.
    Со словного, разумеется.
    Только R30 и R31 можно использовать для адресации LPM , по крайней мере в ATMega32
    На LPM свет клином не сошёлся. LDD прекрасно извлекает из памяти по адресу X и Y, а не только Z. На времени выполнения программы это никак не сказывается.
    Разобрался, но не до конца - как узнавать какую ячейка именно из памяти сейчас читать будет в симуляторе ? Потому как те адреса что получаются указывают теперь неверно (по симулятору).
    Вот дался вам этот симулятор... Такие вещи вполне делаются голыми руками, когда понимаешь, чтО делаешь.
    Еще вопрос - как проще всего установить и сбросить бит в байте хранящемся в ячейке память ОЗУ. А то команды SBI/CBI работают только на регистры ввода/вывода
    Я уже говорил, что каждый проц хорош на своём месте. Не надо втупую передирать ассемблерный код с одной платформы на другую. Надо понять смысл вычислений и логической обработки. Втупую это будет логическая обработка байтов, но в AVR она работает только с регистрами. С памятью никак...
    На входе имеем считанную в регистр ячейку (0-255) и номер бита. (0-7) ?
    Учите языки! И в первую очередь русский. В России без него никуда. А когда научитесь говорить по-русски, тогда и до ассемблеров доберёмся! На каком входе-то??? Что, в вашей жизни всего один вход? Вот в моей их столько, что если я скажу "на входе", то никто не поймёт, о каком входе я говорю. Опять же, где имеем номер бита? Учите русский язык...
    Всего доброго.
    Евгений.

  20. #40
    Новичок
    Автор темы
    Аватар для Wladimir_TS
    Регистрация
    25.01.2010
    Адрес
    Россия
    Сообщений
    84

    По умолчанию Re: Знактокам MC68HC908 или перенос программы с одного ОМК на другой.

    Цитата Сообщение от Eats Посмотреть сообщение
    У вас там раньше (где-то на предыдущей странице) и ссылка на проект не открылась. Поэтому я и не даю конкретных ссылок, что у кого-то открывается, у кого-то не открывается. А я сейчас и вовсе сижу на вокзале в ожидании поезда, и искать что-то на экране телефона весьма сложно.
    Если будете со стационарного компа - то по возможности посмотрите. Или если там текстовый файл хелпа или стандартный виндовый - может сможете скинуть на Е-Mail (укажу в личке при согласии).


    Цитата Сообщение от Eats Посмотреть сообщение
    Потому что симуляция кривая.

    Вроди Atmel - контора серьёзная - не ожидал такого западла от них.


    Цитата Сообщение от Eats Посмотреть сообщение
    Со словного, разумеется.
    Уже разобрался - меня смутило кривое отображение адресного пространства программ в симуляторе AvrStudio.

    Цитата Сообщение от Eats Посмотреть сообщение
    Вот дался вам этот симулятор...
    А как разбираться-то по другому. Я-ж только учусь.

    Цитата Сообщение от Eats Посмотреть сообщение
    Я уже говорил, что каждый проц хорош на своём месте. Не надо втупую передирать ассемблерный код с одной платформы на другую.
    Совсем в тупую передрать не получается - это понятно - понятно, что например невозможность работы с памятью напрямую приводит к необходимости предварительно прочитать из неё в регистр, а потом записать - 3 команды против одной. Но у меня де факто тактовая в 2 раза больше, а тактов на команду меньше, так что производительности должно хватить. а так размер кода примерно х3 становится.

    Цитата Сообщение от Eats Посмотреть сообщение
    Учите языки! И в первую очередь русский. В России без него никуда.
    Всю жизнь учу - но до чего доучился.

    Цитата Сообщение от Eats Посмотреть сообщение
    А когда научитесь говорить по-русски, тогда и до ассемблеров доберёмся!
    Ну так может вместо оскорблений покините эту тему - если сказать нечего - то лучше помолчать.

Страница 2 из 8 Первая 1234 ... Последняя

Социальные закладки

Социальные закладки

Ваши права

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