• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PIC16f84AにおけるBポート(RB0-RB…)

PIC16F84AのBポートのHレベル時の電圧について

noname#230359の回答

noname#230359
noname#230359
回答No.3

[ソース電流は25mAまで流せるはず] というのは大きな間違いです。 これは絶対最大定格なので「これ以上流すと壊れますよ」 という意味です。 VOHは3mAのときにVDD-0.7Vとデータシート9.2の項目D090にあります。 それ以上流すときはTrを使うべきでしょう。 http://ww1.microchip.com/downloads/en/DeviceDoc/35007b.pdf

noname#230358
質問者

お礼

ご回答ありがとうございました。 ご指摘通り絶対最大定格ですから、いわゆる限界値ですね。 それとデータシートの読み方について勉強になりました。 D090の件ですが、-3mAとマイナスがついていたので、 読み取り方が分かりませんでした。 (ついでにRCモードの時のみと書いてあったので セラロックを使っている場合には当てはまらないものだと思っていました) これはそのまま3mAと解釈して良いのですね。 下の方へのお礼欄にも書きましたが、 LEDを8個全てつけていたからこその電圧低下だったようです。 また機会がありましたらよろしくお願いします。

関連するQ&A

  • PIC16F1827のEEPROMへの書込み

    PCM V5.0(PIC用CCS社コンパイラ)を Mplab8.92に組込み、PICkit3を使ってプログラムしています。 PIC16F1827のEEPROMへの書込みがうまくいきません。 RAは入力ポートで固定してあります。 RBは出力ポートでLEDが接続してあります。 テストプログラムは一回のみの動作です。 実機で動作させると RAは固定してあるので当然(4)でLEDが点灯しますが、 実機からCPUを抜き取りMplab上でReadすると EEPROMのアドレス0,1,2は異なるデータであり 動作させるたびに違うデータが書込まれています。 しかし (1) a0=35h (2) a1=a6h (3) a2=93h と定数にすると EEPROMのアドレス0,1,2は正しいデータが 書込まれています。 Q1. a0,a1,a2をポート入力とする場合は CPU自体に何か設定する必要があるのでしょうか? それともプログラムに工夫が必要なのでしょうか? いままで使っていたPIC16F88では このようなことはなかったと思うのですが・・・。 ----- テストプログラム ----- a0 = RA; //(1) write_eeprom (0,a0); a1 = RA; //(2) write_eeprom (1,a1); a2 = RA; //(3) write_eeprom (2,a2); if (a0 == a1 && a1==a2) //(4) RB =255; else RB =0;

  • PICのアウトポートに一瞬電流が流れる

    PICマイコン初心者です。 電源投入時に、一瞬アウトポートに接続したLEDが点灯するのですが この場合、プルダウン抵抗を入れるとか、又はプログラムで何か処理をする必要が あるのでしょうか? アドバイスお願いします。 接続はアウトポートから330Ωの抵抗を通してGNDへつないでいます。

  • PICマイコンで工作

    初心者なのですが、PICマイコンでLCD表示に挑戦したいと思っています。 そこで皆さんにお聞きしたいのですが、プロットボード上にPIC16F873を利用して回路を作成したのですが、何も表示されずただ■■■■■■が表示されるのみです。 何が原因なのか全然わからないので皆さんのご意見をお聞きしたいのですが・・・。 よろしくお願いします。 LCD Vdd・・・5V Vss・・・GND Vo・・・・20KΩ可変抵抗 RS・・・・RB3 R/W・・・RB2 E・・・・・RB1 DB0、DB1、DB2、DB3・・・GND DB4・・・RB4 DB5・・・RB5 DB6・・・RB6 DB7・・・RB7 PIC MCLR/Vpp・・・5V Vss・・・GND OSC1・・12.8MHz VDD・・・5V このような感じです。 プログラムは以下のHPを参考にさせて頂きました。 http://speana-1.hp.infoseek.co.jp/lcd/lcd_4/lcd_4.htm

  • PICの出力できる電圧について

    PIC(16F88)のキャプチャモジュールを使い、対象物の周波数を得て、それをLCDに表示する工作をしています。SIMやstimulusでプログラムにはとくに問題がないことを確認しました。 つぎに、別なPIC(16F84A)で100Hzの実験用信号を先の16F88のCCP1(RB3)に入れて、16F88のプログラムの確認をしようと思ったのですが、うまくいきません。LCDには、ただ0Hzとだけ表示されます。なお、ここでもSIM等を使って、プログラム上での100Hzの出力は確認しました。 16F84Aからは、RB0とRB1から100Hzの出力をし、RB0を16F88のCCP1に直接入力し、RB1にはLEDにて出力の視覚での確認をしようとしています。 ここで使用する両PICには、それぞれ別々にTA4805Sで5Vをかけ、アースは共通にしました。 手持ちのアナログ電圧計で、16F84AのRB0とRB1の出力電圧を測ってみると、RB0はほとんど0Vであり、RB1はおおよそ4.5Vあり、LEDはちゃんと光ります。また、RB1のLEDをそのままに、RB0を開放すると、RB0は4.5Vありました。16F88側のCCP1(RB3)は入力に設定してあります。 PICの出力する電圧は、5Vくらいだとおもっていたのですが、どうしてこのようなことになるのでしょうか?どうすれば、CCP1に100Hzの実験用信号を送れるようにできるのでしょうか?電気にはまったく疎いので現在勉強中なのですが、どなたかよろしくおねがいいたします。

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

    PIC16F84AのRBポート変化割り込みを使いたいのですが、三つ質問があります。 1.割り込み処理に入ったときに、「BCF INTCON,RBIF」としてもRBIFフラグが立ったままで、「RETFIE」で割り込みから戻った直後にすぐにまた割り込み処理に入ってしまいます。(MPLABのシミュレーション上でStimulusControlerでPINを変化させて実験)これの原因は何なのでしょうか?RBIFフラグはどのようにして解除したらよいのでしょうか? 2.RBポートは内部でプルアップせずに、外に抵抗をつけてプルアップしようと考えているのですが、その場合でも正しくシミュレーションできるのでしょうか? 3.RBポート変化割り込みは、LからHになった場合と、HからLになった場合の両方に反応するのでしょうか? 以上三つの質問に回答お願いします。

  • PICによるLED制御について

    大学の講義でPICのLED制御の課題がよくわかりません。 どなたか教えていただけないでしょうか? [問]  PIC16F84Aにおいて、動作を実現するプログラムを示せ。  メインルーチンでLED出力の点燈箇所を1秒ごとに巡回させる。   RA3=Low(OFF)のとき、左向きに巡回シフト(RLF命令)させる。   RA3=High(ON)のとき、右向きに巡回シフト(RRF命令)させる。  また割り込みルーチンによって、RA0~RA2の3ビットの値に応じて  点灯速度を変化させる(値が大きいほど速く)  ただし、ポートAは全て入力モード、ポートBはRB0以外を出力モードとし(RB0は割り込み用)、ポートBの初期出力を0000100*(LED出力の初期点燈位置は第3ビットのみ)とせよ。

  • マイコンPIC16F84Aについて質問です

    MPLAB(秋月)のライターを使用して PIC16F84Aにプログラムを製作したいのですがプログラムの組み方がわかりません 内容は、センサー5v~24vがオンしたらLEDが点灯する回路です。 動作確認をしたところ、センサーはオンオフしているのですが、LEDが点灯しません。 プログラムを組む時に、RB0がオンしたらRA0がオンする為の繋がりがイマイチわかりません。 c言語はわからないので、アセンブル命令で教えていただけないでしょうか? 初心者なので全くわかりませんがお願いします。

  • PIC アセンブラ ポートB 内部プルアップ抵抗の使い方

    PIC16F877Aを使っています。 プログラムを作り始めてかなりたってから ポートBにプルアップ用の抵抗があることを知りました。 それで使い方とか調べてみたんですが ポートBで内部プルアップを使う場合は RBを全部入力設定にしないといけない的な事を 書いてるページがありました。 これって、そうしないとPICが壊れてしまうって事でしょうか? RB0~RB3にタクトスイッチ(入力) RB4~RB7に7セグのカソード(出力) として入出力を混ぜて使いたいのですが スイッチ用にポートBをプルアップ抵抗ONにしても問題ないでしょうか?

  • PICのポートからの読み込みが正しくできない

    先月は16F648AのRA4出力が正しく出来ないを質問した者です。 またしてもお願いします 16F648AのRA1,RA0 にSW信号を抵抗でプルアップして入力、RA2はLEDを抵抗を通して直接駆動しています TRISA はこれに対応してXXXX X011 を設定していて プログラム中でRA1を押されたらLED ON, RA0が押されたらLED OFF となるようにテスト用プログラムを作りましたが SW信号を読み取れていないようです 17,18ピンの電圧を見るとSWの動きと正しくON/OFFしています 先月同様見落とししていることがあると思っていますが 正しい、多分正しいと思遺恨でいますこともあって解決できません お気づきの点がありましたら教えてください お願いするばかりですが宜しくお願いします

  • PIC16F84AのRA4ポートに流せる最大電流

    PIC16F84AのRA4(オープンドレイン)を使ってリレーを直接ON/OFFさせようと 考えていますが、RA4ポートは最大どのくらいまで電流を流せるのでしょうか。 自分なりに仕様書を見ましたが、RA4については記載が無かったと思います。 リレーは、コイル電圧が5V、電流40mAです。 よろしくお願いします。