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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15555
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

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

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

Сообщение Ser60 »

Я так понимаю, что только на архитектуре х51 здесь мало кто сидит. Большинство, если не все, используют как минимум одну альтернативную архитектуру в своих проектах, а то и 2 - 3. В таких условиях с использованием Си проще портировать наработки между архитектурами. Конечно, периферия везде разная, но при использовании драйверов поставляемых производителем (я прежде всего имею в виду GPIO/I2C/SPI/UART), переход менее сложный по сравнению с вспоминанием тонкостей архитектуры или ассемблера. Вы, BOB51, пожалуй единственный здесь, кто держит в голове разные ассемблеры.
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15555
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Ну уж не в голове, а в компе да конспектах.
:hunger:
Все инструменты хороши в соответствующих применениях.
8)
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

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

Сообщение Zhuk72 »

[uquote="BOB51",url="/forum/viewtopic.php?p=4416947#p4416947"]Keil штука платно-лицензионная да еще и "подссакционная" в ближнем времени.[/uquote]И что? Совесть не позволяет искать решение?
Меня вот это абсолютно не волнует. Я этим деньги не зарабатываю, просто развлекаюсь иногда.

[uquote="BOB51",url="/forum/viewtopic.php?p=4416947#p4416947"]Второе - в Си нужнл делать запускающие Makefile с учетом всех входящих в состав проекта файлов...[/uquote]Вредно читать фанатичных последователей *никсов. Они уходят, но заложенное ими семя о ручном труде продолжает жить.
Зачем этот make делать? Он сам автоматически создается.

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

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

х51 — архаичная архитектура, ИМХО. Сейчас разные кортексы рулят.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15555
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Данная тема выделена под MCS51.
Эти МК продолжают выпускаться и применяться.
А насчет "что удобнее применить" в конкретном случае - это уже вопросы несколько иного свойства - как выше уже говорилось - каждое семейство МК имеет свое применение.
8)
Реклама
Аватара пользователя
Shuspano
Грызет канифоль
Сообщения: 270
Зарегистрирован: Вс окт 20, 2019 13:03:56

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

Сообщение Shuspano »

Добрый день. В китайском коде из даташита на STC8H8K64U попалась вот такая конструкция:

Код: Выделить всё

ANL	A, #NOT 40H
Объясните пожалуйста, что она значит?
MCU8051IDE и ASEM-51 считают это ошибкой, С51ASM транслирует нормально.
tonyk
Это не хвост, это антенна
Сообщения: 1309
Зарегистрирован: Вт ноя 19, 2019 06:10:18

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

Сообщение tonyk »

Shuspano писал(а):Объясните пожалуйста, что она значит?
А посмотреть код в листинге или дизассемблером слабО?
Аватара пользователя
Shuspano
Грызет канифоль
Сообщения: 270
Зарегистрирован: Вс окт 20, 2019 13:03:56

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

Сообщение Shuspano »

А, все. Дополнение до одного это
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15555
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

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

Код: Выделить всё

ANL   A, #~40H
8)
Аватара пользователя
Shuspano
Грызет канифоль
Сообщения: 270
Зарегистрирован: Вс окт 20, 2019 13:03:56

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

Сообщение Shuspano »

Мне более приятным было бы mov A, #0xBF. Или mov A, #10111111B
А то выглядит как обфускация :)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15555
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Препроцессор позволяет делать предварительные вычисления. Еще не такое попадается.
Иногда очень удобно, но при чтении не самим автором - весьма "оглушает".
8)
Electricman
Вымогатель припоя
Сообщения: 583
Зарегистрирован: Вс окт 20, 2019 20:54:30

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

Сообщение Electricman »

Снова возник вопросик - если какую-то чать флэша той же 89с2051 использовать под хранение констант/знакогенератора, вытаскивать оттуда данные командой MOVX A, @dptr? :)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

Так а вопрос-то в чём?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Electricman
Вымогатель припоя
Сообщения: 583
Зарегистрирован: Вс окт 20, 2019 20:54:30

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

Сообщение Electricman »

Вопрос - этой ли командой делать, так как архитектура очень поверхностно знакома. Впрочем, иных вариантов я не вижу.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15555
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Никаких movx при работе с ПЗУ!
MOVX - это команды работы с внешним ОЗУ.
Используется или

Код: Выделить всё

MOVC A,@A+PC  ; относительно значения программного счетчика
или

Код: Выделить всё

MOVC A,@A+DPTR ; относительно значения в DPTR
Можно размещать в любом месте, кроме области используемых в программе таблиц векторов переходов по прерыванию (0х0000 - 0х002B если предполагается работа с аппаратными прерываниями).
У AT89C2051/4051 вообще нет доступа к внешней памяти - хоть ОЗУ, хоть к ПЗУ данных (смотри даташиты!!!).
8)
Electricman
Вымогатель припоя
Сообщения: 583
Зарегистрирован: Вс окт 20, 2019 20:54:30

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

Сообщение Electricman »

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

Конечно, А+DPTR - не слишком удобно, ну да ладно, посмотрим, что выйдет, особенно с аппаратным последовательным выводом.
BOB51 писал(а):AT89C2051/4051 вообще нет доступа к внешней памяти - хоть ОЗУ, хоть к ПЗУ данных (смотри даташиты!!!).
Я бы столь категоричным не был, прямого доступа нет, косвенных методов - выше крыши. :)) "Воткнул" же я 1.5кБ памяти в диапазон адресов 300-3FF у ВЕ39, чтобы вытаскивать данные знакогенератора командой MOVP3 A, @A, правда, это несколько другая песня.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15555
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

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:
Electricman
Вымогатель припоя
Сообщения: 583
Зарегистрирован: Вс окт 20, 2019 20:54:30

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

Сообщение Electricman »

Вот я и сказал про косвенные методы, хоть террабайт памяти можно прицепить, но это будет сложный и не быстрый доступ. :)
Ладно, команду я узнал, сейчас попробую переписать код для ве39 под 2051, должно шустро заработать.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15555
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

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

Вернуться в «Разные вопросы по МК»