Playing with PICs

Robot seguidor de lĂ­nea

Small program to control a line following robot with 8 sensors, needs to be cleaned. PIC 16F628A, 2 Motors, 8 Sensors

  1. list p=16f628A
  2.  
  3. errorlevel -302
  4.  
  5. radix hex
  6.  
  7. w EQU 0x00
  8. f EQU 0x01
  9. pc EQU 0x02
  10. Z EQU 0x02
  11. C EQU 0x00
  12. STATUS EQU 0x03
  13. PUERTOA EQU 0x05
  14. PUERTOB EQU 0x06
  15. INTCON EQU 0x0b
  16. CMCON EQU 0x1f
  17. Ti0 EQU 0x20
  18. Ti1 EQU 0x21
  19. Ti2 EQU 0x22
  20. OPT EQU 0x81
  21.  
  22. ORG 0x00
  23.  
  24. nop
  25. nop
  26. nop
  27.  
  28. goto ini
  29.  
  30. ini MOVLW 0x07
  31. MOVWF CMCON
  32. BSF STATUS, 5
  33. CLRF PUERTOA ; PUERTO A son SALIDAS
  34. CLRF PUERTOB ; PUERTO B set como ENTRADAS
  35. MOVLW 0xFF
  36. MOVWF PUERTOB
  37. BCF STATUS, 5
  38.  
  39. BSF PUERTOA, 1
  40. BSF PUERTOA, 0
  41.  
  42. CICLO
  43.  
  44. BTFSC PUERTOB, 7
  45. GOTO BOTH_ON1
  46. BACK
  47.  
  48. BTFSS PUERTOB, 7
  49. GOTO AP2
  50.  
  51.  
  52. BTFSS PUERTOB, 6
  53. GOTO AP2
  54.  
  55.  
  56. BTFSS PUERTOB, 5
  57. GOTO AP2
  58.  
  59. BTFSS PUERTOB, 4
  60. GOTO AP2
  61.  
  62.  
  63. BTFSS PUERTOB, 3
  64. GOTO AP1
  65.  
  66. BTFSS PUERTOB, 2
  67. GOTO AP1
  68.  
  69. BTFSS PUERTOB, 1
  70. GOTO AP1
  71.  
  72. BTFSS PUERTOB, 0
  73. GOTO AP1
  74.  
  75.  
  76.  
  77. BSF PUERTOA, 1
  78. BSF PUERTOA, 0
  79.  
  80. GOTO CICLO
  81.  
  82. NOP
  83. NOP
  84.  
  85. BOTH_ON1
  86.  
  87. BTFSS PUERTOB, 6
  88. GOTO BACK
  89. NOP
  90. BTFSS PUERTOB, 5
  91. GOTO BACK
  92. NOP
  93. BTFSS PUERTOB, 4
  94. GOTO BACK
  95. NOP
  96. BTFSS PUERTOB, 3
  97. GOTO BACK
  98. NOP
  99. BTFSS PUERTOB, 2
  100. GOTO BACK
  101. NOP
  102. BTFSS PUERTOB, 1
  103. GOTO BACK
  104. NOP
  105. BTFSS PUERTOB, 0
  106. GOTO BACK
  107. NOP
  108.  
  109.  
  110. BCF PUERTOA, 1
  111. BCF PUERTOA, 0
  112. GOTO CICLO
  113.  
  114.  
  115.  
  116. AP1 BCF PUERTOA,1
  117. BSF PUERTOA,0
  118. NOP
  119. GOTO CICLO
  120.  
  121. AP2 BCF PUERTOA, 0
  122. BSF PUERTOA, 1
  123. NOP
  124. GOTO CICLO
  125.  
  126. END