![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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秒くらいかかります。最後は命令どうりになっているのでバグではないと思うのですが・・・なぜタイムラグがあるのかわかりません。
オシロスコープでマイコンに取り込む直前の信号を見たのですが、きれいな信号で問題なさそうです。
タイムラグがある原因を教えてください。どうかよろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
いきなりアセンブラか...とおもったのはおいといて、
BTSTで判定しているわけですが、立ち上がり/立ち下がりを
みているわけではなく、ONかOFFかをみているだけですよね
PUP :
BTST
BEQ RED1
BCLR ==>LED1off
JMP @PUP
RED1:
BCLR ==> LED1on
JMP @PUP
でよさそうなもんですね。
で結論なのですが、ただしく動いているんじゃないでしょうか。
ただ、超音波なので、ON/OFFが非常に頻繁に繰り返されて
いるはずで、LEDの消灯の目視による確認ができないだけでは
ないですか?
オシロがあるなら、入力(P81)とLED出力(P53)を観測すれば
動作の確認はできるとおもいます。
オシロがないとすれば、まず、超音波ではなく、SWなどをつけて
ON/OFFさせ、それに応じた処理が正しくできているかどうか
を確認するなどの方法をとるべきでしょうね。
いずれにせよ、何事も一歩づつすすめることが肝要だとおもいます。
この回答への補足
丁寧な回答ありがとうございます。返答が遅くなって申し訳ありません。
(旅行で・・・)
いろいろやってみたのですが、SWではできました。
ですが、ONのときLEDを点灯させ、OFFになったとき、別のLEDを点灯させようとしているのですが、一瞬でOFFのLEDがつくと思うんですけどそれが数秒たってつきます。
パルスの電圧を測ったら6.2Vあってそれが原因なのでしょうか?
最終的にはある距離になったらLEDが点灯するようにしたいです。(インプットキャプチャで一回やってみましたがうまくいかず)
初心者の質問で申し訳ありません。わかれば教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 オートコリレータで観測されたダブルパルス 1 2022/12/13 14:23
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- 物理学 三陸特 2 2023/07/20 05:52
- JavaScript jsで、配列内の文章を改行する際どのようにすればいいですか。 3 2022/07/05 20:40
- ゴルフ つかまりの良いオススメのユーティリティクラブを教えてください。 スコアアベレージは105〜110の初 2 2023/03/09 21:06
- 英語 「赤信号みんなで渡れば怖くない」の英訳 9 2022/10/29 19:46
- 車検・修理・メンテナンス 年間走行距離が短い車にパルス充電器の有用性はありますか? ネットやYouTubeで検索すると、完全に 1 2023/02/07 21:49
- 英語 「a pair of red shoes」or「a red pair of shoes」 1 2022/11/11 15:04
- 邦画 ワンピースの映画『RED』でウタがエレジアに来たのは、彼女が何歳の時ですか?推測、些細な情報、何でも 3 2022/09/08 10:32
- その他(自然科学) 風車音の測定 3 2023/04/28 07:12
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PLC間の信号のやりとりについて...
-
arduinoで複数のサーボを動かし...
-
EnumとType
-
USBからの電源供給をコントロー...
-
<単安定マルチバイブレータ> 単...
-
PCのUSBバスパワーの制御
-
シーケンスのプログラムについ...
-
Picマイコンについて質問します...
-
AVRでサーボモータの制御プログ...
-
PIC制御で出力ピンの名前に変数...
-
フィードバック制御とフィード...
-
制御系のプログラマについて
-
Visual BasicでGP-IBの通信を制...
-
H8マイコンの端子の数字の端子...
-
C言語を用いた組込みシステム学...
-
ディスプレイ上で起こる2重表...
-
目を左右別々に動かす
-
ゲーミングPCでの質問です ゲー...
-
テレビから”キーン”と耳鳴りの...
-
Cpkのk(偏り)値をExcelで出す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PLC間の信号のやりとりについて...
-
Picマイコンについて質問します...
-
シーケンスのプログラムについ...
-
USBからの電源供給をコントロー...
-
<単安定マルチバイブレータ> 単...
-
家電のcpu
-
VBでUSBポートからの入力を制御...
-
C++でLEDを点灯させるプログラム
-
arduinoで複数のサーボを動かし...
-
マイコンボード上のポートと端...
-
PCのUSBバスパワーの制御
-
デジタル時計(アラーム付)を...
-
EnumとType
-
AVRマイコンの未使用ピンの処理...
-
フィードバック制御とフィード...
-
コンピューターでラジコン操作?
-
H8マイコンの端子の数字の端子...
-
ATTINY13のリセット端子は無効...
-
picとfpga。
-
三菱シーケンサのプログラムの...
おすすめ情報