Advertisement
Guest User

Untitled

a guest
May 30th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. #include <lcd.h>
  2. #include <reg515.sfr>
  3.  
  4. int wart=40, wart2;
  5. float e1=0, e2=0, e3=0, y=0, y1=0;
  6. _interrupt 3 void przerwanie(void);
  7. int k=0, n;
  8. int main()
  9. {
  10.  
  11. unsigned char znak='\0', poprz;
  12. int wynik=0, i, e=1;
  13. lcd_init();
  14. out_instr(0x1);
  15.  
  16. T2R1=0x1;
  17. T2I0=0x1;
  18. CCEN=0x8;
  19. CRCH=0xFF;
  20. CRCL=0x0;
  21. TH2=0xFF;
  22. TL2=0x0;
  23. CCH1=0xFF;
  24.  
  25. TMOD=0x10;
  26. IEN0=0x88;
  27. TR1=0x1;
  28.  
  29. CLK=0x1;
  30. P3=0xDF;
  31.  
  32. out_char('4');
  33. out_char('0');
  34.  
  35. while (1)
  36. {
  37.  
  38.  
  39. poprz = znak;
  40. znak = get_kb();
  41. if (znak != '\0')
  42. {
  43. if(znak!=poprz)
  44. {
  45. if (znak>='0' && znak<='9')
  46. {
  47.  
  48. if (e == 1)
  49. {
  50. out_instr(0x1);
  51. e = 0;
  52. }
  53. out_char(znak);
  54. wynik = wynik * 10 + ((int)znak - 48);
  55. }
  56.  
  57. if (znak == 'e' && e==0)
  58. {
  59. wart = wynik;
  60. e = 1;
  61. wynik = 0;
  62.  
  63.  
  64. }
  65. for (i = 0; i < 20000; i++);
  66.  
  67.  
  68. }
  69. }
  70. }
  71.  
  72. }
  73. _interrupt 3 void przerwanie(void)
  74. {
  75. DAPR=8;
  76. while(BSY!=0)
  77. {}
  78. wart2=ADDAT;
  79. e1=wart-wart2;
  80. y=y1+1.2*e1-1.05*e2+0.15*e3;
  81. e3=e2;
  82. e2=e1;
  83. y1=y;
  84. if(y<0)
  85. CCL1=0;
  86. if(y>255)
  87. CCL1=255;
  88. CCL1=(int)y;
  89.  
  90.  
  91.  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement