Мелкие вопросы по МК-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 и не только..
Тоесть, если я не использую Р0, мне достаточно настроить его не выход, и резисторы можно не ставить ?Gudd-Head писал(а):Плавающий цифровой вход КМОП микросхем потребляет ток.
И насчет остального еще подскажите пожалуйста
- Реклама
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 и не только..
http://www.cs.cmu.edu/~varun/cs315p/INTEL8051MAN.pdfBOB51 писал(а): А вот INTELовская
"MCS@51 MICROCONTROLLER
FAMILY USER’S MANUAL"
похоже только у меня завалялась (15мегабайт).
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 и не только..
MCU 8051 IDE - и (диз)ассемблер и редактор и эмулятор, даже на C писать можно. Конкретно ассемблер - макроассемблер ASEM-51, работает под виндами.Aloha писал(а):Подскажите , какой на данный момент доступен внутрисхемный эмулятор на 89с51 и аналогичные X51 , а так же компилятор с ассемблера в hex код для заливки в МК ?
Трудное детство, стальные игрушки.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Скорее всего, не там искали. Например, вот (см. Радиомир 11 (2013), 36-38):Голимый писал(а):Но нигде в интернете не видел чтоб ногу INT у микросхемы RTC использовали.
http://mcs.uwsuper.edu/sb/Electronics/BigLCD/
Конечно, так и надо делать по прерываниям. Да и искать ничего не надо - напишите сами программу из нескольких строчек.
Последний раз редактировалось Ser60 Ср май 20, 2015 21:57:11, всего редактировалось 1 раз.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Написать не проблема, есть ощущение что я чего-то не понимаю.Ser60 писал(а):Скорее всего, не там искали. Например, вот (см. Радиомир 11 (2013), 36-38):Голимый писал(а):Но нигде в интернете не видел чтоб ногу INT у микросхемы RTC использовали.
http://mcs/sb/Electronics/BigLCD/
Конечно, так и надо делать по прерываниям. Да и искать ничего не надо - напишите сами программу из нескольких строчек.
Ссылка битая.
Трудное детство, стальные игрушки.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Извините, ссылку поправил. А в чём проблема с пониманием? Может я смогу чем-то помочь?
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Да это я сам наверное загоняюсь. Не получается непротиворечивого алгоритма чтения rtc только через TWI, без синхронизации контроллера с RTCSer60 писал(а):А в чём проблема с пониманием?
Схема навалом, но там все на C, который я не понимаю. Пример бы на ассемблере.
Трудное детство, стальные игрушки.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Прочитал второе предложение несколько раз но так и не понял его. А также и третье. Какая связь между С и схемами? Пример чего?
Алгоритм: по подаче питания МК конфигурирует RTC на прерывания каждую секунду (или минуту если секунды не показываются), читает из него время, сохраняет его в своих переменных и сбрасывает флаг прерывания в RTC. Потом входит в основной цикл, начинающийся с погружением в сон и пробуждением по прерыванию от RTC. По пробуждении посылает в RTC команды сброса прерывания, пересчитывает время и обновляет дисплей. Потом снова в сон.
Алгоритм: по подаче питания МК конфигурирует RTC на прерывания каждую секунду (или минуту если секунды не показываются), читает из него время, сохраняет его в своих переменных и сбрасывает флаг прерывания в RTC. Потом входит в основной цикл, начинающийся с погружением в сон и пробуждением по прерыванию от RTC. По пробуждении посылает в RTC команды сброса прерывания, пересчитывает время и обновляет дисплей. Потом снова в сон.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
1. Синтаксис ассемблера "несколько" отличен от атмелевского c51asm ( иже keil )Голимый писал(а): MCU 8051 IDE - и (диз)ассемблер и редактор и эмулятор, даже на C писать можно. Конкретно ассемблер - макроассемблер ASEM-51, работает под виндами.
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, например здесь, хотя в других источниках она может подразумеваться как особый вид косвенной адресации. Посмотрите ещё статью в Википедии про адресацию.Пока_без_кота писал(а):на кого мне ориентироваться ???


