?lang_form?
?lang_select?
?lang_submit?
?lang_endform?
{HEADER END}
{FILE START}
library
?curdirlinks? - Rev 3
?prevdifflink? - Blame - ?getfile?
////////////////////////////////////////////////////////////////
// Program pro otestovani funkci knihovny KBD.C
// Jde o pouziti funkci bez prerusovacich rutin
// Pro casovani je pouzita hlavni smycka programu
////////////////////////////////////////////////////////////////
//
// (c) PEFI 2003
// Verze 0.00 - uvodni verze
//
////////////////////////////////////////////////////////////////
#include <16F876.h>
#use delay(clock=4000000,RESTART_WDT)
#fuses XT,WDT,NOBROWNOUT,NOPROTECT,NOLVP
// prepinace programu
#define FCE_GETC
//#define FCE_WAITC // pouzijeme funkci, ktera ceka na klavesu a spi
//#define FCE_TIMEOUTC // pouzije funkci, ktera ceka na klavesu jen po urcitou dobu
// LCD Display
#define LCD_RS PIN_B2 // rizeni registru LCD displeje
#define LCD_E PIN_B3 // enable LCD displeje
#define LCD_DATA_LSB PIN_A0 // pripojeni LSB bitu datoveho portu LCD displeje (celkem 4 bity vzestupne za sebou)
#include <lcd.c>
// klavesnice
#define KBD_WDT 1 // zapina realizaci kbd_waitc pomoci WDT timeru
#include <kbd.c>
/*************************************************/
/********* HLAVNI SMYCKA PROGRAMU ****************/
/*************************************************/
void main() {
int c;
setup_timer_0(RTCC_INTERNAL | WDT_36MS);
lcd_init();
kbd_init();
#ifdef FCE_GETC
printf(lcd_putc,"Loop: kbd_getc ");
#endif
#ifdef FCE_WAITC
printf(lcd_putc,"Loop: kbd_waitc ");
#endif
#ifdef FCE_TIMEOUTC
printf(lcd_putc,"Loop:kbd_timeoutc");
#endif
while(1)
{
#ifdef FCE_GETC
kbd_pullkbd();
delay_ms(20);
kbd_ticktimer();
c=kbd_getc();
#endif
#ifdef FCE_WAITC
c=kbd_waitc();
#endif
#ifdef FCE_TIMEOUTC
delay_ms(1000);
lcd_gotoxy(1,2);
printf(lcd_putc,"Ceka na stisk ");
c=kbd_timeoutc(0x30);
#endif
if (c!=0)
{
lcd_gotoxy(1,2);
printf(lcd_putc,"Stisknuto %2X ",c); // vypise kod klavesy
}
#ifdef FCE_TIMEOUTC
else {
lcd_gotoxy(1,2);
printf(lcd_putc,"timeout vyprsel "); // vypise kod klavesy
}
#endif
}
}
// End of File
|
{FILE END}
{FOOTER START}
Powered by WebSVN v2.8.3