Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. #include "lcd.h"
  2. #include "reg515.sfr"
  3. int stany[8]={8,2,4,1,8,2,4,1};
  4. int stany2[8]={9,10,6,5,9,10,6,5};//1/2
  5.  
  6. int flaga=0; //kierunek obrotu
  7. int flaga2=0;// typ komutacji
  8. int i=0;
  9. int licznikSkokow = 0;
  10. int ster = 1;
  11. int j;
  12. void oczekuj(unsigned int x);
  13. void main(){
  14. unsigned char znak ='\0';
  15. unsigned int liczba=0;//,limp;
  16.  
  17. //unsigned char stany[]={8,2,4,1,8,2,4,1};
  18. //EAL = 1;
  19. //ET2=1;
  20. //T2I0 =1;
  21. //T2R1=1;
  22. EAL=0;
  23. EX0=0;
  24. IT0=0;
  25.  
  26. lcd_init();
  27. while(1){
  28. znak = get_kb();
  29. if (znak >= '0' && znak <='9'){
  30. out_char(znak);
  31. liczba = 10*liczba+znak - '0';
  32. }else
  33. if(znak == 'e'){
  34. out_instr(1);
  35. out_char(liczba);
  36. licznikSkokow = liczba;
  37. j=licznikSkokow;
  38. EAL=1;
  39. EX0=1;
  40. IT0=1;
  41.  
  42. P1 = stany[0];
  43. /*if(liczba<17)
  44. {
  45. liczba=17;
  46. }
  47. else
  48. if(liczba>600)
  49. {
  50. liczba=600;
  51. }
  52. limp = 1000000/liczba;
  53. CRCL = 65536 - limp;
  54. CRCH=(65536-limp)>>8;*/
  55. liczba=0;
  56. out_instr(1);
  57. }
  58. if(znak == 'b'){
  59. out_instr(1);
  60. }
  61. else
  62. if(znak=='p')
  63. {
  64. flaga=1;
  65. }
  66. else
  67. if(znak=='l')
  68. {
  69. flaga=0;
  70. }
  71. else
  72. if(znak=='g')
  73. {
  74. flaga2=flaga2+1;
  75. if(flaga2==3)
  76. {
  77. flaga2=0;
  78. }
  79. }
  80. else
  81. if(znak=='d')
  82. {
  83. flaga2=flaga2-1;
  84. if(flaga2<0)
  85. {
  86. flaga2=2;
  87. }
  88. }
  89. oczekuj(19600);
  90. //znak = '\0';
  91. }
  92. } void oczekuj(unsigned int x)
  93. {
  94. unsigned int i;
  95. for (i=0;i<x;i++);
  96. }
  97. _interrupt 0 void int_0(void)
  98. {int l=0;
  99. //int j=licznikSkokow;
  100. while(j>0)
  101. {
  102. if(j<100)
  103. {
  104. for(l=ster;l<8;l++)
  105. {
  106. oczekuj(500+(500-5*j));
  107. P1=stany[l];
  108. //ster++;
  109. if(j<3)
  110. {
  111. EAL=0;
  112. }
  113. }
  114. }
  115. else
  116. {
  117. for(l=ster;l<8;l++)
  118. {
  119. oczekuj(500);
  120. P1=stany[l];
  121. //ster++;
  122. }
  123. }
  124. j--;
  125. ster=0;
  126. }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement