|
Вообще-то это проблемы не вызывает, но мне неприятно и любопытно, в чем причина - в программе или структуре выходов процесора.
Вкратце так. Одна из вещей, которую делает процессор - записывает значение во внешние регистры и также управляет их разрешением выхода.
Когда выключается питание, по падении где-то до 4.5В срабатывает внешний супервизор и уводит процессор в reset. Уровень reset-а плавно падает вместе с питанием. nOE на регистрах, подтянутое внешним резистором, переходит в 1 и падает вместе с напряженим.
Через пару сотен миллисекунд, когда напряжение питания падает примерно до 2.1В, супервизор решает, что ресетить уже не надо и снимает ресет, после чего процессор передает "привет" в виде опускания OE примерно на 10 миллисекунд, что с радостью воспринимают и регистры, после чего опять его отпускает и с уровня примерно 1.8В оно продолжает падать вместе с напряжением питания.
Вот я и чешу репу - по программе в начале работы этого быть не должно. Да и после ресета выходы тянуть в 0 вроде бы не должны. Либо программу ворошить, либо это выходы у AT89 такие.
E-mail: info@telesys.ru