peotr 0 3 апреля, 2007 Опубликовано 3 апреля, 2007 · Жалоба ПАМАГИТЕ разобраться! Суть в следующем. В начале программы (на AT89C51) производится запись кодов во внешнюю память (регистр) командами, типа: mov A,#C - movx@R0,A. Всё идёт по плану, вдруг после последней такой команды через один цикл производится несанкционированная запись (без команды movx@R0,A)! Хотя далее в программе команд, использующих WR (P3.6) нет! Осциллоскопом ложную посылку WR не поймал. НО! Если после последней записи введу запрет записи: clr P3.6, «паразитной» записи нет. В чём дело? Всё проверял в пошаговом режиме. Вот только этого «фантомного» сигнала ложной команды записи не поймал. СПАСИБА! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
a_electronic 0 4 апреля, 2007 Опубликовано 4 апреля, 2007 · Жалоба Возможно, причина не в программной части, а в аппаратной. Вообще внешняя параллельная шина - это слабое место для устойчивости процессора. Возможно, "звенит"/CS на ОЗУшке, либо дейсвует импульсная помеха. Я как то раз сталкивался с подобным, правда на ED2, работающем в режиме Х2 на 18.432М, получилось так, что помеху так и не удалось отловить, побороть удалось верифицированием записанных данных. Может стоит затерминировать сигналы резюками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться