Efekt ala nieustraszony, średnio wygląda, ale PICKIT ma tylko 4 LEDy.
Kod: Zaznacz cały
//Procesor PIC16F690
#include <htc.h>
#ifndef _XTAL_FREQ
#define _XTAL_FREQ 4000000
#endif
unsigned int i;
unsigned char led;
unsigned char s;
struct{
char kierunek:1;
char znacznik:1;
} bits;
#define kierunek bits.kierunek
#define znacznik bits.znacznik
void main()
{
TRISC = 0b11100000;
led = 1;
PORTC = 15;
__delay_ms(500);
s = led;
znacznik = 0;
kierunek = 0;
for (;;)
{
PORTC = led;
if (znacznik == 0){
if(kierunek == 0)led = 1<<led;
else led = led>>1;
led = led | s;
znacznik = 1;
}
else{
if(kierunek == 0) s = 1<<s;
else s = s>>1;
led = s & led;
znacznik = 0;
}
__delay_ms(25);
if (led == 0)
{
kierunek = !kierunek;
led = 1;
s = 1;
__delay_ms(15);
}
if (led == 16){
kierunek = !kierunek;
__delay_ms(15);
}
}
}