فيما يلى البرنامج المطلوب .- فى بداية البرنامج يتم تهيئة المنفذ PORTB كخرج باستخدام العبارة TRISB = 0 .
- بعد ذلك يتم تشكيل حلقة غير منتهية بحلقة for .
- وبداخل هذه الحلقة يتم توصيل وفصل الليد مع تأخير زمنى بقيمة واحد ثانية بين المخارج .
كود:
/∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
This program flashes an LED connected to port RB0 of a microcontroller
with one second intervals. mikroC built-in function Delay_ms is used to
create a 1 second delay between the flashes.
∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗/
void main()
{
TRISB = 0; // Configure PORTB as output
for(; ;) // Endless loop
{
PORTB = 1; // Turn ON LED
Delay_ms(1000); // 1 second delay
PORTB = 0; // Turn OFF LED
Delay_ms(1000); // 1 second delay
}
}
يمكن جعل البرنامج أكثر سهولة وأسهل للمتابعة عن طريق استخدام عبارات التعريف define كما يلى :
كود:
/∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
This program flashes an LED connected to port RB0 of a microcontroller
with one second intervals. mikroC built-in function Delay_ms is used to
create a 1 second delay between the flashes.
∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗/
#define LED PORTB.F0
#define ON 1
#define OFF 0
#define One_Second_Delay Delay_ms(1000)
void main()
{
TRISB = 0;
for(; ;)
{
LED = ON;
One_Second_Delay;
LED = OFF;
One_Second_Delay;
}
}