Guest User

7 Channel reading inputs

a guest
Mar 16th, 2010
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1.  
  2. counted var word
  3. counted = 0
  4. awPulsesIn var word(7)
  5. bPulseTimeout var byte
  6.  
  7. top
  8. Gosub ReadInputs:
  9.  
  10. counted = counted+1
  11.  
  12. serout s_out,i57600,[dec awPulsesIn(0)," ",dec awPulsesIn(1)," ",dec awPulsesIn(2)," ",dec awPulsesIn(3)," ",dec awPulsesIn(4)," ",dec awPulsesIn(5)," ",dec awPulsesIn(6)," ",dec counted,13]
  13. ;pause 100
  14.  
  15. goto top
  16.  
  17. ReadInputs:
  18. PMR5 = 0
  19. PCR5 = 0
  20. mov.b #0x7f, r1l
  21. mov.l #250000,er2
  22. _PI7_WAIT_FOR_ALL_LOW:
  23. mov.b @PDR5:8, r0l
  24. and.b r1l, r0l
  25. beq _PI7_WAIT_FOR_NEXT_IO_TO_GO_HIGH:8
  26. dec.l #1,er2
  27. bne _PI7_WAIT_FOR_ALL_LOW:8
  28.  
  29. bra _P17_RETURN_STATUS:16
  30. _PI7_WAIT_FOR_NEXT_IO_TO_GO_HIGH:
  31. mov.l #250000,er2
  32. _PI7_WAIT_FOR_NEXT_IO_TO_GO_HIGH2:
  33. mov.b @PDR5:8, r0l
  34. and.b r1l, r0l
  35. bne _P17_IO_WENT_HIGH:8
  36. dec.l #1,er2
  37. bne _PI7_WAIT_FOR_NEXT_IO_TO_GO_HIGH2:8
  38. bra _P17_RETURN_STATUS:16
  39. _P17_IO_WENT_HIGH:
  40. xor.w r2,r2
  41. xor.b r0h, r0h
  42. mov.l #AWPULSESIN,er3
  43. _P17_WHICH_BIT_LOOP:
  44. shlr.b r0l
  45. bcs _P17_WHICH_BIT_LOOP_DONE:8
  46. inc.b r0h
  47. inc.l #2, er3
  48. add.w #18,r2
  49. bra _P17_WHICH_BIT_LOOP:8
  50. _P17_WHICH_BIT_LOOP_DONE:
  51. xor.b r1h,r1h
  52. bset.b r0h,r1h
  53. bclr.b r0h,r1l
  54. _P17_WAIT_FOR_IO_GO_BACK_LOW:
  55. mov.b @PDR5:8, r0l
  56. and.b r1h, r0l
  57. beq _P17_IO_WENT_BACK_LOW:8
  58. add.w #18,r2
  59. bcc _P17_WAIT_FOR_IO_GO_BACK_LOW:8
  60. bset.b r0h, r1l
  61. bra _P17_RETURN_STATUS:8
  62. _P17_IO_WENT_BACK_LOW:
  63. add.w #22,r2
  64. shlr.w r2
  65. shlr.w r2
  66. shlr.w r2
  67. shlr.w r2
  68. mov.w r2,@er3
  69. or r1l,r1l
  70. bne _PI7_WAIT_FOR_NEXT_IO_TO_GO_HIGH:16
  71. _P17_RETURN_STATUS:
  72. mov.b r1l,@BPULSETIMEOUT
  73. Return
Advertisement
Add Comment
Please, Sign In to add comment