#include <16f877a.h>
#use delay(clock=4M)
#include <puertos.c>
#fuses WDT
//#device ADC=8
#use fast_io (D)
#use fast_io (B)
#include <osa.h>
void Init (void);
void Task_Rolling (void);
void Task_SetSpeed (void);
void main (void)
{
Init(); // Init periphery
OS_Init(); // Init OS
OS_Task_Create(7, Task_Rolling); // Create tasks.
OS_Task_Create(7, Task_SetSpeed); //
Task_Rolling(); // Starting values:
Task_SetSpeed();
OS_EI(); // Enable interrupts
OS_Run(); // Running scheduler
}
void Init (void)
{
#if __DEVICE__ == 887
setup_oscillator(OSC_8MHZ, 0x1F);
#endif
}
void Task_Rolling (void)
{
TRISC=0x00;
PORTC=0xff;
Delay_ms(1000);
PORTC=0x00;
Delay_ms(1000); // Change brightness position
}
void Task_SetSpeed (void)
{
TRISB=0x00;
PORTB=0xff;
Delay_ms(1000);
PORTB=0x00;
Delay_ms(1000);
}