?lang_form? ?lang_select? ?lang_submit? ?lang_endform?
{HEADER END}
{BLAME START}

library

?curdirlinks? -

Blame information for rev 3

Line No. Rev Author Line
1 3 kaklik ////////////////////////////////////////////////////////////////
2 // Program pro otestovani funkci knihovny KBD.C
3 // Jde o pouziti funkci bez prerusovacich rutin
4 // Pro casovani je pouzita hlavni smycka programu
5 ////////////////////////////////////////////////////////////////
6 //
7 // (c) PEFI 2003
8 // Verze 0.00 - uvodni verze
9 //
10 ////////////////////////////////////////////////////////////////
11  
12 #include <16F876.h>
13 #use delay(clock=4000000,RESTART_WDT)
14 #fuses XT,WDT,NOBROWNOUT,NOPROTECT,NOLVP
15  
16 // prepinace programu
17 #define FCE_GETC
18 //#define FCE_WAITC // pouzijeme funkci, ktera ceka na klavesu a spi
19 //#define FCE_TIMEOUTC // pouzije funkci, ktera ceka na klavesu jen po urcitou dobu
20  
21  
22 // LCD Display
23 #define LCD_RS PIN_B2 // rizeni registru LCD displeje
24 #define LCD_E PIN_B3 // enable LCD displeje
25 #define LCD_DATA_LSB PIN_A0 // pripojeni LSB bitu datoveho portu LCD displeje (celkem 4 bity vzestupne za sebou)
26 #include <lcd.c>
27  
28  
29 // klavesnice
30 #define KBD_WDT 1 // zapina realizaci kbd_waitc pomoci WDT timeru
31 #include <kbd.c>
32  
33 /*************************************************/
34 /********* HLAVNI SMYCKA PROGRAMU ****************/
35 /*************************************************/
36  
37 void main() {
38  
39 int c;
40  
41 setup_timer_0(RTCC_INTERNAL | WDT_36MS);
42  
43 lcd_init();
44 kbd_init();
45  
46 #ifdef FCE_GETC
47 printf(lcd_putc,"Loop: kbd_getc ");
48 #endif
49 #ifdef FCE_WAITC
50 printf(lcd_putc,"Loop: kbd_waitc ");
51 #endif
52 #ifdef FCE_TIMEOUTC
53 printf(lcd_putc,"Loop:kbd_timeoutc");
54 #endif
55  
56 while(1)
57 {
58 #ifdef FCE_GETC
59 kbd_pullkbd();
60 delay_ms(20);
61 kbd_ticktimer();
62 c=kbd_getc();
63 #endif
64  
65 #ifdef FCE_WAITC
66 c=kbd_waitc();
67 #endif
68  
69 #ifdef FCE_TIMEOUTC
70 delay_ms(1000);
71 lcd_gotoxy(1,2);
72 printf(lcd_putc,"Ceka na stisk ");
73 c=kbd_timeoutc(0x30);
74 #endif
75  
76 if (c!=0)
77 {
78 lcd_gotoxy(1,2);
79 printf(lcd_putc,"Stisknuto %2X ",c); // vypise kod klavesy
80 }
81 #ifdef FCE_TIMEOUTC
82 else {
83 lcd_gotoxy(1,2);
84 printf(lcd_putc,"timeout vyprsel "); // vypise kod klavesy
85 }
86 #endif
87 }
88 }
89  
90 // End of File
{BLAME END}
{FOOTER START}

Powered by WebSVN v2.8.3