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

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

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

Сообщение BOB51 »

Пы.Сы.
Для mcs51 в качестве расширений предпочтительны СБИС с "байтовым" (шинным) обменом. В преимуществе комплект расширения для 580/интел8080 - ВВ55, ВИ53/54, ВВ79, расширители от комплекта Z80 - см. "Z80 Family CPU Peripherals User Manual UM008101-0601" и тетрадный расширитель КР580ВР43.
Прочие варианты самодельных СБИС для 51-й предпочтительно также делать в первую очередь на основе байтовой комбинированной шины адреса/данных (аналогия зилоговским расширителям). Как вариант - использование PIC16F876А/PIC16F877А (40-pin) с применением " Parallel Slave Port (PSP) – 8 bits wide with external RD, WR and CS controls (40/44-pin only)"
:roll:
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

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

Сообщение Пока_без_кота »

На ВВ79 и ВР43 я глаз уже давненько положил, просто нигде по нормальной цене нет(( За остатки лупят такое цены, как будто это антиквариат какой-то. Кстати, достал наконец-то себе 1 микросхему памяти КР537РУ10. Хочу подцепить ее в качестве внешней памяти данных/программ, то бишь совместить адресное пространство ВПД и ВПП путем объединения RD и PSEN. Но в книжке Сташина-Урусова для их объединения предлагают использовать логику "И" (Изображение). В моем понимании надо использовать логику "ИЛИ", потому что обращение к микросхеме памяти должно происходить как при чтении ячейки ВПД, так и при чтении ячейки ВПП. Как вообще может работать схема с рисунка, если одновременно не могут быть активными 2 сигнала, RD и PSEN (в MCS-51 просто нет такой команды) В чем я не прав ? И как мне проще всего организовать загрузку программы в микросхему ОЗУ. Очень уж не хочется городить "Имитатор К573РФ5 с помощью К537РУ10", много обвязки.

П.С. Со своей предыдущей проблемой разобрался.
Спойлер[code]
mov DPTR, #Case_Table
mov A, Case ; вот здесь 1 раз обращаемся к перменной
rl A
movc A, @A+DPTR
mov Task_addr_hi,A
mov A, Case ; а вот здесь 2 раз. И вот какая-то гадина умудряется, к этому моменту ее изменить
rl A
inc A
movc A, @A+DPTR
mov DPL, A
mov DPH, Task_addr_hi
clr A
jmp @A+DPTR


У меня между 2 и 6 строчкой иногда менялось содержимое переменной Case, и соответственно jmp @A+DPTR переходило х.з куда. Пока сделал через промежуточную переменную, которую никто кроме этого участка не использует, полет нормальный, но надо бы разобраться детальнее...
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Так И для единиц = ИЛИ для нулей.
:wink:
А в качестве оперативки... Лучше драть ОЗУ с материнок от 386 или первых пеньков (внешний КЭШ) - там обычно стояло от четырех до восьми корпусов то-ли 32К*8, то-ли 64К*8 плюс одна (обычно там попадались M28256, W24257A, UM61512 и много чего другого).
СБИС комплектов 580 или 1810 сейчас верно "в антикваре" - у каждого в ящичках - "куды б выкинуть", а вот ВР43 действительно относится к редко-коллекционным кристаллам (но тоже более как коллекционное изделие).
Насчет имитатора ПЗУ... только не для 51-й... это когдысь делалось для 580ВМ80 и/или Z80 ибо там с шиной посложнее.
У 51-й хватит чегось типа SST39SF0x0 (010,020,040) или FM18L08 ну еще может из серии M48T35 со компанией.
Или промежуточный загрузчик из I2C флешины (24-я серия) в ОЗУ ВПД/ВПП.
:tea:
Rtmip
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

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

Сообщение Rtmip »

Пока_без_кота писал(а):...Очень уж не хочется городить "Имитатор К573РФ5 с помощью К537РУ10", много обвязки...
Приветствую! Интересно, что, конкретно, вы хотите сделать?
Пока_без_кота писал(а):...Со своей предыдущей проблемой разобрался....
mov A, Case ; а вот здесь 2 раз. И вот какая-то гадина умудряется, к этому моменту ее изменить
А по какому адресу эта переменная проживает? И откуда стек начинается?
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

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

Сообщение Пока_без_кота »

Rtmip писал(а):Приветствую! Интересно, что, конкретно, вы хотите сделать?
А по какому адресу эта переменная проживает? И откуда стек начинается?


И я Вас приветствую! Хочу сделать макет с совмещенной памятью программ-данных (Принстонская архитектура), чтобы поэкспериментировать с выполнением кода, который сам МК и "создает". Пока конкретных готовых к реализации идей нет, но это должно быть что-то типа мини-терминала з базовым загрузчиком (или как его еще называли в советские времена "Монитором"), который сидит в ВПП. А ВПД мы пишем свои действия, которые потом и выполняем, своего рода эмуляция полноценного ПК. Также нашел инфу что таким образом можно организовать внутрисхемную отладку MCS-51, хочется попробовать. Вроде нашел неплохой вариант: Журнал Радио №9,1998, стр.24. "Эмулятор ПЗУ", прошивается через СОМ-порт :))) . Также интересно попробовать просто повыполнять программу из внешней памяти программ. При этом не хочется заморачиваться с прошивкой стиранием РФ-ок, поэтому и хочу подключить РУ-шку с уже зашитой программой (прекрасно понимаю, что должно быть батарейное питание для сохранения программы).

По второму вопросу, не стоит Вашего внимания :beer: , там мелочь, с которой я думаю теперь уже (когда разобрался в сути проблемы) самостоятельно разберусь.

П.С. Кстати сигнализацию свою я "почти" долелал. Научился почти полноценно управлять той панелью от факса, разобрался как выводить символы на дисплей и включать отдельные светодиоды на панели. Осталось побороть вывод информации на 2 половину экрана (там однострочник на 16 символов). Также пароль теперь храню не в памяти программ. а на отдельной МС I2C памяти, и могу поменять в любой момент прямо с управляющей панели. Макет ставится и снимается с охраны (и выводит на дисплей соответствующие сообщения, а также меняет светодиодную индикацию), пищит сиреной при нарушении зоны под охраной, а также после 3-й неудачной попытки ввода пароля. Осталось только допилить GSM-часть и будет сигнализация.
Последний раз редактировалось Пока_без_кота Пн мар 07, 2016 21:25:08, всего редактировалось 1 раз.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

насчет виртуалки...
Посмотри вот это (выдрал из архивов без особо разбора чего-куда и откуда):
VROM2004.rar
(788.29 КБ) 247 скачиваний

Полная схема с двунаправленным буфером (микры "этажеркой"). Прожки дремуче-древние (под AD2500). Возможно чегось подскажется...
:roll:
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

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

Сообщение Пока_без_кота »

Cпасибо, утянул, может и пригодится.

Понимаю, что сообщение прямо не относитмся к этой теме, но все же считаю что именно у здешних завсегдатаев реальнее всего получить ответ по этому мамонту. Достал с трудом КР537РУ10. Почти собрал макет соединения с АТ89S52 по схеме включения Изображение
и тут обнаружил вот такой облом Изображение
Вопрос: какая распиновка правильная ???
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

они одинаковы! :)))
нумерация адресных линий - относительная. т.е. совершенно все равно, какая линия адреса какому биту адреса будет соответствовать, вы можете разводить их на плате как угодно!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

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

Сообщение Пока_без_кота »

Прошу извинения за свою тупость, но мне не понятно, как в таком случае микросхема памяти поймет, что я хочу обратиться к ячейке с номером например 100110 (38 в десятичной), если на ее адресной шине я не выставлю именно такую комбинацию битов :dont_know:
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

в чем смысл микросхемы памяти? в том, что получив данные она сохраняет их в ячейке с фиксированным адресом, и получив тот же самый адрес она выдает именно те же самые данные. при этом совершенно без разницы, как этот адрес будет "кодироваться". допустим, вы пишите в адрес 00000001 данные, но из-за того, что адресные линии перепутаны, фактически данные попадут в ячейку 00100000. потом вы решили считать данные из ячейки 00000001 - но благодаря тому, что перепутка линий работает и при чтении данные извлекаются ровно из той же ячейки, куда и попали в прошлый раз, т.е. из 00100000! то есть для вас все строго правильно - адрес правильный и данные правильные, а что линии адреса перепутаны, вы и не заметите :))) главное, что невозможна ситуация, когда одной и той же ячейке памяти соответствует две или более комбинации сигналов на линиях адреса, а это выполняется в любом случае.

кстати, и линии данных так же можно тасовать как угодно :))) главное, самому не запутаться.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

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

Сообщение Пока_без_кота »

Спасибо Вам, до меня дошло)) Но если я хочу записывать в ОЗУ программу (с помощью параллельного программатора), и потом переключив ее в "режим ПЗУ" выполнить ее оттуда, то мне по идее надо бы соблюсти некое "стандартное" подключение, потому что программатор при записи будет выставлять адрес согласно этому "стандартному" подключению. Вот его я и пытаюсь узнать, чтобы и к микроконтроллеру подключить так же.

П.С. Кажется разобрался. Открыл программу для прошивки, выбрал тип микросхемы с подходящим объемом памяти (SRAM 2Кб), для нее указан тип 6116. Скачал даташит на эту память и буду подключать согласно нему (по сути получилось РУ8 со второго рисунка), потому что программатор при прошивке, для этой микросхемы, будет выставлять адрес согласно даташита на нее (я надеюсь). Если не получится, отпишусь :write:
Rtmip
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

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

Сообщение Rtmip »

Пока_без_кота писал(а):Кстати сигнализацию свою я "почти" долелал....
Прекрасно, поздравляю! :beer:
Пока_без_кота писал(а):...Также интересно попробовать просто повыполнять программу из внешней памяти программ. При этом не хочется заморачиваться с прошивкой стиранием РФ-ок, поэтому и хочу подключить РУ-шку с уже зашитой программой (прекрасно понимаю, что должно быть батарейное питание для сохранения программы)...
По этому вопросу я бы советовал обратить внимание на paulmon.
Там все, что вам нужно уже есть и не надо ничего никуда переставлять. Но я не стал делать эту схему, не понравилась...
Сделал из журнала Радио 1999-11 стр 22. Очень доволен, постоянно ей пользуюсь. Есть в программе этого монитора
несколько недоделок, но они мелкие, не мешают, и я их устранил. Часть поправил в прошивке автора, а часть учитываю
в отлаживаемой программе, которую загружаю в "монитор". Можно и прошивку "монитора" доделать, но пока лень...
Работает это все так: готовый hex посылаю через терминал в "монитор". 8 КБ грузится около 10-15 сек, меня устраивает,
скорость я уже исправил в исходной прошивке. Сделал две исходные прошивки под кварц 12 и 11,059 МГц. Можно и под
другие кварцы сделать. Исходная прошивка может быть и в отдельной ПЗУ или в самом МК(если флешь).
После загрузки - команда с компа и начинается выполнение программы из ОЗУ. Можно при этом писать в это самое ОЗУ,
а потом посмотреть. Можно отлаживать по частям программу, но я это не использую - мне удобнее сразу.
Если заинтересует, что-нибудь из этого, то обсудим подробнее.
Кстати, все это удобно сделать из старого телефона с АОНом - не надо травить плату и есть все детали, уже запаянные!
Я так и поступил. Найти такой телефон не проблема, наверняка, найдется человек, у которого в кладовке-подвале-на чердаке
валяется такой :idea: Или купить за 50-100 р на барахолке :))
В таком телефоне, если повезет, может стоять РУ17, а это уже 8К, а не 2К, разница большая.
Вот схема "монитора":Изображение
Все то, что относится к минус 5 вольт и схеме сопряжения с com-портом не надо, вместо этого любой преобразователь
USB-COM или max232, если есть "железный" COM-порт. То есть, минимально нужно МК, ОЗУ, ИР22(или подобная), ЛП5,
ЛА3, 6 диодов, несколько резисторов, пара кнопок, светодиод, все :))
Последний раз редактировалось Rtmip Сб мар 12, 2016 10:37:52, всего редактировалось 1 раз.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

При применении систем имитации основное внимание соответствию разводки выводов ПЗУ и имитационного ОЗУ.
Поскольку стандартные программаторы для ПЗУ имеют определенные правила размещения выводов то предпочтение разводке согласно применяемой у ПЗУ. Но... НЕ ФАКТ.
Большинство программаторов имели функции "перемещения адресов" под имеющуюся разводку целевого устройства. А многие производители изделий "времен внешних ПЗУ" напрямую использовали данную особенность для проблем типа "секюрити" программного кода.
8)
Rtmip
То устройство хорошо только для отладки "самого себя" и вполне сгодится для предподготовки программ для АТ89S2051/4051.
А вот для произвольных систем с "входом через имитационное ОЗУ" - то уж типа приведенной мной выше схемки.
:beer:
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

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

Сообщение Пока_без_кота »

BOB51 писал(а):... и тетрадный расширитель КР580ВР43...
Почитал я подробнее про эту интересную микруху и очень удивился. Фактические, это "аппаратный" расширитель, для его использования у MCS-48 даже есть спец. команды!!! Жутко обломался, что в MCS-51 таких нет, приходится своего рода извращатся с ногодрыгом :( Еще поразило, что он САМОСТОЯТЕЛЬНО умеет внутри себя делать логические "И" и "ИЛИ". Такой себе регистр-расширитель с зачатками интеллекта 8) Стало очень интересно, где можно применить это особенность, может ли кто привести примеры, ничего на ум не приходит :tea:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

У 51-Й есть команды манипуляций с прямоадресуемыми битами ("битовый акумулятор" в виде флага С в регистре статуса). Это как развитие от 48-й. А по своим возможностям гораздо мощнее.
:hunger: 8)
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

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

Сообщение Пока_без_кота »

Это я знаю. Я про то, что в MCS-51 так просто и изящно, 1 командой (например ORLD P4,A), не получится наложить маску на порт (тетраду целого порта) ЭТОГО расширителя. Потребуется еще как минимум дернуть вручную контактом PROG, который в MCS-48 дергается автоматически при командах работы с расширителем.
Так а по поводу практического применения этой особенности есть мысли ?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Так без ногодрыга все равно не получится - у 43-й по шине данных два кусманчика информации идут - команда и субадрес на фронте и данные на спаде строба /PR. Несколько подобно мультиплексу адреса/данных, но для 43-й строб-то один, а для ВПД их два (ALE и /RD). Делать из двух импульсов один аппаратным "пришлепом" весьма противно. Притом, что маасенькая подпрограмма обработчика УВВ вполне вписывается в набор базовых утилиток (как любого дополнительного УВВ).
8)
petrenko
Друг Кота
Сообщения: 5321
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий
Контактная информация:

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

Сообщение petrenko »

BOB51 писал(а):.., но для 43-й строб-то один, а для ВПД их два (ALE и /RD). Делать из двух импульсов один аппаратным "пришлепом" весьма противно ...
Ничего особо противного в том нету ..
Вполне будничный "изврат" - сам делал такое ( как молодёжь выражается->)100500 раз.
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

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

Сообщение Пока_без_кота »

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

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

Сообщение BOB51 »

petrenko
То ж дополнительные внешние корпусааа.... "расфасовку" для большинства рутинных применений делать обломм... Тем более "по одиночке" (1-2 ЛЭ на корпус) только лет с пяток делать рассыпуху начали.
:roll:
Ответить

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