Цитата(nikkov @ May 15 2009, 08:49)

Т.к. я совсем не знаком с 51-м семейством, то мне не очень понятно, как зависит эмулятор от конкретного проца...
Как Вы правильно заметили есть целое семейство МК51. Есть классический МК51. Есть другие МК этого семейства, отличающиеся от "классики" объёмом памяти, и наличием дополнительных фенечек "на борту": таймеры, "внешняя" память, SPI, АЦП, ЦАП и др.
Вам нужно отлаживать МК в устройстве. Для этого Вам в определённые моменты времени нужно многое что знать о "внутренностях" МК: какая команда выполняется, значение (содержимое) аккумулятора, слова состояния, регистров общего назначения, регистров специальных функций и др. При необходимости - что-то потребуется изменить (поменять значение)... Всё это можно сделать программными средствами - программные средства потребуются как для МК, так и для персоналки, откуда Вы будете следить за Вашим МК. Обычно с персоналкой проблем - нет. А, вот, с МК - проблемы: ресурсы МК ограничены, а кроме Вашей программы в МК должен работать ещё и отладчик. Как вариант: можно для целей отладки использовать не тот МК, который будет работать в устройстве, а более "старшей" модели, которая включает в себя всё, что есть в Вашем МК плюс ещё дополнительные ресурсы для работы отладчика. Если это Вам подходит - так и сделайте. Но, отличие отладчика от эмулятора в том, что при работе отладчика всё равно будут "отъедаться" ресурсы МК, чего нет при использовании эмулятора (например, при работе отладчика будут продолжать работать таймеры и между тиками таймеров успеет выполниться меньше команд отлаживаемой программы; работа отладчика потребует дополнительного места в стеке и памяти в ОЗУ). Для частичного решения этой проблемы можно до предедела минимизировать отладчик в МК, но чтобы не потерялся его функционал соединить МК с другим МК в который перенести часть отладчика. Кроме этого на второй МК можно возложить те функции, которых нет у отладчика по сравнению с эмулятором (например, автоматическое добавление кода отладчика к Вашей программе, сброс МК, изменение памяти программ и др.). Поскольку в плате не предусмотрено место для второго МК, то можно изготовить устройство (маленькую плату) содержашее оба этих МК и вставляемое в разъём для установки МК на плате. Собственно такое устройство я когда-то и делал...