Полная версия этой страницы:
вопрос новичка о AT89S53
kurtis
Sep 18 2005, 16:25
Есть запрограмированые at89s53. к порту 0 подключил семисегментый светодиодный индикатор с общим анодом через резисторы 510 Ом. согласно програме табло должно мигать, т.е. на выводах МК попеременно устанавливаются то высокий то низкий уровень...но ничего не происходит.....но на выводах порта 0 стоит НИЗКИЙ логический уровень...на всех остальных портах стоит высокий логический уровень....может я неправильно програму запускаю???согласно даташиту я к ресету резистор 8.2к на землю кидаю и конденсатор 10 мкФ на питание....и при включении питания проц должен запускатся....но запуска как такового нету...программу в симуляторе прогнал и вроде логических ошибок нету...поэтому вопросы
1.Как нужно запускать мой МК(at89s53)?
2.Может стоит поставить какую-то микросхему перед индикатором?
3.Можно напрямую зажигать светодиоды?
3.Какой ток реально получить из 1 вывода порта?
ValeraVi
Sep 18 2005, 17:12
1. ~ЕА подтянут к VCC? (а лучше найдите любую схему на 51-м контроллере и сделайте также - в инете схем таких полно

)
2,3,4 - насколько я помню, at89s53 не позиционируется как имеющий фичу подключения светодиодов на прямую. Так что лучше поставить доп. транзисторы. Хотя по даташиту там при лог. 0 максимумы: на 1 пин - 10 мА, на весь 0-й порт 26 мА, на всю микруху 71 мА... но - это максимумы...
даташит...
Alexandr
Sep 18 2005, 20:59
По порядку:
1) Порт 0 - это порт с открытым коллектором, поэтому все 8 контактов порта надо подтянуть к питанию. Для этих целей хорошо подходит резистивная сборка НР-1-4-9. Обязательно подтянуть к питанию контакт EA, если конечно не собираетесь использовать внешнюю память программ. Поставить несколько конденсаторов 0,1мкФ непосредственно около контакта питания. Проверить, чтобы программный код не попал в область вектора прерываний. Проверить не включен ли WDT (не помню включается ли он автоматически после сброса).
Проверить правильно ли записалась программа - ваш программатор поддерживает верификацию? Ну вот вроде и все. Проверить функционирование контроллера можно осцилографом на контактах XLAT. Да и на будующее, для сброса лучше использовать супервизор.
3, 4) Порты у 51-х традиционно слабые из-за квази двунаправленной архитектуры. Типовой ток 2-3мА. Тогда как основной массе светодиодов и индикаторов в том числе нужно 15-20мА. Поэтому свечения вы скорее всего не увидите.
2) Да придется ставить микросхему. Можно специальный драйвер. Но я обычно ставлю микросхему КР1533ЛН8 - это 6 инверторов с повышенной нагрузочной способностью - светится прекрасно.
kurtis
Sep 30 2005, 21:34
спасибо за ответ...=))
еще пару вопросов....
О старте програмы...вроде все работает, НО! программа запускается когда подключен програматор т.е. мой понипрог....если отключить понипрог, то стартовать совсем нехочет, т.е. я повесил светодиодное табло, и оно когда я блок питания вставляю в розетку на мгновение вспыхивает и сново гаснет....но с подключенным програматором все нормально работает...мерял тестером.....при подключенном программаторе на ножке ресет -0.61 вольт....при отключенном 0 В.....
почему при подключенном програматоре все работает, а при отключенном нет???
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.