فى المثال التالى , يتحكم المفتاح الضلغط فى حالة الليد ويعمل كمفتاح ON-OFF أى الضغط على المفتاح الضاغط يؤدى إلى إضاءة الليد ويظل الليد مضىء طالما الزر مضغوط أن أننا برمجيا ننتظر حتى يتم تحرير المفتاح إنتظارا للضغطة التالية . عند الضغطة التالية يتحول الليد إلى حالة الفصل وأيضا ينتظر تحرير المفتاح وتتكرر العملية .
كود:
void main (void)
{
// Configure ports.
TRISB = 0xF0;
PORTB = 0;
while (1) // infinite loop.
{
if (Button (& PORTB, 7, 100, 0)) // Evaluates the active state of the button.Active low
{
if (PORTB.F0 == 1) // switches the LED status.
PORTB.F0 = 0;
else
PORTB.F0 = 1;
// It is expected that this is not the active button.
while (Button (& PORTB, 7, 100, 0)); //Wait up to release >> "high" >> false
}
}
}
6-2 استخدام المفاتيح Dip-Switch