после включения питания процессор не стартует, на RST имульсы сброса с внешнего супервизора ADM1232, тактовый генератор работает, никакой активности на портах нет, ALE висит в единице. Через некоторое время процессор может нормально запуститься, а может начать выполнять ерунду. Если процессор запустился и питание передернуть кратковременно - запуск нормальный. Если выключить секунд на 10 и включить - снова та же проблема. Время нарастания питания - примерно 5 мс. Пробовал к RST подключать кнопку и удерживать сброс подключенным к +5В во время включения (чтобы исключить версию "серых" уровней при нарастании питания на выходе ADM1232) - не помогает. Пробовал зашивать вместо рабочей программы простой цикл, сбрасывающий внешний WDT - поведение не изменилось. Вместо AT89C51RC2 ставлю в ту же систему AT89S8253 - нормально работает. Второй экземпляр AT89C51RC2 ведет себя несколько по-другому: стартует нормально, но два раза из трех - на удвоенной скорости. А ведь фузом режим x2 выключен!
В даташит пишут следующее:
Cold Reset 2 conditions are required before enabling a CPU start-up: • VDD must reach the specified VDD range • The level on X1 input pin must be outside the specification (VIH, VIL) If one of these 2 conditions are not met, the microcontroller does not start correctly and can execute an instruction fetch from anywhere in the program space.