Создаем простую программу мигания светодиодом
Для AVR это будет выглядеть так:
Код:
#include "mega8.h" //Включаем библиотеку для работы с микроконтроллером ATMega8 #include "delay.h" //Включаем библиотеку для организации задержек void main(void) { PORTD=0x00; //Выставляем все выходы порта D на 0, то есть, выключаем весь порт D DDRD=0xFF; //Делаем порт D, как выход, чтобы на выходах порта было напряжение 5В while (1) //Организовываем бесконечный цикл { PORTD.0=1; //Включаем светодиод на 0 выходе порта D delay_ms(100); //Делаем задержку на 500 миллисекунд PORTD.0=0; //Выключаем светодиод на 0 выходе порта D delay_ms(100); //Делаем задержку на 500 миллисекунд }; }
Для PIC так:
Код:
#include <pic.h> #include <delay.c> #define _XTAL_FREQ 4000000 // Частота 4 МГц // Дальше выставим биты конфигурации: // MCLREN — включаем возможность сброса программы. // UNPROTECT - отключаем защиту кода. // WDTDIS - выключаем сторожевой таймер. __CONFIG(MCLREN & UNPROTECT & WDTDIS); void main() { TRISA = 0x00; // Порт В на выход PORTA = 0x00; // Выключаем все выходы порта В for (;;) { // Запускаем бесконечный цикл RA2 = 0; DelayMs(250); RA2 = 1; DelayMs(250); } } }
и на Arduino: (по умолчанию эта тестовая программа уже загружена в контроллер)
Код:
* Включает и выключает светодиод, подсоединенный * к выходу 13, с интервалом в 2 секунды * */ int ledPin = 13; // LED подсоединен к выводу 13 void setup() { pinMode(ledPin, OUTPUT); // устанавливаем вывод 13 как выход } void loop() { digitalWrite(ledPin, HIGH); // включаем LED delay(1000); // пауза 1 секунда (1000 мс) digitalWrite(ledPin, LOW); // выключаем LED delay(1000); // пауза 1 секунда (1000 мс) }