H8/3664Fでパルス幅測定
H8/3664でパルス幅を測定しようと思っています。
秋月の超音波距離計のT7の信号を取り込んでいます。
距離を測る前にパルスの立ち上がりと立下りがちゃんと拾えてるか調べようと思い、下記のようなプログラム(mainループのみですが)を作りました。
・・・・
PUP: BTST #1,@PDR8 ;P81にパルス;立上がりか?
BEQ RED1
JMP @PUP
RED1: BSET #3,@PDR5 ;P53にLED-1,ON
BTST #1,@PDR8 ;立下りか?
BNE RED2
JMP @RED1
RED2: BCLR #3,@PDR5 ;RED-1 OFF
BSET #4,@PDR5 ;RED-2 ON
JMP @RED2
.END
しかし、スイッチを入れるとRED-1はつくのですが、RED-1が消えRED-2がつくまでに5秒くらいかかります。最後は命令どうりになっているのでバグではないと思うのですが・・・なぜタイムラグがあるのかわかりません。
オシロスコープでマイコンに取り込む直前の信号を見たのですが、きれいな信号で問題なさそうです。
タイムラグがある原因を教えてください。どうかよろしくお願いします。