Создаем простую программу мигания светодиодом
Для 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 мс)
}