Код: Выделить всё
lcd_gotoxy(6,0);
lcd_putsf( "LCD_N_");Код: Выделить всё
lcd_gotoxy(6,0);
lcd_putsf( "LCD_N_");Код: Выделить всё
// Проверка нажатой кнопки
// Если 8 выборок подряд дали "положительный" результат, переходим дальше
// При первой же "отрицательной" выборке, выходим из обработчика
for (char i= 0; i < 8; i++)
{
temp = PIND;
if (temp & 1)
return;
_delay_us(1000);
}
// Если кнопка нажата, переходим в следующий пункт меню
if(++punkt_menu > 4)
punkt_menu = 0;... тогда нужнопорт PIND.2 в моем случае кнопка висит на нем,
Код: Выделить всё
temp = PIND;
if (temp & 4)
return;
.... да уж............John-RADIST писал(а):А почему 4???????
Если не затруднит, кинте пожалуйста шаблон как это сделать. Делаю по примерам пока не фурычит. Спасибо!!!pyzhman писал(а):При выборе пункта меню взведите флаг, говорящий "Я в таком-то меню". И по этому флагу делайте то, что нужно, в основной порграмме. Туда же кстати было бы красивше перенести иКод: Выделить всё
lcd_gotoxy(6,0); lcd_putsf( "LCD_N_");
Код: Выделить всё
#include <mega8.h>
#include <delay.h> // подключаем библиотеку задержки
void main (void)
{
DDRD=0b11111111; // Data Direction Register Все пины порта С сконфигурированы на выход
DDRB=0b11111111;
n=0
while(n<3)
{
PORTD=0b00000001;
delay_ms(500);
PORTD=0b00000010;
delay_ms(500);
PORTD=0b00000100;
delay_ms(500);
PORTD=0b00001000;
delay_ms(500);
PORTD=0b00010000;
delay_ms(500);
PORTD=0b00100000;
delay_ms(500);
PORTD=0b01000000;
delay_ms(500);
PORTD=0b10000000;
delay_ms(500);
n=n+1
}
}ну например char n;FreshMan писал(а):как правильно обявить переменную n ?Код: Выделить всё
#include <mega8.h> #include <delay.h> // подключаем библиотеку задержки void main (void) { DDRD=0b11111111; // Data Direction Register Все пины порта С сконфигурированы на выход DDRB=0b11111111; n=0 while(n<3) { PORTD=0b00000001; delay_ms(500); PORTD=0b00000010; delay_ms(500); PORTD=0b00000100; delay_ms(500); PORTD=0b00001000; delay_ms(500); PORTD=0b00010000; delay_ms(500); PORTD=0b00100000; delay_ms(500); PORTD=0b01000000; delay_ms(500); PORTD=0b10000000; delay_ms(500); n=n+1 } }