dポイントプレゼントキャンペーン実施中!

PIC 16F887 を使い7SEG を動作させたいのですが上手く行きません。
不具合の可能性が、回路が悪いのか、プログラムなのか、わかりません。

添付の画像は不鮮明だと思いますがご了承ください。

動作は、入力によって7SEGの表示をかえます。
マイコンは、PIC16F887(40ピン)で外部オシレータ、リセット等は付けてません。
11ピン 32ピンを5V 12ピン、31ピンをGNDに接続しました。

入力は1ピン~6ピンを10Kプルアップで使用し、6ピン(RA4)は使いませんが、10Kでプルアップしました。
1ピンはフォトカプラ入力ですが、2ピン~5ピンは直接駆動です。

出力は、7SEG(アノードコモン)を4つを動作させるため、40ピン、39ピン、30ピン、29ピンをトランジスタ2SA1015(PNP型)でスイッチングします。
7SEGの表示はPICダイレクトとしました。

マイコンを付けずにジャンパワイヤーで7SEGの動作確認をしまし点灯を確認しました。
以上をでプログラムを書き、電源を入れましたが全く動きませんでした。

マイコンピン配線のマズさなのか、プログラムの可能性なのかご教授、アドバイス宜しくお願い致します。

「PIC 16F887 を使い7SEG を」の質問画像

A 回答 (3件)

>PIC 16F887 を使い7SEG を動作させたいのですが上手く行きません。



何がどううまくいかないのかわかりませんが、全く動く気配がない場合は、機能を単純化し、
1つ1つの動きを確認するのがいいかと思います。

たとえば、トランジスタに接続している1ビットを1秒おきにon、offするプログラムを書いて見ます。テスターでそのビットを確認し、プログラムがその通りに動作しているかどうかを見てみます。

それで、動かないようであればヒューズビットの設定が間違っているか、ポートの初期化が間違っているか、PICが壊れたかと言うことになるでしょう。

まず単純なプログラムでPICが動くかどうかを確かめてみてください。
    • good
    • 0
この回答へのお礼

ご教授ありがとうございます。
先ほど原因がわかりました。
原因は、出力ポートの負論理、正論理の違いでした。
基本的なことでお騒がせいたしました。

お礼日時:2010/10/22 23:38

#1です。



>16F887は、クロック8M~20Mを内蔵していると思っていますが間違いでしょうか?

ごめんなさい。16F877と勘違いしていました(16F877は使ったことがありましたので)。
確かに16F887はクロック内臓の様ですね。

次はポートの設定を間違っていないかを確認するとかですが、先ずは出力ポートにHiとLoそれぞれの固定出力だけのプログラムを作ってテスターで設定どおりの出力電圧であることをチェックします。

それがOKであればポート設定は正解ですからあとはプログラムの問題になります。

しかしデバッガ無しでプログラムを完成させるのはかなりの手間だと思いますので、デバッガの購入を検討されてはどうでしょうか。

私の所有しているデバッガは2万円程度でしたが、実用に耐えます。
    • good
    • 0
この回答へのお礼

ご教授ありがとうございます。
先ほど原因がわかりました。
原因は、出力ポートの負論理、正論理の違いでした。
基本的なことでお騒がせいたしました。

オシロを繋いでみると動いていることがわかりました。
今は趣味の延長の試作段階ですが、今後頻度が増えてきましたらデバッガも検討してみます。

お礼日時:2010/10/22 23:42

>外部オシレータ、リセット等は付けてません。


取り敢えず…当PICは発振機能を内蔵していませんので外部にXTALを接続するかクロックを入力する必要があります。

データシートを参照して適切な部品を接続して下さい。

この回答への補足

クロック8MHz、リセットは、プログラムで設定しました。
16F887は、クロック8M~20Mを内蔵していると思っていますが間違いでしょうか?
(16F877は、外部クロックが必要ですが)
データシートにて13、14ピンがOSC1,OSC2ですが、RA7,RA6で使用出来ると理解してます。
他にお気づきの点がありましたらご回答宜しくお願い致します。

補足日時:2010/10/21 23:13
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!