Advertisement
Guest User

Untitled

a guest
Jul 5th, 2015
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. #include <16f877a.h>
  2. #fuses noprotect, nolvp, nowdt, put, hs
  3. #use delay (clock=20000000)
  4. #use fast_io(c)
  5. #use fast_io(d)
  6. #bit RC0=0x07.0
  7. #bit RC1=0x07.1
  8. #bit RC2=0x07.2
  9. #bit RC3=0x07.3
  10. #bit RC4=0x07.4
  11. #bit RC5=0x07.5
  12. #bit RC7=0x07.7
  13. int16 dem,i;
  14. int servo1,servo2,servo3,servo4,servo5, tam;
  15. int mang1[11]={10,11,12,13,14,15,16,17,18,19,20};
  16. int mang2[11]={20,19,18,17,16,15,14,13,12,11,10};
  17. #int_TIMER0
  18. void TIMER0_isr(void)
  19. {
  20. set_timer0(139);
  21. dem++;
  22. if (dem >= 200) // ngat 0,1ms, 0,1x200=20ms, chu ky 50hz, value chay tu 6-23
  23. {
  24. dem=0;
  25. RC0=1;
  26. RC1=1;
  27. RC2=1;
  28. RC3=1;
  29. RC4=1;
  30. }
  31. if (dem >= servo1)RC0=0;
  32. if (dem >= servo2)RC1=0;
  33. if (dem >= servo3)RC2=0;
  34. if (dem >= servo4)RC3=0;
  35. if (dem >= servo5)RC4=0;
  36. }
  37. /*#Int_TIMER1
  38. void Time()
  39. {
  40. set_timer1(65285);
  41. value=tam;
  42. }*/
  43. void home()
  44. {
  45. servo1=10;
  46. servo2=13;
  47. servo3=18;
  48. servo4=20;
  49. servo5=13;
  50. }
  51. void quaytrai()
  52. {
  53. servo1=10;
  54.  
  55. }
  56. void quayphai()
  57. {
  58. servo1=20;
  59.  
  60. }
  61. void len()
  62. {
  63.  
  64. servo2=10;
  65. servo3=13;
  66.  
  67. }
  68. void xuong()
  69. {
  70.  
  71. servo2=15;
  72. servo3=18;
  73.  
  74. }
  75. void gapqua()
  76. {
  77.  
  78. servo4=10;
  79. servo5=20;
  80.  
  81. }
  82. void nhaqua()
  83. {
  84.  
  85. servo4=15;
  86. servo5=15;
  87.  
  88. }
  89. void main()
  90. {
  91. set_tris_c(0x00);
  92. //set_tris_d(0x00);
  93. //setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); // cho timer 1 chay ? ch? d? timer.B?t chia 8
  94. //set_timer1(65285) ; // m?c d?nh s? d?m ban d?u cho timer1 la 24280.
  95. //enable_interrupts(int_timer1);
  96. enable_interrupts(int_timer0);
  97. enable_interrupts(global);
  98. setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
  99. set_timer0(131);
  100. while(true)
  101. {
  102. servo1=6;
  103. delay_ms(1500);
  104. servo1=8;
  105. delay_ms(1500);
  106. servo1=10;
  107. delay_ms(1500);
  108. servo1=14;
  109. delay_ms(1500);
  110. servo1=17;
  111. delay_ms(1500);
  112. servo1=20;
  113. delay_ms(1500);
  114. servo1=24;
  115. delay_ms(1500);
  116. }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement