ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
569599 Топик полностью
Гудвин, волшебник (28.12.2014 22:26, просмотров: 851) ответил Крок на Только извращенцы могут писать для пиков программы длинней одной страницы. Это же ПИК, а не пеньтиум!
Посему лучший контроллер у некрочип PIC10F200!  #include <pic.h> #include <htc.h> __CONFIG(MCLRDIS & WDTDIS); #define RES 0b00001110 #define ON 0b00001101 #define PLUS 0b00001011 #define ALL_OFF 0b00001111 #define TRESH 20000 // 1 сек static volatile unsigned int cnt; // @ 0x10; void delay(unsigned int value) { char i; while(value > 0) { for (i=0;i<97;i++); value--; } } void main(void) { OSCCAL=0b10000000; // минимальная частота для снижения потребления TRIS = 0b00001111; // настраиваем линии GP3, GP0, GP1, GP2 на вход OPTION=0b11000000; // выключим всякие wake up CMCON0=0b01000000; // отключаем компаратор GPIO=0x00; // выходы = 0 //GPIO=0x0f; // выходы = 1 // для отладки delay(5000); // после подачи питания (включения зажигания) ждем 5 сек; TRIS = ON; // кнопка ON delay(150); // 150 мс TRIS = ALL_OFF; // while (1) { if (GP3==0) { delay(10); // 10 мс // проверка на дребезг if (GP3!=0) continue; cnt=0; while ((GP3==0) && (cnt< TRESH)) cnt++; // подсчитаем время нажатия кнопки if (cnt < TRESH) TRIS = RES; else TRIS = PLUS; delay(150); TRIS = ALL_OFF; while (GP3==0); // если кнопка не отжата ждем.. delay(10); } } }