Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
492
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.95 KB | None | 0 0
  1. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2. ;* DELAY *
  3. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4. ;* *
  5. ;* UTFPR *
  6. ;* UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ *
  7. ;* *
  8. ;* ANDERSON CARLOS WOSS *
  9. ;* *
  10. ;* VERSÃO: 1.0.0 *
  11. ;* *
  12. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  13. ;* DESCRIÇÃO DO ARQUIVO *
  14. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  15. ;* *
  16. ;* IMPLEMENTAÇÃO DE ROTINAS PARA ESPERA DE TEMPOS, TRAVANDO O PROGRAMA, EXECU- *
  17. ;* TANDO INSTRUÇÕES NULAS ATÉ DAR O TEMPO DETERMINADO. *
  18. ;* *
  19. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  20. ;* VARIÁVEIS *
  21. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  22. ;* *
  23. ;* +----------------------+------------------------------------------------+ *
  24. ;* | VARIÁVEL | DESCRIÇÃO | *
  25. ;* +----------------------+------------------------------------------------+ *
  26. ;* | DLTIME | CONTADOR AUXILIAR PARA DELAY_W EM (ms) | *
  27. ;* | DLTIMEmS | CONTADOR AUXILIAR PARA TEMPO EM (ms) | *
  28. ;* | DLTIMEuS | CONTADOR AUXILIAR PARA TEMPO EM (us) | *
  29. ;* +----------------------+------------------------------------------------+ *
  30. ;* *
  31. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  32. ;* ROTINAS *
  33. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  34. ;* *
  35. ;* +----------------------+------------------------------------------------+ *
  36. ;* | ROTINA | DESCRIÇÃO | *
  37. ;* +----------------------+------------------------------------------------+ *
  38. ;* | DELAY_250US | AGUARDA POR 250 MICRO SEGUNDOS | *
  39. ;* | DELAY_MS | AGUARDA POR 1 MILI SEGUNDOS | *
  40. ;* | DELAY_W | AGUARDA POR W MILI SEGUNDOS | *
  41. ;* | DELAY_1S | AGUARDA POR 1 SEGUNDO | *
  42. ;* +----------------------+------------------------------------------------+ *
  43. ;* *
  44. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  45.  
  46. DELAY_250US:
  47.  
  48. movlw .249
  49. movwf DLTIMEuS
  50.  
  51. DELAY_D1
  52.  
  53. nop
  54. decfsz DLTIMEuS
  55. goto DELAY_D1
  56. return
  57.  
  58. DELAY_MS:
  59.  
  60. movlw .4
  61. movwf DLTIMEmS
  62.  
  63. DELAY_D2
  64.  
  65. call DELAY_250US
  66. decfsz DLTIMEmS
  67. goto DELAY_D2
  68. return
  69.  
  70. DELAY_W:
  71.  
  72. andlw 0xFF
  73.  
  74. btfsc STATUS,Z
  75. return
  76.  
  77. movwf DLTIME
  78.  
  79. DELAY_D3
  80.  
  81. call DELAY_MS
  82. decfsz DLTIME
  83. goto DELAY_D3
  84. return
  85.  
  86. DELAY_1S:
  87.  
  88. movlw .250
  89. call DELAY_W
  90.  
  91. movlw .250
  92. call DELAY_W
  93.  
  94. movlw .250
  95. call DELAY_W
  96.  
  97. movlw .250
  98. call DELAY_W
  99.  
  100. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement