• 締切済み

PICの信号について

PICでループやスリープを使わずピンの1つをHIGHにし続けたり、LOWにし続けたりする出力信号を出すことはできるのでしょうか?

みんなの回答

回答No.1

一般にマイコン(含PIC)のIOはラッチがかかりますが、何が不満なのでしょう? 逆に、HiまたはLoに保たない方が難しいですが…。

poohpiglet2
質問者

お礼

早速のご回答ありがとうございます。 確かにラッチがかかってHiまたはLoに保っているようでした。ただ、割り込みか何かの関係で保たれていないようです。原因を探してみます。

poohpiglet2
質問者

補足

PICのCコンパイラを使用していますが、 下記の(1)ようにdelayを使用すると、LEDが点灯しなくなってしまいます。 (2)のようにdelayをはずすと点灯するのですが、解決できる方法はありますでしょうか? (1) while(1){ output_High(PIN_A2); //パルス出力 delay_ms(1); output_Low(PIN_A2); output_High(PIN_A1); //LED点灯 } (2) while(1){ output_High(PIN_A4); output_Low(PIN_A4); output_High(PIN_A1); //LED1点灯 }

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PIC の出力ピン(High) には電流は流れ込まない?

    PIC の出力ピン(High) には電流は流れ込まない? プルアップ抵抗の勉強をしています。出力ピンがLow の時は内部でグラウンド接続となっていて、流れ込み電流がありますよね。 ではHigh の時、プルアップ抵抗により電圧が上がるわけですから、出力ピン側に流れ込むと思うんです。従ってPIC の内部ではHigh の時に逆流しないようにダイオード経由になっている、と考えて差し支えないのでしょうか? そういう説明のされたサイトを見かけないので、誤ってますか?

  • PICからの出力のHiとLowの出力をHi=+10V、Low=-10V

    PICからの出力のHiとLowの出力をHi=+10V、Low=-10Vの信号に変換したいのですが どんな部品でなんという回路を組めば良いでしょうか? トランジスタ何個とかどんな電源がいるとか簡単でもいいので教えて頂きたいです 電流は2アンペアくらい取れれば良いです。

  • PICとPICの接続について

    PIC16F84Aを3個使用するのですが、仮にA、B、Cとし、入出力のピンの設定は正しくされているとします。 その場合Aの出力ピンから出ている出力線1本を、BとCの入力ピンの両方ともに接続しても問題ないのでしょうか? Aの信号(HまたはL)を、BとCに渡したいのです。

  • dspicからpicへのUARTでの信号送信

    現在,dspic33fj32mc202を使用して回路を作成しています。 ピンの都合から、UART機能を利用して、dspicのTXピンから,pic16f690のRXピンに信号を送りたいと考えています。 しかしdspic33fは3.3Vで、pic16f690は5Vです。 上記のようなことは可能なのでしょうか?

  • PICへ入力するHigh信号は12VでもOKですか?

    PICへ入力するHigh信号は12VでもOKですか? 動作用の電力として5VをPICに入力しますが、トリガーとなる信号は12Vでも大丈夫でしょうか?12Vの信号がI/Oに入力された際に、所定の動作をPICにさせたいのです。PICは12F509を使用するつもりです。電源の5Vは、車用の携帯電話充電器をバラして使う予定です。 ウインカーの信号を取得したら所定の動作をさせるのが具体的な目的です。 ご回答をお願いします。

  • PICマイコンができること

    PICは入力信号によって「Yes」か「No」かを出力させるという仕事はできるが、入力信号をそのまま出力させるという仕事はできないものなのでしょうか? 今、PICマイコンに入力する信号は、サーボモータを動かすためのパルス信号であり、サーボモータが右に動くときと、左に動くときとで別々のポートから信号を出力させることを考えてます。 そのために、入力信号のパルス幅をタイマーで計測し、判断させているのですが、問題は判断項目(while や if)が加わると入力信号をそのまま出力することができないことです。 一応、PIC16F84Aを用いて10MHzの内部クロックで 1.判断項目がないとき入力信号をそのまま出力(別々に出力はしない) 2.判断項目は同じとして出力を入力信号にせず、5Vにして別々に出力 の2つについて実際にできました。 結構、厳しい条件ですがPICに期待しすぎなのかわからなくなったので質問しました。 よろしくお願いします。

  • PIC(16F84A)を使用しての250Hz以上…

    PIC(16F84A)を使用しての250Hz以上の周波数判定について 16F84Aを使用して外部からの信号(方形波)周波数をRA2に入力して判定し、ある周波数以上であればRA2への入力信号がHiの時にRB0からHiを出力、Lowの時には出力しないというプログラムを組み、その先にトランジスタを取り付けてLEDを点滅させるというテストを行っています。 100Hz基準くらいの周波数の判定は順調に行えるようになりましたが、約200Hzを判定基準にすると、LEDが外部信号と同期しなくなりました。 誤動作といったほうがいいのかもしれませんが、安定しない動作を行います。200Hzの信号を入力しているのに、1Hzくらいの点滅を繰り返す・点灯しっぱなし・点灯しないetc. ←同じプログラムを焼いたPICでです。  外部発振子は20MHzのものを使用しています。 私は、PICの処理速度?が追いつかなくなったのかなと考察したのですがどういった原因が考えられますか?対策方法等はありますか? PIC初心者なので、簡単な言葉で説明していただければ幸いです。 よろしくお願いします。

  • PICで電球の明るさをコントロールしたい

    以前にPICの出力ピンにトランジスタを繋ぎ12V5Wの電球を点滅させる実験をしました。プログラムはPWM制御風に作成し、明るさのコントロールも出来ました。 今度は12Vで10W~数十Wをコントロールできないかと思案しております(もちろんPWM風で)。 そこでPIC程度の信号でも大電流を制御可能なFETがないかと思いつきました。 要するに「超高速のON、OFF信号で大電流(直流)をコントロールできるリレー」のような役割をしてくれる電子部品が欲しいのです。 FETの知識は無いのですが、なんとなくFETの中になら普通(?)のトランジスタよりも理想に近いものがありそうな気がしたので・・・。 おすすめがあれば型番を教えてください。 あと、出来たらPICの出力ピンと電球、電源への配線方法も教えて頂けると助かります。 よろしくお願いします。

  • PIC(16F84A)を使用して周波数判定を行い…

    PIC(16F84A)を使用して周波数判定を行いたいのですが…。 PICの16F84Aを使用し、周波数を判定して出力としてHIを出力する、LOWを出力するなどの判定を行うプログラムをC言語で行いたいと考えております。 例として100Hz以上の周波数が入ってきたときに、HIを出力したい場合、どういうプログラムを組めばよいのでしょうか? 周波数を判定する関数等はあるのでしょうか? よろしくお願いします。

  • PICマイコン 動作せず、教えて下さい。

    PICマイコン初心者です。 PICマイコン(PIC16F877)をHI-TEC社のPICCでコンパイルして、Buildしたものを 焼き込んで電源印可しますが全然動作せず。  出力に設定しているピン(PORTB)の電圧をみると全て3.8Vぐらいになっています。(不定??)  ちなみに出力PinはVdd(5V) => 発光D => 抵抗 => PORTBと接続されています。  どこが悪いか教えて頂きたく。  *** ソース ファイル ****   #include"pic.h"   void main(void){ unsigned long i; TRISA = 0x00; TRISB = 0x00;   while(1){ PORTB = 0b11111111; //RB0をLowに設定 for(i=0;i<20000000;i++); PORTB = 0b11111110; //RB1をLowに設定 for(i=0;i<40000000;i++); PORTB = 0b11111101; //RB2をLowに設定 for(i=0;i<15000000;i++);          }        }

このQ&Aのポイント
  • ESETセキュリティソフトウェアをアップデートしたら、国税局のe-taxソフトでデータの送信ができなくなりました。エラー内容は「受付システムとの接続に失敗しました」となっています。
  • ESETの設定を変えれば、送信できる可能性がありますが、具体的な変更箇所がわかりません。
  • 別のPCにESETが入っていない場合は、送信ができるため、ESETの設定に問題があると考えられます。
回答を見る