Не бъркайте човека с тоя сбъркан C за Atmel-ските контролери. :zubi:
#include <16f877a.h> /*header-niq fail za saotvetniq kontroler*/
#use clock(8000000) /*zadavane na 4estota na rabota za funckiqta delay_ms()*/
void main(void) /* главната фунция, тя ще започне да се изпълнява когато пуснем контролера*/
{
for(;;) /*празен цикъл*/
{
/*начало на кода на програмата*/
output_high(PIN_B0); /*задаваме високо ниво на пин 0 от порт Б на контролера*/
delay_ms(1000); /*изчакване 1 секунда*/
output_low(PIN_B0); /*ниско ниво (0V) на пин 0 от порт Б (гасим го)*/
delay_ms(1000); /*изчакване 1 секунда*/
/*край на кода на програмата*/
}
}
Тази програма е реализирана за контролера PIC16F877A (ако смените хедърния файл и честотата в първите 2 реда от кода може спокойно да използвате PIC16F84A). Ако сложите светодиод на пин 0 от порт Б, той ще свети 1 секунда, после ще е изгасен 1 секунда и това ще се повтаря (за това е нужен безкрайния цикъл. може да използвате и while(1) вместо for(;; ))
Коментарите са оградени в /* коментар */
ПП: програмата я написах по памет, тъй като в момента съм на друг компютър, на който я няма. Възможно е да има някоя дребна грешка. По-късно ще се опитам да проверя.