Страница 21 из 53
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Сб фев 14, 2015 18:52:02
ChipKiller
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Сб фев 14, 2015 23:24:26
BOB51
Имитатор ПЗУ включает в себя буфер доступа со схемой перевода цепей целевого МК в Z-состояние и схему загрузки ОЗУ имитатора из внешнего источника данных. В принципе подобие канала "прямого доступа в память". Можно и "на рассыпухе" собрать. Одначе для эффективной загрузки понадобится МК желательно с последовательным интерфейсом. Оптронный барьер для макета (особо любительского) не роскошь а необходимость для взаимовыживания персоналки и макетки.
Хоша все то давно пройденный этап, но начинающему на первых порах вполне сгодится.

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Пн фев 16, 2015 13:55:06
Пока_без_кота
Возник еще 1 вопрос. Почему порт Р0 такой особенный (без внутренних подтягивающих резисторов) ? В каких схемотехнических решениях это может потребоваться ? В AVR-ах они отключаються програмно. В MCS-51 такой функции ведь нет (или я ошибаюсь) ? Может поэтому там сделали 1 порт без них, чтобы в случае чего можно было прижать вход порта резистором к логическому 0, и ловить логическую 1 ? Но тогда почему, почти во всех схемах которые я встречал, устанавливались эти подтягивающие резисторы к VCC, даже если этот порт не использовался вообще.
И еще, раз эти выводы контроллера (порт Р0) подключены по схеме с открытым коллектором (стоком), то значит ли это, что светодиоды на них напрямую вешать нельзя, а надо подкючать только по "Схема № 2 — Индикация высокого «1» уровня" из статьи
http://radiokot.ru/articles/15/
Или все таки можно подключать напрямую к порту Р0, только нужно обязательно добавить эти внешние подтягивающие резисторы на VCC.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Пн фев 16, 2015 14:09:36
Gudd-Head
Пока_без_кота писал(а):почти во всех схемах которые я встречал, устанавливались эти подтягивающие резисторы к VCC, даже если этот порт не использовался вообще.
Плавающий цифровой вход КМОП микросхем потребляет ток.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Пн фев 16, 2015 14:23:44
Пока_без_кота
Gudd-Head писал(а):Плавающий цифровой вход КМОП микросхем потребляет ток.
Тоесть, если я не использую Р0, мне достаточно настроить его не выход, и резисторы можно не ставить ?
И насчет остального еще подскажите пожалуйста

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Пн фев 16, 2015 18:13:40
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 ).

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

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Ср май 20, 2015 19:26:27
Голимый
Решил собрать часики на SM89C58A (8051-совместимый) на основе DS3231 в виде платки от или для ардуины. Пока кумекаю как это сделать, и возникла дилемма: RTC ходит само по себе, и МК не может знать что время RTC сменилось, и надо его читать. Первый костыль - завести в МК секундный счетчик, и через каждую секунду времени МК, читать и отображать содержимое RTC. Напрягает возможная плавающая ошибка, из-за тонких несовпадений интервала опроса МК и смены показаний RTC (биения между двумя близкими частотами). Второй способ - настроить прерывание МК от RTC, который будет сообщать МК что пора показать время. Склоняюсь к второму способу, т.к смена показаний будет зависеть от RTC, и от входа в прерывание до отображения времени пройдет совершенно точно определенное число машинных циклов. Но нигде в интернете не видел чтоб ногу INT у микросхемы RTC использовали. Третий способ - тактировать МК от кварца RTC, но с учетом деления на 12, опасаюсь что не хватит машинного времени.
Вот не знаю как сделать.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Ср май 20, 2015 20:26:04
Aloha
Подскажите , какой на данный момент доступен внутрисхемный эмулятор на 89с51 и аналогичные X51 , а так же компилятор с ассемблера в hex код для заливки в МК ?
То . что у меня осталось с прошлого века (SIM51ENG.EXE - написанный вроде Чехами) на вин 7 не работает , требует голый ДОС ! И кроме того требует такой же антикварный комп .
Программатор у меня есть .
зы Еще распространена была книжка на русском языке первая часть для ве48 , вторая для 51 - автора и название не помню , по ней учился , хочу скачать , освежить память .
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Ср май 20, 2015 21:03:25
Голимый
Aloha писал(а):Подскажите , какой на данный момент доступен внутрисхемный эмулятор на 89с51 и аналогичные X51 , а так же компилятор с ассемблера в hex код для заливки в МК ?
MCU 8051 IDE - и (диз)ассемблер и редактор и эмулятор, даже на C писать можно. Конкретно ассемблер - макроассемблер ASEM-51, работает под виндами.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Ср май 20, 2015 21:25:31
Ser60
Голимый писал(а):Но нигде в интернете не видел чтоб ногу INT у микросхемы RTC использовали.
Скорее всего, не там искали. Например, вот (см. Радиомир 11 (2013), 36-38):
http://mcs.uwsuper.edu/sb/Electronics/BigLCD/
Конечно, так и надо делать по прерываниям. Да и искать ничего не надо - напишите сами программу из нескольких строчек.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Ср май 20, 2015 21:29:05
Голимый
Ser60 писал(а):Голимый писал(а):Но нигде в интернете не видел чтоб ногу INT у микросхемы RTC использовали.
Скорее всего, не там искали. Например, вот (см. Радиомир 11 (2013), 36-38):
http://mcs/sb/Electronics/BigLCD/
Конечно, так и надо делать по прерываниям. Да и искать ничего не надо - напишите сами программу из нескольких строчек.
Написать не проблема, есть ощущение что я чего-то не понимаю.
Ссылка битая.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Ср май 20, 2015 21:58:18
Ser60
Извините, ссылку поправил. А в чём проблема с пониманием? Может я смогу чем-то помочь?
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Ср май 20, 2015 22:12:37
Голимый
Ser60 писал(а):А в чём проблема с пониманием?
Да это я сам наверное загоняюсь. Не получается непротиворечивого алгоритма чтения rtc только через TWI, без синхронизации контроллера с RTC
Схема навалом, но там все на C, который я не понимаю. Пример бы на ассемблере.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Чт май 21, 2015 00:41:43
Ser60
Прочитал второе предложение несколько раз но так и не понял его. А также и третье. Какая связь между С и схемами? Пример чего?
Алгоритм: по подаче питания МК конфигурирует RTC на прерывания каждую секунду (или минуту если секунды не показываются), читает из него время, сохраняет его в своих переменных и сбрасывает флаг прерывания в RTC. Потом входит в основной цикл, начинающийся с погружением в сон и пробуждением по прерыванию от RTC. По пробуждении посылает в RTC команды сброса прерывания, пересчитывает время и обновляет дисплей. Потом снова в сон.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Чт май 21, 2015 07:14:19
BOB51
Голимый писал(а):
MCU 8051 IDE - и (диз)ассемблер и редактор и эмулятор, даже на C писать можно. Конкретно ассемблер - макроассемблер ASEM-51, работает под виндами.
1. Синтаксис ассемблера "несколько" отличен от атмелевского c51asm ( иже keil )
2. Хош и анонсирован как GNU, но за лицензию бабласиков просит.
В остальном весьма приятное впечатление.

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Пн июн 15, 2015 15:58:25
Пока_без_кота
Доброго времени суток. Появился вопрос по класификации способов адресации. В книжке Фрузе "Микроконтроллеры, это же просто", автор выделяет 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 вид адресации - индексный. До этого в книжках про такой вид ни слова. Я понимаю что система команд одна на все семейство. Но неужели каждый трактует как хочет ??? Вот я пишу конспект (для себя, чтобы лучше понять), на кого мне ориентироваться ???
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Пн июн 15, 2015 16:04:11
Gudd-Head
1. Прямая - во 2 операнде указываем адрес ячейки памяти, из которой берем значение
2. Непосредственная - во 2 операндре указываем числовое значение
Чем адрес ячейки памяти не числовое значение?
1. Прямая - во 2 операнде указываем адрес ячейки памяти, из которой берем значение
3. Косвенная - во 2 операнде адрес ячейки, из которой берем адрес ячейки, в которой лежит значение
Тут вообще какое-то масло масляное.
Лучше изучать сразу с привязкой к ассемблеру, будет понятней.
Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Пн июн 15, 2015 23:48:16
Ser60
Пока_без_кота писал(а):на кого мне ориентироваться ???
Советую ориентироваться прежде всего на книги, потому что как правило они проходят более серьёзноё реферирование чем журнальные статьи или методички. Статьи во многих случаях имеют ограничения на длину, поэтому материал в них часто представлен не в полном объёме. Это не означает, что других видов адресации не существует. В данном случае автор статьи из Радиолюбителя не прав с непосредственной адресацией. Касательно индексной адресации, она явно присутствует в документации некоторых производителей ядра 8051, например
здесь, хотя в других источниках она может подразумеваться как особый вид косвенной адресации. Посмотрите ещё
статью в Википедии про адресацию.