Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: led blinking
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
i.dmitry
Привет всем. это моя первая программа. хочу помигать диодом. компилируется без ошибок . но не работает.
1) продскажите плиз как использовать правильно прерывания в CodeVision.
2) почему если на выход ножки подать ноль - диод загорается, а 1 нет. STK500
Код

#include <mega16.h>

void init () {
  TCCR0 = 0x05;
  TIFR = 0x01;
  TIMSK = 0x01;  
  DDRD=0xFF;
}

interrupt [8] timer0_ovf (void) {

PORTD.1 = ~PORTD.1;

}

void main(void) {

//asm("sei");
init ();
            

while (1) {
while (!(TIFR&0x01)); //wait until oveflow ocuurs
//PORTD.1 = ~PORTD.1; //on/off LED
//TIFR = 0x01;        //clear flag
  
};

}
Dmitry_Od
Цитата
... почему если на выход ножки подать ноль - диод загорается, а 1 нет. STK500


Потому, что диоды через резисторы притягивают либо к VCC, либо к GND, в твоем случае к VCC.

При выводе 0, потенциал ноги порта ближе к GND.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.