をプルアップ/マイクロコントローラのプルダウン

U

umery2k75

Guest
私のための入力とB0(ピン)のPICを、これ限り
、 私とは、LEDが光るのプッシュボタンを押すと私はそれをglowing.I停止すると
、 プッシュボタンから指を除く。R0を選択します(ピン)で
、 単純なプログラムを作った出力します。

コード:

#含まれて"16f877a.h"

#を使用する遅延時間(クロック= 20000000)

#NODEBUGヒューズメインの無効()



set_tris_b(0x00)を;

中()はtrue



の場合(入力(PIN_A0))

output_high(PIN_B0);

その他の

output_low(PIN_B0);))
 

、 最大のプルまたは浮き沈みを引き出すような問題ではないが-としてあなたに気づいた-は、LEDと直列に抵抗感の欠如。それは関係ない場合や
、 現在のような量を供給することはできません。いつもは
、 ダイオードと直列に接続500-1000オームのように、それ以上を供給することができますは、UCにも多くのドレインが直列抵抗のために- withoutいくつかの抵抗をする必要があります-ポートの電圧源ではなく、現在のソ¥ースので、もし、知っているいくつかのアナログ回路の理論は、shoud、そのときのLEDは、理論的に短絡され接続するか、現在の無限大(理論)、またはデバイスは
、 揚げるまでに増えると電圧源に
、 実際には非常に小さな抵抗、 (実際に)で

テストを示していますだけで主導blikns軽量化を実行するときは直列抵抗(ダイレクトパスのVC -押- LEDタイプ- GND)に10kと(VCC - 10k - LEDタイプ- GNDに、絶対に役に立たないされているボタン)より。

するので、5のような気付に電流15mAのフルVCC上を制限するために必要な抵抗は、LEDが短いと仮定し計算する必要があります。たとえば
、 - 5Vを与える-研究= 5/0.01 = 500ohm。抵抗は、LEDの点滅は、軽量、小型がICから高い電流シンクされるので、何かRよりも小さく入れてshoud =ル/アイマックス= 5/0.025 = 200ohm。

プッシュボタンの一部が正しいことを-あなたは何も変更する必要はありません。とは
、 プルアップ/プルダウン決定は
、 最も重要な部分ではない-あなたはそれアクティブ状態として、ハイまたはアクティブ状態として低-ちょうどその中の'感嘆符'と'if節されている部分を否定する認識とは
、 ソ¥フトウェアのコードをすることができます!'。

ところでこのようなコードをどこにもカリフォルニアとを得るに書かれた。私)は
、 関数(入力、出力、set_tris) -あなたの教育の先頭にする必要があります(で意味を明示的にレジスタ- TRISB =は0x00を使用しようとする場合(ポルタ&は0x01)== 1、など。それが私の意見。あなたが知らないような関数を使って何かを行う方法については
、 いつかポイントして、ときにプログラムを何かにできなくなるという理由だけでそこには準備ができて機能¥さを取得しますが行われます。

心不全&glの

0x41として0x56 0x45!

 

Welcome to EDABoard.com

Sponsor

Back
Top