Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: at89c51ed2
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
sergey sva
здравствуйте.

окажите тех поддержку smile.gif по контроллеру AT89c51ed2 у этого контроллера порты как выполнены
просто как выход с открытым коллектором, или полумост. Сделал сейчас тестовую программку
P0 = 255; все выхода должны установится в 1, приьором мерею односительно GND 0,1 в
Палыч
В 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]Ну, и дальше рисунокНажмите для просмотра прикрепленного файла
sergey sva
спасибо.я сегодня впервый раз с этим контроллером, поэтому еще не его возможности знаю.
Strong weak medium это режимы различаются по скорости переключения?
Menstr
Цитата(sergey sva @ Nov 7 2007, 01:23) *
это режимы различаются по скорости переключения?

Ну сам то ключ переключается с одинаковой скоростью, НО скорость изменения сигнала на выводе зависит от характера нагрузки, особенно от её ёмкости, для открытого истока это особенно заметно по переднему фронту.
Так что при прочих равных условиях время нарастания (переключение из лог. 0 в 1) для открытого стока будет больше.
Mik174
Если я правильно понял, у 8051 семейства выходы не по настоящему двунаправленные.
Они могут дать наибольший выходной ток только при записи в них логического нуля. В этом случае если подать на них +Uпит, будет КЗ.
Если записать в них единицу, на выходе устанавливается "слабая единица". В этом случае если замкнуть выход на землю - ток будет маленьким, и это штатная ситуация. При этом можно прочитать значение из порта - оно будет соответствовать физическому состоянию на выводе. Если например, на этот вывод извне подан "сильный" сигнал "0" - прочитается 0, если "1" - прочитается 1.
Таким образом в 8051 организовано чтение состояния порта.
Bird2
Цитата(Mik174 @ Nov 18 2007, 13:55) *
Если например, на этот вывод извне подан "сильный" сигнал "0" - прочитается 0, если "1" - прочитается 1.
Таким образом в 8051 организовано чтение состояния порта.

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


smile.gif
не совсем правильно сформулировал мысль:
имел в виду, что например, у AVR есть регистр направления и четко разделенные режим чтения состояния вывода порта, и режим формирования логического уровня напряжения на выводе порта.
Если вывод порта настроен на выход, то он именно в этом режиме и работает.
Т.е. и 1 и 0 на его выходе могут, например, зажечь светодиод (естественно при соответствующей схеме подключения).
А если выбран режим чтения, то именно эта функция реализована. При этом можно либо подключить встроенный подтягивающий резистор или от ключить его.
sergey sva
у ат89с51ed2 три регистра управления SPI вот что бы передать данные по spi их нужно записать в SPDAT? еще вопрос по подключению к SPI переферийного устройства в моем случае это AT45 data flash
в доке на контроллер есть схема включения по этой схеме MSO подключается к MSO, я почемуто думал что вход должен соединятся с выходом, так и в схеме сделал. ?
sergey sva
Цитата(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 . А как будет происходить прием, регистр один?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.