Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- counted var word
- counted = 0
- awPulsesIn var word(7)
- bPulseTimeout var byte
- top
- Gosub ReadInputs:
- counted = counted+1
- 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]
- ;pause 100
- goto top
- ReadInputs:
- PMR5 = 0
- PCR5 = 0
- mov.b #0x7f, r1l
- mov.l #250000,er2
- _PI7_WAIT_FOR_ALL_LOW:
- mov.b @PDR5:8, r0l
- and.b r1l, r0l
- beq _PI7_WAIT_FOR_NEXT_IO_TO_GO_HIGH:8
- dec.l #1,er2
- bne _PI7_WAIT_FOR_ALL_LOW:8
- bra _P17_RETURN_STATUS:16
- _PI7_WAIT_FOR_NEXT_IO_TO_GO_HIGH:
- mov.l #250000,er2
- _PI7_WAIT_FOR_NEXT_IO_TO_GO_HIGH2:
- mov.b @PDR5:8, r0l
- and.b r1l, r0l
- bne _P17_IO_WENT_HIGH:8
- dec.l #1,er2
- bne _PI7_WAIT_FOR_NEXT_IO_TO_GO_HIGH2:8
- bra _P17_RETURN_STATUS:16
- _P17_IO_WENT_HIGH:
- xor.w r2,r2
- xor.b r0h, r0h
- mov.l #AWPULSESIN,er3
- _P17_WHICH_BIT_LOOP:
- shlr.b r0l
- bcs _P17_WHICH_BIT_LOOP_DONE:8
- inc.b r0h
- inc.l #2, er3
- add.w #18,r2
- bra _P17_WHICH_BIT_LOOP:8
- _P17_WHICH_BIT_LOOP_DONE:
- xor.b r1h,r1h
- bset.b r0h,r1h
- bclr.b r0h,r1l
- _P17_WAIT_FOR_IO_GO_BACK_LOW:
- mov.b @PDR5:8, r0l
- and.b r1h, r0l
- beq _P17_IO_WENT_BACK_LOW:8
- add.w #18,r2
- bcc _P17_WAIT_FOR_IO_GO_BACK_LOW:8
- bset.b r0h, r1l
- bra _P17_RETURN_STATUS:8
- _P17_IO_WENT_BACK_LOW:
- add.w #22,r2
- shlr.w r2
- shlr.w r2
- shlr.w r2
- shlr.w r2
- mov.w r2,@er3
- or r1l,r1l
- bne _PI7_WAIT_FOR_NEXT_IO_TO_GO_HIGH:16
- _P17_RETURN_STATUS:
- mov.b r1l,@BPULSETIMEOUT
- Return
Advertisement
Add Comment
Please, Sign In to add comment