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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

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

Сообщение ChipKiller »

зачем такие крайности - достаточно статической RAM и минимума обвеса
http://www.belti.msk.ru/~electron/razno ... s/pruf.htm
http://msevm.com/ua3prq/pruf/pruf.htm
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15550
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Имитатор ПЗУ включает в себя буфер доступа со схемой перевода цепей целевого МК в Z-состояние и схему загрузки ОЗУ имитатора из внешнего источника данных. В принципе подобие канала "прямого доступа в память". Можно и "на рассыпухе" собрать. Одначе для эффективной загрузки понадобится МК желательно с последовательным интерфейсом. Оптронный барьер для макета (особо любительского) не роскошь а необходимость для взаимовыживания персоналки и макетки.
Хоша все то давно пройденный этап, но начинающему на первых порах вполне сгодится.
8)
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

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

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

Возник еще 1 вопрос. Почему порт Р0 такой особенный (без внутренних подтягивающих резисторов) ? В каких схемотехнических решениях это может потребоваться ? В AVR-ах они отключаються програмно. В MCS-51 такой функции ведь нет (или я ошибаюсь) ? Может поэтому там сделали 1 порт без них, чтобы в случае чего можно было прижать вход порта резистором к логическому 0, и ловить логическую 1 ? Но тогда почему, почти во всех схемах которые я встречал, устанавливались эти подтягивающие резисторы к VCC, даже если этот порт не использовался вообще.
И еще, раз эти выводы контроллера (порт Р0) подключены по схеме с открытым коллектором (стоком), то значит ли это, что светодиоды на них напрямую вешать нельзя, а надо подкючать только по "Схема № 2 — Индикация высокого «1» уровня" из статьи http://radiokot.ru/articles/15/
Или все таки можно подключать напрямую к порту Р0, только нужно обязательно добавить эти внешние подтягивающие резисторы на VCC.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

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

Пока_без_кота писал(а):почти во всех схемах которые я встречал, устанавливались эти подтягивающие резисторы к VCC, даже если этот порт не использовался вообще.
Плавающий цифровой вход КМОП микросхем потребляет ток.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

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

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

Gudd-Head писал(а):Плавающий цифровой вход КМОП микросхем потребляет ток.

Тоесть, если я не использую Р0, мне достаточно настроить его не выход, и резисторы можно не ставить ?
И насчет остального еще подскажите пожалуйста :)))
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15550
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Р0 - он же мультиплексированная шина адреса/данных.
Вообще-то надо бы ознакомиться с
http://www.atmel.com/Images/doc0509.pdf
и
http://www.atmel.com/Images/doc4316.pdf
плюс маленько вкусненьких книжек (Фрунзе, Бородин, Шагурин) - ссылок нетуть, есть токмо сканы метров на 30. Возможно чего на котовом сундучке имеется.
А вот INTELовская
"MCS@51 MICROCONTROLLER
FAMILY USER’S MANUAL"
похоже только у меня завалялась (15мегабайт).
Чего касательно внешних по отношению к МК обвязочных схем... Наилучшее для начинающего - две книжи "1000 и одна микроконтроллерная схема" Рюмик С. ( http://publ.lib.ru/ARCHIVES/R/RYUMIK_Se ... _S.M..html и, возможно в сундучке или на http://elektromehanika.org ).
:beer:
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

BOB51 писал(а):А вот INTELовская
"MCS@51 MICROCONTROLLER
FAMILY USER’S MANUAL"
похоже только у меня завалялась (15мегабайт).


http://www.cs.cmu.edu/~varun/cs315p/INTEL8051MAN.pdf
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15550
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Увы... у самого INTEL на сайте недокопать.
:)
Голимый
Встал на лапы
Сообщения: 117
Зарегистрирован: Пн дек 08, 2014 19:45:24
Откуда: Воронеж

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

Сообщение Голимый »

Решил собрать часики на SM89C58A (8051-совместимый) на основе DS3231 в виде платки от или для ардуины. Пока кумекаю как это сделать, и возникла дилемма: RTC ходит само по себе, и МК не может знать что время RTC сменилось, и надо его читать. Первый костыль - завести в МК секундный счетчик, и через каждую секунду времени МК, читать и отображать содержимое RTC. Напрягает возможная плавающая ошибка, из-за тонких несовпадений интервала опроса МК и смены показаний RTC (биения между двумя близкими частотами). Второй способ - настроить прерывание МК от RTC, который будет сообщать МК что пора показать время. Склоняюсь к второму способу, т.к смена показаний будет зависеть от RTC, и от входа в прерывание до отображения времени пройдет совершенно точно определенное число машинных циклов. Но нигде в интернете не видел чтоб ногу INT у микросхемы RTC использовали. Третий способ - тактировать МК от кварца RTC, но с учетом деления на 12, опасаюсь что не хватит машинного времени.
Вот не знаю как сделать.
Трудное детство, стальные игрушки.
Aloha
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Ср авг 13, 2014 18:41:13

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

Сообщение Aloha »

Подскажите , какой на данный момент доступен внутрисхемный эмулятор на 89с51 и аналогичные X51 , а так же компилятор с ассемблера в hex код для заливки в МК ?
То . что у меня осталось с прошлого века (SIM51ENG.EXE - написанный вроде Чехами) на вин 7 не работает , требует голый ДОС ! И кроме того требует такой же антикварный комп .
Программатор у меня есть .

зы Еще распространена была книжка на русском языке первая часть для ве48 , вторая для 51 - автора и название не помню , по ней учился , хочу скачать , освежить память .
Голимый
Встал на лапы
Сообщения: 117
Зарегистрирован: Пн дек 08, 2014 19:45:24
Откуда: Воронеж

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

Сообщение Голимый »

Aloha писал(а):Подскажите , какой на данный момент доступен внутрисхемный эмулятор на 89с51 и аналогичные X51 , а так же компилятор с ассемблера в hex код для заливки в МК ?

MCU 8051 IDE - и (диз)ассемблер и редактор и эмулятор, даже на C писать можно. Конкретно ассемблер - макроассемблер ASEM-51, работает под виндами.
Трудное детство, стальные игрушки.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3781
Зарегистрирован: Ср дек 24, 2008 09:58:58

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

Сообщение Ser60 »

Голимый писал(а):Но нигде в интернете не видел чтоб ногу INT у микросхемы RTC использовали.

Скорее всего, не там искали. Например, вот (см. Радиомир 11 (2013), 36-38):
http://mcs.uwsuper.edu/sb/Electronics/BigLCD/
Конечно, так и надо делать по прерываниям. Да и искать ничего не надо - напишите сами программу из нескольких строчек.
Последний раз редактировалось Ser60 Ср май 20, 2015 21:57:11, всего редактировалось 1 раз.
Голимый
Встал на лапы
Сообщения: 117
Зарегистрирован: Пн дек 08, 2014 19:45:24
Откуда: Воронеж

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

Сообщение Голимый »

Ser60 писал(а):
Голимый писал(а):Но нигде в интернете не видел чтоб ногу INT у микросхемы RTC использовали.

Скорее всего, не там искали. Например, вот (см. Радиомир 11 (2013), 36-38):
http://mcs/sb/Electronics/BigLCD/
Конечно, так и надо делать по прерываниям. Да и искать ничего не надо - напишите сами программу из нескольких строчек.

Написать не проблема, есть ощущение что я чего-то не понимаю.
Ссылка битая.
Трудное детство, стальные игрушки.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3781
Зарегистрирован: Ср дек 24, 2008 09:58:58

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

Сообщение Ser60 »

Извините, ссылку поправил. А в чём проблема с пониманием? Может я смогу чем-то помочь?
Голимый
Встал на лапы
Сообщения: 117
Зарегистрирован: Пн дек 08, 2014 19:45:24
Откуда: Воронеж

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

Сообщение Голимый »

Ser60 писал(а):А в чём проблема с пониманием?

Да это я сам наверное загоняюсь. Не получается непротиворечивого алгоритма чтения rtc только через TWI, без синхронизации контроллера с RTC
Схема навалом, но там все на C, который я не понимаю. Пример бы на ассемблере.
Трудное детство, стальные игрушки.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3781
Зарегистрирован: Ср дек 24, 2008 09:58:58

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

Сообщение Ser60 »

Прочитал второе предложение несколько раз но так и не понял его. А также и третье. Какая связь между С и схемами? Пример чего?

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

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

Сообщение BOB51 »

Голимый писал(а):MCU 8051 IDE - и (диз)ассемблер и редактор и эмулятор, даже на C писать можно. Конкретно ассемблер - макроассемблер ASEM-51, работает под виндами.


1. Синтаксис ассемблера "несколько" отличен от атмелевского c51asm ( иже keil )
2. Хош и анонсирован как GNU, но за лицензию бабласиков просит.
В остальном весьма приятное впечатление.
8)
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

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

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

Доброго времени суток. Появился вопрос по класификации способов адресации. В книжке Фрузе "Микроконтроллеры, это же просто", автор выделяет 4 типа адресации:
1. Прямая - во 2 операнде указываем адрес ячейки памяти, из которой берем значение
2. Непосредственная - во 2 операндре указываем числовое значение
3. Косвенная - во 2 операнде адрес ячейки, из которой берем адрес ячейки, в которой лежит значение
4. Неявная - не суть, м.б. потом разберусь.

А в статье из Радиолюбителя №3, 2007 (http://www.radioliga.com/RL_2007/rl-2007-03.htm), на странице 53 автор говорит про 3 основных способа адресации:
1. Непосредственная - во 2 операнде указываем адрес ячейки памяти, из которой берем значение
2. Косвенная - во 2 операнде адрес ячейки, из которой берем адрес ячейки, в которой лежит значение
2а. Косвенно-регистровая - подвид косвенной.

Во второй класификации Прямая (по версии Фрунзе) названа Непосредственной, а Непосредственной (по версии Фрузе) вообще не существует. Так как правильнее ???
П.С. Ни Фрунзе, ни автора статьи из Радиолюбителя обидеть не хотел если что, просто запутали 2 разные трактовки одного и того же вопроса.

П.П.С. А вот еще, в методичке по лабораторным работам под это семейство, нашел еще 1 вид адресации - индексный. До этого в книжках про такой вид ни слова. Я понимаю что система команд одна на все семейство. Но неужели каждый трактует как хочет ??? Вот я пишу конспект (для себя, чтобы лучше понять), на кого мне ориентироваться ???
Последний раз редактировалось Пока_без_кота Пн июн 15, 2015 21:26:10, всего редактировалось 5 раз.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

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

1. Прямая - во 2 операнде указываем адрес ячейки памяти, из которой берем значение
2. Непосредственная - во 2 операндре указываем числовое значение
Чем адрес ячейки памяти не числовое значение?
1. Прямая - во 2 операнде указываем адрес ячейки памяти, из которой берем значение
3. Косвенная - во 2 операнде адрес ячейки, из которой берем адрес ячейки, в которой лежит значение
Тут вообще какое-то масло масляное.
Лучше изучать сразу с привязкой к ассемблеру, будет понятней.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3781
Зарегистрирован: Ср дек 24, 2008 09:58:58

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

Сообщение Ser60 »

Пока_без_кота писал(а):на кого мне ориентироваться ???

Советую ориентироваться прежде всего на книги, потому что как правило они проходят более серьёзноё реферирование чем журнальные статьи или методички. Статьи во многих случаях имеют ограничения на длину, поэтому материал в них часто представлен не в полном объёме. Это не означает, что других видов адресации не существует. В данном случае автор статьи из Радиолюбителя не прав с непосредственной адресацией. Касательно индексной адресации, она явно присутствует в документации некоторых производителей ядра 8051, например здесь, хотя в других источниках она может подразумеваться как особый вид косвенной адресации. Посмотрите ещё статью в Википедии про адресацию.
Ответить

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