Цитата(Golikov A. @ Jan 30 2008, 13:10)

То есть другими словами у 51 ядра
сильный нолик, и слабая единичка.
То есть если порт выдает нули, и кто-то подаст на него единички, то это конфликт и что-то может сгореть, а если порт выдает единички, то его состояние можно изменить...
Именно так.
У 51-го двунаправленный ввод-вывод "не настоящий". По сути, это открытый сток с подтяжкой в "1" слабым током. Правда, в конце цикла вывода в порт "единичка" на короткое время становится достаточно "сильной", чтобы быстрее перезаряжать ёмкости монтажа. Но замыкать вывод на "землю" неопасно.
Цитата(Golikov A. @ Jan 30 2008, 13:10)

...беспокоит 2 вещи:
1. не повлияет ли слабая единичка на работу ключей, ведь ключи считай ее через базу-коллетор на землю просаживают (или я что-то не понимаю

))....
Какие ключи и какая база-коллектор?

Вы о чём вообще?
Базу биполярного транзистора с заземлённым эмиттером можно подключать к выводу порта непосредственно.
Цитата(Golikov A. @ Jan 30 2008, 13:10)

...2. кто на себя берет труд понимать откуда писать , куда читать? В асьме понятно могут быть разные команды, а в Кеиле?
вот команда P4^=0x01; надо же сначала прочитать состояние порта, а потом туда записать измененное, не получится ли так, что прочитается состояние входного буфера?
Данная операция относится к типу "чтение-модификация-запись". При этом нужно соблюдать осторожность, потому что если из порта читается истинное состояние линий ввода-вывода, они могут "залипнуть".
Если компилятор переводит данную операцию в XRL P4,#1, произойдёт чтение защёлки (а не порта), модификация и запись в защёлку, без залипаний. Я с компилером С для 51-х не работал, и точно сказать не могу, какой именно код он сгенерит, хотя, очень вероятно, что именно такой.
Цитата(Мария Е @ Jan 30 2008, 20:23)

В принципе, я это знала, просто вызывает большие сомнения насчет использования портов как входов. Сначала записать туда все единички, а потом считывать пришедшие данные... странно как-то.
Да, так. Потому, что порты у 51-го контроллера "недоделанные".

ЗЫ. Извиняюсь за некоторую путанность - торопился.
На сайте Атмел есть хорошие
мануалы. Почитать будет весьма не лишне.