Цитата(kovigor @ Apr 16 2012, 21:37)

1. PORTB.1.1 - это первый разряд, а не нулевой
2. А кто линии МК на ввод/вывод настраивал ?
3. Схема потенциально опасная - можно сжечь МК за милую душу. Вы бы хоть книжку по АВР перед этим почитали:
http://lord-n.narod.ru/walla.html4. Нет желания вникать в хитросплетения Протеуса (который здесь совершенно не нужен и даже вреден). Схему и программу покажите, как они есть, тогда можно будет дать советы ...
Прилагаю схему и программу. Что схема опасная знаю, там надо еще резисторов добавить.
CODE
void main() {
DDB0_bit = 0; // Set pin as input
DDRC = 0xFF; // Configure PORTC as output
PORTC = 0x00; // Initial PORTC value
do {
if (Button(&PINB, 0, 1, 1)) { // Detect logical one
PORTC = 0x01; // Set PINC0 ON
oldstate = 1;
}
else {
PORTC=0x00;
}
} while(1); // Endless loop
}
Цитата(Ruslan1 @ Apr 16 2012, 22:10)

Что значит "допустим"? вы получили результат, противоположный ожидаемому, и Вам даже на симуляторе не интересно выяснить почему?
Почему не интересно? Я же там спрашиваю, в скобочках, почему такое происходит.
Цитата
А у Вас и в симуляторе не работает. сами написали, результат не соответствует запрограммированному алгоритму.
Ну в алгоритме я мог и накосячить, но почему результат отличаеться в симуляторе и в релаьности? Я, кстати, добавил VCC на линию между B0 и кнопкой и на макетной плате у меня тоже стал светодиод загораться при отпускании кнопки, а при нажатии - тухнуть.
Цитата
Метод научного тыка вещь конечно хорошая, но в нужном месте и в соответствующее время. Почитайте какую-нибудь документацию на Протеус, например
тут наверное лучший рускоязычный ресурс, посвященный этой программе.
Спасибо, почитаю.
Цитата
Еще как вариант- обижаются на Вас компоненты, вы их постоянно "вешаете", "кидаете", "втыкаете". Смотрите, может случится то же самое, что с небезызвестной гражданкой Ф., от которой кухонная утварь убежала....
Что то слабо вериться, но впредь учту
Эскизы прикрепленных изображений