Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
зачем такие крайности - достаточно статической RAM и минимума обвеса
http://www.belti.msk.ru/~electron/razno ... s/pruf.htm
http://msevm.com/ua3prq/pruf/pruf.htm
http://www.belti.msk.ru/~electron/razno ... s/pruf.htm
http://msevm.com/ua3prq/pruf/pruf.htm
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Имитатор ПЗУ включает в себя буфер доступа со схемой перевода цепей целевого МК в Z-состояние и схему загрузки ОЗУ имитатора из внешнего источника данных. В принципе подобие канала "прямого доступа в память". Можно и "на рассыпухе" собрать. Одначе для эффективной загрузки понадобится МК желательно с последовательным интерфейсом. Оптронный барьер для макета (особо любительского) не роскошь а необходимость для взаимовыживания персоналки и макетки.
Хоша все то давно пройденный этап, но начинающему на первых порах вполне сгодится.

Хоша все то давно пройденный этап, но начинающему на первых порах вполне сгодится.
-
Пока_без_кота
- Потрогал лапой паяльник
- Сообщения: 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.
И еще, раз эти выводы контроллера (порт Р0) подключены по схеме с открытым коллектором (стоком), то значит ли это, что светодиоды на них напрямую вешать нельзя, а надо подкючать только по "Схема № 2 — Индикация высокого «1» уровня" из статьи http://radiokot.ru/articles/15/
Или все таки можно подключать напрямую к порту Р0, только нужно обязательно добавить эти внешние подтягивающие резисторы на VCC.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Плавающий цифровой вход КМОП микросхем потребляет ток.Пока_без_кота писал(а):почти во всех схемах которые я встречал, устанавливались эти подтягивающие резисторы к VCC, даже если этот порт не использовался вообще.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
-
Пока_без_кота
- Потрогал лапой паяльник
- Сообщения: 359
- Зарегистрирован: Чт авг 08, 2013 01:06:54
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Gudd-Head писал(а):Плавающий цифровой вход КМОП микросхем потребляет ток.
Тоесть, если я не использую Р0, мне достаточно настроить его не выход, и резисторы можно не ставить ?
И насчет остального еще подскажите пожалуйста
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Р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 ).

Вообще-то надо бы ознакомиться с
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 ).

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
BOB51 писал(а):А вот INTELовская
"MCS@51 MICROCONTROLLER
FAMILY USER’S MANUAL"
похоже только у меня завалялась (15мегабайт).
http://www.cs.cmu.edu/~varun/cs315p/INTEL8051MAN.pdf
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Увы... у самого INTEL на сайте недокопать.

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Решил собрать часики на SM89C58A (8051-совместимый) на основе DS3231 в виде платки от или для ардуины. Пока кумекаю как это сделать, и возникла дилемма: RTC ходит само по себе, и МК не может знать что время RTC сменилось, и надо его читать. Первый костыль - завести в МК секундный счетчик, и через каждую секунду времени МК, читать и отображать содержимое RTC. Напрягает возможная плавающая ошибка, из-за тонких несовпадений интервала опроса МК и смены показаний RTC (биения между двумя близкими частотами). Второй способ - настроить прерывание МК от RTC, который будет сообщать МК что пора показать время. Склоняюсь к второму способу, т.к смена показаний будет зависеть от RTC, и от входа в прерывание до отображения времени пройдет совершенно точно определенное число машинных циклов. Но нигде в интернете не видел чтоб ногу INT у микросхемы RTC использовали. Третий способ - тактировать МК от кварца RTC, но с учетом деления на 12, опасаюсь что не хватит машинного времени.
Вот не знаю как сделать.
Вот не знаю как сделать.
Трудное детство, стальные игрушки.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Подскажите , какой на данный момент доступен внутрисхемный эмулятор на 89с51 и аналогичные X51 , а так же компилятор с ассемблера в hex код для заливки в МК ?
То . что у меня осталось с прошлого века (SIM51ENG.EXE - написанный вроде Чехами) на вин 7 не работает , требует голый ДОС ! И кроме того требует такой же антикварный комп .
Программатор у меня есть .
зы Еще распространена была книжка на русском языке первая часть для ве48 , вторая для 51 - автора и название не помню , по ней учился , хочу скачать , освежить память .
То . что у меня осталось с прошлого века (SIM51ENG.EXE - написанный вроде Чехами) на вин 7 не работает , требует голый ДОС ! И кроме того требует такой же антикварный комп .
Программатор у меня есть .
зы Еще распространена была книжка на русском языке первая часть для ве48 , вторая для 51 - автора и название не помню , по ней учился , хочу скачать , освежить память .
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Aloha писал(а):Подскажите , какой на данный момент доступен внутрисхемный эмулятор на 89с51 и аналогичные X51 , а так же компилятор с ассемблера в hex код для заливки в МК ?
MCU 8051 IDE - и (диз)ассемблер и редактор и эмулятор, даже на C писать можно. Конкретно ассемблер - макроассемблер ASEM-51, работает под виндами.
Трудное детство, стальные игрушки.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Голимый писал(а):Но нигде в интернете не видел чтоб ногу INT у микросхемы RTC использовали.
Скорее всего, не там искали. Например, вот (см. Радиомир 11 (2013), 36-38):
http://mcs.uwsuper.edu/sb/Electronics/BigLCD/
Конечно, так и надо делать по прерываниям. Да и искать ничего не надо - напишите сами программу из нескольких строчек.
Последний раз редактировалось Ser60 Ср май 20, 2015 21:57:11, всего редактировалось 1 раз.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Ser60 писал(а):Голимый писал(а):Но нигде в интернете не видел чтоб ногу INT у микросхемы RTC использовали.
Скорее всего, не там искали. Например, вот (см. Радиомир 11 (2013), 36-38):
http://mcs/sb/Electronics/BigLCD/
Конечно, так и надо делать по прерываниям. Да и искать ничего не надо - напишите сами программу из нескольких строчек.
Написать не проблема, есть ощущение что я чего-то не понимаю.
Ссылка битая.
Трудное детство, стальные игрушки.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Извините, ссылку поправил. А в чём проблема с пониманием? Может я смогу чем-то помочь?
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Ser60 писал(а):А в чём проблема с пониманием?
Да это я сам наверное загоняюсь. Не получается непротиворечивого алгоритма чтения rtc только через TWI, без синхронизации контроллера с RTC
Схема навалом, но там все на C, который я не понимаю. Пример бы на ассемблере.
Трудное детство, стальные игрушки.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Прочитал второе предложение несколько раз но так и не понял его. А также и третье. Какая связь между С и схемами? Пример чего?
Алгоритм: по подаче питания МК конфигурирует RTC на прерывания каждую секунду (или минуту если секунды не показываются), читает из него время, сохраняет его в своих переменных и сбрасывает флаг прерывания в RTC. Потом входит в основной цикл, начинающийся с погружением в сон и пробуждением по прерыванию от RTC. По пробуждении посылает в RTC команды сброса прерывания, пересчитывает время и обновляет дисплей. Потом снова в сон.
Алгоритм: по подаче питания МК конфигурирует RTC на прерывания каждую секунду (или минуту если секунды не показываются), читает из него время, сохраняет его в своих переменных и сбрасывает флаг прерывания в RTC. Потом входит в основной цикл, начинающийся с погружением в сон и пробуждением по прерыванию от RTC. По пробуждении посылает в RTC команды сброса прерывания, пересчитывает время и обновляет дисплей. Потом снова в сон.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Голимый писал(а):MCU 8051 IDE - и (диз)ассемблер и редактор и эмулятор, даже на C писать можно. Конкретно ассемблер - макроассемблер ASEM-51, работает под виндами.
1. Синтаксис ассемблера "несколько" отличен от атмелевского c51asm ( иже keil )
2. Хош и анонсирован как GNU, но за лицензию бабласиков просит.
В остальном весьма приятное впечатление.
-
Пока_без_кота
- Потрогал лапой паяльник
- Сообщения: 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 вид адресации - индексный. До этого в книжках про такой вид ни слова. Я понимаю что система команд одна на все семейство. Но неужели каждый трактует как хочет ??? Вот я пишу конспект (для себя, чтобы лучше понять), на кого мне ориентироваться ???
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 и не только..
Чем адрес ячейки памяти не числовое значение?1. Прямая - во 2 операнде указываем адрес ячейки памяти, из которой берем значение
2. Непосредственная - во 2 операндре указываем числовое значение
Тут вообще какое-то масло масляное.1. Прямая - во 2 операнде указываем адрес ячейки памяти, из которой берем значение
3. Косвенная - во 2 операнде адрес ячейки, из которой берем адрес ячейки, в которой лежит значение
Лучше изучать сразу с привязкой к ассемблеру, будет понятней.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Пока_без_кота писал(а):на кого мне ориентироваться ???
Советую ориентироваться прежде всего на книги, потому что как правило они проходят более серьёзноё реферирование чем журнальные статьи или методички. Статьи во многих случаях имеют ограничения на длину, поэтому материал в них часто представлен не в полном объёме. Это не означает, что других видов адресации не существует. В данном случае автор статьи из Радиолюбителя не прав с непосредственной адресацией. Касательно индексной адресации, она явно присутствует в документации некоторых производителей ядра 8051, например здесь, хотя в других источниках она может подразумеваться как особый вид косвенной адресации. Посмотрите ещё статью в Википедии про адресацию.