|
|
  |
at89c51ed2 |
|
|
|
Nov 6 2007, 16:30
|

Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
Nov 18 2007, 02:22
|
Группа: Новичок
Сообщений: 2
Регистрация: 17-11-07
Пользователь №: 32 417

|
Цитата(sergey sva @ Nov 7 2007, 01:23)  это режимы различаются по скорости переключения? Ну сам то ключ переключается с одинаковой скоростью, НО скорость изменения сигнала на выводе зависит от характера нагрузки, особенно от её ёмкости, для открытого истока это особенно заметно по переднему фронту. Так что при прочих равных условиях время нарастания (переключение из лог. 0 в 1) для открытого стока будет больше.
|
|
|
|
|
Nov 18 2007, 11:13
|
Частый гость
 
Группа: Свой
Сообщений: 80
Регистрация: 19-12-06
Пользователь №: 23 672

|
Цитата(Mik174 @ Nov 18 2007, 13:55)  Если например, на этот вывод извне подан "сильный" сигнал "0" - прочитается 0, если "1" - прочитается 1. Таким образом в 8051 организовано чтение состояния порта. Вы правильно поняли. Перед чтением данных с порта сначала устанавливаем его в 0xFF. А что значит "по-настоящему двунаправленный порт" ?
|
|
|
|
|
Nov 18 2007, 19:34
|
Местный
  
Группа: Свой
Сообщений: 357
Регистрация: 6-01-07
Пользователь №: 24 139

|
Цитата(Bird2 @ Nov 18 2007, 14:13)  Вы правильно поняли. Перед чтением данных с порта сначала устанавливаем его в 0xFF. А что значит "по-настоящему двунаправленный порт" ?  не совсем правильно сформулировал мысль: имел в виду, что например, у AVR есть регистр направления и четко разделенные режим чтения состояния вывода порта, и режим формирования логического уровня напряжения на выводе порта. Если вывод порта настроен на выход, то он именно в этом режиме и работает. Т.е. и 1 и 0 на его выходе могут, например, зажечь светодиод (естественно при соответствующей схеме подключения). А если выбран режим чтения, то именно эта функция реализована. При этом можно либо подключить встроенный подтягивающий резистор или от ключить его.
|
|
|
|
|
Nov 20 2007, 19:09
|
Гуру
     
Группа: Свой
Сообщений: 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.  Вот еще по поводу према передачи, для передачи в режиме мастер, нужно установить CS в 0 , а данные занисти в SPDAT =0x45; проверять spif . А как будет происходить прием, регистр один?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|