Порты ввода\вывода Atmega

Здесь вопросы новичков

Порты ввода\вывода Atmega

Сообщение ukr823f » 06 мар 2012, 20:56

Ув. опытные коты, я уже начинаю потихоньку сума сходить с этими портами ввода\вывода.
Собрал в протеусе схемку с одной кнопкой и светодиодом Написал программку, но в ответ тишина. Нехочет МК понимать что я нажимаю кнопку. Хотя в протеусе даже видно что на ножке PINB0 - появляется 0.

пишу в десятичной системе, может тут ошибка?
для получения статуса кнопки может нужно использовать битовую операцию (которые я вообще немогу понять....) (REGISTR & (1<<N))


Мне в этом плане больше нравиться CodeVisionAVR.
Там понятно можно описывать. Но как я понял синтаксис как в AVR studio более правильный и именно его нужно использовать.
И вообще есть ли у CAVR недостатки перед AVR Studio?


вот код и файл протеуса. Подскажите где я ошибся, а то это уже тихий ужас...
Код:
Код: Выделить всё
#include <avr/io.h>    // Хотим использовать порты ввода/вывода
#include <util/delay.h>  // Хотим использовать функции задержек


int main()
{
   
DDRB = 0;
DDRD = 255;

PORTB = 255;
PORTD  = 0;

   while(1)
   {
      if (PINB0==1)
      {
         PORTD=(0<<0);
         _delay_ms(1000);
         PORTD=(1<<0);
         _delay_ms(1000);
         
      }
      else
      {
         PORTD=0;
      }
     
   }     

}
Вложения
my1.zip
(7.16 КБ) Скачиваний: 387
ukr823f
 
Сообщения: 1
Зарегистрирован: 06 мар 2012, 20:51

Вернуться в В помощь начинающим



Кто сейчас на конференции

Зарегистрированные пользователи: Yahoo [Bot]

cron