реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> LCD экран 240 на 128 + Silabs c8051f310. Помогите!
comper
сообщение Oct 6 2008, 20:49
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 7-03-08
Из: Минск
Пользователь №: 35 707



Не могу подключить этот "клевый" микроконтроллер к экрану.
Встретился с ним первый раз. Не могу понять как это так выводы работают и на вход и на выход одновременно (нет регистра аналогичного TRISA TRISB в микрочипах или PIO_ODR PIO_OER а ARM).

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

Этот же экран завел на выходных с моим АРМом AT91SAM7S256 - все заработало (он тоже 3 вольтовый)

Сообщение отредактировал comper - Oct 6 2008, 20:52
Go to the top of the page
 
+Quote Post
barabek
сообщение Oct 6 2008, 23:20
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



В стандартном 51 МК порты имеют СЛАБУЮ подтяжку к питанию. Поэтому ввод-вывод идет по принципу работы микросхем с открытым коллектором на общую шину. В даташите не совсем понятный рисунок порта. Попробую объяснить - имеется регистр порта, выход этого регистра подключен к выходным транзисторам, которые непосредственно управляют состоянием лапы. В обычном (не push-pull) режиме сопротивление верхнего транзистора большое. Если работаете на вывод - пишете нужное в регистр. Если хотите считывать - записываете в регистр все 1-цы. Команды считывания при этом читают состояние лапы, а не регистра (исключение - команды "чтение-модификация-запись", что-то типа P0|=0xaa. но это другая история). В вашем случае в PUSH-PULL можно переводить пины, которые работают ТОЛЬКО на вывод! Если нужно иметь двунаправленный пин - оставляем его в open drain, и weakpullup лучше не откючать.
Go to the top of the page
 
+Quote Post
comper
сообщение Oct 7 2008, 08:53
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 7-03-08
Из: Минск
Пользователь №: 35 707



спасибо за разъяснения =)
буду пробовать сегодня
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 00:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01385 секунд с 7
ELECTRONIX ©2004-2016