Advertisement
Guest User

Untitled

a guest
Feb 24th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. #include <built_in.h>
  2.  
  3. char keypadPort at PORTD;
  4.  
  5. sbit LCD_RS at RB4_bit;
  6. sbit LCD_EN at RB5_bit;
  7. sbit LCD_D4 at RB0_bit;
  8. sbit LCD_D5 at RB1_bit;
  9. sbit LCD_D6 at RB2_bit;
  10. sbit LCD_D7 at RB3_bit;
  11.  
  12. sbit LCD_RS_Direction at TRISB4_bit;
  13. sbit LCD_EN_Direction at TRISB5_bit;
  14. sbit LCD_D4_Direction at TRISB0_bit;
  15. sbit LCD_D5_Direction at TRISB1_bit;
  16. sbit LCD_D6_Direction at TRISB2_bit;
  17. sbit LCD_D7_Direction at TRISB3_bit;
  18. int i, id1 = 1, id2 = 2;
  19.  
  20. /*
  21. interrupt smetka(void)
  22. {
  23. if (PORTB.B0)
  24. {
  25. //chitaj broj na masa
  26. masa[] = PORTB.B1;
  27.  
  28. //za da ne ja zememe promenlivata masa dodeka programot ushte raboti so nea moze vaka
  29. while(nekoj_flag){ //neka flagot oznachuva deka se raboti so masata
  30. } //koga flagot kje e 0 se izleguva od whleot i mozeme da ja prochtame novata masa
  31. masa[] = PORTV.B1;
  32.  
  33. }
  34. }
  35. */
  36.  
  37. void main() {
  38. char restoran[] = {'d','a','l','g','a','\0'};
  39. char kelner1[] = "Igor";
  40. char kelner2[] = "Ana";
  41. char promenliva[] = "default"; /*mora da se inicijalizira za da raboti*/
  42. /*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*/
  43. char masa[] = "default"; //vidi vo interrupt gore
  44. char kp;
  45. char keypad[] = "a";
  46.  
  47.  
  48. ANSEL = 0;
  49. ANSELH = 0;
  50. //TRISB = 0x00;
  51.  
  52. Lcd_Init();
  53. Lcd_Cmd(_LCD_CURSOR_OFF);
  54. Lcd_Cmd(_LCD_CLEAR);
  55.  
  56. for(i=0;i<sizeof(restoran);i++){
  57. EEPROM_Write(10 + i, restoran[i]);
  58. promenliva[i] = EEPROM_Read(10 + i);
  59.  
  60. }
  61.  
  62.  
  63. for(i=0;i<sizeof(kelner1);i++){
  64. EEPROM_Write(16 + i, kelner1[i]);
  65. }
  66. EEPROM_Write(20, lo(id1));
  67. EEPROM_Write(21, hi(id1));
  68.  
  69. for(i=0;i<sizeof(kelner2);i++){
  70. EEPROM_Write(22 + i, kelner2[i]);
  71. }
  72. EEPROM_Write(25, lo(id2));
  73. EEPROM_Write(26, hi(id2));
  74.  
  75. /*Lcd_Out(1,1,promenliva); */
  76.  
  77. //Masi kje se dodavaat vo iinterrupt
  78. //Probaj dal raboti so:
  79. for(i=0; i<3; i++){
  80. masa[i] = '1';
  81. }
  82. for(; i<sizeof(masa); i++){
  83. masa[i] = '\0';
  84. }
  85.  
  86. Keypad_Init();
  87. kp = '0';
  88. i=0;
  89.  
  90.  
  91.  
  92.  
  93. if(masa[0] == 'd'){//proveri dali nema masa za usluzuvanje
  94. Lcd_out(1,1,"Nema za naplata");
  95. }
  96. else{
  97. Lcd_out(1,1,"Masa");
  98. Lcd_out(1,5,masa);
  99.  
  100.  
  101. while(kp='0'){ //koga kje klikne karakter
  102. }
  103. switch (kp){
  104. case 1: kp = 49; keypad[i]='1'; i++; // 1
  105. case 2: kp = 50; keypad[i]='2'; i++; // 2
  106. case 3: kp = 51; keypad[i]='3'; i++; // 3
  107. case 4: kp = 65; break; // A
  108. case 5: kp = 52; keypad[i]='4'; i++; // 4
  109. case 6: kp = 53; keypad[i]='5'; i++;// 5
  110. case 7: kp = 54; keypad[i]='6'; i++; // 6
  111. case 8: kp = 66; break; // B
  112. case 9: kp = 55; keypad[i]='7'; i++; // 7
  113. case 10: kp = 56; keypad[i]='8'; i++; // 8
  114. case 11: kp = 57; keypad[i]='9'; i++; // 9
  115. case 12: kp = 67; break; // C
  116. case 13: kp = 42; break; // *
  117. case 14: kp = 48; keypad[i]='0'; i++; // 0
  118. case 15: kp = 35; break; // #
  119. case 16: kp = 68; break; // D
  120. }
  121. i=0;
  122. kp = 0;
  123. Lcd_out(2,1,keypad);
  124. }
  125.  
  126.  
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement