Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Чт май 18, 2023 09:21:33

В любом случае необходимо глубокое владение тонкостями самого компилятора - в том же Си и ассемблерные вставки и файлы на ассемблере применяются.
НО... там все же "свои правила", обусловленные ЯВУ.
А для большинства прикладных применений с объёмом программы до 4/8 килобайт встроенного ПЗУ вполне и ассемблера хватает.
Си требуется больше для "жирного интерактива" или солидных проектов автоматики.
Вот там и "граница разумных затрат" для любителя проходит.
Другое дело кому на проектах зароботок - работа в каких КБ или фирмах производящих - там уже иное отношение к изучению ЯВУ, обусловленное производством/научными исследованиями... Да и оснащение там "за счет работодателя".
Не исключена также и редкая личная инициатива по глубокому изучению ЯВУ - но то уже редкость на сегодня.
8)

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Чт май 18, 2023 20:39:38

Я так понимаю, что только на архитектуре х51 здесь мало кто сидит. Большинство, если не все, используют как минимум одну альтернативную архитектуру в своих проектах, а то и 2 - 3. В таких условиях с использованием Си проще портировать наработки между архитектурами. Конечно, периферия везде разная, но при использовании драйверов поставляемых производителем (я прежде всего имею в виду GPIO/I2C/SPI/UART), переход менее сложный по сравнению с вспоминанием тонкостей архитектуры или ассемблера. Вы, BOB51, пожалуй единственный здесь, кто держит в голове разные ассемблеры.

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Чт май 18, 2023 21:25:48

Ну уж не в голове, а в компе да конспектах.
:hunger:
Все инструменты хороши в соответствующих применениях.
8)

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Пт май 19, 2023 13:14:07

Keil штука платно-лицензионная да еще и "подссакционная" в ближнем времени.
И что? Совесть не позволяет искать решение?
Меня вот это абсолютно не волнует. Я этим деньги не зарабатываю, просто развлекаюсь иногда.

Второе - в Си нужнл делать запускающие Makefile с учетом всех входящих в состав проекта файлов...
Вредно читать фанатичных последователей *никсов. Они уходят, но заложенное ими семя о ручном труде продолжает жить.
Зачем этот make делать? Он сам автоматически создается.

Оправдывать свою лень для самого себя можно (сам часто так делаю), но делать это публично с надуманными предлогами не стоит.

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Пт май 19, 2023 18:13:05

х51 — архаичная архитектура, ИМХО. Сейчас разные кортексы рулят.

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сб июн 24, 2023 08:32:30

Данная тема выделена под MCS51.
Эти МК продолжают выпускаться и применяться.
А насчет "что удобнее применить" в конкретном случае - это уже вопросы несколько иного свойства - как выше уже говорилось - каждое семейство МК имеет свое применение.
8)

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Чт июл 13, 2023 06:09:43

Добрый день. В китайском коде из даташита на STC8H8K64U попалась вот такая конструкция:
Код:
ANL   A, #NOT 40H

Объясните пожалуйста, что она значит?
MCU8051IDE и ASEM-51 считают это ошибкой, С51ASM транслирует нормально.

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Чт июл 13, 2023 06:27:09

Shuspano писал(а):Объясните пожалуйста, что она значит?

А посмотреть код в листинге или дизассемблером слабО?

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Чт июл 13, 2023 06:46:31

А, все. Дополнение до одного это

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Чт июл 13, 2023 09:14:11

Это не система команд, а математика в описании (препроцессора) компилятора...
у С51ASM это раздел 3.5 Expressions.
Только более приятным (чаще встречающимся) для побитовой инверсии было бы :
Код:
ANL   A, #~40H

8)

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Чт июл 13, 2023 09:27:57

Мне более приятным было бы mov A, #0xBF. Или mov A, #10111111B
А то выглядит как обфускация :)

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Чт июл 13, 2023 10:27:39

Препроцессор позволяет делать предварительные вычисления. Еще не такое попадается.
Иногда очень удобно, но при чтении не самим автором - весьма "оглушает".
8)

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Вт авг 01, 2023 17:44:22

Снова возник вопросик - если какую-то чать флэша той же 89с2051 использовать под хранение констант/знакогенератора, вытаскивать оттуда данные командой MOVX A, @dptr? :)

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Вт авг 01, 2023 18:01:35

Так а вопрос-то в чём?

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Вт авг 01, 2023 18:08:31

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

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Вт авг 01, 2023 20:50:50

Никаких movx при работе с ПЗУ!
MOVX - это команды работы с внешним ОЗУ.
Используется или
Код:
MOVC A,@A+PC  ; относительно значения программного счетчика

или
Код:
MOVC A,@A+DPTR ; относительно значения в DPTR

Можно размещать в любом месте, кроме области используемых в программе таблиц векторов переходов по прерыванию (0х0000 - 0х002B если предполагается работа с аппаратными прерываниями).
У AT89C2051/4051 вообще нет доступа к внешней памяти - хоть ОЗУ, хоть к ПЗУ данных (смотри даташиты!!!).
8)

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Вт авг 01, 2023 23:04:33

BOB51 писал(а):Никаких movx при работе с ПЗУ!
MOVX - это команды работы с внешним ОЗУ.

Вот это меня и озадачивало, поэтому и спросил. Жаль, что старшие серии пока прошить не получается.

Конечно, А+DPTR - не слишком удобно, ну да ладно, посмотрим, что выйдет, особенно с аппаратным последовательным выводом.

BOB51 писал(а):AT89C2051/4051 вообще нет доступа к внешней памяти - хоть ОЗУ, хоть к ПЗУ данных (смотри даташиты!!!).

Я бы столь категоричным не был, прямого доступа нет, косвенных методов - выше крыши. :)) "Воткнул" же я 1.5кБ памяти в диапазон адресов 300-3FF у ВЕ39, чтобы вытаскивать данные знакогенератора командой MOVP3 A, @A, правда, это несколько другая песня.

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Ср авг 02, 2023 07:34:55

Electricman писал(а):...
Я бы столь категоричным не был, прямого доступа нет, косвенных методов - выше крыши. :)) "Воткнул" же я 1.5кБ памяти в диапазон адресов 300-3FF у ВЕ39, чтобы вытаскивать данные знакогенератора командой MOVP3 A, @A, правда, это несколько другая песня.

MCS48 и MCS51 это совсем разные семейства МК.
И по начинке и по системе команд.
Отсутствие аппаратного доступа (с помощью команд и линий строба) к внешнему ОЗУ
"... External DATA memory access is
not supported in this device, nor is external PROGRAM memory execution. Therefore, no MOVX
[...] instructions should be included in the program.
..."
не означает невозможности сделать это программно.
:wink:

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Ср авг 02, 2023 13:05:13

Вот я и сказал про косвенные методы, хоть террабайт памяти можно прицепить, но это будет сложный и не быстрый доступ. :)
Ладно, команду я узнал, сейчас попробую переписать код для ве39 под 2051, должно шустро заработать.

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Ср авг 02, 2023 13:32:51

Я ж уже ранее сказал - mcs48 (КМ1816ВЕ39 или импортные варианты) и mcs51 (AT89C2051) это весьма разные семейства МК.
Легче заново код написать на основе алгоритма задачи, чем переделывать, тем более без детального ознакомления как с самим МК, так и с системой команд.
:tea:
Ответить