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

 
 
 
Reply to this topicStart new topic
> Биты port0 подтянуть к питанию, T89C51CC01
Vokchap
сообщение Jun 25 2008, 17:29
Сообщение #1


Профессионал
*****

Группа: Админы
Сообщений: 1 884
Регистрация: 15-07-06
Из: Новосибирск, Россия
Пользователь №: 18 835



T89C51CC01, биты port0 нужно подтянуть к питанию. Как задействовать внутренние pull-up (как это делается при генерации младшего байта адреса при доступе во внешнюю память)? Если это возможно, покажите на примере, пожалуйста ...
Go to the top of the page
 
+Quote Post
Палыч
сообщение Jun 26 2008, 05:36
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



В документации английским по белому написано: "Port 0 internal strong pull-ups assist the logic-one output for memory bus cycles only. Except for these bus cycles, the pull-up FET is off, Port 0 outputs are open-drain." Внешние резисторы поставить - религия не позволяет?
Go to the top of the page
 
+Quote Post
Vokchap
сообщение Jun 26 2008, 09:53
Сообщение #3


Профессионал
*****

Группа: Админы
Сообщений: 1 884
Регистрация: 15-07-06
Из: Новосибирск, Россия
Пользователь №: 18 835



Цитировать документацию мне не надо.
Интересует вопрос: возможно ли программно управлять верхним транзистором к оконечном драйвере вывода порта 0? Есть подозрения, что да. Я не особо силён в тонкостях, господа специалисты, опровергните подозрения плиз.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Jun 26 2008, 10:41
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Vokchap @ Jun 26 2008, 12:53) *
Есть подозрения, что да.
Откуда такие подозрения? Если посмотреть на схему порта 0 в DS, то видно, что верхним транзистором управляют два сигнала "Address Low/Data" и "Control". Что такое первый сигнал, наверное, ясно. Что такое сигнал "Control" - несколько ниже по тексту. Оба сигнала вырабатываются аппаратно и программно (если не считать команду movx) - не доступны.
Go to the top of the page
 
+Quote Post
Vokchap
сообщение Jun 26 2008, 11:39
Сообщение #5


Профессионал
*****

Группа: Админы
Сообщений: 1 884
Регистрация: 15-07-06
Из: Новосибирск, Россия
Пользователь №: 18 835



Взято отсюда:
Цитата
i have another doubt
im connecting the rtc(external mem) to Port 0, so do i still need to connect the pull up resistores(10k) or i need not?
plz help


Цитата
If you use these statements to control I/O thru Port 0
Code:
MOV P0,#$55

you need to connect the pull up resistors(10k)

If you use these statements to read/write data thru Port 0
Code:
MOVX A,@DPTR
MOVX @DPTR,A
MOVX A,@R0
MOVX @R0,A
MOVX A,@R1
MOVX @R1,A

forget the pull up resistors(10k)

as you'll use
Code:
XBYTE[0x1234] = 0x55;

it mean no pull up resistors needed.



С ассемблером прямо не работал, проясните, можно ли это использовать.

Реально нужно манипулировать уровнями на выводах port0 без внешних подтяжек и без участия в процессе /WR, /RD (они задействованы другим процессом).
Go to the top of the page
 
+Quote Post
Палыч
сообщение Jun 26 2008, 12:10
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Vokchap @ Jun 26 2008, 14:39) *
проясните, можно ли это использовать.
Э-э-э-э... Ну, в приведенной цитате так и говорится: мол "хотите использовать порт 0 как параллельный, то ставьте pull up (внешние), а ежели используете порт 0 для подключения внешней памяти - то о pull up и думать не надо - в нужные моменты МК их подключит сам". У Вас какая, собственно, задача? Почему не поставить внешние pull up?
Go to the top of the page
 
+Quote Post
Vokchap
сообщение Jun 26 2008, 12:51
Сообщение #7


Профессионал
*****

Группа: Админы
Сообщений: 1 884
Регистрация: 15-07-06
Из: Новосибирск, Россия
Пользователь №: 18 835



Нужно использовать для адресной шины только 14 бит (8 на port0 + 6 на port2), оставшиеся два бита и /WR, /RD не трогать (задействованы). Ресурсов впритык, собственно хотел извернуться, да видно не получится... Плата кстати уже готова и распаяна, просто идеология немного поменялась. Если нельзя программно управлять верхним транзистором, придётся торчком подпаивать резисторы на выводы ...

Вобщем, "объект вне зоны доступа", как я понял. Спасибо за разъяснения.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Jun 26 2008, 13:47
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Vokchap @ Jun 26 2008, 15:51) *
Вобщем, "объект вне зоны доступа", как я понял.
Да. Идеология МК51 не позволяет манипулировать pull up (как это сделано, например, в AVR). В некоторых случаях pull up мешает: это когда нужно управлять не уровнем выходного сигнала, а втекающим током. Поэтому, выделен параллельный порт (порт 0), у которого pull up - нет. Нужно управлять втекающим током - пожалуйста, подключайся к выводу порта 0 - и будет тебе счастье; нужен уровень на ноге порта - поставь внешний резистор!
Go to the top of the page
 
+Quote Post
AndreyS
сообщение Jun 26 2008, 19:14
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 28-01-05
Из: Санкт-Петербург
Пользователь №: 2 276



Цитата(Палыч @ Jun 26 2008, 17:47) *
Да. Идеология МК51 не позволяет манипулировать pull up (как это сделано, например, в AVR). В некоторых случаях pull up мешает: это когда нужно управлять не уровнем выходного сигнала, а втекающим током. Поэтому, выделен параллельный порт (порт 0), у которого pull up - нет. Нужно управлять втекающим током - пожалуйста, подключайся к выводу порта 0 - и будет тебе счастье; нужен уровень на ноге порта - поставь внешний резистор!



Давайте не будем мешать все в кучу. Это не особенность архитектуры. Все что вы описали реализовано в SiLabs.

Офтопик.


--------------------
Удачи.
Go to the top of the page
 
+Quote Post

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

 


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


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