Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LCD экран 240 на 128 + Silabs c8051f310. Помогите!
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
comper
Не могу подключить этот "клевый" микроконтроллер к экрану.
Встретился с ним первый раз. Не могу понять как это так выводы работают и на вход и на выход одновременно (нет регистра аналогичного TRISA TRISB в микрочипах или PIO_ODR PIO_OER а ARM).

Вобщем собственно в чем проблема...написал программу, настроил микроконтроллер (кроссбары там, выход по схеме push-pull, тактовый генератор и т.д.), записываю управляющие слова и данные в порты и при пошаговой отладке (непосредственно в микроконтроллере а не симуляторе) я их там вижу...а вот ответ от экрана - нет, тоесть на входе порта ничего не вижу. Короче говоря, программа все время стопорится на проверке статуса экрана. когда смотрю мультиметром уровни на линии данных (ответ экрана микроконтроллеру) там какие-то непонятные уровни...вобщем, кажется, микроконтроллер не видит эти данные...
Подскажите пожалуйста, что я не так делаю...уже несколько дней мучаю...и объясните как там работает этот порт ввода-вывода...
Заранее огромное спасибо

Этот же экран завел на выходных с моим АРМом AT91SAM7S256 - все заработало (он тоже 3 вольтовый)
barabek
В стандартном 51 МК порты имеют СЛАБУЮ подтяжку к питанию. Поэтому ввод-вывод идет по принципу работы микросхем с открытым коллектором на общую шину. В даташите не совсем понятный рисунок порта. Попробую объяснить - имеется регистр порта, выход этого регистра подключен к выходным транзисторам, которые непосредственно управляют состоянием лапы. В обычном (не push-pull) режиме сопротивление верхнего транзистора большое. Если работаете на вывод - пишете нужное в регистр. Если хотите считывать - записываете в регистр все 1-цы. Команды считывания при этом читают состояние лапы, а не регистра (исключение - команды "чтение-модификация-запись", что-то типа P0|=0xaa. но это другая история). В вашем случае в PUSH-PULL можно переводить пины, которые работают ТОЛЬКО на вывод! Если нужно иметь двунаправленный пин - оставляем его в open drain, и weakpullup лучше не откючать.
comper
спасибо за разъяснения =)
буду пробовать сегодня
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.