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

 
 
> at89c51ed2
sergey sva
сообщение Nov 6 2007, 16:01
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



здравствуйте.

окажите тех поддержку smile.gif по контроллеру AT89c51ed2 у этого контроллера порты как выполнены
просто как выход с открытым коллектором, или полумост. Сделал сейчас тестовую программку
P0 = 255; все выхода должны установится в 1, приьором мерею односительно GND 0,1 в
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
Палыч
сообщение Nov 6 2007, 16:30
Сообщение #2


Гуру
******

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



В DS (http://www.atmel.com/dyn/resources/prod_documents/doc4235.pdf) на стр.14

Цитата
AT89C51RD2/ED2 I/O ports (P1, P2, P3, P4, P5) implement the quasi-bidirectional output that is common on the 80C51 and most of its derivatives. This output type can be used as both an input and output without the need to reconfigure the port. This is possible because when the port outputs a logic high, it is weakly driven, allowing an external device to pull the pin low. When the pin is pulled low, it is driven strongly and able to sink a fairly large current. These features are somewhat similar to an open drain output except that there are three pull-up transistors in the quasi-bidirectional output that serve different purposes. One of these pull-ups, called the "weak" pull-up, is turned on whenever the port latch for the pin contains a logic 1. The weak pull-up sources a very small current that will pull the pin high if it is left floating. A second pull-up, called the "medium" pull-up, is turned on when the port latch for the pin contains a logic 1 and the pin itself is also at a logic 1 level. This pull-up provides the primary source current for a quasi-bidirectional pin that is outputting a 1. If a pin that has a logic 1 on it is pulled low by an external device, the medium pull-up turns off, and only the weak pull-up remains on. In order to pull the pin low under these conditions, the external device has to sink enough current to overpower the medium pull-up and take the voltage on the port pin below its input threshold.

The third pull-up is referred to as the "strong" pull-up. This pull-up is used to speed up low-to-high transitions on a quasi-bidirectional port pin when the port latch changes from a logic 0 to a logic 1. When this occurs, the strong pull-up turns on for a brief time, two CPU clocks, in order to pull the port pin high quickly. Then it turns off again.

[left]The DPU bit (bit 7 in AUXR register) allows to disable the permanent weak pull up of all ports when latch data is logical 0.

[left]Ну, и дальше рисунокПрикрепленный файл  Port.bmp ( 20.99 килобайт ) Кол-во скачиваний: 114
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Nov 6 2007, 19:23
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



спасибо.я сегодня впервый раз с этим контроллером, поэтому еще не его возможности знаю.
Strong weak medium это режимы различаются по скорости переключения?
Go to the top of the page
 
+Quote Post
Menstr
сообщение Nov 18 2007, 02:22
Сообщение #4





Группа: Новичок
Сообщений: 2
Регистрация: 17-11-07
Пользователь №: 32 417



Цитата(sergey sva @ Nov 7 2007, 01:23) *
это режимы различаются по скорости переключения?

Ну сам то ключ переключается с одинаковой скоростью, НО скорость изменения сигнала на выводе зависит от характера нагрузки, особенно от её ёмкости, для открытого истока это особенно заметно по переднему фронту.
Так что при прочих равных условиях время нарастания (переключение из лог. 0 в 1) для открытого стока будет больше.
Go to the top of the page
 
+Quote Post
Mik174
сообщение Nov 18 2007, 09:55
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 357
Регистрация: 6-01-07
Пользователь №: 24 139



Если я правильно понял, у 8051 семейства выходы не по настоящему двунаправленные.
Они могут дать наибольший выходной ток только при записи в них логического нуля. В этом случае если подать на них +Uпит, будет КЗ.
Если записать в них единицу, на выходе устанавливается "слабая единица". В этом случае если замкнуть выход на землю - ток будет маленьким, и это штатная ситуация. При этом можно прочитать значение из порта - оно будет соответствовать физическому состоянию на выводе. Если например, на этот вывод извне подан "сильный" сигнал "0" - прочитается 0, если "1" - прочитается 1.
Таким образом в 8051 организовано чтение состояния порта.
Go to the top of the page
 
+Quote Post
Bird2
сообщение Nov 18 2007, 11:13
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 80
Регистрация: 19-12-06
Пользователь №: 23 672



Цитата(Mik174 @ Nov 18 2007, 13:55) *
Если например, на этот вывод извне подан "сильный" сигнал "0" - прочитается 0, если "1" - прочитается 1.
Таким образом в 8051 организовано чтение состояния порта.

Вы правильно поняли. Перед чтением данных с порта сначала устанавливаем его в 0xFF.
А что значит "по-настоящему двунаправленный порт" ?
Go to the top of the page
 
+Quote Post
Mik174
сообщение Nov 18 2007, 19:34
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 357
Регистрация: 6-01-07
Пользователь №: 24 139



Цитата(Bird2 @ Nov 18 2007, 14:13) *
Вы правильно поняли. Перед чтением данных с порта сначала устанавливаем его в 0xFF.
А что значит "по-настоящему двунаправленный порт" ?


smile.gif
не совсем правильно сформулировал мысль:
имел в виду, что например, у AVR есть регистр направления и четко разделенные режим чтения состояния вывода порта, и режим формирования логического уровня напряжения на выводе порта.
Если вывод порта настроен на выход, то он именно в этом режиме и работает.
Т.е. и 1 и 0 на его выходе могут, например, зажечь светодиод (естественно при соответствующей схеме подключения).
А если выбран режим чтения, то именно эта функция реализована. При этом можно либо подключить встроенный подтягивающий резистор или от ключить его.
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Nov 20 2007, 17:05
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



у ат89с51ed2 три регистра управления SPI вот что бы передать данные по spi их нужно записать в SPDAT? еще вопрос по подключению к SPI переферийного устройства в моем случае это AT45 data flash
в доке на контроллер есть схема включения по этой схеме MSO подключается к MSO, я почемуто думал что вход должен соединятся с выходом, так и в схеме сделал. ?
Прикрепленные файлы
Прикрепленный файл  1.bmp ( 366.95 килобайт ) Кол-во скачиваний: 37
 
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Nov 20 2007, 19:09
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Цитата(sergey sva @ Nov 20 2007, 20:05) *
у ат89с51ed2 три регистра управления SPI вот что бы передать данные по spi их нужно записать в SPDAT? еще вопрос по подключению к SPI переферийного устройства в моем случае это AT45 data flash
в доке на контроллер есть схема включения по этой схеме MSO подключается к MSO, я почемуто думал что вход должен соединятся с выходом, так и в схеме сделал. ?


по поводу подключения разобрался, зависит от режима, установленного в SPCON. smile.gif
Вот еще по поводу према передачи, для передачи в режиме мастер, нужно установить CS в 0 , а данные
занисти в SPDAT =0x45; проверять spif . А как будет происходить прием, регистр один?
Go to the top of the page
 
+Quote Post

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

 


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


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