Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <built_in.h>
- char keypadPort at PORTD;
- sbit LCD_RS at RB4_bit;
- sbit LCD_EN at RB5_bit;
- sbit LCD_D4 at RB0_bit;
- sbit LCD_D5 at RB1_bit;
- sbit LCD_D6 at RB2_bit;
- sbit LCD_D7 at RB3_bit;
- sbit LCD_RS_Direction at TRISB4_bit;
- sbit LCD_EN_Direction at TRISB5_bit;
- sbit LCD_D4_Direction at TRISB0_bit;
- sbit LCD_D5_Direction at TRISB1_bit;
- sbit LCD_D6_Direction at TRISB2_bit;
- sbit LCD_D7_Direction at TRISB3_bit;
- int i, id1 = 1, id2 = 2;
- /*
- interrupt smetka(void)
- {
- if (PORTB.B0)
- {
- //chitaj broj na masa
- masa[] = PORTB.B1;
- //za da ne ja zememe promenlivata masa dodeka programot ushte raboti so nea moze vaka
- while(nekoj_flag){ //neka flagot oznachuva deka se raboti so masata
- } //koga flagot kje e 0 se izleguva od whleot i mozeme da ja prochtame novata masa
- masa[] = PORTV.B1;
- }
- }
- */
- void main() {
- char restoran[] = {'d','a','l','g','a','\0'};
- char kelner1[] = "Igor";
- char kelner2[] = "Ana";
- char promenliva[] = "default"; /*mora da se inicijalizira za da raboti*/
- /*char masi[][3] = {'1',{'0','0','1','\0'}}/*kako shto kje se chtaat od b1 kje si ide i od inicijalno 0 i++ -> se zapazuva fifo redosled*/
- char masa[] = "default"; //vidi vo interrupt gore
- char kp;
- char keypad[] = "a";
- ANSEL = 0;
- ANSELH = 0;
- //TRISB = 0x00;
- Lcd_Init();
- Lcd_Cmd(_LCD_CURSOR_OFF);
- Lcd_Cmd(_LCD_CLEAR);
- for(i=0;i<sizeof(restoran);i++){
- EEPROM_Write(10 + i, restoran[i]);
- promenliva[i] = EEPROM_Read(10 + i);
- }
- for(i=0;i<sizeof(kelner1);i++){
- EEPROM_Write(16 + i, kelner1[i]);
- }
- EEPROM_Write(20, lo(id1));
- EEPROM_Write(21, hi(id1));
- for(i=0;i<sizeof(kelner2);i++){
- EEPROM_Write(22 + i, kelner2[i]);
- }
- EEPROM_Write(25, lo(id2));
- EEPROM_Write(26, hi(id2));
- /*Lcd_Out(1,1,promenliva); */
- //Masi kje se dodavaat vo iinterrupt
- //Probaj dal raboti so:
- for(i=0; i<3; i++){
- masa[i] = '1';
- }
- for(; i<sizeof(masa); i++){
- masa[i] = '\0';
- }
- Keypad_Init();
- kp = '0';
- i=0;
- if(masa[0] == 'd'){//proveri dali nema masa za usluzuvanje
- Lcd_out(1,1,"Nema za naplata");
- }
- else{
- Lcd_out(1,1,"Masa");
- Lcd_out(1,5,masa);
- while(kp='0'){ //koga kje klikne karakter
- }
- switch (kp){
- case 1: kp = 49; keypad[i]='1'; i++; // 1
- case 2: kp = 50; keypad[i]='2'; i++; // 2
- case 3: kp = 51; keypad[i]='3'; i++; // 3
- case 4: kp = 65; break; // A
- case 5: kp = 52; keypad[i]='4'; i++; // 4
- case 6: kp = 53; keypad[i]='5'; i++;// 5
- case 7: kp = 54; keypad[i]='6'; i++; // 6
- case 8: kp = 66; break; // B
- case 9: kp = 55; keypad[i]='7'; i++; // 7
- case 10: kp = 56; keypad[i]='8'; i++; // 8
- case 11: kp = 57; keypad[i]='9'; i++; // 9
- case 12: kp = 67; break; // C
- case 13: kp = 42; break; // *
- case 14: kp = 48; keypad[i]='0'; i++; // 0
- case 15: kp = 35; break; // #
- case 16: kp = 68; break; // D
- }
- i=0;
- kp = 0;
- Lcd_out(2,1,keypad);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement