Advertisement
Guest User

Untitled

a guest
Apr 2nd, 2015
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.00 KB | None | 0 0
  1. int Read_LDR(void);
  2. void Motor_left(int T);
  3. void Motor_right(int T);
  4. main()
  5. {
  6. int LDR_value;
  7. TRISB = 0x02;
  8. CMCON = 0x07;
  9.  
  10. while(1)
  11. {
  12. do
  13. {
  14. LDR_value = Read_LDR();
  15. Motor_left(3);
  16. PORTB.F0 = 1;
  17. }
  18. while(LDR_value<180);
  19. DELAY_MS(500);
  20. do
  21. {
  22. LDR_value = Read_LDR();
  23. Motor_right(3);
  24. PORTB.F0 = 0;
  25. }
  26. while(LDR_value>180);
  27. //Motor_right(10);
  28. // DELAY_MS(500);
  29.  
  30. do
  31. {
  32. LDR_value = Read_LDR();
  33. Motor_right(3);
  34. PORTB.F0 = 0;
  35. }
  36. while(LDR_value<180);
  37. //Motor_left(10);
  38. //DELAY_MS(500);
  39. DELAY_MS(500);
  40. do
  41. {
  42. LDR_value = Read_LDR();
  43. Motor_left(3);
  44. PORTB.F0 = 1;
  45. }
  46. while(LDR_value>180);
  47. }
  48. }
  49. int Read_LDR(void)
  50. {
  51. int i;
  52. i =0;
  53. TRISA = 0xF0;
  54. PORTA.F0 = 1;
  55. Delay_ms(10);
  56. TRISA = 0xF1;
  57. while(PORTA.F0 == 1)
  58. {
  59. i++;
  60. }
  61. i = i/2;
  62. return i ;
  63. }
  64. void Motor_left(int T)
  65. {
  66. PORTB.F2 = 1;
  67. PORTB.F3 = 0;
  68. Vdelay_ms(T);
  69. PORTB.F2 = 0;
  70. PORTB.F3 = 0;
  71. Vdelay_ms(10-T);
  72. }
  73. void Motor_right(int T)
  74. {
  75. PORTB.F2 = 0;
  76. PORTB.F3 = 1;
  77. Vdelay_ms(T);
  78. PORTB.F2 = 0;
  79. PORTB.F3 = 0;
  80. Vdelay_ms(10-T);
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement