- 締切済み
PIC12F675の入力読み込みができない
- PIC12F675の入力読み込みについて問題が発生しています。
- GP3がLOの時、GP2を一定時間LOレベルにし、その後何度もLO/HIを繰り返しています。
- コンパレータ機能や割り込み発生の設定にも注意していますが、まだ解決できていません。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
GP3が挙動不振な動作をしているとなると、デジタルI/Oポートに設定されていないのではと疑いたくなります。 Configuration bitsのMCLREは正しく設定していますか? (データシート 9.1 Configuration Bits参照) 私の回答の書き方があいまいで、誤解されているようにも読み取れるので補足します。 「デジタルI/Oポートに設定されていないのでは~」の趣旨は、「GP3ポートは、MCLRの機能を備えているのでANSELの設定に加え、"__CONFIG _MCLRE_OFF"を行わないとデジタルI/Oポートにならない」です。 データシートのブロックダイヤによれば、MCLRE_ON状態でGP3を読み出すと常に"0"となることから、 >>(1) Q出力がHIのとき ?PICはGP3がLOであると判断して... >> はいオシロスコープを借用してGP3(04ピン)を観測しましたがHIレベルに の状態に合致すると推測しました。 プログラムのコンフィグ文で"_MCLRE_OFF"を指定しているならば、私の推測は外れということになります。
毎度JOです。 PIC12F675 データシート http://ww1.microchip.com/downloads/en/DeviceDoc/41190E.pdf 幾つか教えて下さい。 >>Q出力がHIのとき ?PICはGP3がLOであると判断して 実際にテスターやオシロでHIと確認しましたか? JK-FFの型番は? スレーブ型? トリガ型?? このJK-FFにパスコンは入っていますか? JK-FFにはクリアー又はリセット或いはプリセット端子が出ていますが接続先は? 毎度JOです。 GP3 ↓ GP2 GP3がLの時100mSのLパルス(繰り返し??) ↓ FF(CK) ↓ Q JKがHですからCKを分周する事になる ↓ GP3 何の為のループかわかりませんが、 >>LO/HI操作を一度通過した後何度でもLO/HI を繰り返しています 仮にGP3が連続Lの時、プログラム上でLO/HIを繰り返すループに入っているのですか? そのようなプログラム?? このようなループ回路をデバッグする場合、どこかで切り分ける必要があります、わずかな「ひげ状」のパルスでも反応してしまいます、 ループの各所を一箇所づつ挙動を監視する事になります、 今回の症状としてLO/HIを繰り返すのであれば、GP3の入力を疑ってみる所からスタートですね、 QとGP3を切り離して、GP3をHに固定して様子を見るとかですかね? 毎度JOです。 遅くなっても結構ですから結果の報告をして下さい、回答者としても気になるところです、 又、結果を投稿する事により過去ログとしてデータベースの一部となります、 今後質問される方の参考にもなりますね。
お礼
JO_O さん イシさん ありがとうございます ”何度でもLO/HI を繰り返しています” は一回だけLO/HI(JK-FFのクロックとして)の変化をさせたいのですがそうはならず何度も繰り返します お二人ともGP3入力が怪しい! のご指摘です。 デジタルIO設定は質問時のようにしていますので先ず大丈夫と思っています MCLREのほうもプログラム先頭部分とPICデータ書込み時書込み設定をしていますので多分大丈夫と思います。 GP3の切り離し ヒゲ ステップ毎の挙動監視を進めます ただお二人には早速アドバイスを頂いていながら恐縮ですが本業で 済ませなければいけないことが出てきました そちらを先に手をつけなければいけませんので結果が出るまで一寸時間が掛かりそうでいます。 すみませんが宜しくお願いします。
補足
いつものことながら早速ありがとうございます (1) Q出力がHIのとき ?PICはGP3がLOであると判断して... はいオシロスコープを借用してGP3(04ピン)を観測しましたがHIレベルに あってヒゲのような信号の乱れはみあたりません にも関わらず(これまで の所業からあまり力を入れられないのですが)PIC内部ではLOレベルと判断 している様子です (2) JK-FFの型番は 74LS107 立下りトリガです (3) このJK-FFのためにだけということでなくACアダプターからの5Vに対して 47UF電解コンデンサと0.1UFセラミックを各1ケ入れています ICは74LS107 1ケとTLP621-2が1ケの2ケです (4) クリアー端子は10Kの抵抗でプルアップし0Vに向かって0.1UFのセラミックコ ンデンサを繋いでいます 以上ですが いかがでしょうか
お礼
JO_O さん イシさん ありがとうございます ”何度でもLO/HI を繰り返しています” は一回だけLO/HI(JK-FFのクロックとして)の変化をさせたいのですがそうはならず何度も繰り返します お二人ともGP3入力が怪しい! のご指摘です。 デジタルIO設定は質問時のようにしていますので先ず大丈夫と思っています MCLREのほうもプログラム先頭部分とPICデータ書込み時書込み設定をしていますので多分大丈夫と思います。 GP3の切り離し ヒゲ ステップ毎の挙動監視を進めます ただお二人には早速アドバイスを頂いていながら恐縮ですが本業で 済ませなければいけないことが出てきました そちらを先に手をつけなければいけませんので結果が出るまで一寸時間が掛かりそうでいます。 すみませんが宜しくお願いします。