PIC初心者です。
PIC16F88を使用してスイッチ入力(Aポート)でAポートでリレーとBポートでスイッチのLEDの制御をしていました。

全16台中1台のみスイッチのLEDが点灯したまま動作しなくなりました。
電源を再投入しても復帰しません。

秋月電子のROMライターで、データーを読み込み、別のPIC16F88に書き込み、同基板にセットして電源を入れると、正常に動作します。

不具合のPICは再書き込みすると、動作してしまい原因がわからなくなりそうなので、再書き込みはしていません。

何が原因(考えられる要因)かわかる方、よろしくお願いします。

A 回答 (2件)

基板とPICの切り分けが大切です。


基板に短絡はありませんか?ダイオードが逆になったりしてませんか?
変に熱くなっている部品はありませんか?
アナログオシロで信号を確認しましたか(デジタルオシロは使えません)?
PICはDIPですか?ソケットがあれば良品と交換してみてください。
頻繁にFlashROMに書き込みを繰り返していませんか?
ちゃんとした流通ルートで入手しましたか?
(怪しい市場流通品は中身がカラのものがごくまれにあります)

15台は動作していますから、よほど精密な配線をしていなければ
誤動作の可能性は低いと思いますが、そちらの電源を入れた状態で
ドライヤーで炙ってみてください。誤動作しだしたら設計に問題があります。
設計に問題があるのに、偶然動作している恐れもあります。

色々調べて、良品をドライヤーで炙って誤動作しないなら
個体差によるものと断定して私ならもう一台良品を作り直しますね(笑)
    • good
    • 0

リレーの駆動回路はどうしていますか?



PICのポートに直接繋いで、環流ダイオードを付けていない、といった回路構成だと、
リレーのコイルに発生する逆起電力のために、ポートに過電流が流れてPICが故障する、
といった可能性などがあるかと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
リレーはトランジスタを入れてNPN回路で動作させています。
リレーコイルにはダイオードを入れています。

お礼日時:2011/04/15 15:35

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q伊集院光の「クックック」という笑い方

伊集院光の「クックック」という笑い方
伊集院光のラジオを昔からよく聞いていて思うのですが、伊集院光がゲストと話す相槌として「クックック」という笑い方をすることがよくあるんですが、あれってうそ笑いですかね?


キャイーンの天野っちも、後輩とプライベートを盗撮されてた時に「ひな壇ガヤの時に盛り上げるうそ笑いのテクニック」を語っていたこともありましたし、バラエティタレントとして、間を埋める雰囲気作りとして、うそ笑いとかあって当然だと思うんですが

伊集院光の「クックック」はどうなんですかね?

Aベストアンサー

大袈裟にしてるというか、嘘でしょうね。
芸であり能のひとつでしょう。

QPIC初心者です。 PIC16F88のLED制御で以下のプログラムを実

PIC初心者です。 PIC16F88のLED制御で以下のプログラムを実行すると点滅を繰り返します。
意図としては1度だけ光って消えてほしいのですが…
CONFIG部分がおかしいのでしょうか?
環境として、PCはVista、MPLABとPICkit2を使用しています

お分かりになる方、お願いいたします。
以下ソースです
LISTP=PIC16F88
INCLUDE"P16F88.INC"

__CONFIG _CONFIG1, _INTRC_IO & _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_ON & _WDT_OFF
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_ON

BSFSTATUS,RP0
CLRFTRISB
BCFSTATUS,RP0
BCFSTATUS,0
CLRFPORTB

MAIN
BSFPORTB,0
NOP
NOP
NOP
(以下、NOPが100個ほど)
NOP
BCFPORTB,0

END

PIC初心者です。 PIC16F88のLED制御で以下のプログラムを実行すると点滅を繰り返します。
意図としては1度だけ光って消えてほしいのですが…
CONFIG部分がおかしいのでしょうか?
環境として、PCはVista、MPLABとPICkit2を使用しています

お分かりになる方、お願いいたします。
以下ソースです
LISTP=PIC16F88
INCLUDE"P16F88.INC"

__CONFIG _CONFIG1, _INTRC_IO & _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_ON & _WDT_OFF
_...続きを読む

Aベストアンサー

END命令は議事命令といわれており、CPUに実行停止を命令するのではなく、コンパイラに対してコードの終端を明示しているだけです。

下記URLのコードを参考にしてみては如何でしょうか?
http://homepage1.nifty.com/rikiya/software/310picpio1.htm
プログラムの最後でループしているだけですが。

Q最近の伊集院光は・・・?

伊集院光のラジオ「日曜日の秘密基地」が終わってから、テレビでもあまり彼を見る機会がなくなったような気がするのですが、何かあったのでしょうか?

彼の出演番組で知っていたのは爆笑問題の「検索ちゃん」とさま~ずと優香がMCをやってる「Qさま」で、どちらもテレビ朝日系の2番組だけでした。

しかし最近の「Qさま」でインテリ芸能人の枠でも、伊集院光は出演していなかったみたいで、段々テレビやラジオへの出演を減らしているのかな?と思ってしまいます。

伊集院光の最近のレギュラーまたは準レギュラー番組で上記2番組以外でご存知のモノがあれば教えてください。よろしくお願いします。
ただ「深夜の馬鹿力」は今でもやっているらしいのは知っています。

Aベストアンサー

ちょうど先週の「検索ちゃん」で、その話に触れていました。
司会の小池栄子さんが「伊集院さん久しぶりですね~」と言った後、
太田さんが、「伊集院は今、仕事をセーブしている。何年かに1回行き詰っちゃうんだよな」と。
伊集院さんは何回もうなづいていました。そして自分でも「(今)週休5日」と言ってましたよ~。

QPIC16F88のアナログコンパレータ使用について

     LIST   P=PIC16F88
#INCLUDE<P16F88.INC>

__CONFIG _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF &                    _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF &
                   _PWRTE_ON & _WDT_OFF & _HS_OSC
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
VAR1EQU 0x20
VAR2 EQU 0x21
ORG0

start
     BCF       STATUS,RP1
     BSF       STATUS,RP0   ;bank1へ移動
     CLRF      TRISB       ;PORTBをすべて出力
     MOVLW     0xff
     MOVWF     TRISA       ;PORTAをすべて入力
     MOVLW     x05        ;コンパレータ1つのみ使用
     MOVWF     CMCON
     BCF       STATUS,RP0   ;bank0へ移動
     CLRW
     MOVWF     PORTB
     MOVLW     0xff
     MOVWF     PORTA


18ピンのPIC16F88の内蔵アナログコンパレータ(RA1/AN1とVINRA2/AN2/CVREFが入力、C2OUTが出力の1つのみ利用する設定)を使用しPORTBからLEDへ出力し電圧の大小の判定を行いたく、上記のような設定でプログラムをつくりコンパイルは通ったのですが動作せず、
MPLABのデバッグにて確認したところ『MOVWF PORTA』の部分でPORTAのレジスタ値が0x00から変化しておりませんでした。

『BCF STATUS,RP0』まではレジスタ値は変化しており、
STATUSは0x1cでbank0、TRISAは0x3fで入力、ANSELはデフォルトで0x7fでアナログ入力
になっているのですが、何故PORTAが値を入れても変わらないのか原因が分かりません。

分かる方、ご教授頂けますと幸いです。
宜しくお願い致します。

     LIST   P=PIC16F88
#INCLUDE<P16F88.INC>

__CONFIG _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF &                    _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF &
                   _PWRTE_ON & _WDT_OFF & _HS_OSC
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
VAR1EQU 0x20
VAR2 EQU 0x21
ORG0

start
     BCF       STATUS,RP1
     BSF       STATUS,RP0   ;bank1へ移動
     CLRF  ...続きを読む

Aベストアンサー

PORTAをどのように使いたいのかはっきりしませんが、次の3点に注意して下さい。

1.入力設定にしたピンは、プログラムから1/0を制御できません。
  あくまでも外部入力のHi/Lowを判断するだけです。(Hiの時→1、Lowの時→0 が保持される)

2.16F88は、初期値ではアナログ設定になっています。(AN0~AN6ピンのみ)
  アナログ設定ピンは入力のみで、出力はできません。
  通常はデジタル設定にする必要がありますので、ANSELレジスタを変更して下さい。

3.RA5は入力のみで、出力設定にできません。

いずれにしても、使用できるPORTAは少ないですね。
 RA0:フリー
 RA1:Vin-(コンパレータ用)
 RA2:Vin+(コンパレータ用)
 RA3:フリー
 RA4:フリー
 RA5:フリー(入力のみ)
 RA6:OSC1(外部オシレータ用)
 RA7:OSC2(外部オシレータ用)

言葉足らずでしたら、再度質問して下さいね。

Q数取団で山本さんはなぜ、伊集院光を名乗るのか?

前回の質問が悪かったので、再度質問させていただきます。
山本さんと伊集院さんとの関係をネットで調べてみたのですが、よくわかりませんでした。
山本さんがなぜ、伊集院光を名乗るのか、ご存知の方教えてください。
伊集院さんは、これに対してどのように思われているのでしょうか?

Aベストアンサー

#3さんの回答が有力かと・・・

<超級バラエティ研究所より>
伊集院光(山本圭壱):伊集院家の星。名前は氣志團のダンス兼“あいの手(スクリームと呼ばれていて、『One Night Carnival』で「アッホーァ!」と叫ぶ部分)”担当である“森の堅者”早乙女光氏から。
そして同名の巨漢タレントから姓を拝借。連敗続きで、のちに関取團によってスモウライダーに改造された。

参考URL:http://qvarie.hp.infoseek.co.jp/var/99/99kei2.htm

QPIC16F84AのRBポート変化割り込みの使い方

PIC16F84AのRBポート変化割り込みを使いたいのですが、三つ質問があります。

1.割り込み処理に入ったときに、「BCF INTCON,RBIF」としてもRBIFフラグが立ったままで、「RETFIE」で割り込みから戻った直後にすぐにまた割り込み処理に入ってしまいます。(MPLABのシミュレーション上でStimulusControlerでPINを変化させて実験)これの原因は何なのでしょうか?RBIFフラグはどのようにして解除したらよいのでしょうか?

2.RBポートは内部でプルアップせずに、外に抵抗をつけてプルアップしようと考えているのですが、その場合でも正しくシミュレーションできるのでしょうか?

3.RBポート変化割り込みは、LからHになった場合と、HからLになった場合の両方に反応するのでしょうか?

以上三つの質問に回答お願いします。

Aベストアンサー

ソースが無いので実装が分かりませんが。
1 と 3 は下記のサイトで解決するように思います。
http://www.picfun.com/pic08.html

2 はすいませんが分かりません。

参考URL:http://www.picfun.com/

Q伊集院光さんの奥様の事が知りたいので教えて下さい

伊集院光さんのラジオを聞いていて、奥様の事に大変興味を持ちました。どんな方なのか、また写真などありましたら見てみたいです。

それと、子供がいないようですが、伊集院光さんの口からその事に対してなにか言及したことはあるのでしょうか?もともと欲しくないのか、できにくいのか、どんな理由があるのか…。

Aベストアンサー

http://homepage2.nifty.com/pizzi/ma/iju/i_family.htm

ここに挙式のときの写真があります。

QPIC16F84Aで入力があるとスタートするプログラム

PIC16F84Aで、アセンブリ言語でプログラムをしています。

RA4を入力端子とし、入力があればプログラムがスタートするということをしたいんですけどうまくいきません。

私の作ったプログラムはこのようになっています。

 listp=16f84A 
 include <p16f84A.inc>
 __CONFIG _HS_OSC & _PWRTE_ON & _WDT_OFF

tim1   EQU  0x20
     org  0x00
     NOP
     GOTO start

start
     BSF  STATUS,RP0
     MOVLW B'00010000'
     MOVWF TRISA
     CLRF TRISB
     BCF  STATUS,RP0
     MOVLW B'00010000'
     MOVWF PORTA
     CLRF  PORTB

main
     MOVLW  001h
     MOVWF  tim1
timlp1  BTFSC  PORTA,5
     CALL   playball
     GOTO   main

playball
     MOVLW  B'00001111'
     MOVWF  PORTA
     MOVLW  B'11111111'
     MOVWF  PORTB
     RETURN

修正点などありましたら教えて下さい。

PIC16F84Aで、アセンブリ言語でプログラムをしています。

RA4を入力端子とし、入力があればプログラムがスタートするということをしたいんですけどうまくいきません。

私の作ったプログラムはこのようになっています。

 listp=16f84A 
 include <p16f84A.inc>
 __CONFIG _HS_OSC & _PWRTE_ON & _WDT_OFF

tim1   EQU  0x20
     org  0x00
     NOP
     GOTO start

start
     BSF  STATUS,RP0
     MOVLW B'00010000'
     MOVWF TRISA
...続きを読む

Aベストアンサー

BTFSC  PORTA,5

BTFSC  PORTA,4
ではないのですか?(RA4が入力でしょ?)
入力の回路がわかりませんが
BTFSS  PORTA,4
かも知れませんね。
恐らくasmの冒頭だけの抜粋だと思いますので
どんな動作かはわかりかねますがここまでの回路までなら普通に動作すると思います。
(最後にENDを追加した形でMPLAB IDEでシュミレーション確認済)   

Q伊集院光さんて何故高校3年3学期に中退したの

お笑いタレントの
伊集院光さんて何故高校3年の3学期に中退した
という話をTV、ラジオ、雑誌などで多々聞いたことあるんですが
これが本当なら
何故卒業間じかであるにも関わらず
伊集院さん(当時、田中光さん(爆))はこの時期に中退したのでしょうか

知っている人
教えてください

それではまた
さようなら

Aベストアンサー

伊集院さんのラジオを10年以上聞いているものです。
伊集院さんは生徒会長を教師に辞めさせられたりと、やたらに問題児でした。
高校3年の時にはほとんど学校には通ってなかったようです。
そして、その時はなし家に弟子入りが決まりました。
伊集院さんは教師に嫌われていたし、先の仕事も決まったので、教師から辞める様に言われたそうです。
まあ伊集院さん自身も高校に興味を無くしていたので丁度良かったようですが・・・

その後の伊集院さんははなし家として才能を発揮させたんですが、はなし家に興味が無くなり、現在の仕事に就いたわけです。
今では、はなし家には未練が無いようですが、当時のお師匠さんには頭が上がらないようです。

後で高卒の権利が欲しくなり、ニッポン放送のパーソナリティー時代に大検を受ける企画をやっていました。(結局落ちたようですが・・・)

QPIC16F88で500という数字を8ビット+2ビットのレジスタに設定

PIC16F88で500という数字を8ビット+2ビットのレジスタに設定する方法を教えていただきたいです。

変数D1,D2,D3にそれぞれ、0,0,5 という500を意味する各桁の数字が入っているのですが、
これをPWMのDutyのレジスタに8ビット+2ビットで設定したいのですが、
どんな手順をとったら10ビットの2進数に変換できるでしょうか?

Aベストアンサー

16bit単位アクセス可能なレジスタなら普通にshort型変数にD1~D3を合成した結果を入れた上で、その変数を直接レジスタに投げ込めば問題なく入ります。

8bit単位でアクセスするなら、このshort型変数を上位バイト・下位バイトに分割(ビット演算とビットシフトでできます)してそれぞれ投げればOK。

2bit側の残り6bit(以上)の部分に何かしらの意味がある場合はその部分を保持して合成する手順が入るので少し面倒ですが、単純には上記の考え方がベースになります。


人気Q&Aランキング

おすすめ情報