итак подавать напряжения на ножки микроконтроллера я уже научился...
DDRC = 0b11111111 // единички означают что порты настроены на вывод .. это понятно, каждая единица здесь соответствует своему порту
PORTC = 0b11111101 // здесь мы подаем на порты напряжение... 1 - есть, 2 нет.. также каждая единица или 0 соответствует своему порту... допустим порт C1 .. в отличие от других не подаем напряжение...
delay_ms(1000) - это мы говорим портам ждать ...
Вот пока все что я знаю.....
теперь захотелось поработать не с выводом а с приемом сигналов...
значит взял я кнопку и резистор...последовательно подключил их к + питания и к земле... в месте присоединения... кнопки и резистора...соединили порт D7 ( Atmega8) ...
просто включил логику...составил такую програмку... (CodeVisionAvr)
#include <mega8.h>
void main(void)
{
DDRC = 0b1111111;
DDRD = 0b00000000;
if(PORTD = 0b10000000) // наверно это означает что:... "когда есть напряжение на порте D7"
{
PORTC = 0b1; // здесь зеленый светодиод
}
else
{
PORTC = 0b10; // здесь красный светодиод
}
}
скомпилировалась... залил ее на мк ..но ничего не сработало...
в чем я тут ошибся... подскажите как правильно написать программку ...
Раздел: МК для начинающих
DDRC = 0b11111111 // единички означают что порты настроены на вывод .. это понятно, каждая единица здесь соответствует своему порту
PORTC = 0b11111101 // здесь мы подаем на порты напряжение... 1 - есть, 2 нет.. также каждая единица или 0 соответствует своему порту... допустим порт C1 .. в отличие от других не подаем напряжение...
delay_ms(1000) - это мы говорим портам ждать ...
Вот пока все что я знаю.....
теперь захотелось поработать не с выводом а с приемом сигналов...
значит взял я кнопку и резистор...последовательно подключил их к + питания и к земле... в месте присоединения... кнопки и резистора...соединили порт D7 ( Atmega8) ...
просто включил логику...составил такую програмку... (CodeVisionAvr)
#include <mega8.h>
void main(void)
{
DDRC = 0b1111111;
DDRD = 0b00000000;
if(PORTD = 0b10000000) // наверно это означает что:... "когда есть напряжение на порте D7"
{
PORTC = 0b1; // здесь зеленый светодиод
}
else
{
PORTC = 0b10; // здесь красный светодиод
}
}
скомпилировалась... залил ее на мк ..но ничего не сработало...
в чем я тут ошибся... подскажите как правильно написать программку ...
Раздел: МК для начинающих